agent-baton
New多角色 AI 团队接力协作框架(BA / Arch / Dev / TechLead),通过 Markdown 文档在角色之间传递上下文,适用于需要结构化协作的中大型项目。当用户明确说"用 AgentBaton 初始化项目"/"启动 AgentBaton 框架",或提到任一角色名("BA 角色"/"Arch 角色"/"Dev 角色"/"TechLead 角色"/"TechLead Review"),或当前项目根目录已存在 `config/roles/` 或 `config/TEAM_GUIDE.md` 时,使用本 skill。不要用于:简单代码修改、bug 修复、单文件改动、代码探索、纯重构、与多角色协作无关的常规开发任务。
Overview
AgentBaton — 多角色 AI 接力协作框架
本 skill 把"BA → Arch → Dev → TechLead"的人机混合团队工作流封装为可触发的协作框架。核心机制:4 个角色通过 Markdown 文档接力,状态沉淀在项目内 `config/` 和 `docs/` 目录,跨会话/跨 Agent/跨模型可断点续接。
第一步:自检触发条件
在做任何动作之前,先判断当前到底属于哪种场景:
- 场景 A — 初始化新项目:用户明确说"用 AgentBaton 初始化新项目"或类似表述,且当前目录没有
config/roles/和config/TEAM_GUIDE.md。 - 场景 B — 初始化二期接入项目:用户明确说"用 AgentBaton 初始化二期接入项目",且当前目录没有
config/roles/。 - 场景 C — 已有 AgentBaton 项目中启动角色:当前目录已有
config/roles/和config/TEAM_GUIDE.md,用户提到任一角色名。 - 场景 D — 不适用:用户没明确说初始化、没有提到角色,且当前目录不是 AgentBaton 项目。立即停止本 skill,告知用户"当前不符合 AgentBaton 触发条件,将按普通方式回答",然后让对话回到主流程。
场景 A:初始化新项目(全新开发)
执行以下步骤:
- 拷贝模板到当前项目。Skill 模板位置:
${CLAUDE_PLUGIN_ROOT:-~/.claude/skills/agent-baton}/assets/templates/。要拷贝的内容:
- CLAUDE.md → 项目根 - config/TEAM_GUIDE.md、config/PROJECT_STATUS.md、config/TECH_STATUS.md → config/ - config/roles/{BA,ARCH,DEV,TECHLEAD}.md → config/roles/ - docs/{INIT_REQ,PRD,ARCH,TASKS}.md → docs/ - docs/prototypes/.gitkeep → docs/prototypes/ - 不拷贝 docs/phase1/(仅二期接入模式需要)
定位 skill 路径,再 cp 各文件。注意 find 必须用 -L 才能跟随软链:
```bash # 优先用环境变量;否则按常见路径搜索;最后回退到 find -L SKILL_DIR="${CLAUDE_PLUGIN_ROOT:-}" [ -z "$SKILL_DIR" ] && [ -d ~/.claude/skills/agent-baton ] && SKILL_DIR=~/.claude/skills/agent-baton
[ -z "$SKILL_DIR" ] && { echo "未找到 AgentBaton skill 安装目录"; exit 1; }
mkdir -p config/roles docs/prototypes cp "$SKILL_DIR/assets/templates/CLAUDE.md" ./CLAUDE.md cp "$SKILL_DIR/assets/templates/config/"{TEAM_GUIDE,PROJECT_STATUS,TECH_STATUS}.md config/ cp "$SKILL_DIR/assets/templates/config/roles/"{BA,ARCH,DEV,TECHLEAD}.md config/roles/ cp "$SKILL_DIR/assets/templates/docs/"{INIT_REQ,PRD,ARCH,TASKS}.md docs/ touch docs/prototypes/.gitkeep ```
- 写一份基础 `.gitignore`(若不存在):覆盖 macOS / IDE / 构建产物 / 密钥。
- 引导用户填写:告诉用户接下来要做的事:
- 编辑 CLAUDE.md:填写技术栈、开发规范、Git 团队配置("项目阶段"字段保持默认"全新开发") - 在项目目录执行 git init && git add -A && git commit -m "init: AgentBaton 项目初始化" - 让产品经理填写 docs/INIT_REQ.md
- 不要继续做需求分析、不要启动 BA 角色。初始化完成后停下来等用户。
场景 B:初始化二期接入项目
与场景 A 类似,但额外动作:
- 额外拷贝
assets/templates/docs/phase1/{INIT_REQ,CODEBASE}.md到docs/phase1/:
``bash mkdir -p docs/phase1 cp "$SKILL_DIR/assets/templates/docs/phase1/"{INIT_REQ,CODEBASE}.md docs/phase1/ ``
- 修改新拷贝的
CLAUDE.md和config/PROJECT_STATUS.md(注意 macOS 与 Linux 的sed -i语法不同,下面是 macOS 版):
```bash sed -i '' 's/- \\当前模式\\:全新开发/- 当前模式:二期接入/' CLAUDE.md
sed -i '' 's/\\项目模式\\:全新开发/项目模式:二期接入/' config/PROJECT_STATUS.md ```
Linux 上把 sed -i '' 替换为 sed -i。
- 引导用户额外填写:
- 一期代码仓库路径(写入 CLAUDE.md 的"一期代码仓库"字段) - docs/phase1/INIT_REQ.md 中的一期功能描述
- 提示接下来要走"基线重建"流程:产品经理启动 BA 角色,告诉它"请重建一期基线 PRD"
场景 C:已有项目中启动角色
用户提到某个角色("BA 角色"/"Arch 角色"/"Dev 角色"/"TechLead 角色"/"TechLead Review")时:
- 加载该角色文件:读
config/roles/<ROLE>.md(项目根相对路径,因为模板已经拷贝过去了) - 按文件中"第一步:了解背景"开始执行:读
config/TEAM_GUIDE.md、config/PROJECT_STATUS.md、CLAUDE.md等 - 严格遵守角色的自主权边界(见
config/TEAM_GUIDE.md第 2.3 节)和"⏸️ 停下来"节点:每个角色在完成自己阶段的工作后必须停止,等待下一个角色或人工接手,不要跨角色自动推进
特殊触发词识别:
| 用户表述 | 加载文件 |
|---|---|
| "BA 角色"/"业务分析"/"启动 BA" | config/roles/BA.md |
| "Arch 角色"/"架构师"/"启动 Arch" | config/roles/ARCH.md |
| "Dev 角色"/"开发者"/"启动 Dev"/"开始编码" | config/roles/DEV.md |
| "TechLead 角色"/"技术负责人"/"TechLead Review"/"代码审查"(在 AgentBaton 项目中) | config/roles/TECHLEAD.md |
通用纪律(所有场景共享)
- •不要把 4 个角色合并执行:每个角色完成自己阶段就停,等用户手动启动下一个角色
- •Git 策略:本 skill 借用当前用户的 git 账号做本地 commit,不主动 push。
push由用户手动执行 - •不要修改 `docs/INIT_REQ.md` 的原始需求部分:迭代需求只在末尾"迭代需求"区域追加
- •二期接入项目的 `docs/phase1/` 是只读基线:基线一旦由开发负责人校验通过即冻结,不再修改
- •如果用户在场景 C 下提的具体诉求与当前角色职责不符(例如让 Dev 做架构决策),按角色边界拒绝并建议切换到合适角色
协议主体
详细的协作流程、文档体系、阶段交接、二期接入逆向重建、迭代变更路径 A/B 等,在项目内的 config/TEAM_GUIDE.md 中。Skill 触发后第一件实事必须是读它(场景 A/B 拷贝完成后读项目内的,场景 C 直接读项目内的)。
各角色的详细指令(包含 Git 提交话术、交接 Checklist、停留点)在 config/roles/<ROLE>.md。
触发疑似边界情况
下列情形不要触发本 skill,让 Claude 按普通方式回应:
- •用户在非 AgentBaton 项目里说"写个 PRD 文档" → 这是普通文档写作,不是启动框架
- •用户在 AgentBaton 项目里说"帮我改 main.go 的一个 bug" → 这是常规 Dev 任务,按普通方式做就行
- •用户问"AgentBaton 是什么"/"这个框架怎么用" → 直接简要解释,不要进入初始化流程
- •用户提到"团队"/"协作"/"PRD"/"架构"/"Review" 这些词但没有上下文表明在用 AgentBaton → 不要触发
Install & Usage
mkdir -p .claude/agentsAdd the configuration to .claude/agents/agent-baton.md
@agent-batonSecurity Audits
Frequently Asked Questions
What is agent-baton?
多角色 AI 团队接力协作框架(BA / Arch / Dev / TechLead),通过 Markdown 文档在角色之间传递上下文,适用于需要结构化协作的中大型项目。当用户明确说"用 AgentBaton 初始化项目"/"启动 AgentBaton 框架",或提到任一角色名("BA 角色"/"Arch 角色"/"Dev 角色"/"TechLead 角色"/"TechLead Review"),或当前项目根目录已存在 `config/roles/` 或 `config/TEAM_GUIDE.md` 时,使用本 skill。不要用于:简单代码修改、bug 修复、单文件改动、代码探索、纯重构、与多角色协作无关的常规开发任务。
How to install agent-baton?
To install agent-baton: create the agents directory (mkdir -p .claude/agents), then add the config to .claude/agents/agent-baton.md. Finally, @agent-baton in Claude Code.
What is agent-baton best for?
agent-baton is a agent categorized under Documentation. It is designed for: code-review, agent. Created by skycitywu.