prune

prune is a skill for Claude Code, Codex from scolladon/craft. It costs 60 tokens per session (1,459 once invoked), scanned A, original, MIT.

A read-only review skill that examines a project's agent harness—the files and rules used to run its workflow—for parts that may no longer be needed.

In plain words
What is it for?
Use it when reviewing the harness for possible cleanup; it reads the required denylist first and produces proposals for a human to approve.
Why use it?
It helps identify maintenance burden without changing or deleting anything automatically.

Skill for Claude CodeCodex

Part of the craft plugin — 20 skills, 4 commands, 18 agents, 1 hook shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/scolladon/craft/prune
Any agent
npx skills add scolladon/craft --skill prune
Clone the repo
git clone --depth 1 https://github.com/scolladon/craft

Made for: Claude Code, Codex.

Or install craft, the plugin that ships this one along with the rest of its 20 skills, 4 commands, 18 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for prune

README.md
[![agentmods](https://agentmods.dev/badge/skills/scolladon/craft/prune.svg)](https://agentmods.dev/skills/scolladon/craft/prune)
Your own site
<a href="https://agentmods.dev/skills/scolladon/craft/prune"><img src="https://agentmods.dev/badge/skills/scolladon/craft/prune.svg" alt="Measured on agentmods" height="20"></a>
Per session 60 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,459 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00060 $0.01459
Opus 5 $0.00030 $0.00730
Sonnet 5 $0.00012 $0.00292
Haiku 4.5 $0.00006 $0.00146

Measured 4d ago against content hash c27523bc8f4f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

prune scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/prune/SKILL.md · 127 lines

How it starts

The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.

craft:prune — standing harness-prune review

Standalone, session-owned skill, invoked on demand. It is not a pipeline phase — it is not part of the default pipeline and never runs unless a session explicitly invokes it. An uninvoked skill is inert: zero drag, nothing to revert, nothing to maintain against a run that never happens.

This skill is ADVISORY and read-only: it writes no harness file. Its only output is a proposal a human reviews. A run that finds nothing to propose is a recorded no-op, never a blocker.

Input: $ARGUMENTS (zero-argument).


Preamble — read the denylist first, fail closed

Before inspecting anything else, read contracts/core.md. It is the undroppable-core denylist every later candidate is checked against.

  • Fail-closed. If contracts/core.md cannot be read, stop here and emit no proposals. Never fall back to an empty denylist and propose against it — an unreadable denylist is a hard stop, not a green light.
  • The same refusal covers the non-overridable cross-phase invariants documented alongside the core contract: a candidate mapping to either is refused before it is ever emitted, not merely flagged after the fact.

Inspection scope

Read-only, over exactly these paths:

  • contracts/*.md — the invariant floors, read both as the denylist source and as inspection material (a floor can also restate itself redundantly across files).
  • The lint set — scripts/*-lint.sh, engine/bin/*-lint.js, and the engine/src modules those bins import.
  • Skill and agent prose — skills/**, agents/**.

Resolve the current model identity from the run context; when the run context does not carry it, read docs/guides/model-class-matrix.md. Flag drag the resolved model no longer needs: belt-and-braces guidance that duplicates behaviour the model already carries natively, a lint superseded by a newer mechanism, or prose restating what the model now does without being told.

Rule-vs-fact. A unit that encodes a decision procedure the model can already run, where stating one missing fact would suffice. The candidate's replacement is the fact itself, stated once, at the place the procedure lived.

Read the full file on GitHub · 127 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 127 lines · 60 tokens per session scan A c27523bc8f4f

Subscribe to this mod's changes

prune is a skill published in the GitHub repository scolladon/craft (2 stars, last pushed 16d ago), licensed MIT. It adds 60 tokens to every session and 1,459 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

define

Manifest builder. Turns shared understanding into a verifiable Manifest with Deliverables, Acceptance Criteria, Global Invariants, and an Initial Approach. Use when planning features, scoping refactors, debugging complex issues, or when the user asks to define, scope, plan, spec out, make a manifest, or break down a…

doodledood/manifest-dev · 68 tokens

check-pr

Read-only inspection of a single GitHub PR lifecycle — checks CI, review threads, description sync, and mergeability, and returns PASS or FAIL with per-gate findings. Never invokes the merge button. Use when verifying a PR is ready to merge, polling lifecycle progress, checking mergeability, or babysitting a GitHub PR…

doodledood/manifest-dev · 74 tokens

babysit-pr

Author-side PR lifecycle babysitter and companion to review-pr. Use when the user wants to tend an existing GitHub PR through CI, review threads, description sync, mergeability, auto-fixes, or asks to babysit a PR with or without an existing manifest.

doodledood/manifest-dev · 59 tokens

review-code

Review a change along one specific quality dimension — bugs, design, simplicity, maintainability, testability, test quality, type safety, contracts, operational readiness, docs, prose value, change intent, defect-class completeness after a fix, or CLAUDE.md adherence. Loads exactly one dimension reference and audits…

doodledood/manifest-dev · 103 tokens

just-define

Goal-based Manifest builder. Encodes shared understanding into a verifiable Manifest — Deliverables, Acceptance Criteria, Global Invariants — deciding for itself how to interview. Use when the user asks to just define it, spec it lean, or make a manifest with minimal process.

doodledood/manifest-dev · 58 tokens

update-lid

Configure or reconcile a project for linked-intent development (LID). Dispatches on project state — fresh bootstrap, append directives to an existing agent-instructions file (AGENTS.md or CLAUDE.md), add missing mode marker, reconcile convention drift, or run mode transitions. Invoked as /update-lid. For fresh…

jszmajda/lid · 105 tokens