using-agent-skills

using-agent-skills

热门

发现并调用智能体技能。在开始会话或需要发现当前任务适用的技能时使用。这是管理所有其他技能如何被发现和调用的元技能。

7.7万Star
0Fork
更新于 2026/7/3
SKILL.md
readonly只读
name
using-agent-skills
description

发现并调用智能体技能。在开始会话或需要发现当前任务适用的技能时使用。这是管理所有其他技能如何被发现和调用的元技能。

使用智能体技能

概述

智能体技能是一组按开发阶段组织的工程工作流技能。每个技能都编码了高级工程师遵循的特定流程。此元技能帮助您发现并应用适合当前任务的技能。

技能发现

当任务到达时,识别开发阶段并应用相应的技能:

任务到达
    │
    ├── 还不知道想要什么? ──────────→ interview-me
    ├── 有粗略概念,需要变体? ──────→ idea-refine
    ├── 新项目/功能/变更? ──────→ spec-driven-development
    ├── 有规格说明,需要任务? ──────→ planning-and-task-breakdown
    ├── 实现代码? ────────────────→ incremental-implementation
    │   ├── UI 工作? ─────────────→ frontend-ui-engineering
    │   ├── API 工作? ────────────→ api-and-interface-design
    │   ├── 需要更好的上下文? ─────→ context-engineering
    │   ├── 需要文档验证的代码? ───→ source-driven-development
    │   └── 高风险/不熟悉的代码? ──→ doubt-driven-development
    ├── 编写/运行测试? ────────────→ test-driven-development
    │   └── 基于浏览器? ───────────→ browser-testing-with-devtools
    ├── 出问题了? ────────────────→ debugging-and-error-recovery
    ├── 审查代码? ─────────────────→ code-review-and-quality
    │   ├── 太复杂? ──────────────→ code-simplification
    │   ├── 安全问题? ────────────→ security-and-hardening
    │   └── 性能问题? ────────────→ performance-optimization
    ├── 提交/分支? ────────────────→ git-workflow-and-versioning
    ├── CI/CD 流水线工作? ──────────→ ci-cd-and-automation
    ├── 弃用/迁移? ────────────────→ deprecation-and-migration
    ├── 编写文档/ADR? ────────────→ documentation-and-adrs
    ├── 添加日志/指标/告警? ───────→ observability-and-instrumentation
    └── 部署/发布? ───────────────→ shipping-and-launch

核心操作行为

这些行为始终适用,贯穿所有技能。它们是强制性的。

1. 表面假设

在实现任何非平凡内容之前,明确陈述你的假设:

我正在做的假设:
1. [关于需求的假设]
2. [关于架构的假设]
3. [关于范围的假设]
→ 现在纠正我,否则我将按这些假设继续。

不要默默填补模糊的需求。最常见的失败模式是做出错误的假设并未经检查地执行。尽早暴露不确定性——这比重做成本更低。

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-refinespec-driven-developmentplanning-and-task-breakdownincremental-implementationtest-driven-developmentcode-review-and-qualitycode-simplificationshipping-and-launch

  4. 如有疑问,从规格开始。 如果任务非平凡且没有规格,从 spec-driven-development 开始。

生命周期顺序

对于一个完整功能,典型的技能顺序是:

1.  interview-me                → 提取用户真正想要的内容
2.  idea-refine                 → 细化模糊的想法
3.  spec-driven-development     → 定义我们要构建什么
4.  planning-and-task-breakdown → 分解为可验证的块
5.  context-engineering         → 加载正确的上下文
6.  source-driven-development   → 根据官方文档验证
7.  incremental-implementation  → 逐片构建
8.  observability-and-instrumentation → 在构建时进行仪表化(与7-9并行运行,而非之后)
9.  doubt-driven-development    → 对非平凡决策进行实时交叉审查
10. test-driven-development     → 证明每个片正常工作
11. code-review-and-quality     → 合并前审查
12. code-simplification         → 在保持行为的同时减少不必要的复杂性
13. git-workflow-and-versioning → 清晰的提交历史
14. documentation-and-adrs      → 记录决策
15. deprecation-and-migration   → 在需要时安全地淘汰旧系统并迁移用户
16. shipping-and-launch         → 安全部署

并非每个任务都需要所有技能。一个 bug 修复可能只需要:debugging-and-error-recoverytest-driven-developmentcode-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 发布前检查清单、监控、回滚计划