mcpField
U
using-agent-skills

using-agent-skills

github.com/addyosmaniAgent 工作流111.5k60.9k 次安装2 周前更新
代码仓库

关于 using-agent-skills

面向工程 Agent 的元技能,按开发阶段为任务匹配工作流技能,并强调说明假设、控制范围和验证变更。适用于需要在开发生命周期中选择并遵循流程的 Agent。

主要功能

  1. 01按开发阶段匹配技能
  2. 02要求说明假设并处理歧义
  3. 03强调范围控制与简化
  4. 04要求验证并满足完成标准
  5. 05支持贯穿生命周期的技能序列

适用场景

  1. 01为新任务选择工作流
  2. 02规划并实现新功能
  3. 03编码前澄清不明确需求
  4. 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. 主动处理困惑

遇到前后不一致、要求相互冲突或规格不明确的情况时:

  1. 停下。 不要猜测后继续。
  2. 指出具体的困惑之处。
  3. 说明取舍,或提出澄清问题。
  4. 等待问题解决后再继续。

错误做法: 默默选择一种解释,并希望它是正确的。 正确做法: “我在规格中看到 X,但现有代码中是 Y。应该以哪一个为准?”

3. 必要时提出异议

不要一味附和。当某种做法存在明显问题时:

  • 直接指出问题
  • 说明具体的负面影响(尽可能量化,例如“这会增加约 200ms 的延迟”,而不是“可能会变慢”)
  • 提出替代方案
  • 如果人类在充分了解情况后仍决定采用原方案,就接受其决定

阿谀附和是一种失败模式。先说“当然!”,再去实现一个糟糕的想法,对谁都没有帮助。坦诚的技术异议比虚假的赞同更有价值。

4. 保持简单

你很容易把事情复杂化。要主动避免这一点。

完成任何实现之前,先问自己:

  • 能否用更少的代码实现?
  • 这些抽象是否值得它们带来的复杂性?
  • 资深工程师看到这段代码,会不会说“为什么不直接……?”

如果你写了 1000 行,而 100 行就足够,那就是失败。优先选择平实、直观的方案。耍巧思是有代价的。

5. 严守范围

只修改要求你修改的内容。

不要:

  • 删除你不理解的注释
  • 顺手“清理”与任务无关的代码
  • 连带重构相邻系统
  • 未经明确批准就删除看似未使用的代码
  • 因为“似乎有用”而添加规格中没有的功能

你的工作应当精准克制,而不是擅自改造。

6. 验证,而非假设

每项技能都包含验证步骤。只有验证通过,任务才算完成。“看起来没问题”远远不够——必须有证据(测试通过、构建输出、运行时数据)。

每项技能的验证是局部检查。适用于每次变更、无论启用哪项技能的项目级标准,是完成定义:测试通过、没有回归、运行时行为已验证、文档已更新。参见 ../../references/definition-of-done.md。它补充各任务的验收标准,而非取代它们。

应避免的失败模式

以下细微错误看似提高了效率,实际上会造成问题:

  1. 未经核实就作出错误假设
  2. 没有处理自身的困惑——一头雾水时仍一意孤行
  3. 没有指出发现的不一致之处
  4. 对不明显的决策没有说明取舍
  5. 对存在明显问题的方案阿谀附和(“当然!”)
  6. 让代码和 API 过于复杂
  7. 修改与任务无关的代码或注释
  8. 删除自己没有充分理解的内容
  9. 因为“显而易见”而在没有规格的情况下构建
  10. 因为“看起来没问题”而跳过验证

技能规则

  1. 开始工作前,检查是否有适用的技能。 技能中包含可避免常见错误的流程。

  2. 技能是工作流,而非建议。 请按顺序执行各步骤。不要跳过验证步骤。

  3. 可能有多项技能适用。 功能实现可能依次涉及 idea-refine → spec-driven-development → planning-and-task-breakdown → incremental-implementation → test-driven-development → code-review-and-quality → code-simplification → shipping-and-launch。

  4. 有疑问时,先从规范入手。 如果任务并非简单任务,且没有规范,请从 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-hardeningOWASP 防护、输入验证、最小权限
审查performance-optimization先衡量,再只优化重要之处
发布git-workflow-and-versioning原子化提交,保持历史记录整洁
发布ci-cd-and-automation对每项变更运行自动化质量检查
发布deprecation-and-migration移除旧系统,并安全地迁移用户
发布documentation-and-adrs记录原因,而不只是内容
发布observability-and-instrumentation结构化日志、RED 指标、跟踪、基于症状的告警
发布shipping-and-launch发布前检查清单、监控、回滚计划

评论

支持 Markdown