为什么需要拆解 Skill
一个好用的 Skill,不只写着“做什么”,还记录了作者如何定义完成、安排步骤、分配工作和控制风险。
deconstruct-skill 不复述原文,也不评价它“好不好”,而是把这些隐藏在文件和规则里的设计判断整理出来。你可以用它理解别人的 Skill,也可以拿分析结果改进自己的 Skill。
适合这些场景:
- 学习一个复杂 Skill 为什么这样设计;
- 修改 Skill 前,先弄清步骤之间的依赖关系;
- 比较不同 Skill 的工作流程和风险控制;
- 把一次性的分析经验整理成可以复用的做法。
六步拆解法
flowchart LR
A["1. 看交付<br/>最后要得到什么"] --> B["2. 看动作<br/>具体做了什么"]
B --> C["3. 看顺序<br/>为什么这样安排"]
C --> D["4. 看分工<br/>谁负责什么"]
D --> E["5. 看约束<br/>规则在防什么"]
E --> F["6. 看原则<br/>哪些做法能复用"]
| 步骤 | 核心问题 | 报告中的结果 |
|---|---|---|
| 看交付 | 它把什么输入变成什么结果? | 交付物与完成条件 |
| 看动作 | 它读取、判断、生成和检查了什么? | 可观察的动作链 |
| 看顺序 | 为什么必须先做这一步? | 步骤之间的因果关系 |
| 看分工 | 用户、AI、脚本和外部工具各做什么? | 责任与验收方式 |
| 看约束 | 每条强制规则在避免什么问题? | 风险与对应规则 |
| 看原则 | 去掉具体工具后,哪些做法还能复用? | 带条件和理由的做法 |
Skill 如何实现
输入可以是本地 Skill 文件夹、主 SKILL.md 文件或公开仓库链接。分析时会先读取主文件,再按需查看它直接引用的 references/、scripts/ 和其他关键资源。
整个过程分为四段:
- 确认分析对象和文件边界;
- 按六步法提取交付、动作、顺序、分工、约束和可复用做法;
- 将结论整理成固定六节的精简报告,不大段引用原文;
- 使用确定性脚本检查标题、章节、篇幅和输出路径,再保存为 Markdown 文件。
最终报告固定包含:
- 这个 Skill 最后要交付什么
- 它具体做了哪些事情
- 为什么要按这个顺序做
- 用户、AI、脚本和外部工具各负责什么
- 这些规则是在避免什么问题
- 哪些做法可以用到其他任务中
仓库中的实现分工如下:
| 想修改的内容 | 对应文件 |
|---|---|
| 触发条件与总体工作流 | SKILL.md |
| 六步方法和报告结构 | references/six-step-method.md |
| 标题、篇幅、章节与输出校验 | scripts/render_report.py |
| 防止修改破坏既有行为 | tests/test_render_report.py |
| Codex 中显示的名称与默认提示 | agents/openai.yaml |
输出示例
下面的节选来自对 wechat-article-publisher-skill 的静态分析。示例仅用于展示报告的表达方式,原项目内容归原作者所有。
这个 Skill 最后要交付什么
它把用户的逐字稿、口述草稿或已成形观点,转换成一篇保留本人风格且经过事实与反证检查的微信公众号文章,最终在用户明确确认后生成视觉素材、完成排版并创建到公众号草稿箱。
它具体做了哪些事情
隔离用户原话 → 建立写作卡 → 确认大纲 → 写内部初稿 → 反证优先研究 → 审核增强稿 → 确认完稿 → 生图、排版并创建草稿 → 保存记录。
可以复用的做法
当产物成本高或会改变外部状态时,把“方向确认”和“执行授权”设为两道独立门槛,避免将局部反馈误当成整体通过;前提是通过条件和停止点已经定义清楚。
安装与使用
核心能力使用 Agent Skills 常见的目录结构:技能根目录包含 SKILL.md,详细方法和确定性工具分别放在 references/ 与 scripts/。不同 Agent 工具的安装目录和启用方式可能不同。
通用安装
- 下载或克隆本仓库;
- 把整个
deconstruct-skill目录放入你的 Agent 工具所约定的 Skills 目录; - 确认
SKILL.md位于技能根目录,然后重新加载或重启对应工具。
Codex 示例
在本仓库的上一级目录执行:
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R deconstruct-skill "${CODEX_HOME:-$HOME/.codex}/skills/deconstruct-skill"
然后可以这样提出任务:
使用 $deconstruct-skill 拆解这个 Skill:<本地路径或公开仓库链接>。
把完整报告保存到 reports/,并在对话中给我一个简短摘要。
如果你的工具不支持 $技能名 语法,直接用自然语言说明“使用 deconstruct-skill”即可。
修改与开发
建议使用一个短循环来迭代:修改规则 → 运行测试 → 用真实 Skill 验证输出。
运行现有测试:
python3 -m unittest discover -s tests -v
单独检查一份已经写好的分析正文:
python3 scripts/render_report.py \
--analysis /path/to/analysis.md \
--title "目标 Skill 拆解报告" \
--output reports/target-skill-report.md
常见修改入口:
- 想改变拆解方法:修改
references/six-step-method.md; - 想改变执行流程或触发条件:修改
SKILL.md; - 想改变报告长度、标题或校验规则:修改
scripts/render_report.py,并同步补充测试; - 想改变 Codex 中的展示文字:修改
agents/openai.yaml。
项目结构
deconstruct-skill/
├── SKILL.md
├── agents/
│ └── openai.yaml
├── references/
│ └── six-step-method.md
├── scripts/
│ └── render_report.py
├── tests/
│ └── test_render_report.py
├── examples/
│ └── wechat-article-publisher-report.md
├── README.md
└── LICENSE
参与贡献
欢迎通过 Issue 提交新的拆解场景、表达问题或兼容性反馈,也欢迎通过 Pull Request 改进方法、脚本、测试和示例。修改后请先运行测试,并说明你用什么真实 Skill 验证过结果。
许可证
本项目使用 MIT License。
No comments yet
Be the first to share your take.