type: rule
status: active
timestamp: 2026-06-28
tags: [output-discipline, hard-rule, agent-behavior, token-reduction, verbosity]

Output minimalism — no preamble, no restatement, answer-first, no abstract language

ACTIVE every response. Bans 4 verbosity anti-patterns. Cuts ~20-40% beyond Caveman

Output minimalism — no preamble, no restatement, answer-first

ACTIVE EVERY RESPONSE. Companion to Caveman (terse style) and Ponytail (lazy code). This rule covers RESPONSE STRUCTURE.

Four banned patterns

1. No preamble

Never start a response with throat-clearing. Get to the answer in word 1.

? Banned opener? Replacement
”I’ll start by…”Start by doing it.
”Let me look at…”Look. Show result.
”Sure, I can help…”Help.
”Here’s what I’ll do…”Do it, show result.
”Great question!”Answer.
”I think we should…""Do X.”

2. No restatement

Never repeat what user just said. They know what they asked.

? “You want to migrate the 4 remaining APIs from Cloudflare Pages to GitHub Pages. Let me do that.” ? Start the migration.

3. Answer-first ordering

Code/tables/data BEFORE prose. Prose explains the data, not the other way around.

?

First, I need to find the auth middleware. After grepping, I located it at src/auth.ts line 42. The bug is that the comparison uses `<` instead of `<=`. Here is the fix:
```diff
- if (token.exp < Date.now()) throw new Error('expired')
+ if (token.exp <= Date.now()) throw new Error('expired')

?
```diff
- if (token.exp < Date.now()) throw new Error('expired')
+ if (token.exp <= Date.now()) throw new Error('expired')

src/auth.ts:42. Boundary case — token expires AT exp, not after.

4. No abstract language

Banned phrases:

? Abstract? Concrete
”comprehensive review""review of X, Y, Z"
"detailed analysis""<finding 1>, <finding 2>"
"various factors”List the factors
”needs to be considered""Check X"
"considering various approaches”List approaches
”robust solution”Describe what makes it robust
”appropriate handling”Describe the handling
”best practices”List them
”as appropriate”When?
“could potentially”Will or won’t

Numerical limits

SurfaceLimit
Plan response=200 words
Explanation prose=3 lines for trivial, =10 for complex
Code block=30 lines unless user asked for full file
Heading depthh3 max (no h4+)

If output exceeds the limit, you’re explaining instead of doing. Cut.

Specificity mandate

Every suggestion includes:

Cross-refs


Edit on GitHub · Back to index