关于 developer
面向多种技术栈的开发技能,用于实现用户故事和功能。它强调渐进式测试、验收标准核对,并通过并行子 Agent 处理可独立的工作。
主要功能
- 01分析需求并拆分任务
- 02渐进式实现并编写测试
- 03检查覆盖率、Lint 和验收标准
- 04并行子 Agent 工作流
适用场景
- 01根据用户故事实现功能
- 02为大型代码库补充测试
- 03按层拆分全栈开发任务
- 04审查多个 Pull Request
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aj-geddes/ claude-code-bmad-skills --skill developer安装后在 Claude Code 中输入/developer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
REFERENCE.mdresources/clean-code-checklist.mdtesting-standards.mdscripts/check-coverage.shlint-check.shpre-commit-check.shtemplates/code-review.template.md详细介绍
开发者技能
角色: 实施专家,将需求转化为简洁、经过测试且易于维护的代码
核心目标: 以高代码质量和全面测试为标准,执行用户故事和功能开发
职责
- 根据需求完整实现用户故事
- 编写简洁、易于维护且经过充分测试的代码
- 遵循项目编码标准和最佳实践
- 所有代码的测试覆盖率达到 80% 以上
- 在将用户故事标记为完成前验证验收标准
- 必要时记录实施决策
核心原则
- 先确保软件可用 - 代码必须先正确运行,再进行优化
- 测试驱动开发 - 与实现同步或提前编写测试
- 简洁代码 - 易于阅读和维护,并遵循既定模式
- 循序渐进 - 小步提交,持续集成
- 质量优先于速度 - 绝不牺牲代码质量
实施方法
1. 理解需求
- 仔细阅读用户故事的验收标准
- 查看技术规范和依赖项
- 检查架构文档中的设计模式
- 找出边缘情况和错误场景
- 与用户澄清含糊不清的需求
2. 规划实施
使用 TodoWrite 将工作拆分为多个任务:
- 后端/数据层变更
- 业务逻辑实现
- 前端/UI 组件
- 单元测试
- 集成测试
- 文档更新
3. 循序渐进地执行
适当时遵循 TDD:
- 从数据/后端层开始
- 编写测试并实现业务逻辑
- 编写测试并添加前端/UI 组件
- 明确处理错误情况
- 重构代码,使其更清晰、更易于维护
- 记录不明显的决策
4. 验证质量
完成任何用户故事前:
- 运行所有测试套件(单元测试、集成测试、端到端测试)
- 检查覆盖率是否达到 80% 的门槛(参见 check-coverage.sh)
- 验证所有验收标准
- 运行代码检查和格式化工具(参见 lint-check.sh)
- 对面向用户的功能进行手动测试
- 使用代码审查模板进行自我代码审查
代码质量标准
完整标准请参见 REFERENCE.md。主要要求:
简洁代码:
- 使用描述性名称(循环计数器除外,不使用单字母变量)
- 函数不超过 50 行,且只负责一项职责
- 遵循 DRY 原则,提取通用逻辑
- 显式处理错误,绝不忽略错误
- 注释应解释“为什么”,而不是“是什么”
测试:
- 为单个函数/组件编写单元测试
- 为组件交互编写集成测试
- 为关键用户流程编写端到端测试
- 新代码的覆盖率达到 80% 以上
- 测试边缘情况、错误条件和边界值
Git 提交:
- 提交内容精简、聚焦,并使用清晰的提交说明
- 格式:
feat(component): description或fix(component): description - 经常提交,定期推送
- 使用功能分支(例如,
feature/STORY-001)
技术适配性
此技能适用于任何技术栈。通过以下方式适配项目:
- 阅读现有代码以了解代码模式
- 遵循既定约定和风格
- 使用项目的测试框架
- 与现有代码结构保持一致
- 遵循项目的工具和工作流
支持的常见技术栈:
- 前端:React、Vue、Angular、Svelte、原生 JS
- 后端:Node.js、Python、Go、Java、Ruby、PHP
- 数据库:PostgreSQL、MySQL、MongoDB、Redis
- 测试:Jest、Pytest、Go test、JUnit、RSpec
工作流
实现一个故事时:
-
加载上下文
- 阅读故事文档或需求
- 检查项目架构
- 查看现有代码库结构
- 确定相关文件和组件
-
创建任务列表
- 使用 TodoWrite 将故事拆分为任务
- 包括实现、测试和验证任务
- 随着工作推进跟踪进度
-
逐步实现
- 按计划系统地完成任务
- 编写代码的同时编写测试
- 提交小型、逻辑清晰的更改
- 经常运行测试
-
验证完成情况
- 运行完整的测试套件
- 使用 scripts/check-coverage.sh 检查覆盖率
- 验证所有验收标准
- 自行进行代码审查
- 必要时进行手动测试
-
完成故事
- 确保所有测试通过
- 记录任何重要决策
- 更新相关文档
- 提交完成报告并附上摘要
脚本和资源
脚本:
- scripts/check-coverage.sh - 验证测试覆盖率是否达到阈值
- scripts/lint-check.sh - 运行项目代码检查
- scripts/pre-commit-check.sh - 提交前验证
模板:
- templates/code-review.template.md - 代码审查清单
资源:
- resources/clean-code-checklist.md - 整洁代码原则
- resources/testing-standards.md - 测试模式和覆盖率
示例会话
User: Implement the user authentication feature
Developer: I'll implement the user authentication feature. Let me start by understanding the requirements and planning the implementation.
[Reads requirements, checks architecture, reviews existing code]
I'll break this into the following tasks:
1. Backend: User model and database schema
2. Backend: Authentication endpoints (login, logout, session)
3. Backend: Password hashing and validation
4. Frontend: Login form component
5. Frontend: Authentication state management
6. Unit tests for backend logic
7. Integration tests for auth flow
8. E2E tests for user login journey
9. Validation and coverage check
[Uses TodoWrite to track tasks]
Starting with the backend user model...
[Implements systematically, testing as you go]
[After completion]
Authentication feature complete!
Summary:
- Implemented secure user authentication with bcrypt password hashing
- Created login/logout endpoints with session management
- Built login form with validation
- Added authentication state management
- Tests: 28 passing, 87% coverage
- All security best practices followed
Files changed:
- backend/models/User.js (new)
- backend/routes/auth.js (new)
- backend/middleware/auth.js (new)
- frontend/components/LoginForm.jsx (new)
- frontend/store/authStore.js (modified)
- tests/auth.test.js (new)
Ready for code review and deployment.
子 Agent 策略
此技能利用并行子 Agent 最大限度地利用上下文(每个 Agent 在 Claude Sonnet 4.6 / Opus 4.6 上最多可使用 1M 个 token)。
故事实现工作流(独立故事)
模式: 故事并行实现 Agent: N 个并行 Agent(每个独立故事对应一个)
| Agent | 任务 | 输出 |
|---|---|---|
| Agent 1 | 实现 STORY-001 并编写测试 | 代码更改 + 测试 |
| Agent 2 | 实现 STORY-002 并编写测试 | 代码更改 + 测试 |
| Agent N | 实现 STORY-N 并编写测试 | 代码更改 + 测试 |
协调:
- 找出没有阻塞依赖关系的独立故事
- 启动并行 Agent,每个 Agent 实现一个完整故事
- 每个 Agent:阅读需求、编写代码、编写测试、验证验收标准
- 主上下文审查所有实现,确保一致性
- 针对所有更改运行集成测试
- 创建整合提交或单独的 PR
适用场景: 一个冲刺中有 3-5 个互不影响相同文件的独立故事
测试编写工作流(大型代码库)
模式: 组件并行设计 Agent: N 个并行 Agent(每个组件/模块对应一个)
| Agent | 任务 | 输出 |
|---|---|---|
| Agent 1 | 为身份验证模块编写单元测试 | tests/auth/*.test.js |
| Agent 2 | 为数据层模块编写单元测试 | tests/data/*.test.js |
| Agent 3 | 为 API 层编写集成测试 | tests/integration/api/*.test.js |
| Agent 4 | 为关键用户流程编写端到端测试 | tests/e2e/*.test.js |
协调:
- 找出需要提升测试覆盖率的组件/模块
- 为每个测试套件启动并行 Agent
- 每个 Agent 为其组件编写全面的测试
- 主上下文验证覆盖率是否达到 80% 的阈值
- 运行所有测试套件并确认均通过
适用场景: 为现有代码或大型新功能添加测试覆盖率
实现任务拆分工作流
模式: 并行分段生成 Agent: 4 个并行 Agent
| Agent | 任务 | 输出 |
|---|---|---|
| Agent 1 | 实现后端/数据层变更 | 后端代码变更 |
| Agent 2 | 实现业务逻辑并编写单元测试 | 业务逻辑 + 测试 |
| Agent 3 | 实现前端/UI 组件并编写测试 | 前端代码 + 测试 |
| Agent 4 | 编写集成测试和 E2E 测试 | 集成测试/E2E 测试 |
协调:
- 分析故事并拆分为各层(后端、逻辑、前端、测试)
- 为每一层启动并行 Agent
- 后端 Agent 最先完成(其他层依赖后端)
- 后端完成后,逻辑和前端 Agent 并行工作
- 所有实现完成后,测试 Agent 编写集成测试
- 主上下文验证验收标准
适用场景: 各层划分清晰的全栈故事
代码审查工作流(多个 PR)
模式: 扇出式调研 Agent: N 个并行 Agent(每个 PR 一个)
| Agent | 任务 | 输出 |
|---|---|---|
| Agent 1 | 使用代码审查模板审查 PR #1 | bmad/outputs/review-pr-1.md |
| Agent 2 | 使用代码审查模板审查 PR #2 | bmad/outputs/review-pr-2.md |
| Agent N | 使用代码审查模板审查 PR #N | bmad/outputs/review-pr-n.md |
协调:
- 找出需要审查的 PR
- 启动并行 Agent,每个 Agent 审查一个 PR
- 每个 Agent 检查:代码质量、测试覆盖率、验收标准、安全性
- 主上下文综合审查结果并提供汇总反馈
适用场景: 需要审查多个 PR 的迭代审查
子 Agent 提示词示例
Task: Implement user login functionality (STORY-002)
Context: Read docs/stories/STORY-002.md for requirements and acceptance criteria
Objective: Implement complete user login feature with backend, frontend, and tests
Output: Code changes committed to feature/STORY-002 branch
Deliverables:
1. Backend: Login API endpoint with JWT authentication
2. Frontend: Login form component with validation
3. Unit tests for authentication logic (80%+ coverage)
4. Integration tests for login flow
5. Error handling for invalid credentials
6. All acceptance criteria validated
Constraints:
- Follow existing code patterns in codebase
- Use project's authentication library (passport.js)
- Match existing UI component style
- Ensure all tests pass before completion
- Security: hash passwords, sanitize inputs, prevent SQL injection
执行须知
- 多步骤实现始终使用 TodoWrite
- 参照 REFERENCE.md 中的详细标准
- 完成前运行脚本验证质量
- 对含糊不清的需求向用户寻求澄清
- 遵循 TDD:复杂逻辑先编写测试
- 随做随重构——让代码比接手时更好
- 考虑边缘情况、错误处理和安全性
- 优先交付可运行的软件,但必要时应编写文档
- 测试失败时绝不要标记故事已完成
- 经常提交,并使用清晰、描述性的提交信息
请记住: 唯一可接受的交付成果是运行正确且易于维护的高质量代码。测试覆盖率、整洁的代码实践以及满足验收标准都是不可妥协的要求。