mcpField
J
janitor-report

janitor-report

github.com/khendzelAgent 工作流12265 次安装4 周前更新
代码仓库

关于 janitor-report

janitor-report 是用于 Claude Code 的技能,可检查用户、项目、codex、插件和源目录中的技能,并汇总清单、质量问题、重复项及损坏项。

主要功能

  1. 01跨范围盘点技能
  2. 02检查技能质量
  3. 03检测重复与内容重叠
  4. 04查找损坏链接和技能
  5. 05仅生成清单的简报模式

适用场景

  1. 01检查各范围中的已安装技能
  2. 02查找格式错误或信息不全的元数据
  3. 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

错误处理

  1. 错误:scan.sh: No such file or directory 解决方案:插件安装在其他根目录下。使用 ls ~/.claude/skills 查找插件,或检查插件缓存,然后从实际位置运行脚本。

  2. 错误:扫描输出不是有效的 JSON 解决方案:重新运行并显示 stderr(去掉任何 2>/dev/null),并报告出错行;通常是技能目录名称包含特殊字符所致。

  3. 错误:已安装插件,但 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 — 查找或评估新技能

评论

支持 Markdown