用于对 Claude Skill 和 Command 进行质量审计。支持 Quick Scan 快速扫描(仅针对变动的 Skill)和 Full Stocktake 全面盘点模式,并采用子 Agent 顺序分批评估机制。
skill-stocktake
斜杠命令(/skill-stocktake),结合质量自查清单与 AI 综合评估,全面审计所有 Claude Skill 和 Command。支持两种模式:针对近期变更 Skill 的 Quick Scan 快速扫描,以及进行完整复盘的 Full Stocktake 全面盘点。
作用范围
该命令针对以下路径进行审计(相对于执行该命令时的工作目录):
| 路径 | 说明 |
|---|---|
~/.claude/skills/ |
全局 Skill(适用于所有项目) |
{cwd}/.claude/skills/ |
项目级 Skill(如果该目录存在) |
在阶段 1 开始时,命令会明确列出检测到并已扫描的路径。
指定特定项目
如需将项目级 Skill 纳入审计,请在对应项目的根目录下运行命令:
cd ~/path/to/my-project
/skill-stocktake
如果项目下没有 .claude/skills/ 目录,则仅会对全局 Skill 和 Command 进行评估。
模式说明
| 模式 | 触发条件 | 预计耗时 |
|---|---|---|
| Quick Scan(快速扫描) | 存在 results.json(默认模式) |
5–10 分钟 |
| Full Stocktake(全面盘点) | 缺失 results.json,或输入 /skill-stocktake full |
20–30 分钟 |
结果缓存路径: ~/.claude/skills/skill-stocktake/results.json
Quick Scan 流程
仅重新评估自上次运行以来发生过变更的 Skill(耗时 5–10 分钟)。
- 读取
~/.claude/skills/skill-stocktake/results.json - 运行命令:
bash ~/.claude/skills/skill-stocktake/scripts/quick-diff.sh \ ~/.claude/skills/skill-stocktake/results.json
(项目目录会自动从$PWD/.claude/skills中识别;仅在必要时显式传入) - 如果输出为
[]:提示 "No changes since last run." 并终止流程 - 仅使用阶段 2 的同一套标准重新评估发生变更的文件
- 继承上次结果中未发生变更的 Skill
- 仅输出 Diff 差异结果
- 运行命令:
bash ~/.claude/skills/skill-stocktake/scripts/save-results.sh \ ~/.claude/skills/skill-stocktake/results.json <<< "$EVAL_RESULTS"
Full Stocktake 流程
阶段 1 — 资产盘点(Inventory)
运行命令:bash ~/.claude/skills/skill-stocktake/scripts/scan.sh
脚本会自动枚举 Skill 文件、提取 Frontmatter 头部元数据并收集 UTC 修改时间(mtime)。
项目目录会自动从 $PWD/.claude/skills 中识别;仅在必要时显式传入。
展示脚本输出的扫描摘要及清单表格:
Scanning:
✓ ~/.claude/skills/ (17 files)
✗ {cwd}/.claude/skills/ (not found — global skills only)
| Skill | 7 天使用频次 | 30 天使用频次 | 描述 |
|---|
阶段 2 — 质量评估(Quality Evaluation)
启动 Agent 工具的子 Agent(通用 Agent / general-purpose agent),并传入完整的盘点清单与检查项:
Agent(
subagent_type="general-purpose",
prompt="
Evaluate the following skill inventory against the checklist.
[INVENTORY]
[CHECKLIST]
Return JSON for each skill:
{ \"verdict\": \"Keep\"|\"Improve\"|\"Update\"|\"Retire\"|\"Merge into [X]\", \"reason\": \"...\" }
"
)
子 Agent 会逐个读取 Skill,对照检查项进行评估,并返回每个 Skill 的 JSON 评估结果:
{ "verdict": "Keep"|"Improve"|"Update"|"Retire"|"Merge into [X]", "reason": "..." }
分块处理建议(Chunk guidance): 每次子 Agent 调用处理约 20 个 Skill,以保持上下文大小可控。每处理完一块,将中间结果写入 results.json(标记 status: "in_progress")。
所有 Skill 评估完成后:将 status 设置为 "completed",并进入阶段 3。
断点续传检测(Resume detection): 若启动时检测到 status: "in_progress",则从第一个未评估的 Skill 继续执行。
每个 Skill 均对照以下检查清单(Checklist)进行评估:
- [ ] 是否检查了与其他 Skill 的内容重叠
- [ ] 是否检查了与 MEMORY.md / CLAUDE.md 的重叠
- [ ] 是否验证了技术引用的时效性(若存在工具名/CLI 参数/API,需使用 WebSearch 查验)
- [ ] 是否考量了使用频率
结论(Verdict)判定标准:
| 结论 | 含义 |
|---|---|
| Keep | 实效性强且具备实用价值 |
| Improve | 值得保留,但有具体的改进空间 |
| Update | 引用的技术已过时(需通过 WebSearch 验证) |
| Retire | 质量低下、陈旧废弃或投产比失衡 |
| Merge into [X] | 与其他 Skill 严重重叠;需明确合并目标 |
评估采用 AI 综合主观判断 —— 而非硬性的数字打分机制。参考维度如下:
- 可操作性(Actionability):提供代码示例、命令或步骤,能直接上手落地
- 定位契合度(Scope fit):名称、触发条件与实际内容一致;不过宽亦不过窄
- 独特性(Uniqueness):价值无法被 MEMORY.md / CLAUDE.md 或其他 Skill 替代
- 时效性(Currency):技术引用在当前环境下依然有效可用
原因描述(Reason)质量要求 —— reason 字段必须信息自洽,能够直接支撑决策:
- 严禁仅填写 "unchanged" —— 必须重新阐述核心依据
- 针对 Retire:需说明 (1) 发现的具体缺陷,(2) 替代方案
- 差例:
"Superseded" - 好例:
"disable-model-invocation: true already set; superseded by continuous-learning-v2 which covers all the same patterns plus confidence scoring. No unique content remains."
- 差例:
- 针对 Merge:需指明目标名称,并说明具体整合哪些内容
- 差例:
"Overlaps with X" - 好例:
"42-line thin content; Step 4 of chatlog-to-article already covers the same workflow. Integrate the 'article angle' tip as a note in that skill."
- 差例:
- 针对 Improve:描述具体的修改动作(相关章节、具体操作、建议缩减到的目标行数等)
- 差例:
"Too long" - 好例:
"276 lines; Section 'Framework Comparison' (L80–140) duplicates ai-era-architecture-principles; delete it to reach ~150 lines."
- 差例:
- 针对 Keep(Quick Scan 中仅 mtime 修改的情况):重新阐述原有的评估依据,不要只写 "unchanged"
- 差例:
"Unchanged" - 好例:
"mtime updated but content unchanged. Unique Python reference explicitly imported by rules/python/; no overlap found."
- 差例:
阶段 3 — 汇总表格(Summary Table)
| Skill | 7 天使用频次 | 评估结论 | 原因说明 |
|---|
阶段 4 — 整理与收尾(Consolidation)
- Retire / Merge:在向用户确认前,为每个文件提供详细的合理性依据:
- 发现的具体问题(内容重叠、陈旧废弃、引用失效等)
- 涵盖相同功能的替代方案(对于 Retire:指明现有哪个 Skill/规则可替代;对于 Merge:明确目标文件及需合并的具体内容)
- 移除影响(对依赖项 Skill、MEMORY.md 引用或工作流的影响)
- Improve:提供带有合理依据的具体改进建议:
- 修改内容及原因(例如:"因 X/Y 章节与 python-patterns 重叠,建议由 430 行精简至 200 行")
- 由用户决定是否采纳实施
- Update:展示经核对数据源后更新的内容
- 检查 MEMORY.md 的行数;若超过 100 行,提议进行压缩
结果文件 Schema
~/.claude/skills/skill-stocktake/results.json:
evaluated_at:必须设置为评估完成时的真实 UTC 时间。
通过 Bash 获取:date -u +%Y-%m-%dT%H:%M:%SZ。切勿使用如 T00:00:00Z 的纯日期近似值。
{
"evaluated_at": "2026-02-21T10:00:00Z",
"mode": "full",
"batch_progress": {
"total": 80,
"evaluated": 80,
"status": "completed"
},
"skills": {
"skill-name": {
"path": "~/.claude/skills/skill-name/SKILL.md",
"verdict": "Keep",
"reason": "Concrete, actionable, unique value for X workflow",
"mtime": "2026-01-15T08:30:00Z"
}
}
}
注意事项
- 评估遵循无偏见原则:无论 Skill 来源如何(ECC 导入、自主编写、自动提取),均适用同一套检查清单
- 归档/删除等破坏性操作一律需要用户明确确认
- 评估结论不会因 Skill 来源差异而产生分支逻辑






