k-skill-cleaner

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

k-skill-cleaner

k-skill-cleaner

Use this skill when the user wants to slim down a K-skill bundle, find skills they never use, or make an evidence-backed deletion shortlist instead of deleting directories by guesswork.
当用户想要精简K-skill包、找出从未使用的技能,或者制定有数据支撑的删除候选列表而非凭猜测删除目录时,可使用本技能。

Safety contract

安全协议

  • Do not delete skills automatically. Produce a ranked recommendation first, then make deletions only after the user explicitly approves the shortlist.
  • Treat trigger counts as best-effort signals, not absolute truth. Different agents store transcripts differently and may rotate or omit logs.
  • Protect any skill the user marks as "keep", even if its trigger count is zero.
  • Prefer removing whole root-level skill directories only after checking README/docs/install references in the same change.
  • 请勿自动删除技能。先生成排序后的推荐列表,仅在用户明确批准候选列表后再执行删除操作。
  • 将触发次数视为尽力而为的信号,而非绝对事实。不同Agent存储对话记录的方式不同,可能会轮换或省略日志。
  • 保护任何用户标记为“保留”的技能,即使其触发次数为零。
  • 仅在检查同一变更中的README/文档/安装引用后,再优先删除完整的根级技能目录。

Interview first

先进行沟通

Ask a compact interview before scanning or recommending deletion:
  1. 어떤 에이전트를 주로 쓰나요? (Claude Code, Codex, OpenCode, OpenClaw/ClawHub, Hermes Agent, 기타)
  2. 절대 지우면 안 되는 스킬은 무엇인가요?
  3. 본인이 절대로 쓰지 않는다고 확신하는 스킬은 무엇인가요?
  4. 최근 30/90/180일 중 어떤 기간의 사용 흔적을 우선 볼까요? helper 실행 시
    --days
    또는
    --since
    로 반영합니다.
  5. 추천만 원하나요, 아니면 승인 후 실제 삭제까지 원하나요?
在扫描或推荐删除前,先进行简短沟通:
  1. 您主要使用哪个Agent?(Claude Code、Codex、OpenCode、OpenClaw/ClawHub、Hermes Agent、其他)
  2. 哪些技能是绝对不能删除的?
  3. 您确定绝对不会使用的技能有哪些?
  4. 优先查看最近30/90/180天中哪个时间段的使用记录?运行helper时可通过
    --days
    --since
    参数设置。
  5. 您只需要推荐,还是希望在获得批准后执行实际删除操作?

Trigger count sources by agent

各Agent的触发次数来源

AgentWhere to checkReliabilityNotes
Claude Code
~/.claude/projects/**/*.jsonl
,
~/.claude/transcripts/**/*.jsonl
best-effortLook for skill-trigger events,
$skill-name
mentions, and
SKILL.md
loads.
Codex
~/.codex/sessions/**/*.jsonl
,
~/.codex/log/**/*.log
,
.omx/logs/**/*.log
best-effortLook for routed skill names, explicit
$skill
invocations, and skill file reads.
OpenCode
~/.local/share/opencode/**/*.jsonl
,
~/.config/opencode/**/*.jsonl
best-effortIf local schema differs, ask the user for an exported transcript or usage JSON.
OpenClaw/ClawHub
~/.openclaw/**/*.jsonl
,
~/.clawhub/**/*.jsonl
if present
manual-confirmNo stable public local trigger-count schema is assumed; prefer exported stats when available.
Hermes Agent
~/.hermes/**/*.jsonl
,
~/.config/hermes/**/*.jsonl
if present
manual-confirmNo stable public local trigger-count schema is assumed; prefer exported stats when available.
Agent检查位置可靠性说明
Claude Code
~/.claude/projects/**/*.jsonl
,
~/.claude/transcripts/**/*.jsonl
尽力而为查找技能触发事件、
$skill-name
提及记录以及
SKILL.md
加载记录。
Codex
~/.codex/sessions/**/*.jsonl
,
~/.codex/log/**/*.log
,
.omx/logs/**/*.log
尽力而为查找路由技能名称、显式
$skill
调用记录以及技能文件读取记录。
OpenCode
~/.local/share/opencode/**/*.jsonl
,
~/.config/opencode/**/*.jsonl
尽力而为如果本地 schema 不同,请用户提供导出的对话记录或使用情况JSON文件。
OpenClaw/ClawHub
~/.openclaw/**/*.jsonl
,若存在则包括
~/.clawhub/**/*.jsonl
手动确认不假设存在稳定的公开本地触发次数 schema;优先使用导出的统计数据(如有)。
Hermes Agent
~/.hermes/**/*.jsonl
,若存在则包括
~/.config/hermes/**/*.jsonl
手动确认不假设存在稳定的公开本地触发次数 schema;优先使用导出的统计数据(如有)。

Local helper

本地辅助工具

From an installed standalone skill, run the deterministic helper from the
k-skill-cleaner
skill directory. In a full repository checkout, the compatibility wrapper at
scripts/k_skill_cleaner.py
accepts the same options.
bash
python3 scripts/k_skill_cleaner.py \
  --skills-root . \
  --scan-default-logs \
  --days 90 \
  --never-use blue-ribbon-nearby,lotto-results \
  --keep k-skill-setup,k-skill-cleaner
For agent exports or hand-curated counts, pass a JSON object mapping skill name to trigger count:
bash
python3 scripts/k_skill_cleaner.py --skills-root . --usage-json usage-counts.json --days 90
--days
and
--since
filter scanned log records only.
--usage-json
values are already-aggregated counts, so prepare/export that JSON for the same time window before passing it to the helper.
The helper prints JSON with:
  • skill_count
    : number of root-level skills discovered.
  • candidates
    : ranked
    remove
    or
    review
    candidates with
    trigger_count
    and
    reasons
    .
  • agent_usage_sources
    : the agent-specific paths and caveats above.
  • time_window
    : the effective
    --since
    /
    --days
    cutoff and mtime fallback caveat.
  • usage_json
    : whether imported counts were merged and the pre-windowing caveat.
  • scanned_logs
    : how many readable log files were scanned and which paths contributed best-effort evidence.
  • safety
    : reminder that no files were deleted.
从已安装的独立技能中,在
k-skill-cleaner
技能目录下运行确定性辅助工具。在完整仓库检出时,
scripts/k_skill_cleaner.py
的兼容性包装器接受相同参数。
bash
python3 scripts/k_skill_cleaner.py \
  --skills-root . \
  --scan-default-logs \
  --days 90 \
  --never-use blue-ribbon-nearby,lotto-results \
  --keep k-skill-setup,k-skill-cleaner
对于Agent导出的数据或手动整理的次数,传入一个将技能名称映射到触发次数的JSON对象:
bash
python3 scripts/k_skill_cleaner.py --skills-root . --usage-json usage-counts.json --days 90
--days
--since
仅过滤扫描的日志记录。
--usage-json
的值是已聚合的次数,因此在传入辅助工具前,请先为同一时间窗口准备/导出该JSON文件。
辅助工具会输出包含以下内容的JSON:
  • skill_count
    : 发现的根级技能数量。
  • candidates
    : 排序后的“移除”或“审核”候选技能,包含
    trigger_count
    reasons
  • agent_usage_sources
    : 上述Agent特定的路径和注意事项。
  • time_window
    : 实际的
    --since
    /
    --days
    截止时间以及修改时间回退的注意事项。
  • usage_json
    : 是否合并了导入的次数以及预时间窗口的注意事项。
  • scanned_logs
    : 扫描了多少可读日志文件,以及哪些路径提供了尽力而为的证据。
  • safety
    : 提醒未删除任何文件。

Recommendation policy

推荐规则

  • remove
    : user explicitly marked the skill as never used. Mention any zero/low trigger evidence as supporting context.
  • review
    : trigger count is zero or below the selected low-usage threshold, but the user did not explicitly ask to remove it.
  • keep
    : user-protected skills and actively triggered skills.
When reporting, group recommendations like this:
  1. 삭제 후보 — interview says never used, with trigger evidence.
  2. 검토 후보 — zero/low trigger count only.
  3. 보존 후보 — protected or recently used.
  4. 통계 한계 — which agents had no readable logs and require manual export.
  • remove
    : 用户明确标记为从未使用的技能。提及零/低触发次数的证据作为支持依据。
  • review
    : 触发次数为零或低于所选低使用阈值,但用户未明确要求移除的技能。
  • keep
    : 用户保护的技能和频繁触发的技能。
报告时,按以下方式分组推荐:
  1. 删除候选 — 用户表示从未使用,且有触发记录佐证。
  2. 审核候选 — 仅触发次数为零或极低。
  3. 保留候选 — 受保护或近期使用过。
  4. 统计局限性 — 哪些Agent没有可读日志,需要手动导出数据。

If deletion is approved

若删除获得批准

  1. Remove the skill directory.
  2. Remove README table/list entries and
    docs/features/<skill>.md
    links.
  3. Remove
    docs/install.md --skill <skill>
    entries.
  4. Remove package/workspace/test references only if the skill owns those files.
  5. Run
    npm run lint
    ,
    npm run typecheck
    , and
    npm run test
    (or
    npm run ci
    for packaging/release changes).
  1. 删除技能目录。
  2. 删除README表格/列表条目以及
    docs/features/<skill>.md
    中的链接。
  3. 删除
    docs/install.md
    --skill <skill>
    的条目。
  4. 仅当技能拥有相关文件时,删除包/工作区/测试引用。
  5. 运行
    npm run lint
    npm run typecheck
    npm run test
    (若涉及打包/发布变更,可运行
    npm run ci
    )。