Sandbox
@smixs/awesome-claude-output-styles

Claude Code output styles and style maker

This repo packages 20 Claude Code output styles that change how Claude phrases answers without changing the underlying task. Each style is a markdown prompt file with Claude Code frontmatter, and the install script can add a single style, all styles, the `/style` command, or the `--enforce` reminder hook.

96 stars8 forksPythonUpdated 26d ago
Who it's for

Builders who want Claude Code to answer in a chosen tone, level of brevity, or explanation style.

What it delivers

You can make Claude Code speak more clearly, more tersely, or more playfully without rewriting your prompts every time.

What it does

Twenty installable styles

Styles cover plain English, executive summaries, terse replies, and playful personas like `gen-z` and `yoda`.

Shared style structure

Each style follows Anthropic-style prompt structure with an identity line, `Style Active` marker, and procedural rules.

Style enforcement hook

`hooks/style-reminder.sh` can re-apply the active custom style on each turn with `--enforce`.

Style picker command

`commands/style.md` provides a `/style` command for switching among installed styles.

Style maker skill

`skills/style-maker/` asks about audience, tone, and examples, then generates a custom output style.

Benchmark harness

`benchmarks/` includes tasks, metrics, and questions for comparing style behavior.

How to get it

  1. 1One style (installs and activates it)
    curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- eli15
  2. 2Everything (installs all 20 + the style-maker skill; activate later via /config)
    curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- --all
  3. 3Twenty styles do not fit a settings menu comfortably. --all installs the /style command;…
    curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- style-command
  4. 4Claude Code reinforces its built-in styles every single turn — but never custom ones, so…
    curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- eli15 --enforce
  5. 5A style body is plain markdown; only the frontmatter is Claude Code's. --body prints the…
    curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- --body caveman

README

awesome-claude-output-styles

awesome-claude-output-styles

same brain. twenty mouths.

Make Claude talk like a human. 20 installable output styles for Claude Code,
each distilled from a credited author's methodology — from Boeing-manual English
to the Minto Pyramid to bedtime stories. One curl to install and switch.

stars 20 styles version benchmarked last commit license

See it · Install · The styles · Measured · Make your own · Design rules · Catalog


Output styles are the right layer for fixing Claude's voice: they rewrite the system prompt itself and reframe the agent's identity around your voice — unlike CLAUDE.md rules, which are injected as context alongside everything else. Every style here mirrors the exact structure of Anthropic's built-in styles (identity line, Style Active marker, procedural rules), and the optional --enforce hook gives them the same per-turn reminder the built-ins get from the harness. One markdown file each, correct 2026 frontmatter, MIT-licensed, with the original author credited in the table below.

Why

Don't be a meat proxy — Niklas Gruhn, Aug 03 2026: 'NATS control-plane events: stream leader election / R3 quorum re-form during pod churn.' Jesus. I had to lookup almost every word to make sense of this.

Niklas Gruhn, "Don't be a meat proxy" · as shared by Josh (@joshtriedcoding)

Jesus. I had to lookup almost every word to make sense of this.

He's not alone — the August 2026 complaint threads run hundreds of upvotes, and the word "Claudisms" now has its own field guide. The model is brilliant; the register is exhausting. Pick a voice below and fix it in one command.

Before / after

Real, unedited Opus 5 voice, July 2026 threads:

The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle, which breaks React's referential equality check, so you may want to consider memoization…

The same answer, seven voices:

VoiceSame answer

wait-what
after Matt Pocock (@mattpocockuk) — context first, ASD-STE100, your project's vocabulary

We are hunting the extra re-renders in your list view. Your code creates a new object on each render. React sees a new object and draws again. Wrap the object in useMemo. Then React gets the same object and does not draw again.

caveman
after Julius Brussee (@julius_brussee), 95k★

New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo. Done.

no-ai-slop
after Peter Yang (@petergyang) — direct, opinionated, zero filler

The inline object is new on every render, and React compares props by identity — so it re-renders each time. Wrap it in useMemo. Don't reach for React.memo here: it treats the symptom, this fixes the cause.

no-slop
the school of Siqi Chen (@blader) — the anti-Claudism voice

The component re-renders because the prop object is new each time, not because its contents changed. React checks identity, not contents. Wrap the object in useMemo and the identity stays stable.

unslop
after Lauren Tan's unslop skill (cursor/plugins) — surface tells out, an opinion in

React compares props by identity, not by contents, so a fresh object literal on every render is a new reference and any memoized child sees a changed prop. Wrap it in useMemo with the values it depends on and the reference stays stable. If it holds no render-dependent state at all, hoist it to module scope so it is created once.

adhd
after Ayoub Ghriss's i-have-adhd, 17k★

Wrap the inline object in useMemo — that stops the re-renders (~2 min). Why: a new object every render makes React think the prop changed.

gen-z

found it, no cap: you hand React a brand-new object every render, so it thinks something changed and redraws. wrap it in useMemo and it's a clean W.

┌──────────────────────────────────────────────────┐
│  styles                          20              │
│  credited authors & standards    20+             │
│  code touched by any persona     never           │
│  jargon left unexplained         0, by spec      │
└──────────────────────────────────────────────────┘

Install

One style (installs and activates it):

curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- eli15

Everything (installs all 20 + the style-maker skill; activate later via /config):

curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- --all

After install — 3 steps. Styles only load at session start, so nothing changes until you restart Claude Code:

  1. Restart Claude Code (or run /clear).
  2. Type /config and find the Output style setting.
  3. Pick the style you want from the list. Done — Claude answers in that voice from the next message on.

Picking an output style: /config, then Output style, then choose from the list

If you installed a single style, it's already selected — you only need step 1. Switching back: /configOutput styleDefault.

[!TIP] The old /output-style command was removed in Claude Code v2.1.91 — most guides online still mention it and are outdated. /config is the way.

Switching without /config: the /style command

Twenty styles do not fit a settings menu comfortably. --all installs the /style command; on its own:

curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- style-command

/style opens a picker over every style you have installed, four at a time, with Default always one click away. /style caveman switches straight to one. User styles are written to ~/.claude/settings.json, project styles to .claude/settings.local.json, so a personal preference never lands in a teammate's checkout.

Make it stick: --enforce

Claude Code reinforces its built-in styles every single turn — but never custom ones, so custom voices fade over a long session. Add --enforce to any install command and a tiny UserPromptSubmit hook gives whatever style you have active the same per-turn reinforcement:

curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- eli15 --enforce

The hook is silent for built-in styles (no double reminders) and for default. Remove it anytime by deleting the entry from ~/.claude/settings.jsonhooks.UserPromptSubmit.

Other agents

A style body is plain markdown; only the frontmatter is Claude Code's. --body prints the body without it, ready to paste into any agent's rules file:

curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- --body caveman

Copy-paste commands for Codex, Cursor, Windsurf and AGENTS.md / GEMINI.md agents: docs/other-agents.md. Nothing is added to the style files to make this work — no markers, no version stamps. Those bytes would compete with the instructions in every session.

The styles

Understand — for explaining to humans

StyleWhat it doesMethod · author
wait-whatContext first, Simplified Technical English, your project's own vocabularyMatt Pocock (@mattpocockuk) — his wait-what skill as an always-on style
plain-english≤20-word sentences, one word one meaning, active voiceASD-STE100 (aerospace, 1983) · Amin Boulegroun
eli15Smart-teenager explanations: one analogy, its breaking point, a line to rememberELI5 prompt research · r/explainlikeimfive house rules
analogy-engineOne sustained analogy with part-by-part mappingIEEE ProComm · Reijnierse et al. (JCOM 2025) · CMU metaphor checklist
feynmanTeaches, names the hard part, checks understanding with questionsRichard Feynman's technique
thing-explainerOnly the ten hundred most common wordsRandall Munroe (xkcd, Thing Explainer)
ladderEvery answer at 3 levels: like I'm 5 → 15 → prothe classic r/PromptEngineering pattern

Business — for decision-makers

StyleWhat it doesMethod · author
executiveAnswer first, ≤3 reasons, evidence on requestBarbara Minto's Pyramid Principle · BLUF · Sruthi Reddy · Joe Cotellese (@jcotellese)
smart-brevity6-word tease, "Why it matters:", "Go deeper:"Smart Brevity · Jim VandeHei, Mike Allen, Roy Schwartz (Axios)
coachOne note, one image, one next actionHemingway App rules · Paul Graham's "Write Like You Talk" · Hardik Pandya (@hvpandya)

Terse — for speed

StyleWhat it doesMethod · author
cavemanUltra-compact: same signal, all fluff droppedJulius Brussee (@julius_brussee) · Carlos Duplar Mello
adhdAction first, numbered steps, lists ≤5, visible progressAyoub Ghriss · Ramsay & Rostain (The Adult ADHD Tool Kit)
no-slopA plain, specific human voice — the anti-Claudism styleSiqi Chen (@blader) · Conor Bronsdon (@ConorBronsdon) · Joe Cotellese's generic-sentence test
no-ai-slopDirect, opinionated, zero filler — slop removed at the sourcePeter Yang (@petergyang) — his editing principles as Claude's default voice
unslopPlain punctuation, concrete words, sentence-case headings, and an actual opinionLauren Tan (cursor/plugins pstack) — their 31 named patterns, plus the add-soul half most slop removers skip

Fun — personas that still get it right

StyleWhat it doesMethod · author
streetSharp senior engineer in modern street slang. 18+, profanityhouse style, sibling of pohuy
gen-zBrainrot wrapper, exact engineering inside. Slang dated by designAnirudh Konidala · Steve Nims
sportscasterLive play-by-play on your codebaseSTAA Play-by-Play Pyramid · broadcasters' craft rules
yodaPlain answer first; the closing lesson, inverted it ishouse style
bedtime-storyConcepts as tiny calming stories, real mechanism insidehouse style

Make your own: style-maker

Presets not fitting? Install the interview skill:

curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/main/install.sh | bash -s -- style-maker

Then tell Claude "make my output style". It asks ~10 questions (audience, length, jargon level, tone, samples of writing you like and hate), generates a personal style file following this repo's conventions — countable specs, positive framing, safety guardrails — shows you a live demo, and activates it.

Shared design rules

Every style in this hub follows the same conventions (full authoring guide: docs/format-guide.md):

  • Specs, not adjectives. "No sentence over 20 words" is checkable; "be clear" is not.
  • Positive framing. Styles describe the voice they want. Ban lists summon the banned patterns — so the Claudism list lives in docs for humans, not inside prompts.
  • Byte-exact guardrails. Code, commands, error messages, file paths, and numbers are never stylized. Every persona shuts off for security warnings, destructive-action confirmations, and order-critical instructions.
  • Cut ceremony, not reasoning. Styles shrink the wrapper, never the "why".
  • Every constraint names its own failure modes. A depth request ("explain it properly", "why did this happen") suspends the length budget and the template. A requested artefact — commit message, email, snippet — is the whole reply, with the persona stepping out of character inside it. Scoped conditions and numbers are never widened or rounded off: a simplified fact is a wrong fact.
  • keep-coding-instructions: true everywhere — the engineering stays intact.

The wider catalog

Original-author projects worth knowing, beyond what's adapted here:

Sister project

pohuy — the Russian profanity output style that started this collection. Same guardrails, four roots, 18+.

Star this repo

If one of these voices saved you a re-read, a star helps the next person find it — and helps the credited authors get found too. ⭐

Contributing

PRs welcome. One style per PR, following docs/format-guide.md: built-in prompt structure (identity line, Style Active header), countable specs, positive framing, the shared guardrails block, one positive example, a verify clause, credits in docs/CREDITS.md — not in the style body. If you're the original author of a methodology we adapted and want changes — open an issue, you outrank us.

License

MIT. Adapted styles preserve their sources' copyright notices; see docs/CREDITS.md and the catalog tables above.


Docs: Format guide · Claudisms field guide · style-maker · Issues
Also by smixs: pohuy — Russian profanity output style · visual-skills — image prompting skills

MIT — the voices are free; the credit stays with their authors.

Files in the repo

Repository payload13 top-level entries
  • benchmarks
  • commands
  • docs
  • hooks
  • output-styles
  • skills
  • .gitignore
  • CHANGELOG.md
  • implementation-notes.md
  • install.sh
  • LICENSE
  • README.md
  • VERSION

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More rules & prompts

All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.

13k
wanshuiyin/
HERO-Anti-OverDefense

HERO = Hashing · Edge cases · Rubrics · Overbuild — the four shapes coding agents over-defend in. A paste-in contract that stops them. Works with Claude Code, Codex, Antigravity, Cursor, Copilot, Windsurf, Gemini CLI.

444
ilindaniel/
ponytail-lite

Stop agents from over-engineering. Inspired by Ponytail, but without the plugin madness. Just one AGENTS.md file.

171
repowise-dev/
claude-code-prompts

Independently authored prompt templates for AI coding agents — system prompts, tool prompts, agent delegation, memory management, and multi-agent coordination. Informed by studying Claude Code.

1.2k
wshobson/
commands
wshobson/commandsRules & Prompts

A collection of production-ready slash commands for Claude Code

2.6k