BeClaude

agent-baton

New
2GitHub TrendingDocumentationby skycitywu

多角色 AI 团队接力协作框架(BA / Arch / Dev / TechLead),通过 Markdown 文档在角色之间传递上下文,适用于需要结构化协作的中大型项目。当用户明确说"用 AgentBaton 初始化项目"/"启动 AgentBaton 框架",或提到任一角色名("BA 角色"/"Arch 角色"/"Dev 角色"/"TechLead 角色"/"TechLead Review"),或当前项目根目录已存在 `config/roles/` 或 `config/TEAM_GUIDE.md` 时,使用本 skill。不要用于:简单代码修改、bug 修复、单文件改动、代码探索、纯重构、与多角色协作无关的常规开发任务。

First seen 5/27/2026

Overview

AgentBaton — 多角色 AI 接力协作框架

本 skill 把"BA → Arch → Dev → TechLead"的人机混合团队工作流封装为可触发的协作框架。核心机制:4 个角色通过 Markdown 文档接力,状态沉淀在项目内 `config/` 和 `docs/` 目录,跨会话/跨 Agent/跨模型可断点续接


第一步:自检触发条件

在做任何动作之前,先判断当前到底属于哪种场景:

  1. 场景 A — 初始化新项目:用户明确说"用 AgentBaton 初始化新项目"或类似表述,且当前目录没有 config/roles/config/TEAM_GUIDE.md
  2. 场景 B — 初始化二期接入项目:用户明确说"用 AgentBaton 初始化二期接入项目",且当前目录没有 config/roles/
  3. 场景 C — 已有 AgentBaton 项目中启动角色:当前目录已有 config/roles/config/TEAM_GUIDE.md,用户提到任一角色名。
  4. 场景 D — 不适用:用户没明确说初始化、没有提到角色,且当前目录不是 AgentBaton 项目。立即停止本 skill,告知用户"当前不符合 AgentBaton 触发条件,将按普通方式回答",然后让对话回到主流程。

场景 A:初始化新项目(全新开发)

执行以下步骤:

  1. 拷贝模板到当前项目。Skill 模板位置:${CLAUDE_PLUGIN_ROOT:-~/.claude/skills/agent-baton}/assets/templates/。要拷贝的内容:

- CLAUDE.md → 项目根 - config/TEAM_GUIDE.mdconfig/PROJECT_STATUS.mdconfig/TECH_STATUS.mdconfig/ - config/roles/{BA,ARCH,DEV,TECHLEAD}.mdconfig/roles/ - docs/{INIT_REQ,PRD,ARCH,TASKS}.mddocs/ - docs/prototypes/.gitkeepdocs/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 ```

  1. 写一份基础 `.gitignore`(若不存在):覆盖 macOS / IDE / 构建产物 / 密钥。
  1. 引导用户填写:告诉用户接下来要做的事:

- 编辑 CLAUDE.md:填写技术栈、开发规范、Git 团队配置("项目阶段"字段保持默认"全新开发") - 在项目目录执行 git init && git add -A && git commit -m "init: AgentBaton 项目初始化" - 让产品经理填写 docs/INIT_REQ.md

  1. 不要继续做需求分析、不要启动 BA 角色。初始化完成后停下来等用户。

场景 B:初始化二期接入项目

与场景 A 类似,但额外动作:

  1. 额外拷贝 assets/templates/docs/phase1/{INIT_REQ,CODEBASE}.mddocs/phase1/

``bash mkdir -p docs/phase1 cp "$SKILL_DIR/assets/templates/docs/phase1/"{INIT_REQ,CODEBASE}.md docs/phase1/ ``

  1. 修改新拷贝的 CLAUDE.mdconfig/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

  1. 引导用户额外填写:

- 一期代码仓库路径(写入 CLAUDE.md 的"一期代码仓库"字段) - docs/phase1/INIT_REQ.md 中的一期功能描述

  1. 提示接下来要走"基线重建"流程:产品经理启动 BA 角色,告诉它"请重建一期基线 PRD"

场景 C:已有项目中启动角色

用户提到某个角色("BA 角色"/"Arch 角色"/"Dev 角色"/"TechLead 角色"/"TechLead Review")时:

  1. 加载该角色文件:读 config/roles/<ROLE>.md(项目根相对路径,因为模板已经拷贝过去了)
  2. 按文件中"第一步:了解背景"开始执行:读 config/TEAM_GUIDE.mdconfig/PROJECT_STATUS.mdCLAUDE.md
  3. 严格遵守角色的自主权边界(见 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不主动 pushpush 由用户手动执行
  • 不要修改 `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

1
Create the agents directory
mkdir -p .claude/agents
2
Save the agent file

Add the configuration to .claude/agents/agent-baton.md

3
Invoke with @agent-name
@agent-baton
View source on GitHub
code-reviewagent

Security Audits

LicenseUnknownSourceWarnRepositoryPass

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.