janitor-fix 用于自动修复技能(skill)的常见问题,默认以 dry-run 预览,只有传入 --apply 才会真正写入。它能修复用户级、项目级及 codex 范围技能的 frontmatter 问题:补全缺失的 frontmatter 分隔符(---)、用模板填充空的 description 字段、补充缺失的 version 字段(默认 "1.0.0"),并用技能文件夹名生成模板描述。
--prune 模式用于查找并移除失效符号链接(技能目录指向已删除的源)、空目录(无 SKILL.md 的技能目录)以及孤立技能(插件技能的用户级副本)。插件/市场技能不会被修改,因为其更新会被覆盖。
使用前提:安装 skills-janitor 插件的 Claude Code(提供 scripts/fix.sh)、bash 3.2+(macOS 自带 bash 即可,无外部依赖)、对自有技能目录的写权限(~/.claude/skills、./.claude/skills、~/.agents/skills)。
使用方式:先用 bash ~/.claude/skills/skills-janitor/scripts/fix.sh 预览修复,用 bash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune 预览移除;向用户展示 [DRY RUN] 行并确认后,再执行 bash ~/.claude/skills/skills-janitor/scripts/fix.sh --apply 或 bash ~/.claude/skills/skills-janitor/scripts/fix.sh --prune --apply。切勿直接跳到 --apply。
输出为每项操作行([DRY RUN] / [FIXED] / [PRUNED] / [SKIP])及可修复项、跳过项和可清除项的摘要;dry-run 摘要以 “Run with --apply to make these changes.” 结尾。所有已应用变更按时间戳记录到 data/changelog.log。
限制与注意:插件/市场技能跳过属预期行为,应建议向插件作者反馈;若 prune 列出想保留的技能,说明其目标已移动,应重建链接(ln -sfn <new-target> <link>)而非清除;模板描述需由作者替换;若修复产生意外结果,可查日志并手动恢复字段。相关命令还有 /janitor-report(查找问题)和 /janitor-value(用量与 token 成本)。