ワンクリックで
lean-output
Reduce output tokens while preserving technical accuracy. Trigger: When asked to be concise, terse, or minimize token usage.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Reduce output tokens while preserving technical accuracy. Trigger: When asked to be concise, terse, or minimize token usage.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Paste-ready session summary for context transfer to a new chat. Trigger: User says 'context handoff', 'start fresh', or session needs to continue.
One-at-a-time questioning to fully profile a goal before acting. Trigger: User says 'grill me', goal is vague, or clarification is needed first.
Batch execution with checkpoints. Trigger: When executing plans with batched tasks.
Universal coding principles: DRY, security by default, null guards, and YAGNI. Trigger: When writing or reviewing code in any language or technology.
Accessibility guide (WCAG 2.1/2.2, Level A–AAA). Trigger: When building UI components, interactive elements, or auditing accessibility compliance.
Astro quality patterns: island philosophy, SEO by page type, and Core Web Vitals. Trigger: When reviewing Astro site quality or hydration decisions.
| name | lean-output |
| description | Reduce output tokens while preserving technical accuracy. Trigger: When asked to be concise, terse, or minimize token usage. |
| license | Apache 2.0 |
| metadata | {"version":"1.2","type":"behavioral"} |
Dramatically reduces output tokens by stripping fluff while keeping every bit of technical signal. Three intensity levels adapt to context and user preference.
Don't use for:
Strip grammar, not precision. A compressed response must be 100% technically correct. If compression would remove a constraint, caveat, or safety note — keep it.
// ✅ CORRECT — shorter but accurate
Use async/await. Catch errors at boundary, not inside loop.
// ❌ WRONG — stripped a constraint
Use async/await.
Three modes applied consistently until user changes them:
| Mode | What is removed | Target reduction | Style |
|---|---|---|---|
| lite | Pleasantries, hedging, filler, preamble | ~30% | Professional, full sentences |
| full | Articles, connectors, verbose phrasing, transitions | ~60% | Telegraphic fragments |
| ultra | All optional words, conjunctions; abbreviations used | ~80% | Pure signal |
Default when user just says "be concise" or activates the skill without specifying: full.
// Original (~22 tokens)
"You should really make sure to add error handling to the function."
// lite (~12 tokens) — strip filler/hedging, keep sentences intact
"Add error handling to the function."
// full (~8 tokens) — strip articles/connectors, use fragments
"Add error handling. Function scope."
// ultra (~5 tokens) — abbreviations, drop all optional structure
"Add err handling. fn scope."
Code blocks, file paths, URLs, CLI commands, variable names, type names — never compress or abbreviate these regardless of mode.
// ✅ CORRECT
Run: npm run build --watch
// ❌ WRONG
Run: npm r b --w
Never omit constraints, warnings, or correctness conditions to save tokens.
// ❌ WRONG — caveat removed
Call flush() after write.
// ✅ CORRECT — caveat preserved even in ultra mode
Call flush() after write — else data loss.
Use these sentence structures in full and ultra modes:
// Drop subject when implied by context
"You should add validation here." → "Add validation here."
// Drop reason clause in full; parenthesize in ultra
"Use X because Y." → full: "Use X. Y." → ultra: "Use X. (Y)"
// Compress cause/effect to inline
"If you do X, then Y will happen." → "X → Y."
// Strip restated context preamble — always, all modes
"You're asking about error handling. Here's how..." → [skip preamble, answer directly]
// Action + reason + next step template (full/ultra)
"[thing]: [action]. [reason]. [next step]."
Never restate the user's question or describe what you're about to do. Start with the answer.
// ❌ WRONG — preamble wastes tokens in every mode
"You're asking how to handle async errors. Great question! Let me explain..."
// ✅ CORRECT — start with the answer
"Wrap await in try/catch. Handle at boundary, not inside loop."
Once a mode is active, apply it to every response until explicitly changed. Don't drift back to verbose output after a few turns.
User explicitly names a mode (lite, full, ultra)?
→ Use that mode. Ignore context signals.
Mode not specified — infer from context:
→ Output is documentation, formal writing, or explanation to end users?
→ lite
→ User signals cost, speed, or token concern ("save tokens", "be fast", "quick")?
→ ultra
→ User's last 3+ messages were under 10 words (back-and-forth diagnostic)?
→ ultra
→ Context window is very long (deep session, many tool calls)?
→ ultra
→ General technical chat, code questions, debugging, reviews?
→ full (default)
Content is technical (code, path, URL, command, type name)?
→ Pass through unchanged regardless of mode
Compression would reduce precision?
→ Keep original phrasing for that clause. Skip compression.
Response contains a caveat or safety constraint?
→ Always include it, even in ultra mode.
User says stop, verbose, or normal?
→ Deactivate. Return to standard output.
Before (standard, ~87 tokens):
"Great question! You should really make sure that you're adding error handling to your async functions. In order to do this properly, you might want to consider using a try/catch block around the await call, and then handling the error in a meaningful way."
lite (~28 tokens) — strip pleasantries, hedging, filler; keep sentences:
"Add error handling to async functions. Wrap await calls in try/catch and handle errors meaningfully."
full (~16 tokens) — strip articles, connectors, transitions; use fragments:
"Async fns need error handling. Wrap await in try/catch. Handle errors at boundary."
ultra (~10 tokens) — abbreviations, drop all optional structure:
"Async fns: wrap await in try/catch. Handle err at boundary."
Reduction: ~68% (lite: ~68%, full: ~82%, ultra: ~89%). Technical accuracy identical across all three.
Mode conflicts: If user asks for a detailed explanation while lean-output is active, defer to detail. User intent for completeness overrides compression.
Multi-language output: Compression works across languages. Strip equivalent filler in Spanish, French, etc. Never compress technical terms that have no shorter equivalent in the target language.
Lists and tables: In lite/full, keep list structure — compression applies to item text, not the format. In ultra, collapse short lists to comma-separated inline if all items are under 3 words.
Activation phrases: "lean", "/lean-output", "be terse", "compress output", "token efficient" — all activate full mode by default unless a specific mode is named.
Accuracy trade-off: If a sentence cannot be compressed without losing precision, keep it at original length. Correctness always wins.