Files
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

3.9 KiB
Raw Permalink Blame History

写作手艺——description 与正文

Skill 的两个加载层各有各的写法:description 决定被不被触发,正文决定触发后好不好执行。

description:唯一的自动触发信号

各 runtime(ZCode / Claude Code / Codex)都靠 frontmatter 的 description 决定何时加载 skill(连同 name 常驻上下文)。模型倾向于漏触发而不是误触发,所以 description 要写得主动一点。

四件必须写进去的事:

  1. 做什么:一句话职责。
  2. 何时触发:用户真实会说的话——"帮我做个 skill""把这个流程沉淀下来""给我的 skill 做体检"。给 3–8 条原话级别的触发词。
  3. 负触发:明确"不要用于……"的相邻请求。没有负触发的 description 会在边界请求上犹豫。
  4. 丢来就触发的说明:用户丢来 SKILL.md、目录、链接说"帮我看看"时该不该接。

写法检查:

  • 用中英混合的真实口语测试:拿 5 条用户会说的原话(含 2 条不该触发的)逐条对照 description,每条都该能明确判出触发/不触发。
  • 别写成功能清单("支持 A、B、C"),写成场景句("当用户想……时使用")。
  • 长度:3–8 行。太短盖不住场景,太长稀释信号。

正文:给模型的操作手册

正文只在触发后加载,目标是让模型照着执行,而不是让人读了佩服。

七条手艺:

  1. 祈使句。"读取文件后再编辑",不是"你应该考虑读取文件"。
  2. 讲为什么。规则不明显时给理由——模型理解了原因才会在边界情况做对判断。发现自己在写全大写 MUST 时,通常说明该把理由讲清楚,而不是加重语气。
  3. 示例胜过规则。要求结构化输出就贴一个字面示例;要求调某工具就给调用样例。一段示例顶三条规则。
  4. 正文 ≤500 行。超了就把领域细节拆进 references,正文里留一句"做 X 前先读 references/x.md"。
  5. 每节一个职责。读者跳着读不迷路。
  6. 失败模式要编码。"遇到 X 时停下来问用户"比"小心行事"有用得多。
  7. 写完删一遍。删掉不承重的句子。规则越少,剩下的越有权威。

跨 runtime 约定(ZCode / Claude Code / Codex)

Skill 遵循 Agent Skills 开放格式:一个目录 + SKILL.md(frontmatter:name + description)。三个 runtime 都认这个格式,差别只在发现路径:

runtime 项目级 用户级
ZCode .zcode/skills/(优先)· .agents/skills/ ~/.zcode/skills/ · ~/.agents/skills/
Claude Code .claude/skills/ ~/.claude/skills/
Codex .codex/skills/ ~/.codex/skills/(实验性)
  • frontmatter:name(kebab-case,1–64 字符,必须与目录名一致)+ description 是必填;其余保留字段按需。
  • 新建默认放 .agents/skills/——跨工具标准位;目标 runtime 不读这个位置时,复制或软链到它的目录(一份源,多处入口,改完同步)。
  • 目录即身份:同名 skill 不同路径算两个安装,ZCode 里路径优先级高的胜出——起名字前先查各 runtime 的发现路径有没有撞名。
  • 可移植三禁:正文不写死某个 runtime 专属的工具名/技能名(如把"配置排障"指给单一 runtime 的指南);不用私有绝对路径;脚本只用 python3/bash 标准库。做到这三条,同一个目录在三个 runtime 里行为一致。
  • 先例研究时的提示:搜 Claude 生态的 skill(数量最多)借鉴机制没问题,但安装路径、触发语法要按目标 runtime 换算,不要照搬。

命名

  • 英文 kebab-case,≤3 个连字符段为佳:weekly-report、api-docs-lint。
  • 名字要能自解释职责;人设名(如 luban)只有配合强 description 才可用。
  • 与已有 skill 撞名 = 改名,不是覆盖。