Every line in a skill file has a cost. Not just the obvious cost (tokens consumed) but two hidden costs that compound silently: maintenance burden and inflated importance. This lesson gives you the discipline to cut — confidently, methodically, and without fear of breaking what works.
A single line in a skill file pays three costs simultaneously:
Every line occupies context window space. With 30+ skills, each unnecessary line is multiplied across every session. A 10-line no-op section across 30 skills is 300 lines of dead weight — every turn.
Every line must be kept consistent with the rest. When you change the skill's behaviour, you must update every line that references that behaviour. More lines = more places to forget.
The model treats all content with roughly equal weight. A no-op instruction sitting next to a critical steering rule dilutes the critical rule's signal. The more noise, the less the agent attends to what matters.
If you can remove a line without changing behaviour, keeping it actively hurts the skill. It's not neutral — it's negative value. You're paying three costs for zero benefit.
Lines accumulate in skills through three distinct mechanisms. Recognising which one you're looking at determines the remedy.
Definition: Old content that was relevant once but never got cleared. It accumulates because adding feels safe while removing feels risky.
How to spot it: Read each line and ask "Does this reflect how the skill currently works?" If it reflects a previous version of the skill's behaviour, it's sediment.
Pattern to grep for: Rules that contradict other rules. Instructions that reference features or workflows that no longer exist. Caveats about edge cases you've since handled differently.
Definition: The same meaning expressed in multiple places. Often one in the objective, another in the workflow, a third in the rules.
How to spot it: The single-source test — "Is this meaning stated anywhere else in this file?" If yes, pick one location and delete the rest.
Pattern to grep for: Paraphrased versions of the same instruction. An objective that restates what the workflow already says step-by-step. Rules that echo what the success criteria already require.
Definition: An instruction that changes nothing because the model already does it by default. You pay token cost for zero behavioural change.
How to spot it: The deletion test — "If I remove this line, what changes?" If the answer is "nothing, the model would do this anyway," it's a no-op.
Pattern to grep for: "Write clean code", "Be helpful", "Follow best practices", "Use proper error handling", "Think step by step", "Be thorough".
For every line: "If I remove this, what changes in the skill's output?"
For every line: "Is this meaning stated anywhere else in this skill?"
architect SkillLet's apply pruning discipline to a real skill. Here's an excerpt from the architect skill's workflow "During the session" section:
Let's classify each rule:
| Rule | Test Result | Verdict |
|---|---|---|
| "Challenge assumptions" | Deletion test: would the model challenge assumptions without this? Partially — but the specific framing "ask why, there may be a simpler path" steers toward a behaviour the model might not default to. | Keep Load-bearing — shapes a specific conversational behaviour. |
| "Deletion over addition" | Single-source test: Is this stated elsewhere? Yes — the architecture ladder step 1 ("Does this component need to exist?") and the ponytail dependency both convey this principle. | Delete Duplication — the ladder already embodies this principle structurally. |
| "AWS-native by default" | Deletion test: Without this, would the model reach for AWS services? Only if the user context implies it. This rule creates a default preference. | Keep Load-bearing — sets a default that wouldn't exist otherwise. |
| "Ask which language" | Deletion test: Would the model ask? Maybe. But this is a one-liner that prevents a common failure (assuming Go). High value per token. | Keep Load-bearing — prevents a specific, known failure. |
| "Cross-reference with code" | Deletion test: Would the model verify claims against code? Not reliably. This makes verification a habit, not an afterthought. | Keep Load-bearing — models often accept user claims at face value. |
| "Update CONTEXT.md" | Deletion test: Would the model proactively update CONTEXT.md? No — this is a side-effect instruction that creates a valuable habit. | Relocate Right content, wrong place — should be a workflow step, not a bullet in "during the session." |
| "Offer ADRs" | Same as above — a proactive side-effect. But the criteria are clear and specific: "hard to reverse, surprising, real trade-off." | Keep Load-bearing — specific trigger criteria the model wouldn't infer. |
| "Mark deliberate simplifications" | Single-source test: The output format template already has a "Deliberate Simplifications" table with columns for Ceiling and Upgrade When. | Delete Duplication — the output template already enforces this. |
Every line gets one of three verdicts:
| Verdict | Meaning | Action |
|---|---|---|
| Keep | Load-bearing — removing it changes behaviour for the worse | Leave it. Ensure it's in the right location. |
| Relocate | Right content, wrong place — it belongs in a different section | Move it. Often: from rules → workflow step, or from inline → REFERENCE.md |
| Delete | No-op, sediment, or duplicate — paying cost for no value | Remove it. If nervous, check the deletion test one more time. |
Here's the architect's "During the session" section after pruning:
Three lines removed (37% reduction). "Update CONTEXT.md" was relocated to a workflow step. "Deletion over addition" and "Mark deliberate simplifications" were deleted as duplication. The remaining rules are all load-bearing — each one changes the model's behaviour in a way it wouldn't default to.
<objective> Produce concise, actionable code reviews. </objective>Rules: - Keep reviews concise and actionablearchitect skill has a rule: "Always consider scalability." Two months later you added the architecture ladder which explicitly asks "Does this handle real-world load?" at step 3. What's the old rule now?wc -l ~/.kiro/skills/*/SKILL.md | sort -rn | head -5 to find it.writing-great-skills GLOSSARY.md — Pruning section — Matt Pocock. The definitions of Sediment, Duplication, No-Op, Single Source of Truth, and Relevance. ~3 min read.