关于 using-agent-skills
面向工程 Agent 的元技能,按开发阶段为任务匹配工作流技能,并强调说明假设、控制范围和验证变更。适用于需要在开发生命周期中选择并遵循流程的 Agent。
主要功能
- 01按开发阶段匹配技能
- 02要求说明假设并处理歧义
- 03强调范围控制与简化
- 04要求验证并满足完成标准
- 05支持贯穿生命周期的技能序列
适用场景
- 01为新任务选择工作流
- 02规划并实现新功能
- 03编码前澄清不明确需求
- 04验证并审查代码变更
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ addyosmani/ agent-skills --skill using-agent-skills安装后在 Claude Code 中输入/using-agent-skills确认已加载。
详细介绍
使用 Agent Skills
概览
Agent Skills 是一组按开发阶段组织的工程工作流技能。每项技能都封装了资深工程师遵循的特定流程。这个元技能可帮助你为当前任务找到并应用合适的技能。
技能发现
收到任务后,确定开发阶段并应用相应技能:
Task arrives
│
├── Don't know what you want yet? ──────→ interview-me
├── Have a rough concept, need variants? → idea-refine
├── New project/feature/change? ──→ spec-driven-development
├── No quality bar written down? ──→ constraint-driven-development
├── Have a spec, need tasks? ──────→ planning-and-task-breakdown
├── Implementing code? ────────────→ incremental-implementation
│ ├── UI work? ─────────────────→ frontend-ui-engineering
│ ├── API work? ────────────────→ api-and-interface-design
│ ├── Need better context? ─────→ context-engineering
│ ├── Need doc-verified code? ───→ source-driven-development
│ └── Stakes high / unfamiliar code? ──→ doubt-driven-development
├── Writing/running tests? ────────→ test-driven-development
│ └── Browser-based? ───────────→ browser-testing-with-devtools
├── Something broke? ──────────────→ debugging-and-error-recovery
├── Reviewing code? ───────────────→ code-review-and-quality
│ ├── Too complex? ─────────────→ code-simplification
│ ├── Security concerns? ───────→ security-and-hardening
│ └── Performance concerns? ────→ performance-optimization
├── Committing/branching? ─────────→ git-workflow-and-versioning
├── CI/CD pipeline work? ──────────→ ci-cd-and-automation
├── Deprecating/migrating? ────────→ deprecation-and-migration
├── Writing docs/ADRs? ───────────→ documentation-and-adrs
├── Adding logs/metrics/alerts? ───→ observability-and-instrumentation
└── Deploying/launching? ─────────→ shipping-and-launch
核心行为准则
这些准则始终适用,涵盖所有技能,不容妥协。
1. 明确说明假设
在实施任何非简单事项之前,明确说明你的假设:
ASSUMPTIONS I'M MAKING:
1. [assumption about requirements]
2. [assumption about architecture]
3. [assumption about scope]
→ Correct me now or I'll proceed with these.
不要默默补全含糊不清的需求。最常见的失败原因,就是在未经核实的情况下作出错误假设并据此行事。尽早说明不确定之处——这比返工成本低。
2. 主动处理困惑
遇到前后不一致、要求相互冲突或规格不明确的情况时:
- 停下。 不要猜测后继续。
- 指出具体的困惑之处。
- 说明取舍,或提出澄清问题。
- 等待问题解决后再继续。
错误做法: 默默选择一种解释,并希望它是正确的。 正确做法: “我在规格中看到 X,但现有代码中是 Y。应该以哪一个为准?”
3. 必要时提出异议
不要一味附和。当某种做法存在明显问题时:
- 直接指出问题
- 说明具体的负面影响(尽可能量化,例如“这会增加约 200ms 的延迟”,而不是“可能会变慢”)
- 提出替代方案
- 如果人类在充分了解情况后仍决定采用原方案,就接受其决定
阿谀附和是一种失败模式。先说“当然!”,再去实现一个糟糕的想法,对谁都没有帮助。坦诚的技术异议比虚假的赞同更有价值。
4. 保持简单
你很容易把事情复杂化。要主动避免这一点。
完成任何实现之前,先问自己:
- 能否用更少的代码实现?
- 这些抽象是否值得它们带来的复杂性?
- 资深工程师看到这段代码,会不会说“为什么不直接……?”
如果你写了 1000 行,而 100 行就足够,那就是失败。优先选择平实、直观的方案。耍巧思是有代价的。
5. 严守范围
只修改要求你修改的内容。
不要:
- 删除你不理解的注释
- 顺手“清理”与任务无关的代码
- 连带重构相邻系统
- 未经明确批准就删除看似未使用的代码
- 因为“似乎有用”而添加规格中没有的功能
你的工作应当精准克制,而不是擅自改造。
6. 验证,而非假设
每项技能都包含验证步骤。只有验证通过,任务才算完成。“看起来没问题”远远不够——必须有证据(测试通过、构建输出、运行时数据)。
每项技能的验证是局部检查。适用于每次变更、无论启用哪项技能的项目级标准,是完成定义:测试通过、没有回归、运行时行为已验证、文档已更新。参见 ../../references/definition-of-done.md。它补充各任务的验收标准,而非取代它们。
应避免的失败模式
以下细微错误看似提高了效率,实际上会造成问题:
- 未经核实就作出错误假设
- 没有处理自身的困惑——一头雾水时仍一意孤行
- 没有指出发现的不一致之处
- 对不明显的决策没有说明取舍
- 对存在明显问题的方案阿谀附和(“当然!”)
- 让代码和 API 过于复杂
- 修改与任务无关的代码或注释
- 删除自己没有充分理解的内容
- 因为“显而易见”而在没有规格的情况下构建
- 因为“看起来没问题”而跳过验证
技能规则
-
开始工作前,检查是否有适用的技能。 技能中包含可避免常见错误的流程。
-
技能是工作流,而非建议。 请按顺序执行各步骤。不要跳过验证步骤。
-
可能有多项技能适用。 功能实现可能依次涉及
idea-refine→spec-driven-development→planning-and-task-breakdown→incremental-implementation→test-driven-development→code-review-and-quality→code-simplification→shipping-and-launch。 -
有疑问时,先从规范入手。 如果任务并非简单任务,且没有规范,请从
spec-driven-development开始。
生命周期顺序
完整功能的典型技能顺序如下:
1. interview-me → Extract what the user actually wants
2. idea-refine → Refine vague ideas
3. spec-driven-development → Define what we're building
4. planning-and-task-breakdown → Break into verifiable chunks
5. context-engineering → Load the right context
6. source-driven-development → Verify against official docs
7. incremental-implementation → Build slice by slice
8. observability-and-instrumentation → Instrument as you build (runs parallel with 7-9, not after)
9. doubt-driven-development → Cross-examine non-trivial decisions in-flight
10. test-driven-development → Prove each slice works
11. code-review-and-quality → Review before merge
12. code-simplification → Reduce unnecessary complexity while preserving behavior
13. git-workflow-and-versioning → Clean commit history
14. documentation-and-adrs → Document decisions
15. deprecation-and-migration → Retire old systems and move users safely when needed
16. shipping-and-launch → Deploy safely
并非每项任务都需要用到所有技能。修复 Bug 可能只需:debugging-and-error-recovery → test-driven-development → code-review-and-quality。
快速参考
| 阶段 | 技能 | 一句话摘要 |
|---|---|---|
| 定义 | interview-me | 在制定任何计划、规范或编写代码之前,弄清楚用户的真实需求 |
| 定义 | idea-refine | 通过结构化的发散与收敛思考来完善想法 |
| 定义 | spec-driven-development | 编码前先明确需求和验收标准 |
| 规划 | planning-and-task-breakdown | 将任务拆解成小而可验证的步骤 |
| 构建 | incremental-implementation | 逐步实现垂直切片,每次扩展前都进行测试 |
| 构建 | source-driven-development | 实现前对照官方文档进行核实 |
| 构建 | doubt-driven-development | 在全新上下文中对每项重要决策进行对抗式审查 |
| 构建 | context-engineering | 在恰当时机提供恰当上下文 |
| 构建 | frontend-ui-engineering | 打造具备无障碍支持的生产级 UI |
| 构建 | api-and-interface-design | 设计稳定且契约清晰的接口 |
| 验证 | test-driven-development | 先编写失败的测试,再让测试通过 |
| 验证 | browser-testing-with-devtools | 使用 Chrome DevTools MCP 进行运行时验证 |
| 验证 | debugging-and-error-recovery | 复现 → 定位 → 修复 → 防护 |
| 审查 | code-review-and-quality | 通过五个维度进行审查,并设置质量关卡 |
| 审查 | code-simplification | 在保持行为不变的前提下,减少不必要的复杂性 |
| 审查 | security-and-hardening | OWASP 防护、输入验证、最小权限 |
| 审查 | performance-optimization | 先衡量,再只优化重要之处 |
| 发布 | git-workflow-and-versioning | 原子化提交,保持历史记录整洁 |
| 发布 | ci-cd-and-automation | 对每项变更运行自动化质量检查 |
| 发布 | deprecation-and-migration | 移除旧系统,并安全地迁移用户 |
| 发布 | documentation-and-adrs | 记录原因,而不只是内容 |
| 发布 | observability-and-instrumentation | 结构化日志、RED 指标、跟踪、基于症状的告警 |
| 发布 | shipping-and-launch | 发布前检查清单、监控、回滚计划 |