# 模块 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
- 修复闭环
---
# MCP 与 CLI 思维
| 接入方式 | 适合场景 | 选择依据 |
|---|---|---|
| Command | 固定话术、固定格式 | 降低重复输入 |
| CLI | 命令稳定、脚本成熟 | 优先轻量封装 |
| MCP | 交互式工具、结构化能力描述 | 适合平台化接入 |
| Skill | 需要流程、模板、检查清单和示例 | 适合团队复用 |
---
# 能力封装决策表
| 需求 | 推荐封装 | 理由 |
|---|---|---|
| 每天生成日报 | Command | 固定话术、固定格式 |
| 项目约束生成 | Skill | 需要扫描源码、配置、规则并输出验收清单 |
| 复杂业务模块设计 | Skill | 权限、状态、审计、看板需要串联判断 |
| 内部平台查询 | CLI 或 MCP | 取决于现有接口形态 |
| 代码审查报告 | Skill | 需要规则、模板、反例和风险分级 |