BEADS多智能体协同技能Skill beads-orchestration

这个技能用于通过BEADS任务跟踪系统协调多个专业AI代理,自动化处理GitHub问题,从问题创建到PR合并的全流程。它涵盖研究、规划、设计、实现、代码审查和安全审计等阶段,旨在提高软件开发效率和自动化水平,支持多代理协同工作流。关键词:多智能体、GitHub、自动化、任务跟踪、软件开发、BEADS、协同、代理、AI代理、工作流自动化。

DevOps 0 次安装 0 次浏览 更新于 3/24/2026

名称: beads-orchestration 描述: 使用BEADS任务跟踪进行GitHub问题的多智能体协同 自动激活: true 触发器:

  • “处理问题”
  • “开始问题”
  • “@beads”
  • “代理就绪标签”

BEADS 多智能体协同技能

这个技能协调一群专业AI代理来自主处理GitHub问题,从创建到合并PR。


快速开始

开始处理GitHub问题

# 用户通过以下任一方式触发:
@beads start #123
bd start 123
/project:beads-start 123

检查BEADS状态

bd ready          # 显示可处理的任务
bd list           # 显示所有任务
bd stats          # 显示项目统计
bd doctor         # 检查系统健康

代理列表

代理 角色 触发时机
问题协调器 每个问题的主协调器 问题收到agent-ready标签时
研究代理 代码库探索 协调器创建研究任务时
架构师代理 实施规划 研究完成时
产品经理代理 用例和用户效益审查 设计审查关卡(并行)
设计师代理 UX/API设计审查 设计审查关卡(并行)
安全设计代理 安全威胁建模 设计审查关卡(并行)
CTO代理 TDD准备和计划审查 设计审查关卡(并行)
编码代理 TDD实施 设计审查关卡批准时
代码审查代理 内部代码审查 实施完成时
安全审计代理 安全审查(代码) 实施完成时
PR守护者 PR生命周期管理 PR创建时

详见agents/目录中的详细代理定义。


设计审查关卡(新)

对于通过头脑风暴创建的复杂功能,自动的设计审查关卡确保在实施前质量:

设计文档创建
        │
        ▼
┌─────────────────────────────────────────────────┐
│           设计审查关卡                           │
│                                                  │
│  并行生成:                                      │
│  • 架构师代理(技术架构)                       │
│  • 设计师代理(UX/API设计)                     │
│  • CTO代理(TDD准备)                           │
│                                                  │
│  所有三个必须批准才能继续                       │
└─────────────────────────────────────────────────┘
        │
        ├── 任何需要修改? → 迭代设计(最多3次)
        │
       全部批准
        │
        ▼
   创建BEADS史诗 → 开始实施

触发设计审查关卡

关卡在以下情况下自动触发:

  • superpowers:brainstorming完成并提交设计文档时
  • 用户运行/project:review-design <path-to-design.md>

代理审查标准

代理 关注领域
产品经理 用例清晰度、用户效益、范围、成功指标
架构师 服务架构、依赖、模式、集成
设计师 API设计、UX流程、开发者体验、一致性
安全设计 威胁建模、认证授权、数据保护、OWASP Top 10
CTO TDD准备、代码库对齐、完整性、风险

迭代协议

  • 最多3次迭代,然后人工升级
  • 每次迭代:修订设计 → 重新运行所有审查者
  • 升级选项:覆盖 / 延迟 / 取消

详见goodtogo:design-review-gate技能获取完整详情。


工作流概述

GitHub问题 #123(代理就绪标签)
        │
        ▼
┌─────────────────────────────────────┐
│       问题协调器                     │
│  创建BEADS史诗,委托工作             │
└─────────────────────────────────────┘
        │
        ▼
┌─────────────────────────────────────┐
│       研究阶段                       │
│  研究代理探索代码库                  │
└─────────────────────────────────────┘
        │
        ▼
┌─────────────────────────────────────┐
│       规划阶段                       │
│  架构师代理创建计划                  │
└─────────────────────────────────────┘
        │
        ▼
┌───────────────────────────────────────────────────────────────┐
│              设计审查关卡(并行)                               │
│                                                                │
│  ┌─────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌───────┐ │
│  │   产品  │ │  架构师  │ │  设计师  │ │  安全设计│ │  CTO  │ │
│  │(用户) │ │  (技术)│ │ (UX/API)│ │ (威胁)│ │(TDD)│ │
│  └─────────┘ └──────────┘ └──────────┘ └──────────┘ └───────┘ │
│                                                                │
│  所有五个必须批准(最多3次迭代)                               │
└───────────────────────────────────────────────────────────────┘
        │
        ▼
┌─────────────────────────────────────┐
│       实施阶段                       │
│  编码代理使用TDD实施                 │
└─────────────────────────────────────┘
        │
        ├──────────────────────────────┐
        ▼                              ▼
┌───────────────────┐    ┌───────────────────┐
│   代码审查        │    │    安全审计       │
│   代理            │    │    代理           │
└───────────────────┘    └───────────────────┘
        │                              │
        └──────────────┬───────────────┘
                       ▼
┌─────────────────────────────────────┐
│   PR创建(自动守护)                  │
│   bin/create-pr-with-shepherd.sh     │
│   → 自动调用pr-shepherd技能           │
└─────────────────────────────────────┘
        │
        ▼
┌─────────────────────────────────────┐
│       PR守护者(自动)                │
│  监控CI,处理审查,自动解决线程       │
└─────────────────────────────────────┘
        │
        ▼
┌─────────────────────────────────────┐
│       人工批准和合并                 │
└─────────────────────────────────────┘
        │
        ▼
┌─────────────────────────────────────┐
│       关闭史诗并提取学习             │
└─────────────────────────────────────┘

自动PR审查周期

当PR通过bin/create-pr-with-shepherd.sh创建时,脚本输出开始监控的指令:

  1. 创建PR,具有适当的标题和正文
  2. 启动pr-shepherd,使用/project:pr-shepherd <pr-number>
  3. PR守护者监控:CI状态、审查评论、线程解决
  4. 自动修复:代码中的lint、类型错误、测试失败
  5. 准备就绪时报告:所有CI通过,所有线程解决

对于手动创建的PR,调用/project:pr-shepherd <pr-number>启动监控周期。


BEADS命令参考

问题管理

# 为GitHub问题创建史诗
bd create "功能:用户认证" --type epic --issue 123

# 在史诗下创建任务
bd create "研究认证模式" --type task --parent bd-abc123

# 添加依赖
bd dep add <被阻塞任务> <阻塞任务>

# 更新状态
bd update <任务ID> --status open|in_progress|blocked|closed

# 关闭并说明原因
bd close <任务ID> --reason "成功完成"

任务发现

# 显示就绪(未被阻塞)的任务
bd ready --json

# 列出史诗下的所有任务
bd list --parent <史诗ID>

# 显示被阻塞的任务
bd blocked

# 显示任务详情
bd show <任务ID> --json

自定义状态标签

# 等待人工输入
bd label add <任务ID> waiting:human

# 等待CI
bd label add <任务ID> waiting:ci

# 代理失败,需要干预
bd label add <任务ID> agent:failed

# 审查迭代跟踪
bd label add <任务ID> review:iteration-1

同步操作

# 检查同步状态
bd sync --status

# 从主分支拉取更新
bd sync --from-main

# 导出到JSONL
bd export

开始处理问题

步骤1:验证问题就绪

# 检查问题是否有代理就绪标签
gh issue view 123 --json labels | jq '.labels[].name' | grep agent-ready

步骤2:创建BEADS史诗

# 获取问题详情
ISSUE=$(gh issue view 123 --json title,body,number)

# 创建链接到问题的史诗
bd create "$(echo $ISSUE | jq -r .title)" --type epic --issue 123 --json

步骤3:发布确认

gh issue comment 123 --body "🤖 代理认领此问题。BEADS史诗已创建。"

步骤4:生成问题协调器

使用任务工具生成问题协调器代理:

Task({
  subagent_type: "general-purpose",
  description: "问题协调器 for #123",
  prompt: `您是问题协调器代理。

阅读代理定义:
.claude/plugins/goodtogo/skills/beads/agents/issue-orchestrator.md

您的任务:
- 史诗ID:<epic-id>
- GitHub问题:#123
- 开始协调工作流

严格按照指定的工作流阶段执行。`,
});

人工升级协议

何时升级

  1. 需求模糊:问题不清晰
  2. 冲突约束:无法满足所有需求
  3. 风险决策:安全或数据问题
  4. 阻塞超过1小时:需要外部依赖
  5. 3次失败迭代:代理无法解决问题

如何升级

# 标记任务为等待
bd update <任务ID> --status blocked
bd label add <任务ID> waiting:human

# 发布到GitHub问题
gh issue comment <number> --body "$(cat <<'EOF'
## 🤖 代理请求:<类型>

**任务**:<任务ID>
**问题**:<清晰问题>

### 选项
1. **选项A**:<描述>
2. **选项B**:<描述>

### 代理推荐
<推荐>

---
回复:`@beads approve <任务ID>` 或 `@beads respond <任务ID> <选项>`
EOF
)"

人工响应模式

# 批准被阻塞的任务
@beads approve bd-abc123

# 响应选择
@beads respond bd-abc123 "使用选项A"

# 请求修改
@beads request-changes bd-abc123 "需要更多错误处理"

# 推迟处理
@beads defer bd-abc123 "周一日站会讨论"

代理生成模式

顺序生成

// 首先生成研究代理
const researchResult = await Task({
  subagent_type: "general-purpose",
  description: "问题 #123 的研究",
  prompt: researcherPrompt,
});

// 然后使用研究输出生成架构师
const planResult = await Task({
  subagent_type: "general-purpose",
  description: "问题 #123 的规划",
  prompt: architectPrompt + researchResult,
});

并行生成

// 并行生成代码审查和安全审计
const [reviewResult, securityResult] = await Promise.all([
  Task({
    subagent_type: "general-purpose",
    description: "问题 #123 的代码审查",
    prompt: codeReviewPrompt,
  }),
  Task({
    subagent_type: "general-purpose",
    description: "问题 #123 的安全审计",
    prompt: securityAuditPrompt,
  }),
]);

知识集成

关键:开始工作前准备

所有代理在开始任何工作前必须准备其上下文。 这可以防止错误假设并确保与既定模式对齐。

# 通用准备(加载关键规则和注意事项)
npx tsx scripts/beads-prime.ts

# 为特定修改文件准备
npx tsx scripts/beads-prime.ts --files "src/lib/services/*.ts" "src/app/api/*.ts"

# 为特定主题准备
npx tsx scripts/beads-prime.ts --keywords "认证" "jwt"

# 为工作类型准备
npx tsx scripts/beads-prime.ts --work-type planning     # 规划前
npx tsx scripts/beads-prime.ts --work-type implementation  # 编码前
npx tsx scripts/beads-prime.ts --work-type review       # 审查前
npx tsx scripts/beads-prime.ts --work-type research     # 研究前

# 组合(最全面)
npx tsx scripts/beads-prime.ts --files "<文件>" --keywords "<主题>" --work-type <类型>

准备命令输出相关事实,分类为:

  • 必须遵循:关键规则(从不/总是/必须语句)
  • 注意事项:常见陷阱
  • 模式:此代码库的最佳实践
  • 决策:架构选择

完成工作后

运行自反思以提取学习:

# 获取最近的PR评论
GITHUB_TOKEN=$(gh auth token) npx tsx scripts/beads-fetch-pr-comments.ts --days 7

# 使用自反思技能评估并添加学习
/project:self-reflect

或生成知识管理代理:

Task({
  subagent_type: "general-purpose",
  description: "从史诗中提取学习",
  prompt: `审查完成的史诗<epic-id>并提取学习。

首先:运行\`npx tsx scripts/beads-prime.ts --work-type review\`以加载上下文。

然后分析:
- 使用了哪些模式?
- 发现了哪些注意事项?
- 未来代理应该知道什么?

使用知识捕获服务存储学习。`,
});

成功标准检查列表

关闭史诗前,验证所有:

  • [ ] 史诗下的所有BEADS任务已关闭
  • [ ] PR已创建并链接到GitHub问题
  • [ ] gtg返回就绪状态(确定性PR就绪门)
    gtg "$PR_NUMBER" --repo "$OWNER/$REPO" --format json > /tmp/gtg.json
    STATUS=$(jq -r '.status' /tmp/gtg.json)
    # 必须返回就绪状态才能继续
    
  • [ ] 人工已批准合并
  • [ ] PR已合并到主分支
  • [ ] GitHub问题已关闭
  • [ ] 学习已提取到知识库

gtg作为确定性门

gtg命令替代手动验证:

  • 所有CI检查通过
  • 所有PR评论已处理
  • 所有PR线程已解决

PR在gtg返回就绪状态前未就绪。

# 确定性检查PR就绪(推荐:解析JSON状态)
gtg 123 --repo owner/repo --format json > /tmp/gtg.json
STATUS=$(jq -r '.status' /tmp/gtg.json)
echo "状态:$STATUS"  # 必须为就绪

# 替代:使用语义退出码进行shell脚本
gtg 123 --repo owner/repo -q  # 退出码 0 = 就绪

# 查看阻止详情:
gtg 123 --repo owner/repo --format json | jq '.action_items'

故障排除

任务卡在进度中

# 检查任务状态
bd show <任务ID> --json

# 检查孤立代理
# 如果代理失败,重置并重试
bd update <任务ID> --status open
bd label remove <任务ID> agent:failed

循环依赖

# 运行doctor检测
bd doctor

# 如果找到,重构依赖
bd dep remove <任务1> <任务2>

BEADS同步问题

# 检查同步状态
bd sync --status

# 强制导出
bd export

# 从主分支拉取
bd sync --from-main

目录结构

.claude/plugins/goodtogo/skills/beads/
├── SKILL.md                    # 此文件
└── agents/
    ├── issue-orchestrator.md   # 主协调器
    ├── researcher-agent.md     # 代码库探索
    ├── architect-agent.md      # 实施规划
    ├── product-manager-agent.md # 用例和用户效益审查(新)
    ├── designer-agent.md       # UX/API设计审查(新)
    ├── security-design-agent.md # 安全威胁建模(新)
    ├── cto-agent.md            # TDD准备审查
    ├── coder-agent.md          # TDD实施
    ├── code-review-agent.md    # 内部代码审查
    ├── security-auditor-agent.md # 安全审查(实施)
    └── pr-shepherd-agent.md    # PR生命周期管理

.claude/plugins/goodtogo/skills/design-review-gate/
└── SKILL.md                    # 设计审查关卡协调器(新)

.claude/plugins/goodtogo/skills/brainstorming-extension/
└── SKILL.md                    # 链接头脑风暴到审查关卡(新)

.claude/commands/
└── review-design.md            # /project:review-design命令(新)

.claude/rubrics/
├── plan-review-rubric.md       # 由CTO代理使用
└── code-review-rubric.md       # 由代码审查代理使用

.beads/
├── beads.db                    # SQLite数据库
├── issues.jsonl                # 问题/任务数据
└── knowledge/                  # 策划的学习
    ├── codebase-facts.jsonl
    ├── patterns.jsonl
    └── anti-patterns.jsonl