skill-stocktake 是一个以斜杠命令(/skill-stocktake)形式运行的审计工具,用于检查 Claude 的技能与命令质量,结合质量清单与 AI 整体判断。它扫描调用目录下的 ~/.claude/skills/(全局技能)与 {cwd}/.claude/skills/(项目级技能,若存在),并在第一阶段明确列出实际扫描路径。名为 .trash 的目录在两种模式下均被排除。
两种模式:Quick Scan 在 results.json 已存在时为默认模式,只重新评估自上次运行后发生变化的技能,约 5–10 分钟;Full Stocktake 在 results.json 不存在或执行 /skill-stocktake full 时触发,约 20–30 分钟。脚本依赖 PATH 中可用的 Bash、Node.js 和 jq,结果缓存于 ~/.claude/skills/skill-stocktake/results.json。
Quick Scan 流程:读取 results.json,运行 quick-diff.sh 检测变化;若输出为空则报告无变化并停止;仅对变更文件按第二阶段标准重评,其余沿用旧结果,只输出差异。Full Stocktake 分四阶段:Phase 1 清点并初始化或恢复未完成运行(scan.sh 枚举技能文件、提取 frontmatter、收集 UTC mtime);Phase 2 通过 Agent 子代理(general-purpose)按约 20 个技能一批进行质量评估,写出含 path、mtime、verdict、reason 的 skills 映射,并保存进度;全部完成后先持久化完成状态再进行 Phase 3 汇总表与 Phase 4 整合。若启动时检测到 status: "in_progress",会先运行 Phase 1 与新清单核对,仅评估缺失路径。
评估清单包括:内容与其他技能重叠、与 MEMORY.md / CLAUDE.md 重叠、技术引用时效性(必要时用 WebSearch 核验)、以及已测量的使用频率;缺失观测数据标记为未测量,不能视为零,也不能作为淘汰依据。判定包括 Keep、Improve、Update、Retire、Merge into [X],reason 字段须自包含、可据以决策。
使用限制:使用计数来自可选的 ~/.claude/observations.jsonl(可用 SKILL_STOCKTAKE_OBSERVATIONS 覆盖),Claude Code 默认不生成该文件,缺失时 use_7d 与 use_30d 为 null 并显示为未测量。评估对来源盲审,归档或删除操作始终需要用户明确确认。results.json 的 evaluated_at 必须使用实际 UTC 时间(date -u +%Y-%m-%dT%H:%M:%SZ)。