# 模块 3:从 Commands 到 Skills
Commands 解决高频输入,Skills 解决可复用交付。两者都不是“把 Prompt 存起来”这么简单,而是把团队经验变成可触发、可验收、可维护的资产。
Commands
- 固定入口 - 固定输入 - 固定输出 - 低风险、短流程
Skills
- 多步流程 - 可带模板和检查清单 - 可沉淀项目经验 - 适合交付给团队或客户
--- # Commands 适合什么?
| 判断标准 | 适合 Command 的特征 | 示例 | |---|---|---| | 问法固定 | 每次提问差异很小 | 生成 PR 说明 | | 输入固定 | 只需要 diff、日志或单个文件 | 总结当前变更 | | 输出固定 | 表格或固定段落即可 | commit message | | 风险较低 | 不直接改核心逻辑 | 生成日报 | | 不需要多步判断 | 不需要跨多个规则来决策 | 格式化说明 |
Command 的关键价值是降低重复输入成本,并让轻量任务输出稳定。
--- # Command 的坏味道
| 坏 Command | 问题 | 更好的方向 | |---|---|---| | `/检查代码` | 范围太大,输出不可控 | `/代码生成Review` | | `/优化一下` | 没有目标和验收标准 | `/按性能规则检查列表页` | | `/生成文档` | 不知道文档对象和读者 | `/生成PR说明` | | `/帮我看看` | 没有输入边界 | 改成带输入材料的 Skill |
--- # Skills 的两个升级
按需加载
Agent 先看 Skill 描述,任务相关时再读取完整说明。
携带资源
Skill 可以带模板、Prompt、检查清单、反例和脚本。
Skill 不是单个 Markdown,而是一组能被复制、安装和维护的工作流资产。
--- # 什么值得做成 Skill?
| 判断问题 | 是,就更适合 Skill | |---|---| | 是否需要多步判断? | 权限、状态、审计、异常态、看板需要串起来 | | 是否需要项目证据? | 需要读源码、配置、规则和验收记录 | | 是否需要多个输出? | 矩阵、清单、Review 报告、修复记录 | | 是否需要资产复用? | 客户或团队下次还会做类似任务 | | 是否有质量门槛? | 必须能验收,不只是生成文字 |
--- # Skill 交付结构
```text skill-name/ ├── SKILL.md ├── agents/ │ └── openai.yaml └── assets/ ├── templates/ ├── checklists/ ├── prompts/ └── examples/ ```
给客户交付 Skill 时,交付的是完整文件夹,不是单个 `.md`。
--- # Skill 的三种交付形态
知识型
- 项目约束 - 编码规范 - 业务口径
流程型
- 复杂业务设计 - 阶段 Review - 修复闭环
工具型
- 脚本 - CLI - 测试和报告
--- # MCP 与 CLI 思维
| 接入方式 | 适合场景 | 选择依据 | |---|---|---| | Command | 固定话术、固定格式 | 降低重复输入 | | CLI | 命令稳定、脚本成熟 | 优先轻量封装 | | MCP | 交互式工具、结构化能力描述 | 适合平台化接入 | | Skill | 需要流程、模板、检查清单和示例 | 适合团队复用 |
--- # 能力封装决策表
| 需求 | 推荐封装 | 理由 | |---|---|---| | 每天生成日报 | Command | 固定话术、固定格式 | | 项目约束生成 | Skill | 需要扫描源码、配置、规则并输出验收清单 | | 复杂业务模块设计 | Skill | 权限、状态、审计、看板需要串联判断 | | 内部平台查询 | CLI 或 MCP | 取决于现有接口形态 | | 代码审查报告 | Skill | 需要规则、模板、反例和风险分级 |