mcpField
S
skill-cleaner

skill-cleaner

github.com/steipeteAgent 工作流7.4k596 次安装1 周前更新
代码仓库

关于 skill-cleaner

用于审查 Skill 清单、提示词预算压力、重复项和近期使用迹象的 Node.js 分析器,可扫描指定目录与日志并生成报告。它先提供清理建议,仅在收到要求后才修改内容。

主要功能

  1. 01估算 Skill 提示词预算用量
  2. 02查找重复及相似 Skill
  3. 03从日志识别可能未使用项
  4. 04审查 Skill 根目录与禁用状态
  5. 05生成报告但不自动修改

适用场景

  1. 01缩短 Skill 描述以控制提示词预算
  2. 02比较不同仓库中的重复 Skill
  3. 03检查已启用和已禁用的 Skill 目录
  4. 04确定要保留或移除的 Skill

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/steipete/agent-scripts --skill skill-cleaner

安装后在 Claude Code 中输入/skill-cleaner确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
scripts/
skill-cleaner.test.ts
skill-cleaner.ts

详细介绍

Skill Cleaner

用于削减技能提示词预算、查找重复技能、审查已启用或已禁用的技能根目录,或决定移除哪些技能/插件。

工作流

  1. 从此技能目录或仓库根目录运行分析器:
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --months 3

实用变体:

node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --no-live --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --months 6 --max-log-mb 800 --deep-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --context-tokens 272000 --budget-percent 2 --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --root ~/Dropbox/boxd/skills --no-logs
node --experimental-strip-types skills/skill-cleaner/scripts/skill-cleaner.ts --root ~/.agents/skills --root-only --no-logs
  1. 按以下顺序阅读报告:
  • Skill Budget:实时 Codex 技能清单、2% 预算、预算用量和完整描述带来的压力。
  • Description candidates:可通过放宽语法来节省提示词预算的长描述。
  • Duplicates:Codex、插件缓存、仓库同级目录和个人技能根目录中名称相同或描述/正文近乎相同的技能。
  • Unused candidates:近期 Codex/OpenClaw 日志中没有用户提及记录,也没有实际读取 SKILL.md 的技能。
  • Root summary:技能来源,以及配置是否将其标记为已禁用。
  1. 删除或编辑之前:
  • 确认保留的副本确实存在且已加载。
  • 如果 Codex 内置技能已涵盖相关内容,优先删除仓库本地或 agent-scripts 中的重复项。
  • 如果仓库本地的 OpenClaw 维护者技能包含仓库策略或实时运维信息,请予以保留。
  • 在描述中保留触发词:产品、工具、操作、对象。

分析器说明

  • 默认情况下,codex debug prompt-input 会提供模型可见的确切技能列表、顺序、名称和别名路径。--no-live 会强制使用范围更广的文件系统回退方案。
  • 广泛的文件系统扫描仍用于重复项、已禁用技能和归档缓存诊断;不会将其视为已加载的技能清单。
  • 该脚本会仿照 Codex 模型可见行的格式:- name: description (file: path)。
  • 它采用类似 Codex 的 frontmatter 规则:仅处理 YAML frontmatter;默认使用父目录作为名称;name 和 description 均为单行并经过清理。
  • 它遵循 Codex core-skills/src/render.rs 的规则:使用原始 context_window 的 2% 作为预算,token 成本按 ceil(utf8_bytes / 4) 计算,然后依次尝试完整描述、等长截断描述,最后省略最少行数。别名表行的成本也计入预算。
  • 它会读取 ~/.codex/models_cache.json 中 GPT-5.5 的 context_window;读取失败时,回退为 272,000 tokens 和 2%。
  • 默认只扫描常规 Codex/插件/仓库技能根目录。只有使用 --root <path> 时才会纳入 Dropbox 归档等额外文件夹。
  • --root-only 要求至少提供一个 --root <path>,会跳过实时 Codex 技能清单,只扫描指定根目录。
  • 它会对根目录执行 realpath 去重,因此 ~/.codex/skills/agent-scripts -> ~/Projects/agent-scripts/skills 等符号链接根目录不会造成误报的重复项。
  • 对于名称重复的技能,它会报告描述/正文相似度,并且仅在正文近乎相同时建议删除候选项。默认保留优先级为:Codex 直接提供的系统技能、Codex 直接提供的技能、插件技能、个人/仓库副本。
  • 默认会扫描 ~/.codex/history.jsonl 和近期的 ~/.codex/sessions/**/*.jsonl。使用 --deep-logs 可扫描归档会话以及常见的 OpenClaw/Clawd 日志文件夹。
  • 使用情况证据为启发式判断:用户提及 $skill/use skill,以及工具调用参数中出现的路径。

输出策略

  • 先提出建议;只有用户提出要求时才编辑。
  • 如果用户要求执行清理,请按小组提交更改:描述、删除项、配置禁用项。
  • 不要删除被忽略或未跟踪的技能目录,除非已说明目标位置,或确认这些目录可以删除。

评论

支持 Markdown