mcpField
S
skill-prune

skill-prune

github.com/transilienceaiAgent workflows598150 installsUpdated 13w ago
Repository

About skill-prune

skill-prune is a maintenance skill for removing obsolete, orphaned, or redundant material from agent skills. It evaluates candidates against explicit signals and safety rules, then requires an approved deletion plan rather than deleting automatically.

Key features

  1. 01Four criteria for pruning content
  2. 02Safety checks for protected files
  3. 03Deletion plan with rationales
  4. 04Post-prune link and duplicate checks

Use cases

  1. 01Quarterly skill maintenance
  2. 02Reviewing orphan reports from the linter
  3. 03Trimming oversized skill files
  4. 04Removing content for retired challenges

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/transilienceai/communitytools --skill skill-prune

After installing, type/skill-prunein Claude Code to confirm it loaded.

Details

From the project README

Skill Prune

Inverse of /skill-update. Removes content rather than adding it. Run during quarterly maintenance, after engagements, or when scripts/skill_linter.py reports orphans / duplicates.

When to invoke

  • Quarterly cadence.
  • After scripts/skill_linter.py --check-orphans reports orphan reference files.
  • After a SKILL.md or reference file grows past its cap and needs trimming.
  • After a de-specialization sweep, to drop content tied to retired challenges.

Prune criteria (the four signals — same shape as /skill-update, inverted)

A reference / scenario / line is a prune candidate when it satisfies any of:

  1. Orphan — not linked from any SKILL.md or other reference file in the last 60 days.
  2. Referenced only by failed engagements — appeared in attack-chain.md of runs that ended status=BLOCKED, never in a successful chain.
  3. Contradicted by newer content — a later scenario / pattern supersedes it; the older entry no longer reflects current technique.
  4. Redundant with newer content — same technique covered more clearly elsewhere.

Removing content fails any of these → keep it.

Safety rules

  • Never prune a file with <!-- KEEP: <reason> --> annotation.
  • Never prune content cited in a still-open engagement's OUTPUT_DIR/attack-chain.md.
  • Never prune the canonical-home file for a single-owner rule (brute-force, output-discipline, env-reader, skill-update).
  • Bias toward keeping technique-rich content over operational lore.

Procedure

  1. Run scripts/skill_linter.py --check-orphans to surface orphans.
  2. For each candidate file or block, evaluate the four signals.
  3. Build a deletion plan — show files / lines to remove with one-line rationale per item.
  4. Apply deletions only after the plan is approved (skill-prune does not auto-delete during invocation).
  5. Re-run scripts/skill_linter.py to confirm the change broke no other links and didn't reintroduce duplicates.

Output

Concise change report:

  • Removed. File or block + one-line rationale per item.
  • Kept (flagged for follow-up). Items that failed all four signals but are worth revisiting next quarter.
  • No prunes. State explicitly when nothing warranted removal.

Anti-Patterns

  • Pruning content because it's old — age alone is not a signal; relevance is.
  • Pruning a reference because its parent SKILL.md is bloated — fix the SKILL.md instead.
  • Removing a single-owner canonical file (brute-force / output-discipline / env-reader).
  • Pruning during an active engagement that may still cite the content.

Comments

Markdown supported