skills/skill-dev/skill-author/SKILL.md
创建与维护 Claude skills 和 subagents 的方法论框架。当用户要编写 SKILL.md、创建新 skill、设计 subagent / agent.md、配置 frontmatter、拆分 progressive disclosure、调整现有 skill 的结构/触发/维护陷阱时使用。纯 9 维质量评分优化(不改结构)→ 路由 skill-optimizer。仅手动 /skill-author 触发。
npx skillsauth add lazygophers/ccplugin skill-authorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
meta-skill:教如何编写其他 skill 与 subagent。基于 Anthropic 官方规范 + darwin-skill 9 维实证 + 社区反模式。完整调研素材见
references/research/01-06.md。
disable-model-invocation: true,仅 /skill-author 手动调用。不要建议改为自动触发——它是创作工具,不是背景知识。| 场景 | 例子 | |------|------| | 从零创建 skill | 「帮我做一个部署 skill」「写个 PR review skill」 | | 创建 subagent | 「加一个 code-reviewer subagent」「配只读 db agent」 | | 优化/改现有 skill | 「这个 skill 不触发」「太长了」「改了没生效」(纯 9 维质量评分优化→skill-optimizer;结构/触发/维护陷阱→本 skill) | | 结构决策 | 「这段该进 SKILL.md 还是拆 reference?」「该用 context:fork 吗?」 | | frontmatter 配置 | 「description 怎么写」「该不该 disable-model-invocation」 |
先回答 4 个问题,再动笔:
user-invocable: falsecontext: fork + agent: <type>(skill 内容成为 subagent prompt,见「subagent 编写要点」)disable-model-invocation: true(仅手动)user-invocable: false(仅 Claude 触发)disable-model-invocation: truemy-skill/
├── SKILL.md # 主指令(≤500 行 / token 意识)
├── references/ # 按需加载的细节(只深一层)
│ ├── <domain-a>.md
│ └── <domain-b>.md
└── scripts/ # 可执行脚本(执行而非加载)
└── <tool>.py
references/<domain>.md,避免加载无关 context。100 行的 reference 文件顶部放目录,便于 Claude 预读见全貌。
head -100 预读致信息不全)。🔴 CHECKPOINT:骨架定型后展示目录结构给用户确认,再进入 frontmatter。骨架方向错,后续全返工。
完整 16 字段表 + 调用控制矩阵 + 字符串替换变量见 references/frontmatter-spec.md。 下面只列最常用 5 个:
---
name: <lowercase-kebab> # 默认目录名;≤64 字符,禁 anthropic/claude 保留词,禁 XML 标签
description: <做什么 + 何时用> # 🔴 项目底线 < 512 字符;第三人称;key use case 前置
disable-model-invocation: true # 副作用操作必加(仅手动 /name)
allowed-tools: Bash(git *) # 预授权工具(可选,仅免批准不限制工具池)
paths: packages/api/** # monorepo 按包触发(可选)
---
description 铁律(P0 反模式):
when_to_use(项目底线 < 128 字符,计入官方 1536 组合截断)渐进披露:SKILL.md 像目录,指向按需加载的细节。
# <Skill Name>
## Quick start
<最小可执行示例>
## Advanced
**A 功能**:见 [references/a.md](references/a.md)
**B 功能**:见 [references/b.md](references/b.md)
复杂工作流给可复制 checklist(Claude 逐项打勾):
任务进度:
- [ ] Step 1: ...
- [ ] Step 2: ...
Feedback loop(质量关键操作必加):run validator → fix → repeat。
Plan-validate-execute(批量/破坏性操作):产 structured plan 文件 → 脚本验证 → 执行 → verify。
只加 Claude 不知道的:默认 Claude 已聪明。每段都问「这段值得它的 token 成本吗?」
🔴 CHECKPOINT:SKILL.md 初稿完成后展示给用户审阅,确认内容方向正确后进 Phase 5。方向性问题必须在验证前拦截。
references/research/01-anthropic-official.md)→ 写完对比claude -p "列出所有可用 skill 并说明何时触发" --output-format stream-json | jq -r 'select(.type=="result" and .subtype=="success") | .result'
/grilling red-team 框架漏洞/plugin install skill-creator@claude-plugins-official,with vs without skill 对比改已有 skill ≠ 从零写。关键差异:
高频故障内联于此(正文自包含);完整 22 条反模式 fallback 见 references/anti-patterns.md。
| 触发条件 | 一线修复 | 仍失败兜底 |
|---|---|---|
| skill 写完不触发 | description 太泛/缺 key terms → 加用户会说的词 + 收窄边界 (Phase 5 测试 4) | 跑可发现性质检 (claude -p "列出所有可用 skill") 看是否被列出;未列出查 name/description 是否含保留词或超 512 截断 |
| 改了 SKILL.md 没生效 | 已 invoke 的 session 常驻旧版 → 通知用户开新 session 或重新 invoke | 确认改的是被加载路径 (非 references 副本);disable-model-invocation skill 需 /name 重新手动触发 |
| 多 skill session 里本 skill 行为丢失 | token 预算 25000 跨 skill 共享、旧 invoke 被 auto-compaction 丢 (零错误信息) → 精简 SKILL.md、细节拆 references 按需加载 | 缩到 ≤500 行仍丢 → 关键指令上移到 SKILL.md 顶部 5000 token 内 (compaction 保留窗) |
| reference 内容 Claude 读不全 | 嵌套引用 (a→b→c) 致 head -100 预读截断 → 拍平成只深一层 | >100 行 reference 顶部加目录,让预读见全貌 |
| description/when_to_use 被截断 | 超项目底线 (512/128) → 按「最少 invoke 先丢」裁剪,触发短语分流 when_to_use | 仍超 → 拆成多个更窄的 skill,各自 description 更聚焦 |
| 结构/触发正确但输出跑偏 | 缺反例黑名单 → 补「不要做 Y」清单 (铁律 #5) | 跑 /grilling red-team 找指令遗漏的失败模式 |
| # | 铁律 | 理由 |
|---|------|------|
| 1 | SKILL.md ≤500 行(token proxy 非精确值) | CJK/表格/代码块 token 密度高,500 行中文可能 8000+ token;加载后整 session 常驻 |
| 2 | description 第三人称 + key use case 前置 + 做什么+何时用 + 收窄边界防误触发 | description 是 100+ skill 中的发现入口,🔴 项目底线 < 512 字符(官方 best-practices 1024 / 组合 1536 截断);超长分流到 when_to_use(底线 < 128) |
| 3 | 引用只深一层 | 嵌套致 head 预读信息不全 |
| 4 | eval 先于文档(Phase 5 步骤 1) | 解决真实问题而非臆想 |
| 5 | 反例黑名单 > 正例清单 | 反例抓住指令遗漏的失败模式 |
| 6 | 一致术语 + 正斜杠路径 + 无 voodoo 常量 | 跨平台 + 可维护 |
| 7 | token 生命周期意识 | auto-compaction 保留最近 invoke 前 5000 token、合计预算 25000 token 跨 skill 共享,多 skill session 旧 skill 会被丢——且无错误信息,是最难 debug 的零可见度故障 |
subagent frontmatter / body 设计点(错误处理约定 / 工具继承例外 / hook 条件验证 / fork vs named 等)+ 常驻vs按需 / 显式vs隐式触发 / runtime 中立取舍,详见 references/subagent-authoring.md。
P0 致命 / P1 严重 / P2 中等 / P3 结构性共 22 条,详见 references/anti-patterns.md。
产物发布前逐项查(结构 / 触发 / 内容 / 代码 / 验证 5 组),详见 references/validation-checklist.md。
完整素材见 references/(规范参考)与 references/research/(调研素材):
| 文件 | 维度 | 主源 | |------|------|------| | frontmatter-spec.md | frontmatter 16 字段全表 + 项目底线 | code.claude.com/docs/zh-CN/skills(官方一手) | | 01-anthropic-official.md | 官方规范 | platform.claude.com / code.claude.com(3 份一手) | | 02-academic-best-practices.md | 学术方法论 | darwin-skill 本地实证 + Anthropic eval | | 03-community-ecosystem.md | 社区生态 | awesome-claude-skills / anthropics/skills / alchaincyf | | 04-cross-platform-comparison.md | 跨平台对照 | Cursor / Codex / OpenCode / Gemini 对比 | | 05-anti-patterns.md | 反模式 | 106 skills / Charlie O'Brien / SitePoint / darwin dim9 | | 06-toolchain-validation.md | 工具链 | darwin-skill / grill-me / skill-creator |
信息源黑名单(永远排除):知乎、微信公众号、百度百科。
tools
UI/UX 与布局设计——做界面布局/结构/导航/组件/交互的设计决策。触发:做UI/UX/布局/排版/导航/组件/交互/栅格/响应式/图表选型/字体配对。按媒介路由 HTML/Web、原生 App(iOS/Android/桌面)、CLI、TUI。需后端动态系统不适用;配色/主题/色板走姊妹 skill design-color。
tools
主题与配色设计——做颜色搭配/调色板/主题/品牌色阶/暗模式的设计决策。触发:选配色/调色/主题/色板/品牌色/暗模式/对比度/色盲/UI风格。按媒介路由 HTML/Web(CSS变量)、原生App(平台token)、CLI(ANSI)、TUI(真彩/256/16降级)。保证可访问性(对比度/色盲安全)。需后端动态系统不适用;UI/UX 布局/组件/交互走姊妹 skill design-uiux。
tools
跨任意组件(plugin/skill/agent/command)的验证驱动优化循环纪律 skill。当用户要优化某个已有组件却无明确方向、或要防止改了反而更差(自评乐观偏差 / 多维同改归因失效 / 为凑分加废话膨胀)、或要把一套通用「评分→单变量改→改后验证严格更好才留否则回滚→触顶停」的纪律套到任意组件上时使用。管优化过程本身的纪律(validation gate / ratchet / 独立验证 / 触顶停),不评单组件深度(交 skill-dev),不查插件接线(交 plugin-dev)。仅手动 /optimize-any 触发。
data-ai
两层规则记忆 (基于 .skein/spec)。planning 时 recall 召回相关规则、task finish 后 sediment 沉淀学习 + prune 自动精简过期/重复/断链规则。core 常驻硬规 + recall 按需召回, 经判定门自动写盘 (不逐次问用户)。产出 .skein/spec 下 core/recall 规则文件 + index。另支持空仓 bootstrap 播种规则基线、记忆大面积失效 (大重构/换栈) 时 reconstruct 可逆归档后按项目类型分型重建、maintain 手动体检 (超预算/stale/断链/重复/废弃, --apply 自动修复)、auto-fix (Stop hook 写 .pending-fix 标记 → main 派 skein-specer bg 跑 maintain --apply 全自动修, 断链只报告)。