$npx -y skills add techygarg/lattice --skill skill-tightenAudit any Lattice SKILL.md for language compliance — removes rationale prose, converts soft language to imperatives, adds STOP: gates on hard rules, and cuts redundant repetition. Complements skill-review (which finds behavioral gaps) by fixing phrasing that causes agents to skip
| 1 | # Skill Tighten |
| 2 | |
| 3 | **Core responsibility:** Fix language that causes agents to skip or underweight instructions. Not behavioral gaps — that is `skill-review`'s job. Only phrasing: rationale prose, soft language, missing enforcement signals, redundant repetition. |
| 4 | |
| 5 | **Input:** One or more of: |
| 6 | - A file path: `skills/atoms/clean-code/SKILL.md` |
| 7 | - A skill name: `clean-code` (resolves to the correct path automatically) |
| 8 | - A tier: `atoms` (tightens all skills in that tier) |
| 9 | - No argument: tightens all skills across all tiers |
| 10 | |
| 11 | **Output:** Edited files + a report per skill: |
| 12 | ``` |
| 13 | ## skill-tighten — {skill-name} |
| 14 | Lines: {before} → {after} |
| 15 | Changes: |
| 16 | 1. {what changed} — {one-line reason} |
| 17 | 2. ... |
| 18 | Result: TIGHTENED ({N} changes) | CLEAN (no changes needed) |
| 19 | ``` |
| 20 | |
| 21 | **How to verify this skill did its job:** |
| 22 | - Every cut section had zero commands — only rationale |
| 23 | - Every softened phrase was "consider / think about / you may want to / it is recommended" |
| 24 | - Every added STOP: was on a hard rule that previously had no enforcement signal |
| 25 | - No rule, gate, checklist item, or branching logic was removed |
| 26 | - Re-running after edits returns CLEAN |
| 27 | |
| 28 | --- |
| 29 | |
| 30 | ## Step 1: Read the skill |
| 31 | |
| 32 | Read the full SKILL.md. Also read all sibling files: `references/defaults.md`, `references/methodology-detail.md`, `assets/template.md`, or any file referenced by a `Read` instruction in the skill body. |
| 33 | |
| 34 | Do not edit yet — complete the full audit first. |
| 35 | |
| 36 | --- |
| 37 | |
| 38 | ## Step 2: Apply the tighten checklist |
| 39 | |
| 40 | For each item, scan the entire file. Mark every instance found — do not stop at the first. |
| 41 | |
| 42 | ### T1 — Non-actionable sections |
| 43 | |
| 44 | Sections that explain why the skill exists, describe the problem, or narrate context without issuing a single command. Cut the entire section. Preserve the pointer to a referenced file if one exists. |
| 45 | |
| 46 | Patterns that always qualify: |
| 47 | - Section titled "Core Principle", "Purpose", "Problem", "Background", "Why This Matters", "How It Is Used", "Integration with Other Skills" |
| 48 | - Opening paragraph before a numbered list that restates what the numbered list will do |
| 49 | - Closing paragraph after a gate that explains what happens if the gate were skipped |
| 50 | |
| 51 | **Pass:** Section contains at least one imperative instruction (do, read, write, verify, check, apply, stop, flag). |
| 52 | **Fail:** Section contains only declarative statements, rationale, or scope commentary. |
| 53 | |
| 54 | ### T2 — Soft language |
| 55 | |
| 56 | Words and phrases that agents treat as optional: |
| 57 | |
| 58 | | Pattern | Replace with | |
| 59 | |---|---| |
| 60 | | `consider X` | `X` (imperative) or remove | |
| 61 | | `think about X` | remove | |
| 62 | | `you may want to X` | remove | |
| 63 | | `it is recommended to X` | `X` | |
| 64 | | `should` (as soft suggestion) | `must` or remove | |
| 65 | | `try to X` | `X` | |
| 66 | | `where possible, X` | `X` or remove | |
| 67 | |
| 68 | **Pass:** Instruction is an imperative verb with no hedging qualifier. |
| 69 | **Fail:** Instruction contains any of the patterns above. |
| 70 | |
| 71 | ### T3 — Missing STOP: gates |
| 72 | |
| 73 | Hard rules that must not be skipped — gates on advancing to next steps, checklist preambles, non-negotiable constraints — stated as bold prose without a `**STOP:**` prefix. |
| 74 | |
| 75 | **Pass:** Hard gate reads `**STOP:**` as the first token of its line or sentence. |
| 76 | **Fail:** Hard gate is phrased as "Do NOT...", "Never...", "Always verify...", "Must not..." without the STOP: prefix. |
| 77 | |
| 78 | Add `**STOP:**` prefix. Do not rewrite the instruction itself. |
| 79 | |
| 80 | ### T4 — Redundant repetition |
| 81 | |
| 82 | The same point stated twice in different words. Keep the sharper version; cut the other. |
| 83 | |
| 84 | Patterns: |
| 85 | - Section heading restated in the section's opening sentence |
| 86 | - Instruction followed by a sentence explaining what the instruction means |
| 87 | - Rationale sentence after a clear gate ("Without this, X would happen") |
| 88 | - Same rule in two adjacent bullets |
| 89 | |
| 90 | **Pass:** Each statement appears once in its sharpest form. |
| 91 | **Fail:** Two sentences convey the same instruction or the same constraint. |
| 92 | |
| 93 | ### T5 — Table column bloat |
| 94 | |
| 95 | Columns whose content explains why a trigger exists, rather than being the trigger. |
| 96 | |
| 97 | Common offenders: columns titled "Why", "Reason", "Rationale", "Because", "Notes" in a table whose other columns already encode the actionable information. |
| 98 | |
| 99 | **Pass:** Every column in the table is actionable — the agent does something with it. |
| 100 | **Fail:** A column contains only explanatory prose the agent reads but cannot act on. |
| 101 | |
| 102 | Drop the column. Do not drop the row. |
| 103 | |
| 104 | ### T6 — Trailing rationale sentences |
| 105 | |
| 106 | Sentences appended to a clear instruction tha |