Сергей Шима / Работа и проекты
awesome-claude-output-styles
Make Claude talk like a human: 17 installable output styles for Claude Code, built on credited methodologies
Из документации проекта
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.
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
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.
Install
One style (installs **and** activates it):
Everything (installs all 20 + the style-maker skill; activate later via `/config`):
**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.
If you installed a single style, it's already selected — you only need step 1.
Switching back: `/config` → **Output style** → `Default`.
[!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:
`/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:
The hook is silent for built-in styles (no double reminders) and for
`default`. Remove it anytime by deleting the entry from
`~/.claude/settings.json` → `hooks.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:
Об авторе
Сергей Шима — сооснователь и CTO Majento в Ташкенте, основатель Aimasters. Создаёт AI-продукты и открытые инструменты для агентов.