关于 janitor-report
janitor-report 是用于 Claude Code 的技能,可检查用户、项目、codex、插件和源目录中的技能,并汇总清单、质量问题、重复项及损坏项。
主要功能
- 01跨范围盘点技能
- 02检查技能质量
- 03检测重复与内容重叠
- 04查找损坏链接和技能
- 05仅生成清单的简报模式
适用场景
- 01检查各范围中的已安装技能
- 02查找格式错误或信息不全的元数据
- 03清理前识别重复技能
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ khendzel/ skills-janitor --skill janitor-report安装后在 Claude Code 中输入/janitor-report确认已加载。
详细介绍
健康报告
生成一份全面的健康报告,汇总清单、质量检查、重复项检测和损坏的技能。
概览
一份报告涵盖技能所在的所有位置:用户、项目、codex、插件和源范围。插件技能会显示完整调用名称(例如 marketing-skills:image、figma:figma-use)——这些技能在 v1.2 报告中不可见。扫描 JSON 还包含一个 agents 数组(来自 ~/.claude/agents 的子 Agent;其描述会始终加载),以及每个插件的 update_available(已安装的提交与市场版本的 HEAD 之间的差异)——在报告中指出过时的插件和占用资源较多的 Agent。
模式:
/janitor-report(默认)——完整健康检查:清单 + lint + 重复项 + 损坏项/janitor-report --brief——仅清单(替代旧的/janitor-audit)
前提条件
- 已安装 skills-janitor 插件的 Claude Code(提供
scripts/scan.sh、lint.sh、detect_dupes.sh) - bash 3.2+(macOS 自带的 bash 可用;无需外部依赖)
- 具有读取
~/.claude/skills、~/.claude/agents和已安装插件元数据的权限 - 无需身份验证或 API 密钥——脚本仅读取本地文件
说明
步骤 1:运行脚本
完整报告:
bash ~/.claude/skills/skills-janitor/scripts/scan.sh
bash ~/.claude/skills/skills-janitor/scripts/lint.sh
bash ~/.claude/skills/skills-janitor/scripts/detect_dupes.sh
简要模式(仅清单):
bash ~/.claude/skills/skills-janitor/scripts/scan.sh
步骤 2:各脚本的检查内容
- 清单(scan.sh)——所有范围内的技能、符号链接状态、frontmatter 字段、行数;
agents和plugins(含update_available)数组;broken_symlinks计数。 - 质量检查(lint.sh)——严重:符号链接损坏、缺少 SKILL.md、缺少 frontmatter。警告:
name或description缺失或为空、description过短或过长、缺少版本。信息:无正文内容、无 Gotchas 部分、文件过大。 - 重复项检测(detect_dupes.sh)——名称冲突(不同路径上的两个技能具有相同的限定名称)和描述重叠(Jaccard 相似度 >30%),并明确列出跨范围的用户与插件配对(例如
marketing-seo-audit(用户)↔marketing-skills:seo-audit(插件))。
步骤 3:生成统一报告
将三项输出合并为一个表格,标注严重级别,然后给出建议操作。
输出
| Skill | Scope | Status | Issues |
|----------------------------------|----------|-------------|------------------------------------------|
| marketing-copywriting | user | DUPLICATE? | 90% overlap with marketing-skills:copywriting |
| seo-audit | user | WARNING | Description too short |
| old-deploy-helper | user | CRITICAL | Broken symlink |
| figma:figma-use | plugin | OK | - |
针对各类问题的建议操作:
- 符号链接损坏 →
/janitor-fix --prune - 质量问题 →
/janitor-fix - 用户与插件重复 → 卸载用户范围内的副本并使用插件(反之亦可)
- 插件过时(
update_available: true)→/plugin update <name> - 令牌浪费 →
/janitor-value - 可疑内容(注入短语、危险脚本)→
/janitor-security - 未使用的 MCP 服务(运行
scripts/mcp.sh获取清单)→ 移除配置项或运行/janitor-swipe
错误处理
-
错误:
scan.sh: No such file or directory解决方案:插件安装在其他根目录下。使用ls ~/.claude/skills查找插件,或检查插件缓存,然后从实际位置运行脚本。 -
错误:扫描输出不是有效的 JSON 解决方案:重新运行并显示 stderr(去掉任何
2>/dev/null),并报告出错行;通常是技能目录名称包含特殊字符所致。 -
错误:已安装插件,但
plugins数组为空 解决方案:~/.claude/plugins/installed_plugins.json缺失或格式未知——报告所用的 Claude Code 版本。
示例
示例 1:完整健康检查
输入:“检查我的技能是否存在问题。”
输出:运行全部三个脚本,将结果合并到严重级别表格中,并先报告计数:“已扫描 175 个技能:2 个严重问题(符号链接损坏)、5 个警告、3 个可能重复项、2 个插件有可用更新。”
示例 2:仅清单
输入:/janitor-report --brief
输出:仅运行 scan.sh,按范围分组展示清单,并列出每个范围的计数。
资源
- 脚本(相对于插件的路径):
{baseDir}/../../scripts/scan.sh、lint.sh、detect_dupes.sh /janitor-fix— 自动修复此报告发现的问题/janitor-value— 令牌成本 + 用量(合并)/janitor-discover— 查找或评估新技能