using-agent-skills

原文🇺🇸 英文
已翻译

用于发现和调用Agent技能,在会话启动或你需要确定哪些技能适配当前任务时使用。这是管理所有其他技能的发现与调用逻辑的元技能。

554次下载
添加于

NPX安装

npx skill4agent add addyosmani/agent-skills using-agent-skills

标签

翻译版元数据已加入标签,便于Agent理解和查找

SKILL.md 内容(中文)

查看翻译对照 →

使用Agent技能

概述

Agent技能是按开发阶段组织的工程工作流技能集合,每一项技能都封装了资深工程师遵循的特定流程。该元技能可以帮助你发现并应用适配当前任务的正确技能。

技能发现

当接收到任务时,先确定所属开发阶段,再应用对应的技能:
Task arrives
    ├── Vague idea/need refinement? ──→ idea-refine
    ├── New project/feature/change? ──→ spec-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
    ├── Writing/running tests? ────────→ test-driven-development
    │   └── Browser-based? ───────────→ browser-testing-with-devtools
    ├── Something broke? ──────────────→ debugging-and-error-recovery
    ├── Reviewing code? ───────────────→ code-review-and-quality
    │   ├── Security concerns? ───────→ security-and-hardening
    │   └── Performance concerns? ────→ performance-optimization
    ├── Committing/branching? ─────────→ git-workflow-and-versioning
    ├── CI/CD pipeline work? ──────────→ ci-cd-and-automation
    ├── Writing docs/ADRs? ───────────→ documentation-and-adrs
    └── Deploying/launching? ─────────→ shipping-and-launch

核心执行准则

这些准则适用于所有技能的全流程,必须严格遵守。

1. 明确列出假设

在实现任何非 trivial 内容前,清晰说明你做出的假设:
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. 校验而非假设

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

需要避免的失败模式

这些隐蔽的错误看起来像在高效产出,实则会带来问题:
  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
    shipping-and-launch
  4. 存疑时从规格说明开始,如果任务不简单且没有规格说明,从
    spec-driven-development
    技能开始。

生命周期顺序

对于完整的功能,典型的技能执行顺序是:
1. idea-refine                 → Refine vague ideas
2. spec-driven-development     → Define what we're building
3. planning-and-task-breakdown → Break into verifiable chunks
4. context-engineering         → Load the right context
5. incremental-implementation  → Build slice by slice
6. test-driven-development     → Prove each slice works
7. code-review-and-quality     → Review before merge
8. git-workflow-and-versioning → Clean commit history
9. documentation-and-adrs      → Document decisions
10. shipping-and-launch        → Deploy safely
不是所有任务都需要用到所有技能,比如修复bug可能只需要:
debugging-and-error-recovery
test-driven-development
code-review-and-quality

快速参考

阶段技能一句话简介
定义idea-refine通过结构化的发散和收敛思维梳理想法
定义spec-driven-development先写需求和验收标准再写代码
规划planning-and-task-breakdown拆解为小型的、可校验的任务
开发incremental-implementation实现细粒度的垂直切片,每片校验通过后再扩展
开发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带质量门禁的五维度评审
评审security-and-hardeningOWASP风险防护、输入校验、最小权限原则
评审performance-optimization先度量,只优化真正有影响的部分
发布git-workflow-and-versioning原子提交、清晰的提交历史
发布ci-cd-and-automation每次变更都触发自动化质量门禁
发布documentation-and-adrs记录决策的原因,而不仅仅是内容
发布shipping-and-launch发布前检查清单、监控、回滚方案