Parallel Vibe logo

Parallel Vibe

Community
huangwb8
parallel-vibe

当用户明确要求并行或串行启用多个 Agent,或上游 Skill 声明需要统一的多 Agent 执行底座时使用。负责 Agent 的创建、隔离、调度、回收和汇总。⚠️ 不适用:普通 shell 并发、单元测试并发、下载任务,或要求强隔离的敏感数据处理。

Overview

Publisherhuangwb8
Repositoryskills
Skill nameparallel-vibe
Stars
50
Forks
8
Bundled files
6
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by huangwb8 on GitHub. Read the source before you install it.

Installation

Install the Parallel Vibe AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/huangwb8/skills/tree/main/skills/alpha/parallel-vibe
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/huangwb8/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/skills/alpha/parallel-vibe .claude/skills/parallel-vibe
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Parallel Vibe in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Parallel Vibe on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Parallel Vibe is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

parallel-vibe

目标

当用户明确要求"并行或串行启用多个 Agent",或上游 Skill 声明需要统一执行底座时使用。parallel-vibe 负责 Agent 的创建、工作区隔离、调度、回收和结果汇总,覆盖 focused-agent、sequential 和 parallel 三种策略。默认使用智能模式:由宿主原生 subagent 独立分析并由主 agent 汇总;智能模式和代码模式必须使用同一套 .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/{yyyy-mm-dd-hh-mm}/ 运行目录、@main/plan.json、thread workspace/、RESULT.md 与 runner.log 契约,区别只在底层执行机制;当用户要求脚本 runner、plan-file、resume、跨 CLI runner、退出码或无可用 subagent 时,切换到代码模式并调用 scripts/parallel_vibe.py。⚠️ 不适用:普通 shell 并发、单元测试并发、下载任务、要求强安全隔离或处理高度敏感数据。

流程

输入

输入为需要 Agent/thread 串行或并行评估、设计或执行的用户任务,或上游 Skill 交付的执行计划;可选输入包括线程数、智能/代码模式、plan-file、project-id/resume、runner 参数和源目录。普通 shell/测试并发、下载任务及高度敏感数据不使用本 Skill。

执行步骤

模式选择

parallel-vibe 有两种模式:

  • 智能模式(默认):使用宿主工具的原生 subagent / 独立上下文能力,让多个 thread 独立分析同一任务,主 agent 最后综合共识、分歧、推荐路线和验证步骤。
  • 代码模式(保留):调用 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/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/project.json
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/@main/plan.json
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/@main/plan.md
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/@main/summary.md
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/workspace/
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/workspace/RESULT.md(优先产物)
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/RESULT.md(汇总用副本或兜底)
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/runner.log
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/prompt.txt
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/thread.json
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/done.json
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/exit_code.txt

路由规则:

  1. 用户只是要求多个 agent 独立想方案、审查、优化、评估风险或对比路线时,使用智能模式。
  2. 用户要求固定目录、.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/、@main/plan.json、RESULT.md 或 runner.log 时,仍可使用智能模式;这些是共享目录契约,不是代码模式专属触发条件。
  3. 用户明确要求“代码模式”“脚本模式”“CLI runner”“plan-file”“resume”“dry-run”“退出码”、跨 codex / claude / shell runner,或下游 skill 需要脚本可复跑批处理时,使用代码模式。
  4. 宿主没有可用 subagent 能力,或当前环境无法可靠启动独立上下文时,回退代码模式。
  5. 涉及多个 agent 并行修改文件时,仍先按共享目录创建每个 thread 的 workspace/;如果宿主不能把 subagent 绑定到各自 workspace/,改用代码模式,或让智能模式只输出方案 / diff / patch 建议,由主 agent 单点落地。

config.yaml 中的 defaults.mode、modes.smart、modes.code 只表达模式口径,不要求宿主一定能以代码读取;真正执行仍以本节路由和用户意图为准。

智能模式工作流

适用场景:方案探索、代码审查、风险评估、文档优化、研究假设打磨,以及“让多个独立 agent 给意见再汇总”的任务。

执行步骤:

  1. 从用户消息提取任务、期望 thread 数和是否需要串行或并行;用户未指定时,按任务复杂度选择 3-5 个 thread。
  2. 先创建共享运行目录。可直接按“模式选择”中的目录契约创建,也可运行代码模式脚本的 --plan-only 只初始化目录和 workspace,不启动 runner。
  3. 为每个 thread 规划独立角色,例如保守方案、激进方案、测试边界、风险审查、用户体验审查,并写入 @main/plan.json / @main/plan.md。
  4. 启动宿主原生 subagent 或等价独立上下文;每个 subagent 只读取用户任务和分配给自己的 thread prompt,不读取其他 thread 的结果。
  5. 要求每个 subagent 把结论写入自己的 <thread_id>/workspace/RESULT.md;如果宿主无法让 subagent 直接落盘,主 agent 必须把其返回内容保存到 <thread_id>/RESULT.md,并在 runner.log 写入“由宿主 subagent 返回内容兜底落盘”的说明。
  6. 每个 thread 完成后补齐 done.json、exit_code.txt 和 runner.log;智能模式没有真实 CLI 退出码时,成功用 0,失败或未完成用 1。
  7. 主 agent 汇总共识、主要分歧、推荐路线和最小验证步骤,写入 @main/summary.md,再交付给用户。

智能模式与代码模式的目录管理必须一致。需要完整协议时,读取 references/smart-mode-protocol.md。

面向用户的输出至少包含:

  • 运行模式:智能模式
  • project 目录:.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/
  • thread 数与串行/并行策略
  • 每个 thread 的角色与一句话结论
  • 综合结论:推荐路线、共识、主要分歧
  • 验证步骤:可执行命令或人工检查点

重要边界:共享目录契约不等于强安全隔离。智能模式的独立性来自宿主 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-file
  • 可选:n(线程数,默认 5,范围 1-9;用户明确要求则以用户为准)
  • 可选:每个 thread 的 runner/model/prompt(通过 @main/plan.json 或 --plan-file 自定义)
  • 可选:--project-id/--resume(复用已有 run/project 目录)
  • 可选:--parallel/--max-parallel(用户明确要求并行时使用)

输出:

  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/@main/plan.json
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/@main/summary.md
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/RESULT.md
  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/<thread_id>/runner.log

运行脚本(在用户当前目录或系统级 skill 目录中选择可用路径):

bash
python3 parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>"
bash
python3 ~/.codex/skills/parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>"
# 或
python3 ~/.claude/skills/parallel-vibe/scripts/parallel_vibe.py --prompt "<用户指令原文>"

常见参数:

bash
# 指定线程数(默认 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/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id> 下的其他 thread 目录
  • 产物必须落盘到当前 workspace/,便于追溯与汇总

默认拒绝 --src-dir 中的 symlink(可用 --symlink-policy 覆盖,但存在越界风险);不要把包含敏感文件(如 .env、SSH key)的目录作为 --src-dir。

自定义 thread(代码模式)

如需精确控制每个 thread 的 runner/profile/model/prompt,可直接编辑:

  • .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe/<run_id>/@main/plan.json

然后用同一个 --project-id + --resume 续跑。注意:--resume 会复用 run/project 目录与 @main/plan.json,但每次运行仍会重建各 thread 的 workspace/。

如计划中使用 runner.type=shell,它会执行任意命令模板(仅对受信任的 plan 使用);shell/工具本身可能读写用户全局缓存目录或访问绝对路径,因此不应理解为安全沙箱。

Runner 命令形态(代码模式)

代码模式假设“一条命令 = 一次独立执行”:

bash
# 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 ...
清理方式

在触发目录执行:

bash
rm -rf .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/parallel-vibe

输出

输出包括共享运行目录、@main/plan.json/plan.md/summary.md、每个 thread 的 workspace/RESULT.md、runner.log、done.json 和 exit_code.txt;智能模式仍须提供线程角色、结论汇总、分歧与验证步骤,代码模式还须保留可复跑的退出码和 runner 记录。

输出管理

BenszAPI 任务工作区

校验

校验每个 thread 使用独立 workspace 且结果文件、退出码和日志齐全,@main 汇总覆盖全部有效结果;检查 plan/project ID、symlink 策略、线程数范围和路径边界符合配置/命令约束。

失败与恢复

thread 失败、runner 无法启动、结果缺失或 resume 状态不一致时,保留已有 workspace、日志和退出码,汇总中标记未完成并报告;可用同一 project-id/--resume 重跑,不能用空结果冒充成功。无法启动独立 subagent 时按路由切换代码模式。

约束

公共硬约束

本块由 docs/templates/skill-common-constraints.md 统一维护;每个 SKILL.md 的 ## 约束 必须逐字同步本块,不得在副本中改写公共规则。

  • 任务需要落盘时,使用唯一的 ./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/ 根目录;共享材料放入 shared/,Skill 专属材料放入该 Skill 的 input/、output/、log/。
  • 正式交付物、源代码和正式计划按项目约定保存,不写入任务工作区;未经授权不覆盖、删除、迁移或远程写入。
  • 项目维护变更检查 BAC 可用性并记录需求、AI 产出、工具结果、文件改动和验证摘要;BAC 只做过程审计,不替代署名、责任或合规判断。
  • 不记录 API Key、访问令牌、密码、Cookie、环境/凭据文件、私有 Prompt、身份信息、本地用户名、主机名或不必要的大体积原始数据。
  • 文件路径必须规范化并限制在授权项目范围内;外部 URL、子进程和网络访问遵循最小权限,防止路径遍历、SSRF 和命令注入。
  • Skill 版本唯一记录在自身 config.yaml:skill_info.version;公开 API、协议、目录或配置变更同步文档与 CHANGELOG.md。
  • bensz-collect-bugs 是一个 Agent Skill;仅将 Bensz Agent Skill 或 Bensz 基础设施本身的设计缺陷交给它。先脱敏写入 ~/.bensz-skills/bugs/,当前任务不中断,只有用户明确要求才公开上报,禁止直接修改用户已安装的 Skill 源码。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Parallel Vibe AI skill do?

当用户明确要求并行或串行启用多个 Agent,或上游 Skill 声明需要统一的多 Agent 执行底座时使用。负责 Agent 的创建、隔离、调度、回收和汇总。⚠️ 不适用:普通 shell 并发、单元测试并发、下载任务,或要求强隔离的敏感数据处理。

Why use Parallel Vibe on TypingMind?

Because you install it once and use it with any model. Parallel Vibe is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Parallel Vibe in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/huangwb8/skills/tree/main/skills/alpha/parallel-vibe. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Parallel Vibe?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Parallel Vibe?

As many as you like. As long as a model supports skills, you can use Parallel Vibe with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Parallel Vibe AI skill free?

Yes. It is published on GitHub by huangwb8 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇