skill-checker
NewReviews a SKILL.md file and evaluates whether it is well-constructed, using best practices distilled from real-world skill analysis. Use when the user asks to check, review, or validate a skill they have built or are building. Triggers: '帮我检查这个skill', '我写的skill有没有问题', '我写的skill好不好', 'review my SKILL.md', 'validate my skill', '检查一下我的skill'. Two modes: quick (P0 only, ~30 seconds) or full (P0+P1+P2, comprehensive). NOT for executing skills, NOT for creating new skills from scratch.
Overview
skill-checker
根据对7个真实开源 skill 案例的纵横深挖,提炼出的检查标准,评估一个 skill 的构建质量。
When to Use
- •用户分享了 SKILL.md 内容,请求检查/review/验证
- •用户问"这个 skill 写得好吗""有没有问题"
- •用户完成 skill 构建,想发布前做最后把关
When NOT to Use
- •用户想创建新 skill(换用专门的创建类 skill)
- •用户想执行某个 skill 的功能
- •用户只是问 skill 的概念问题
Workflow
Step 1 · 获取待检查的 skill
如果用户没有直接提供 SKILL.md 内容,询问:
"请把你的 SKILL.md 内容粘贴过来,或者告诉我文件路径。"
如果给了路径,用 Read 工具读取。
Step 2 · 确认检查模式
默认:完整模式(P0 + P1 + P2 全面检查,12条)
如果用户明确说"快速检查""只看 P0""时间紧",则切换到快速模式(只检查 P0 核心3条,约30秒)。否则直接执行完整检查。
Step 3 · 执行检查
按所选模式,逐条检查并判定:✅ 通过 / ⚠️ 需改进 / ❌ 缺失
Step 4 · 输出报告
见"输出格式"节。
检查标准
P0 · 核心项(快速模式只检查这3条)
P0-1 · description 质量 检查 description 是否同时包含:
- •做什么(功能描述)
- •何时用(触发场景/触发词)
- •何时别用(边界,防误触发)
判定:
- •✅ 三项齐全,触发词具体(如写了"用户会遇到的具体问题信号")
- •⚠️ 缺"何时别用",或触发词过于泛泛(如只写"helps with X")
- •❌ description 只有功能描述,没有触发场景;或极度模糊
P0-2 · 职责单一性 检查这个 skill 是否只干一件能干净归类的事。
判定:
- •✅ 明确聚焦单一职责,有"NOT for…"边界声明
- •⚠️ 职责略宽,但尚可接受;或缺少"Not for"但实际内容单一
- •❌ 试图同时做多件不相关的事(如"规划+写作+发布+分析"全干)
P0-3 · 失败分支 检查 skill 是否有失败处理机制:当依赖的工具/API/数据源/外部服务失败时,是否写明了处理方式。
判定:
- •✅ 明确写死失败分支("失败即停""禁止兜底""失败时报错等用户")
- •⚠️ 有模糊的错误提示,但没有禁止兜底行为
- •❌ 只写正常路径,完全没有失败处理(最危险:模型会偷偷降级)
- •N/A:该 skill 不依赖外部工具/数据(如纯方法论类),此项跳过
P1 · 重要项(完整模式追加)
P1-1 · 配置/规则的具体性 检查 skill 内部的配置、规则、约束是否具体可执行(非口号)。
判定:
- •✅ 给了具体标准/维度/正反例(如"核心用户判断依据复购频次/抗周期性/成瘾性")
- •⚠️ 规则存在但过于抽象(如"保持高质量""专业风格")
- •❌ 配置/规则是口号级别,模型无法执行
P1-2 · 产出可判定性 检查是否有明确的验收标准,让产出的好坏可以被判断。
判定:
- •✅ 有量化评分/等级/验收清单(如"目标10/10""S/A/B/C/D等级""官方源≥30%")
- •⚠️ 有定性描述的输出要求,但无量化标准
- •❌ 只说"给出建议",没有任何标准说明什么是好的输出
P1-3 · 正文长度 检查 SKILL.md 正文行数是否在合理范围。
判定:
- •✅ <500行(官方红线),或虽较长但有 references/ 分文件承载细节
- •⚠️ 300-500行,存在重复内容或可拆分到 references 的部分(内部建议:超过300行就开始考虑拆分)
- •❌ >500行,且正文有大量重复步骤/例子堆砌(如 radar 的874行)
P1-4 · 渐进式披露 检查是否合理使用了 references/ 目录分担细节。
判定:
- •✅ 正文做导航,细节拆进 references/;或明确标注"何时读哪个文件"
- •⚠️ 有 references/ 但正文仍有大量细节可以下沉
- •❌ 所有内容全堆在 SKILL.md,没有分文件
- •N/A:skill 本身较简单(<150行),不需要 references/
P2 · 加分项(完整模式追加)
P2-1 · 样例质量 检查是否有具体的好/坏输入输出样例。
判定:
- •✅ 有具体样例(好输入+好输出,或正反例对比)
- •⚠️ 有抽象描述但没有具体例子
- •❌ 完全没有样例
正反例参考(用于校准判定标准):
❌ 没有样例的 description(P2-1 = ❌):
description: "Helps you write better code."✅ 有具体样例的 description(P2-1 = ✅):
description: "Reviews Rust code for ownership and borrow-checker issues.
Triggers: 'my Rust code has lifetime errors', 'borrow checker keeps rejecting this'.
NOT for: general code style, Python/JS code."同理,P2-1 = ✅ 的条件:skill 正文内有"输入示例 → 输出示例"对,或明确的正反例对比表(如 insight 的3段对话demo、radar 的"10分/1分选题"对比)。仅有"样例可以提高效果"类的说明,判定为 ⚠️。
P2-2 · allowed-tools 设置(工具执行型 skill 必查) 如果 skill 会调用外部工具/执行命令,检查 frontmatter 是否有 allowed-tools 限定。
判定:
- •✅ 有 allowed-tools,且只列了该 skill 实际需要的工具
- •⚠️ 有 allowed-tools 但范围过宽
- •❌ 调用外部工具但没有 allowed-tools(权限未收敛)
- •N/A:纯方法论/纯建议类 skill,不执行外部操作
P2-3 · 破坏性操作保护(工具执行型 skill 必查) 如果 skill 会执行写入/删除/发布等不可逆操作,检查是否有前置确认机制。
判定:
- •✅ 写明"发布/删除/覆盖前必须用户确认""不许同一轮确认+执行"
- •⚠️ 有提示但不够明确,模型可能跳过确认
- •❌ 有破坏性操作但没有确认机制
- •N/A:该 skill 不执行破坏性操作
P2-4 · 方法论 skill 专项(方法论封装型必查) 如果 skill 封装的是一套方法论/框架,检查:
- •是否有 prompt_templates(框架是骨架,模板是肉)
- •是否有 Ethical boundary(防滑向操纵)
- •是否主动声明能力边界("给的是方向,不是定论")
判定:
- •✅ 三项具备
- •⚠️ 部分具备
- •❌ 都没有(尤其洞察/营销/决策类 skill 的风险)
- •N/A:非方法论封装类 skill
P2-5 · 迭代友好性 检查是否有 last-updated 字段、版本号、或 CHANGELOG。
判定:
- •✅ 有版本记录机制
- •⚠️ 有 last-updated 但无版本/变更记录
- •❌ 完全没有,迭代后无法追踪
输出格式
快速模式报告
## Skill 快速检查报告
**Skill 名称**:{name}
**检查模式**:快速(P0 核心项)
| # | 检查项 | 结果 | 问题/建议 |
|---|---|---|---|
| P0-1 | description 质量 | ✅/⚠️/❌ | {一句话} |
| P0-2 | 职责单一性 | ✅/⚠️/❌ | {一句话} |
| P0-3 | 失败分支 | ✅/⚠️/N/A | {一句话} |
**快速结论**:{✅ 核心没问题,可继续 / ⚠️ 有X处需注意 / ❌ 有X处关键缺陷,建议修复后再用}
> 需要完整检查?告诉我"完整检查"。完整模式报告
## Skill 完整检查报告
**Skill 名称**:{name}
**检查模式**:完整(P0 + P1 + P2)
### P0 · 核心项
| # | 检查项 | 结果 | 问题/建议 |
|---|---|---|---|
| P0-1 | description 质量 | | |
| P0-2 | 职责单一性 | | |
| P0-3 | 失败分支 | | |
### P1 · 重要项
| # | 检查项 | 结果 | 问题/建议 |
|---|---|---|---|
| P1-1 | 配置/规则具体性 | | |
| P1-2 | 产出可判定性 | | |
| P1-3 | 正文长度 | | |
| P1-4 | 渐进式披露 | | |
### P2 · 加分项
| # | 检查项 | 结果 | 问题/建议 |
|---|---|---|---|
| P2-1 | 样例质量 | | |
| P2-2 | allowed-tools | | |
| P2-3 | 破坏性操作保护 | | |
| P2-4 | 方法论专项 | | |
| P2-5 | 迭代友好性 | | |
### 综合评分
| 层级 | 通过/总数 | 状态 |
|---|---|---|
| P0 核心 | X/3 | ✅/⚠️/❌ |
| P1 重要 | X/4 | ✅/⚠️/❌ |
| P2 加分 | X/Y(适用项)| ✅/⚠️/❌ |
**总体评级**:
- ✅ **可发布**:P0 全通过,P1 无❌
- ⚠️ **建议改进后发布**:P0 全通过,P1 有⚠️
- 🔧 **需修复**:P0 有⚠️或 P1 有❌
- ❌ **不建议使用**:P0 有❌
### 优先修复清单
{列出所有❌和重要⚠️,按 P0→P1→P2 排序,每条给具体改法}Rationalizations to Reject
检查过程中,不要因为以下理由放水:
- •"description 虽然泛,但我能理解它的意思" → 模型触发靠的是文字匹配,不是你的理解
- •"失败情况很少见,不用写" → 静默失败是最伤信任的失败,必须写死
- •"这个 skill 很简单,不需要 examples" → 简单不是省略样例的理由
- •"作者是专业的,规则肯定没问题" → 专业不代表具体可执行,照标准检查
来源
本 skill 的检查标准提炼自以下案例的纵深分析: wechat-topic-radar(失败分支/配置具体性)、typefully(allowed-tools/破坏性操作)、daymade deep-research(质量门/诚实失败)、Jeffallan(渐进式披露/validator)、market-insight(方法论封装/伦理边界)、trailofbits(反偷懒清单/前置检查分级)、ask-questions(When NOT to Use/职责单一)
以上项目均为开源项目,分析仅供学习参考,设计思路归原作者所有。
References
- •
references/sample-report.md— 读完检查标准想看实际报告长什么样时加载。包含一个"有典型问题的 mini-SKILL.md"和对应的完整检查报告输出,可用于校准判定尺度。
CHANGELOG
v1.1.0 — 2026-06-12
- •Step 2 改为默认完整模式,移除每次必问的 AskUserQuestion(减少一轮交互)
- •P2-1 判定后新增正反例参考,展示有/无样例的 description 对比和 ✅/⚠️ 分界线
- •新增
references/sample-report.md:真实 mini-SKILL.md 输入 + 完整检查报告输出样例 - •修正 When NOT to Use 中的笔误
criar-skill(葡萄牙语),改为通用表述 - •P1-3 行数标准从 "<300行" 对齐官方红线 "<500行",保留 300 作内部建议注释
v1.0.0 — 2026-06-11
- •初始发布
- •P0/P1/P2 三层检查标准,12个检查项
- •两档模式:快速(P0)/ 完整(P0+P1+P2)
- •Rationalizations to Reject 反放水清单
- •P2-1 加描述正反例(好/坏 description 片段)
Install & Usage
mkdir -p .claude/skillsmkdir -p .claude/skills && curl -o .claude/skills/skill-checker.md https://raw.githubusercontent.com/wtfitsme-design/skill-checker/main/SKILL.md/skill-checkerFrequently Asked Questions
What is skill-checker?
Reviews a SKILL.md file and evaluates whether it is well-constructed, using best practices distilled from real-world skill analysis. Use when the user asks to check, review, or validate a skill they have built or are building. Triggers: '帮我检查这个skill', '我写的skill有没有问题', '我写的skill好不好', 'review my SKILL.md', 'validate my skill', '检查一下我的skill'. Two modes: quick (P0 only, ~30 seconds) or full (P0+P1+P2, comprehensive). NOT for executing skills, NOT for creating new skills from scratch.
How to install skill-checker?
To install skill-checker, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /skill-checker.
What is skill-checker best for?
skill-checker is a community categorized under General. It is designed for: code-review. Created by wtfitsme-design.