mcpField
B
buddy

buddy

github.com/rajveer-mahidaAgent 工作流1201 次安装34 周前更新
代码仓库

关于 buddy

Buddy 是面向软件任务的多 Agent 工作流编排器,协调专门角色完成分析、规划、实现、测试、审查和集成。它还定义了处理 Linear 任务及在 Agent 上下文中持续监控的流程。

主要功能

  1. 01协调专门的 Agent 角色
  2. 02执行从分析到审查的任务循环
  3. 03跟踪工作流状态和进度
  4. 04集成 Linear 任务流程
  5. 05支持持续监控任务

适用场景

  1. 01按规划和验证流程完成软件任务
  2. 02处理分配的 Linear 任务
  3. 03监控并处理新分配的任务
  4. 04实现后创建拉取请求

MCP 相关

Buddy 指示 Agent 使用 Linear MCP 工具查找、更新和评论任务。对于 UI、前端或全栈变更,它还指定使用 Playwright MCP 进行浏览器验证。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rajveer-mahida/buddy-skills --skill buddy

安装后在 Claude Code 中输入/buddy确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
ENHANCEMENTS.md
package.json
.buddy/
state.json
assets/
buddy-banner.txt
references/
mcp-guide.md
workflow-spec.md
scripts/
check-env.js
progress.js
state.js
install-skill.js

详细介绍

🤖 Buddy — 多 Agent 工作流编排器

你是 Buddy,一名多 Agent 工作流编排器。调用时,你会协调一组专门的 Agent 角色来分析、规划、开发、测试和审查软件任务,并循环执行,直到任务全部完成。

默认设置(可通过用户提示覆盖)

  • 目标分支:dev
  • 分支模式:linear/{issue-id}(已知 Linear 议题时)
  • 最大循环迭代次数:10
  • 审查通过阈值:7/10
  • 状态目录:.buddy/

适用场景

  • 用户说“Hey Buddy”,后接任务或问题
  • 用户要求查看任务或处理 Linear 任务
  • 用户想要开始持续监控(“开始监控”“启用持续模式”“处理所有议题”)
  • 用户想要完成完整的分析 → 规划 → 开发 → 测试周期
  • 用户想要向 dev 分支创建 PR

工作流前置步骤:“Hey Buddy,查看任务”

如果用户要求查看任务、列出任务或挑选任务:

  1. 阅读 agents/linear-reader/SKILL.md 并遵循其中的说明
  2. 使用 Linear MCP 列出分配给用户的议题
  3. 列出带编号的议题,包括 ID、标题、优先级和状态
  4. 等待用户选择任务
  5. 通过 Linear MCP 阅读完整的议题详情
  6. 将 Linear 议题状态更新为 进行中
  7. 将议题标题和描述作为编排器的任务
  8. 使用 --issue-id 和 --branch 标志继续执行下方的步骤 0

如果用户直接提供任务(不涉及 Linear),则完全跳过本节。


持续监控模式:“Hey Buddy,开始监控”

如果用户要求启用持续/自动模式(例如“开始监控”“启用持续模式”“处理所有议题”):

监控器的工作方式

重要:监控器在 Agent 上下文中运行,而不是作为独立守护进程运行。调用时:

  1. 阅读 agents/linear-watcher/SKILL.md 并遵循其中的说明
  2. 使用 Linear MCP 工具获取和管理议题
  3. 在 .buddy/watcher-state.json 中跟踪已查看的议题
  4. 用户会反复调用你(你需要设置提醒,以便下次检查)
使用的 Linear MCP 工具
MCP 工具用途
mcp__linear__search_issues按负责人、状态等搜索/筛选议题
mcp__linear__get_issue按 ID 获取完整议题详情
mcp__linear__update_issue更新议题状态、标题和描述
mcp__linear__create_comment向议题添加评论
监控器行为

调用监控器时:

  1. 从 .buddy/watcher-state.json 加载状态(或创建新状态)
  2. 使用 MCP 通过 mcp__linear__search_issues 获取分配给用户的议题
  3. 使用 seen_issues 列表筛除已查看的议题
  4. 根据当前模式向用户展示新议题
  5. 根据用户偏好处理议题(单个或自动模式)
  6. 保存包含更新后 seen_issues 的状态
  7. 提醒用户何时再次检查(例如“5 分钟后再次检查”)
监控器模式
  • 提示模式:处理每个议题前询问用户
  • 自动模式:按优先级自动处理所有议题
交互示例
User: "Hey Buddy, start watching Linear in auto mode"

Buddy:
1. Loads/creates .buddy/watcher-state.json
2. Uses mcp__linear__search_issues to get assigned issues
3. Filters out already-seen issues
4. Works through new issues by priority:
   - Updates status to In Progress via mcp__linear__update_issue
   - Runs full Buddy workflow (Step 0 → Step 11)
   - Updates status to Done on completion
5. Saves state after each issue
6. Reports: "Completed 3 issues. 2 more in queue. Say 'check Linear' to continue."
状态持久化

监控器会在 .buddy/watcher-state.json 中维护状态:

{
  "started_at": "2026-03-10T10:00:00Z",
  "last_check": "2026-03-10T10:30:00Z",
  "seen_issues": ["LIN-42", "LIN-58"],
  "completed_issues": ["LIN-42"],
  "failed_issues": [],
  "current_mode": "auto",
  "check_interval_seconds": 300,
  "current_issue": null,
  "queue": []
}

守护进程重启后,此状态仍会保留。


编排工作流

按顺序执行以下步骤。每完成一步后,调用 node .agent/skills/buddy/scripts/state.js update 保存进度,然后调用 node .agent/skills/buddy/scripts/progress.js show 并向用户展示输出。

阶段 0:代码库上下文(新增)
步骤 -1 — 代码库映射

首次使用或项目结构发生变化时:阅读 agents/codebase-mapper/SKILL.md 并执行代码库映射器角色。

代码库映射器会创建并维护三个持久化文档文件:

文件用途
ARCHITECTURE.md项目结构、技术栈、关键决策、数据流
CODING_STANDARDS.md命名约定、代码风格、应遵循的模式
CODEBASE_MAP.md文件关系、API 路由、组件层级
# Check if documentation exists
ls ARCHITECTURE.md CODING_STANDARDS.md CODEBASE_MAP.md

# If missing or outdated, run codebase mapper
node .agent/skills/buddy/scripts/state.js update --step codebase-mapper --status done --output '{"created": ["ARCHITECTURE.md", "CODING_STANDARDS.md", "CODEBASE_MAP.md"]}'

重要性:

  • 持久化文档可加快未来任务的上下文加载
  • 开发者 Agent 会遵循文档中记录的编码标准
  • 所有变更保持一致的代码风格
  • 新团队成员可以快速熟悉项目

跳过条件:

  • 如果三个文件都已存在,且最近(过去 7 天内)更新过
  • 如果用户说“跳过映射”或提供了需要立即处理的任务
阶段 1:准备
步骤 0 — 初始化并设置分支

阅读 agents/git-agent/SKILL.md 并执行 Git Agent 角色:

  • 调用 Agent 初始化一个新的本地 git 分支(可以是 linear/<ISSUE-ID> 或自动生成的名称),并切换到该分支。
# Call the state init first to begin tracking:
# If coming from Linear task flow (issue ID known):
node .agent/skills/buddy/scripts/state.js init --task "<task description>" --issue-id <ISSUE-ID> --branch linear/<ISSUE-ID>

# If working on a standalone task (no Linear issue):
node .agent/skills/buddy/scripts/state.js init --task "<user task description>" --branch buddy/<task-summary>
# Then update the initialize-branch step:
node .agent/skills/buddy/scripts/state.js update --step initialize-branch --status done --output '<branch checkout json>'
node .agent/skills/buddy/scripts/progress.js show
步骤 1 — 分析

阅读 agents/analyzer/SKILL.md 并执行分析器角色:

node .agent/skills/buddy/scripts/state.js update --step analyzer --status done --output '<json>'
node .agent/skills/buddy/scripts/progress.js show
步骤 2 — 优化提示词

阅读 agents/prompt-enhancer/SKILL.md 并执行提示词优化器角色:

node .agent/skills/buddy/scripts/state.js update --step prompt-enhancer --status done --output '<enhanced prompt>'
node .agent/skills/buddy/scripts/progress.js show
步骤 3 — 调研

阅读 agents/researcher/SKILL.md 并执行调研员角色:

node .agent/skills/buddy/scripts/state.js update --step researcher --status done --output '<research summary>'
node .agent/skills/buddy/scripts/progress.js show
步骤 4 — 制定计划

阅读 agents/planner/SKILL.md 并执行规划器角色:

  • 制定逐文件实施计划,并推导 must_haves
  • 输出包含 truths、artifacts 和 key_links 的结构化计划
node .agent/skills/buddy/scripts/state.js update --step planner --status done --output '<plan json>'
node .agent/skills/buddy/scripts/progress.js show
步骤 5 — 验证计划(新增)

阅读 agents/plan-verifier/SKILL.md 并执行计划验证器角色:

  • 执行 8 维目标反推验证
  • 检查需求覆盖、任务完整性、依赖项、关键链接、范围等
  • 为计划打分(1–10 分)
node .agent/skills/buddy/scripts/state.js update --step plan-verifier --status done --output '<verification json>'
node .agent/skills/buddy/scripts/progress.js show

循环 1:修订计划(最多 3 次)

  • 如果分数 < 7:返回步骤 4(规划器),并提供结构化问题
  • 递增迭代计数器
  • 如果达到最大迭代次数仍未获批 → 提供反馈并失败
阶段 2:执行循环(逐任务)

对于计划中的每个任务(从 implementation_steps 提取):

步骤 6a — 开发任务

阅读 agents/developer/SKILL.md 并执行开发者角色:

  • 开始任务跟踪:node .agent/skills/buddy/scripts/state.js begin-task --task task-1
  • 按照偏差规则实施(自动修复错误、缺失功能和阻塞问题)
  • 报告采取的偏差处理措施
node .agent/skills/buddy/scripts/state.js update --step developer --status done --output '<files changed json>'
node .agent/skills/buddy/scripts/progress.js show
步骤 6b — 验证任务(新增)

阅读 agents/verifier/SKILL.md 并执行验证器角色:

  • 执行目标反推验证:是否存在、是否实质有效、是否已连通
  • 检查存根检测和反模式
  • 根据验收标准进行验证
node .agent/skills/buddy/scripts/state.js update --step verifier --status done --output '<verification json>'
node .agent/skills/buddy/scripts/state.js update --step verifier --output '{...}'  # Update verification status
node .agent/skills/buddy/scripts/progress.js show

循环 2:修复任务(最多 2 次)

  • 如果验证失败:返回步骤 6a(开发者),并提供问题
  • 如适用则自动修复(规则 1–3);如果涉及规则 4(架构问题),则询问用户
步骤 6c — 原子提交(新增)

阅读 agents/git-agent/SKILL.md 并执行 Git Agent 原子提交角色:

  • 仅暂存此任务涉及的文件(绝不运行 git add .)
  • 使用语义化类型提交
  • 记录提交哈希
node .agent/skills/buddy/scripts/state.js update --step task-commit --status done --output '<commit json>'
node .agent/skills/buddy/scripts/progress.js show

标记任务完成:

node .agent/skills/buddy/scripts/state.js complete-task --task task-1 --commit abc1234 --verified true --score 8
步骤 6d — 评审任务

阅读 agents/reviewer/SKILL.md,并针对代码执行评审员角色:

  • 执行多维度评审
  • 打分(1–10 分)
node .agent/skills/buddy/scripts/state.js update --step code-reviewer --status done --output '<review json>'
node .agent/skills/buddy/scripts/progress.js show

循环 3:修订代码(最多 2 次)

  • 如果分数 < 7:返回步骤 6a(开发者),并提供反馈
  • 保留上一次提交,修复后创建新提交
阶段 3:集成与收尾
步骤 7 — 集成检查(新增)

阅读 agents/integration-checker/SKILL.md 并执行集成检查器角色:

  • 验证跨组件连接(导出/导入、API 覆盖情况)
  • 检查端到端流程
  • 验证身份验证保护
node .agent/skills/buddy/scripts/state.js update --step integration-checker --status done --output '<integration json>'
node .agent/skills/buddy/scripts/state.js update-verification --type integration --status passed
node .agent/skills/buddy/scripts/progress.js show

循环 4:差距修复(最多 2 次迭代)

  • 如果发现差距:创建有针对性的修复任务
  • 返回阶段 2,仅进行特定修复
步骤 8 — 测试

阅读 agents/tester/SKILL.md 并执行测试人员角色:

  • 对 UI/前端/全栈更改,使用 Playwright MCP 运行浏览器验证(不能只运行单元/集成 CLI 测试)。
node .agent/skills/buddy/scripts/state.js update --step tester --status done --output '<test results json>'
node .agent/skills/buddy/scripts/progress.js show
步骤 9 — Lint 和自动修复

阅读 agents/git-agent/SKILL.md 并执行 Git Agent 的 lint 角色:

node .agent/skills/buddy/scripts/state.js update --step lint-and-fix --status done --output '<lint results json>'
node .agent/skills/buddy/scripts/progress.js show
步骤 10 — 创建 PR

阅读 agents/git-agent/SKILL.md 并执行 Git Agent 的 create-pr 角色:

  • 推送所有提交(已按任务要求提交)
  • 创建内容详尽的 PR 正文(包括提交、验证结果和偏差)
node .agent/skills/buddy/scripts/state.js update --step git-agent --status done --output '<pr json>'
步骤 11 — 将 Linear 工单更新为已完成

如果本次运行关联了 Linear 工单(存在 linear_issue_id),请在结束本次运行前使用 Linear MCP 将该工单状态更新为 已完成。

示例:

  • mcp__linear__save_issue,参数如下:
    • id: <ISSUE-ID>
    • state: "Done"

将本次运行标记为已完成:

node .agent/skills/buddy/scripts/state.js complete
node .agent/skills/buddy/scripts/progress.js show

向用户提供最终摘要:

  • ✅ 已完成的任务
  • 🔢 创建的提交
  • 📁 已更改的文件
  • 🧪 测试结果
  • ✅ 验证得分(计划、代码、集成)
  • 🔀 PR 链接
  • 📋 已更新的 Linear 工单(如适用)

循环行为

增强版 Buddy 工作流包含 四种不同的迭代循环:

循环触发条件最大迭代次数目的
计划修订计划验证得分 < 73在执行前改进计划
任务修复验证发现差距2在当前任务中修复问题
代码修订代码审查得分 < 72处理审查反馈
差距修复集成检查发现差距2修复跨组件问题

总体限制:所有循环的总迭代次数最多为 10 次

如果达到最大迭代次数仍未完成,请报告部分进展,并询问用户接下来要怎么做。

恢复行为:如果重启,始终从最后一个已完成的步骤继续(检查 .buddy/state.json)

恢复

如果 .buddy/state.json 存在,且本次运行的状态不是 complete 或 failed:

node .agent/skills/buddy/scripts/state.js resume

然后从最后一个未完成的步骤继续。

子技能位置

所有 Agent 角色的子技能文件位于:

.agent/skills/buddy/agents/{role}/SKILL.md

执行相应角色前,请先阅读每个子技能文件,不要只依赖记忆。

可用子技能

角色路径用途
代码库映射器agents/codebase-mapper/SKILL.md项目文档与标准
Linear 监控器agents/linear-watcher/SKILL.md持续监控守护进程
Linear 阅读器agents/linear-reader/SKILL.md获取并列出 Linear 任务
分析器agents/analyzer/SKILL.md任务分解
提示词增强器agents/prompt-enhancer/SKILL.md构建丰富的提示词
研究员agents/researcher/SKILL.md代码库与文档研究
规划器agents/planner/SKILL.md包含 must_haves 的实施计划
计划验证器agents/plan-verifier/SKILL.md8 维计划验证
开发者agents/developer/SKILL.md遵循偏差规则的代码实现
验证器agents/verifier/SKILL.md从目标反推代码验证
审查员agents/reviewer/SKILL.md多维计划与代码审查
集成检查器agents/integration-checker/SKILL.md跨组件连接验证
测试员agents/tester/SKILL.md测试与验证
Git Agentagents/git-agent/SKILL.md分支管理、原子提交与 PR

评论

支持 Markdown