SuperAPI AI 工具集

skill-cleaner

办公与效率

查看项目

更新于 10-15 18:09

技能介绍

Skill Cleaner 用于在需要裁剪技能提示预算、查找重复技能、审计启用/禁用技能根目录,或决定移除哪些技能/插件时使用。

用途

  • 管理 Codex/OpenClaw 技能提示的预算占用。
  • 发现重复技能(同名或描述/正文高度相似)。
  • 审计技能来源根目录及配置中的禁用状态。
  • 基于使用日志识别长期未使用的技能候选。
  • 为删除或压缩技能描述提供依据。

主要能力

分析脚本按顺序输出以下报告:

  1. Skill Budget(技能预算):实时 Codex 清单、2% 预算、预算内使用量以及全描述压力。
  2. Description candidates(描述候选):过长的描述,可通过放松语法节省提示预算。
  3. Duplicates(重复项):在 Codex、插件缓存、仓库同级目录与个人技能根之间,存在相同技能名称,或描述/正文近乎相同的技能。
  4. Unused candidates(未使用候选):在近期 Codex/OpenClaw 日志中,没有用户提及或实际读取 SKILL.md 的技能。
  5. Root summary(根汇总):技能来源位置,以及配置是否将其标记为禁用。

使用方式

在该技能目录或仓库根目录运行分析器:

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

删除或编辑前的检查

  • 确认保留的副本存在且已被加载。
  • 当 Codex 内置技能覆盖相关功能时,优先删除仓库本地或 agent-scripts 中的重复项。
  • 当仓库本地 OpenClaw 维护者技能编码了仓库策略或实时运维时,应保留它们。
  • 在描述中保留触发名词:产品、工具、动作、对象。

分析器说明

  • 默认情况下,codex debug prompt-input 提供模型可见的精确技能列表、顺序、名称与别名路径。--no-live 强制使用更宽泛的文件系统回退。
  • 宽泛的文件系统扫描仍用于重复、禁用与归档缓存诊断,但不作为已加载清单。
  • 脚本复刻 Codex 模型可见的行格式:- name: description (file: path)。
  • 应用类似 Codex 的 frontmatter 规则:仅 YAML frontmatter,默认名称取自父目录,单行清理后的名称与描述。
  • 遵循 Codex core-skills/src/render.rs:原始上下文的 2%,token 成本为 ceil(utf8_bytes / 4),然后是完整描述 → 等量描述截断 → 省略最小行。包含别名表行成本。
  • 读取 ~/.codex/models_cache.json 中的 GPT-5.5 上下文窗口;回退为 272,000 token 与 2%。
  • 默认只扫描常规 Codex/插件/仓库技能根。额外文件夹(如 Dropbox 归档)仅在 --root <path> 时包含。
  • --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 提及,以及工具调用参数中观察到的路径。

输出策略

  • 先建议;仅在用户要求时才编辑。
  • 若被要求应用清理,做小规模分组提交:描述、删除、配置禁用。
  • 在未指明目标位置或确认可丢弃前,不要删除被忽略或未跟踪的技能目录。

适用场景

  • 技能提示预算紧张,需要压缩描述或移除低使用率技能。
  • 多个技能根存在重复定义,需要确定保留优先级。
  • 需要审计当前加载的技能清单与禁用状态。
  • 需要基于历史日志判断技能是否仍被使用。

限制

  • 使用证据为启发式,可能无法完全反映真实使用情况。
  • 默认扫描范围有限,归档或非标准目录需显式通过 --root 指定。
  • 预算计算依赖 ~/.codex/models_cache.json,缺失时使用回退值 272,000 token 与 2%。
  • 其他收费、价格、平台或效果信息暂未提供。