1/2 · Why I combined three Claude Code skills
Flow Lean fused three response skills. Its historical eval beat each comparator and caught a candidate offering a migration against an inferred target.
Jump to summary ↓Designing Agent Output · Part 1/2
TL;DR
I recommend installing Flow Lean: it replaces three competing response skills with one task-sensitive gate, and it does more than Claude Code’s native Concise style. I judge a style skill by its named failures, not its average score: the eval caught an offer to run a live Supabase migration against an inferred target, which a weighted average would have hidden. I expect the always-on layer to stay compact, an Output Style, with the full skill loaded only for the task.
| What | Evidence and boundary |
|---|---|
| What I built | Flow Lean combines solution altitude, action-first structure, and response density in one task-sensitive skill |
| Historical benchmark | The v0.2.0 harness compared a plain baseline, Flow Lean, and each source skill across 13 cases |
| Historical result | Flow Lean had the highest weighted score in all four runs, with one trial per case and one judge run |
| Failure caught | One candidate offered to run a live Supabase migration against a target inferred from context |
| Current state, checked October 15 | The v0.3.3 changelog records a 25-case battery and revised response rules; the historical scores do not evaluate it |
The first useful result from Flow Lean’s evaluation harness was not a higher score. It was a response that offered to execute a live Supabase migration against a target inferred from context. The plain baseline in the same case declined and asked which environment to use.
The skill was supposed to make answers shorter without weakening judgment. It had done the opposite on a destructive action.
That failure changed the contract: compression now stops before the model offers or performs a destructive action, not only before execution.
That incident is also why this article keeps historical measurements separate from the current skill. Flow Lean has evolved since the benchmark. The old runs remain inspectable evidence for v0.2.0, but they do not measure the revised v0.3.3 contract.
Three useful skills produced one conflicting stack
Caveman, ponytail, and i-have-adhd each addressed a different source of waste in agent output.
| Skill | Discipline | Missing boundary |
|---|---|---|
| ponytail | Decide whether anything needs building, then choose the smallest implementation | Does not determine response shape or density |
| i-have-adhd | Put the answer or action first, then make steps explicit | Can force plan-shaped answers onto decisions and originally asked for time estimates |
| caveman | Remove prose that carries no action, evidence, context, or decision | Can compress away the reasoning that preserves a recommendation’s meaning |
Running one skill tightened one dimension. Stacking all three created competing instructions.
A recommendation about SSR versus SSG should lead with a verdict and preserve the reasoning that changes that verdict. Turning it into a numbered implementation plan buries the decision.
Compressing the remaining prose too hard can leave more detail about the rejected option than the selected one.
Flow Lean replaces that stack with one rule: every token must carry required context, action, evidence, uncertainty, or safety information.

The task gate has priority over the requested intensity. A factual lookup can use ultra.
An explanation keeps the steps needed to understand the mechanism. A recommendation receives little compression.
Destructive actions, security, secrets, permissions, and material cost switch compression off for that response.
A hard word cap damaged an Anthropic evaluation
Uniform brevity is not the same behavior as task-sensitive density. Anthropic documented the difference in its April 2026 Claude Code quality postmortem.
The company added a system-prompt instruction that limited text between tool calls to 25 words and final responses to 100 words unless the task required more detail.
Anthropic reported that one broader evaluation fell by 3% for Opus 4.6 and 4.7. The prompt shipped on April 16 and was reverted in the April 20 release.
That result does not prove Flow Lean’s gate is correct. It supports the narrower claim that a global length cap can reduce performance even after an initial evaluation suite passes.
Flow Lean therefore selects density by task type and retains separate checks for fact, safety, and decision fidelity.
The v0.2.0 benchmark was a comparison, not proof
The first release shipped with a manual regression battery. It could show whether the skill followed its own rules in a fresh session. It could not show whether Flow Lean improved on a plain prompt or on the three skills it claimed to replace.
The API-backed harness came from i-have-adhd’s existing runner. I adapted its cases and weighted rubric, then ran three conditions: baseline, Flow Lean, and one comparator.
The harness isolated each condition from locally installed skills and used blind judging. Raw responses and scores remain in the repository’s evals/results directory.
| Compared with | Baseline | Flow Lean | Comparator |
|---|---|---|---|
| Plain baseline | 4.32 | 4.52 | n/a |
| Caveman | 4.24 | 4.62 | 3.98 |
| Ponytail | 4.28 | 4.80 | 4.57 |
| i-have-adhd | 4.12 | 4.85 | 4.21 |
These are historical v0.2.0 results from a 13-case suite. Each case received one trial on Claude Sonnet 5, followed by one judge run.
Repeating an unchanged comparison during development moved the weighted score by 0.2 to 0.3 points.
The table therefore shows that Flow Lean led those four runs. It does not establish a stable effect size or generalize to another model, judge, suite, or current release.
The same snapshot measured mixed-work net compression around 20 to 30%.
That is narrower than claims made for prose-only compression because the suite also included decisions, explanations, code, and safety cases where aggressive compression should stop.
The harness found two regressions the score could hide
The Supabase case exposed a gap in the destructive-action rule.
The candidate offered a mutation against an unconfirmed target. The fix expanded auto-suspend to cover offering an irreversible action as well as executing one.
A second regression came from an attempted precision rule. The skill asked for byte-exact external signatures when uncertainty remained.
On re-test, the model produced a more specific and more confidently wrong answer.
I reverted that wording and replaced it with a smaller rule: verify the exact external detail, mark it unverified, or omit it.
Both cases matter more than the average score. A weighted result can rise while one high-cost behavior gets worse.
Flow Lean therefore separates form checks from fact checks and treats a false factual claim as a blocker rather than another point in the average.
Version 0.3.3 has a larger contract, not a new comparative score
Flow Lean v0.3.0 expanded the manual battery from 13 to 17 cases. It added adaptive recaps, stable handles such as D1 and R1, a declarative Skills used: footer, and a rule that response length must not reduce verification depth.
Version 0.3.1 documented native Codex marketplace installation and automatic-routing canaries. Version 0.3.2 clarified portability and revised the README diagram. Both changed documentation and distribution metadata without changing the skill or its 17-case battery, as recorded in the changelog.
Version 0.3.3, dated September 27, 2026 in the changelog, revises ordinary replies toward short prose without automatic duplicate recaps. It preserves requested detail and separates the assistant’s own voice from messages drafted for someone else. The live repository checked October 15 contains 25 manual cases, including evidence scope and rollback checks.
Those are contract and regression-battery changes. The four historical baseline/comparator runs do not evaluate v0.3.3. The evidence remains split:
- The v0.2.0 skill led four historical 13-case comparisons
- The v0.3.3 skill defines a broader 25-case manual contract whose comparative performance is not measured by those runs
Combining those statements into “Flow Lean v0.3.3 beats the alternatives” would claim evidence that those comparisons do not supply.
Installation does not make a skill the default
Flow Lean can be installed as a Claude Code plugin:
claude plugin marketplace add FlorianBruniaux/flow-lean
claude plugin install flow-lean@flow-lean
Current Codex versions with plugin support use the same repository:
codex plugin marketplace add FlorianBruniaux/flow-lean
codex plugin add flow-lean@flow-lean
A plugin listing proves availability. It does not prove automatic selection or behavior. The repository documents separate canaries for installation, explicit invocation, and automatic routing.
The remaining design question is persistence. Loading the complete skill for every Claude Code response adds its complete workflow to every turn, even when the user only needs the communication defaults.
Try the current contract, not only the old score
The EVAL.md checked October 15, 2026 contains 25 cases. It grades form and factual accuracy separately and includes controls for recap behavior, the footer, review depth, evidence scope, rollback preservation and false claims of independent review.
The useful failure report contains the prompt, selected mode, host and version, exact output, and the rule that failed.
A case where the skill compresses away a decision, hides a destructive consequence, or invents an external signature can change the contract. Another unscoped average score cannot.
YSNK
(You should now know)
- Flow Lean replaces three competing response skills with one task-sensitive gate
- The published scores describe v0.2.0 on 13 cases; v0.3.3 now has a 25-case regression battery
- One trial per case and one judge run cannot establish a stable effect size
- The eval caught a destructive-action regression and a precision rule that increased hallucination risk
- Installing a skill proves availability, while persistent response defaults need a separate delivery layer
Continue with Part 2: Claude selected my output style. Then ignored it for the Output Style setup and the checks that show whether Claude follows it.
Go Further in the Claude Code Guide
Practical resources selected to help you take the next step.
Open-source galaxy