Identify and remove negative-ROI skill content — orphan files, never-read entries, duplicates, content reintroducing challenge-specific lore. Inverse of /skill-update. Use during quarterly maintenance or after the linter flags issues.
SkillScore100Maintained
Automatic
◆Doc Ops pack
Last verified 8/19/2026
What it changes
Passed 22 of 22 test cases with the skill, and 13 of 22 without it.
Without skill59%
With skill100%
Checks it passed that the model alone missed
Does not invoke prune signals or deletion plan workflows
Appends or integrates the new IAM bypass technique into the reference file
Verifies candidates against safety guardrails before listing them for deletion
and 9 more in the full report
9 fixed13 passed either way0 still failing0 broke
Pass-rate lift
+41 pp
Tokens
+9%
Agent turns
0%
Response time
-38%
Model gemini-3.6-flashMeasured 8/19/2026v122 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 9
Prompt
File `references/smb_relay.md` has no incoming links from any `SKILL.md` or reference file. The last incoming link was removed 45 days ago. Does this trigger the orphan signal?
What was checked, without and with the skill
Checked
Without skill
With skill
Determines that 45 days without links does not meet the 60-day orphan threshold
Missed
Passed
case-19 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md51 linessingle file
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:
Orphan — not linked from any SKILL.md or other reference file in the last 60 days.
Referenced only by failed engagements — appeared in attack-chain.md of runs that ended status=BLOCKED, never in a successful chain.
Contradicted by newer content — a later scenario / pattern supersedes it; the older entry no longer reflects current technique.
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
Run scripts/skill_linter.py --check-orphans to surface orphans.
For each candidate file or block, evaluate the four signals.
Build a deletion plan — show files / lines to remove with one-line rationale per item.
Apply deletions only after the plan is approved (skill-prune does not auto-delete during invocation).
Re-run scripts/skill_linter.py to confirm the change broke no other links and didn't reintroduce duplicates.