parallel-vibe — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited parallel-vibe (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
bensz-collect-bugs 规范记录到 ~/.bensz-skills/bugs/,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。gh 上传新增 bug 到 huangwb8/bensz-bugs;不要 pull / clone 整个仓库。parallel-vibe 有两种模式:
parallel-vibe/scripts/parallel_vibe.py,由 CLI runner 在各 thread 的 workspace/ 内执行,用于可追溯批处理、失败退出码和下游 skill 自动化。目录管理是模式无关的。两种模式都使用同一套运行目录。默认 run id 为 {yyyy-mm-dd-hh-mm},同一分钟重复运行时追加 -02 等后缀;代码模式显式传 --project-id 时可复用该值作为 run/project id:
.bensz-api/skills/parallel-vibe/<run_id>/.bensz-api/skills/parallel-vibe/<run_id>/project.json.bensz-api/skills/parallel-vibe/<run_id>/@main/plan.json.bensz-api/skills/parallel-vibe/<run_id>/@main/plan.md.bensz-api/skills/parallel-vibe/<run_id>/@main/summary.md.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/workspace/.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/workspace/RESULT.md(优先产物).bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/RESULT.md(汇总用副本或兜底).bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/runner.log.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/prompt.txt.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/thread.json.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/done.json.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/exit_code.txt路由规则:
.bensz-api/skills/parallel-vibe/、@main/plan.json、RESULT.md 或 runner.log 时,仍可使用智能模式;这些是共享目录契约,不是代码模式专属触发条件。codex / claude / shell runner,或下游 skill 需要脚本可复跑批处理时,使用代码模式。workspace/;如果宿主不能把 subagent 绑定到各自 workspace/,改用代码模式,或让智能模式只输出方案 / diff / patch 建议,由主 agent 单点落地。config.yaml 中的 defaults.mode、modes.smart、modes.code 只表达模式口径,不要求宿主一定能以代码读取;真正执行仍以本节路由和用户意图为准。
适用场景:方案探索、代码审查、风险评估、文档优化、研究假设打磨,以及“让多个独立 agent 给意见再汇总”的任务。
执行步骤:
--plan-only 只初始化目录和 workspace,不启动 runner。@main/plan.json / @main/plan.md。<thread_id>/workspace/RESULT.md;如果宿主无法让 subagent 直接落盘,主 agent 必须把其返回内容保存到 <thread_id>/RESULT.md,并在 runner.log 写入“由宿主 subagent 返回内容兜底落盘”的说明。done.json、exit_code.txt 和 runner.log;智能模式没有真实 CLI 退出码时,成功用 0,失败或未完成用 1。@main/summary.md,再交付给用户。智能模式与代码模式的目录管理必须一致。需要完整协议时,读取 references/smart-mode-protocol.md。
面向用户的输出至少包含:
智能模式.bensz-api/skills/parallel-vibe/<run_id>/重要边界:共享目录契约不等于强安全隔离。智能模式的独立性来自宿主 subagent / 独立上下文;代码模式的独立性来自 CLI runner + cwd=workspace/。实现型任务必须确保每个执行单元只写自己的 workspace/,否则让 subagent 输出方案或 patch 建议,由主 agent 选择并落地。
适用场景:需要脚本 runner、--plan-file、--resume、--dry-run、失败日志、真实退出码、跨 codex / claude / shell runner,或被 git-pr-review、research-idea、auto-draw-plot 等下游 skill 作为稳定批处理接口调用。
输入:
prompt(用户原始指令)或 --plan-filen(线程数,默认 5,范围 1-9;用户明确要求则以用户为准)runner/model/prompt(通过 @main/plan.json 或 --plan-file 自定义)--project-id/--resume(复用已有 run/project 目录)--parallel/--max-parallel(用户明确要求并行时使用)输出:
.bensz-api/skills/parallel-vibe/<run_id>/.bensz-api/skills/parallel-vibe/<run_id>/@main/plan.json.bensz-api/skills/parallel-vibe/<run_id>/@main/summary.md.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/RESULT.md.bensz-api/skills/parallel-vibe/<run_id>/<thread_id>/runner.log运行脚本(在用户当前目录或系统级 skill 目录中选择可用路径):
python3 parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>"python3 ~/.codex/skills/parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>"
# 或
python3 ~/.claude/skills/parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>"常见参数:
# 指定线程数(默认 5)
python3 parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>" --n 5
# 复用已有 run/project
python3 parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>" --project-id <run_id> --resume
# 只生成计划与工作区,便于先审查 plan
python3 parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>" --plan-only
# 使用自定义 plan(JSON)
python3 parallel-vibe/scripts/parallel_vibe.py --plan-file /path/to/plan.json --src-dir . --out-dir .
# src_dir 存在 symlink 时的处理策略
python3 parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>" --symlink-policy skip
# 用户明确要求并行时才开启
python3 parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>" --parallel --max-parallel 3代码模式提供的是工程隔离,不是容器或沙箱级强安全隔离。当 runner 在某个 thread 的 workspace/ 内工作时:
workspace/ 及其子目录..)与任何绝对路径写入.bensz-api/skills/parallel-vibe/<run_id> 下的其他 thread 目录workspace/,便于追溯与汇总默认拒绝 --src-dir 中的 symlink(可用 --symlink-policy 覆盖,但存在越界风险);不要把包含敏感文件(如 .env、SSH key)的目录作为 --src-dir。
如需精确控制每个 thread 的 runner/profile/model/prompt,可直接编辑:
.bensz-api/skills/parallel-vibe/<run_id>/@main/plan.json然后用同一个 --project-id + --resume 续跑。注意:--resume 会复用 run/project 目录与 @main/plan.json,但每次运行仍会重建各 thread 的 workspace/。
如计划中使用 runner.type=shell,它会执行任意命令模板(仅对受信任的 plan 使用);shell/工具本身可能读写用户全局缓存目录或访问绝对路径,因此不应理解为安全沙箱。
代码模式假设“一条命令 = 一次独立执行”:
# OpenAI Codex CLI
codex -m <model_id> -c 'reasoning_effort="<effort>"' exec "你的指令内容"
# Claude CLI / Claude Code
claude --model <model_id> --effort <effort> -p "你的指令内容"计划里 runner 参数约定:
runner.args:全局参数,放在子命令前;适合 codex -c ...、claude --effort ...runner.sub_args:子命令参数,放在子命令后、prompt 前;适合 codex exec --some-flag ...在触发目录执行:
rm -rf .bensz-api/skills/parallel-vibe~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.