Automated summary
This skill runs an optimization loop that shrinks the total word count of a skill (SKILL.md and references/*.md) by keeping only the cuts that leave every evaluation fixture passing.
Strengths
- Closed, measurable loop: each cut is validated both by a word count and by a full run of the eval suite.
- Explicit git safety net (commit when a cut is safe, git checkout when it is not) plus a clean-working-tree precondition check.
- Blocks fake optimization by forbidding text relocation into references/, so words must actually be removed.
- Stops automatically after max-stall consecutive regressions and tells the next compressor to target a different region after each revert.
Limitations
- Entirely dependent on fixture quality: a rule the fixtures do not exercise can be deleted with no regression detected.
- Requires a clean git repository and a working eval suite; without them the loop cannot run.
- The tail of the SKILL.md is truncated, so the details of the deterministic gate remain partly unspecified.
Use it when a skill has grown verbose and you already have a reliable behavioral fixture suite to confirm that no load-bearing rule disappears.
Avoid it on a skill with no eval fixtures, in a repo with uncommitted changes, or when the exact wording itself is the deliverable.
Security analysis
CautionThe skill drives autonomous file edits, git commits/checkouts, and subagent execution, which are powerful capabilities, but all operations are scoped to the target skill directory and guarded by a clean-tree precondition. There is no exfiltration, destructive recursion, remote fetch, or safety-disabling instruction, so it is a legitimate developer tool that warrants caution rather than being risky.
- •Automatically runs `git add -A {skill_dir}` and `git commit` for each kept cut without asking the user to confirm each commit.
- •Uses `git checkout -- {skill_dir}` to discard changes; scoped to the skill directory and gated by a dirty-tree precondition, but a misjudged precondition could still lose uncommitted work in that path.
- •Spawns many general-purpose subagents per round and runs eval fixtures via `python3 scripts/eval_skills.py`, incurring cost/time and depending on an external script and the `/draft-loop` rubric.
- •Uses Bash/Edit/Write for legitimate file and git operations; no network, credential, or obfuscated-payload behavior present.
Examples
Compress writing-style/writing-style using the Ralph loop with 2 reps and a max stall of 3.Run the compression loop on my plugin's code-review skill: 3 reps, max-stall 4, and commit each cut that keeps all fixtures green.The last cut to the code-review skill was reverted because the tone fixture regressed — pick a different region and keep shrinking the total word count.description: Ralph loop that shrinks a skill's total word count without losing effectiveness. Greedily proposes cuts, keeps any that leave every eval fixture passing, and git-reverts the rest. Args: <plugin/skill> [reps] [max-stall]. Default writing-style/writing-style, reps 2, max-stall 3. allowed-tools: Bash, Agent, Read, Edit, Write
Compress Skill
Reduce a skill to its irreducible core. The fixtures are the fitness function; git is the safety net. Each round proposes one coherent cut, verifies the whole eval suite still passes, and keeps the cut only if it does. Stop when several cuts in a row all regress: what remains is load-bearing.
Argument: $ARGUMENTS = <plugin>/<skill> [reps] [max-stall]. Defaults: writing-style/writing-style, reps=2, max-stall=3.
Objective: minimize total words across SKILL.md AND references/*.md. No relocation credit — moving text from SKILL.md into a reference does not count as a cut. Words must be genuinely removed.
Constraint: every behavior fixture must still pass after the cut, every rep.
Preconditions
Run git status --porcelain for the skill directory. If it is dirty, stop and tell the user to commit or stash first — the loop relies on git checkout to revert, and that would clobber their uncommitted work. The loop commits each kept cut, so the working tree must start clean.
Steps
1. Baseline. Record starting total word count (wc -w SKILL.md references/*.md). Run the full behavior suite once (see "Run the suite") to confirm the skill currently passes everything. Any fixture that fails at baseline is excluded from the constraint (it was already failing; note it, don't let it block cuts). Set stall = 0.
2. Propose one cut. Dispatch a compressor subagent (subagent_type: general-purpose, description: Compress {skill} round {n}):
You are tightening a skill document to its irreducible core. Read every file under {skill_dir} (SKILL.md and references/). Propose THE single highest-value reduction that removes the most words while changing no rule's meaning.
Target, in priority order: (1) the same rule stated in more than one place — keep the strongest statement, cut the echoes; (2) verbose prose that a tighter sentence carries; (3) redundant or over-long examples — one crisp example beats three; (4) hedging and meta-commentary about the rules.
Do NOT delete a unique rule, a unique example, or a distinction that appears only once, even if you think it minor. Do NOT move text into another file to make one file shorter — the goal is fewer total words. Do NOT touch YAML frontmatter.
Apply the edit directly with your file tools. Then reply with ONLY: the files touched, the approx words removed, and one sentence on what redundancy you cut.
3. Verify. Re-run wc -w. If total did not drop, treat as a stall (revert is a no-op). Otherwise run the suite (reps per fixture). A cut is safe iff every behavior fixture passes every rep AND total words dropped.
4. Keep or revert.
- Safe:
git add -A {skill_dir} && git commit -m "compress {skill}: <one-line summary> (-NNN words)". Resetstall = 0. - Unsafe:
git checkout -- {skill_dir}to discard the cut. Incrementstall. Record which fixture(s) regressed and what was cut — that content is load-bearing for those fixtures.
5. Loop. If stall >= max-stall, stop: the remaining text resisted max-stall consecutive cut attempts. Otherwise go to step 2. (To keep proposals fresh after a revert, tell the next compressor which region was just tried and reverted so it picks a different target.)
Run the suite
For each behavior fixture (skip known_bad_output fixtures), reps times:
- Subject (
general-purpose): "Read {skill_dir}/SKILL.md and apply its rules. You may read references/ if it directs you to. Reply with the artifact ONLY." + the fixtureprompt. - Deterministic gate (Bash): write the output to a temp file;
grep -n $'—'for em dashes andgrep -niEfor any literal banned words named in that fixture's criteria. Any hit is a forced violation. - Judge (
general-purpose, skill-blind, MUST NOT see the skill body): the strict-JSON rubric from/draft-loopstep (c), using the fixture'scriteria.
A rep passes iff the gate is clean AND the judge returns pass: true. Load fixtures with python3 scripts/eval_skills.py <plugin> --emit-json.
Report
Compression: {start} -> {end} words ({pct}% smaller), {K} cuts kept, {S} reverted.
Kept cuts:
- <summary> (-NNN)
Load-bearing (reverted because a fixture regressed):
- <what was cut> -> regressed {fixture}
The "load-bearing" list is the valuable output: it maps which words are doing real work. Leave the skill on the last committed (passing) state.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/compress-skill-mrwake2e/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/compress-skill-mrwake2e' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/compress-skill-mrwake2e/download' --output '.skill-downloads/compress-skill-mrwake2e/SKILL.md.part' && mv '.skill-downloads/compress-skill-mrwake2e/SKILL.md.part' '.skill-downloads/compress-skill-mrwake2e/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/compress-skill-mrwake2e/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Supabase Docs Authoring
Documentation
Write, edit, and review Supabase documentation content including guides, tutorials, reference docs, and partials. Follow style guides and MDX/TOML validation rules.
Create Architecture Decision Record
Documentation
Create a new Architecture Decision Record with sequential numbering, register it in the AgentDB graph, and link related ADRs.
Plan update with deep research
Documentation
Updates a plan document by launching parallel subagents to analyze a topic across all compiler passes, then consolidates findings into the plan doc.