Files
MetaSkill/skills/le-meta-skill/SKILL.md
T
Leroy d3e9bd45bd LeMetaSkill v1.1.0:跨 runtime(ZCode/Claude Code/Codex)的 Agent Skill 创建与迭代工坊
- SKILL.md 双工作流(创建/迭代)+ 两道门(验料/通用化)+ 三档位
- 7 篇方法论 references + 3 个纯标准库脚本(scaffold/validate/trigger_eval)
- 自身触发用例 16 条 + 先例研究/创建/迭代证据报告
- 方法论吸收自 qiaomu-meta-skill 与 luban-skill,取舍见 reports/prior-art.md
2026-10-05 12:09:22 +08:00

129 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: le-meta-skill
description: |
LeMetaSkill —— Leroy 的 Skill 工坊:创建与迭代 Agent Skill,ZCode / Claude Code / Codex 等 runtime 通用。把重复工作流、提示词、SOP、脚本、对话中反复出现的方法,变成可触发、可验证、可维护的 Skill;也负责改进、重构、体检、触发测试已有 Skill。
何时触发:用户想新建/创建/起草 skill("帮我做个 skill""把这个流程沉淀成 skill""做成可复用的技能""turn this into a skill");想改进/优化/升级/重构/体检已有 skill("这个 skill 触发不灵""给我的 skill 做个体检""改进这个 skill");想为 skill 设计触发测试或结构检查;丢来一个 SKILL.md、skill 目录或想法说"帮我看看怎么弄好",只要上下文是想让Skill变得可复用,都应触发。
不要触发:与 skill 无关的普通提示词改写、一次性任务、代码 review、MCP/插件/斜杠命令配置排障。
metadata:
author: Leroy
version: "1.1.0"
runtimes: zcode, claude-code, codex
inspiration: joeseesun/qiaomu-meta-skill; LearnPrompt/luban-skill; ZCode skill-creator
---
# LeMetaSkill —— Leroy 的 Skill 工坊
把「重复出现的方法」变成「可触发、可验证、可维护的 Skill」。
判断放 `references/`,确定性检查放 `scripts/`,触发用例放 `evals/`,运行证据放 `reports/`。本文件只保留路由和最简工作流。
## 工坊总则
- **单一创建权威。** 本技能触发后,由它负责从意图、先例、蓝图、起草、验证到交付的完整流程;不要再同时调用宿主内置的 `skill-creator` 或其它 meta 技能——双重权威会导致冲突规范和重复提问。只有用户明确要求横向对比创建器、或本技能不可用时才引入其它工具,并说明职责边界。
- **写准,不写长。** 目标是 description 精准触发、正文精炼可执行。文档更长不等于技能更好;每一条规则都要为稳定性挣到自己的位置。
- **按档位比例投入。** 复用范围决定档位(见下)。只创建"挣来的"文件——每个文件必须回答它提高了哪方面的稳定性(判断力/确定性/可回归/证据),不造仪式性目录。
- **证据分级。** 交付时每个亮点标注 `[设计优势]`(源码可见的设计选择)、`[已验证]`(有触发/输出/实测证据)、`[假设]`(合理但未证明)。验证不了的写「证据缺失」,不写漂亮话补位。
- **中文优先,标识符英文。** 面向 Leroy 的说明、报告默认中文;`name`、目录、代码用英文 kebab-case。
- **先验证触发,再扩展内容。** description 是唯一的自动触发信号,先让它在真实对话里可靠触发,再扩正文——顺序反了会把房子盖在流沙上。
## 第一道门:验料——值不值得做成 Skill
动手前先回答(详见 [意图工坊](references/intent-workshop.md)):
1. **重复性**:这类任务会反复出现吗?只出现一次的,做成 skill 是浪费。
2. **稳定性**:流程和规则相对稳定吗?需要大量实时判断、没有固定流程的,保留为普通对话步骤更好。
3. **增益**:做成 skill 比每次现场对话强在哪——一致性、触发可靠、携带脚本/模板、跨会话沉淀?说不出来就先不做。
```text
验料结论:[好料 / 料可用但需调整定位 / 朽木——建议保留为对话步骤或先积累案例]
```
判定为朽木时**停手直说**,给出替代路径,不要硬做。
## 第二道门:通用化门
把单次失败或单例反馈升级为核心规则之前:
1. 先改写成领域中立的行为描述(不绑定那个具体项目/文件/那次失误);
2. 分类:核心机制、可选适配、还是仅测试用例;
3. 只有安全、事实、权限类硬边界,或**在两个不相关领域都复现过**的行为,才进 SKILL.md 正文;
4. 一次性细节放进 fixtures、示例或专项 reference。
这条门防的是过拟合:为一次翻车写的规矩,会变成以后每次的摩擦。
## 档位
| 档位 | 适用 | 必备件 | 验收门 |
|---|---|---|---|
| 轻量 draft | 个人试验、自用 | `SKILL.md` | frontmatter 合法、description 有触发词和负触发 |
| 共享 shared | 团队/跨项目复用 | + `evals/trigger_cases.json`、README 钩子 | 结构体检全绿、触发冒烟测试通过 |
| 严谨 rigorous | 长期维护的基础能力、meta skill | + `reports/` 证据、参考文档分层 | 共享档全部要求 + 交付报告带证据分级 + 真实对话实测记录 |
升级时机:别人开始复用 → draft 升 shared;成为基础设施或多项目依赖 → shared 升 rigorous。默认选最轻的够用档位。
## 创建工作流(CREATE)
1. **接单**:按 [意图工坊](references/intent-workshop.md) 捕获七要素(重复任务/输入/交付物/排除项/标准/参考/已有资产)。信息足够就直接做并写出假设,不做问卷。
2. **验料**:过第一道门。不过,停手给替代。
3. **先例研究**:按 [先例研究](references/prior-art.md) 搜 2–4 个同类,用 `keep/adapt/reject/invent` 提炼机制——只借结构和方法,不复制表达。轻量档可跳过,但要说明为什么。
4. **蓝图**:定档位和目录结构(见 [目录架构](references/architecture.md)),**先写 description** 再动正文。
5. **起草**:`python3 scripts/scaffold.py <name> "<一句话职责>" --tier <draft|shared|rigorous>` 生成骨架,按 [写作手艺](references/writing-craft.md) 填充。
6. **触发验证**:`python3 scripts/trigger_eval.py <skill目录>` 跑冒烟测试,再在真实对话里测 2–3 条用户原话(方法见 [触发测试](references/trigger-eval.md))。触发不过,回头改 description,不扩内容。
7. **交付**:按 [交付报告](references/handoff.md) 输出 handoff,亮点标证据等级。
## 迭代工作流(ITERATE)
改进已有 skill 时(详见 [迭代工坊](references/iteration.md)):
1. **冻结基线**:备份原版(`cp -r` 或 git 分支),所有改动与基线比。
2. **诊断三把尺**:结构尺(`python3 scripts/validate_skill.py <目录>`)+触发尺(trigger_eval + 真实对话)+活体尺(拿真实任务实际跑一遍,"看起来能触发"不等于"跑得出结果")。
3. **评分定位**:六维评分(触发与边界/工作流清晰度/可执行具体性/失败模式与停手点/实测表现/资源纪律),每个分数给证据,找出最该刨的一个面。
4. **单面慢刨**:一轮只改一个面;批量授权后也是单面单提交,绝不混刨。
5. **验证门**:改动要全部满足——比基线多过至少 2 条测试原话、没把 skill 写得更长但更难用、没引入私有路径或不可复现依赖——才保留,否则回刀。
6. **交付**:改动报告 + 回炉清单(下一轮入口、本轮不做)。
## 核心命令
```bash
python3 scripts/scaffold.py <name> "<一句话职责>" --tier shared # 起草骨架
python3 scripts/validate_skill.py <skill目录> # 结构体检
python3 scripts/trigger_eval.py <skill目录> # 触发冒烟测试
```
脚本无第三方依赖,python3 标准库即可运行。
## 交付契约
只交付所选档位"挣来"的东西:工作中的 skill 目录、通过的体检/触发证据、handoff 报告。不发布(无发布流水线)、不虚构验证结果、不交付用例覆盖不了的承诺。
## 强制停手点
以下节点必须停下等用户确认:
1. 验料判定"朽木"时——给出替代方向后停,不硬做;
2. 改动会大幅改变 skill 的定位或职责边界时;
3. 需要删除或重写大段现有内容时;
4. 新 skill 会与已安装的其它 skill 同名(同名覆盖会改变触发优先级)时;
5. 迭代中要引入高风险脚本、删除逻辑或外部 API 调用时。
## 反例黑名单
- 不要把一次性总结、翻译、解释、头脑风暴做成 skill。
- 不要只改 SKILL.md 正文而不验证触发——description 才是触发信号。
- 不要为了让 skill 显得专业堆术语、堆 MUST/NEVER;讲清楚为什么,比喊口号有效。
- 不要把私有路径、密钥、私人账号写进任何文件。
- 不要在没有两个领域复现证据时,把单例教训升为核心规则。
- 不要一轮迭代刨多个面;拿到批量授权后也不要把多个面塞进一次改动。
- 不要让同一只手既"改"又"评"——验收时换成第一次见到这个 skill 的陌生用户视角。
- 不要凭记忆编造先例;每个参考都带真实 URL,搜不到就如实标注。
## Reference Map
- 接单与验料:[意图工坊](references/intent-workshop.md)
- 搜同类:[先例研究](references/prior-art.md)
- 写 description 与正文:[写作手艺](references/writing-craft.md)
- 目录怎么摆:[目录架构](references/architecture.md)
- 触发怎么测:[触发测试](references/trigger-eval.md)
- 改进已有 skill:[迭代工坊](references/iteration.md)
- 交付怎么说:[交付报告](references/handoff.md)