by smixs
Make Claude talk like a human: 17 installable output styles for Claude Code, built on credited methodologies
# Add to your Claude Code skills
git clone https://github.com/smixs/awesome-claude-output-stylesGuides for using ai agents skills like awesome-claude-output-styles.
awesome-claude-output-styles is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by smixs. Make Claude talk like a human: 17 installable output styles for Claude Code, built on credited methodologies. It has 50 GitHub stars.
awesome-claude-output-styles's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/smixs/awesome-claude-output-styles" and add it to your Claude Code skills directory (see the Installation section above).
awesome-claude-output-styles is primarily written in Python. It is open-source under smixs on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh awesome-claude-output-styles against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
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.
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.
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, six voices:
wait-whatafter 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.
cavemanafter Julius Brussee (@julius_brussee), 95k★
New object ref each render. Inline object prop = new ref = re-render. Wrap in
useMemo. Done.
no-ai-slopafter 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 forReact.memohere: it treats the symptom, this fixes the cause.
no-slopthe 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
useMemoand the identity stays stable.
adhdafter 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
useMemoand it's a clean W.
┌──────────────────────────────────────────────────┐
│ styles 19 │
│ credited authors & standards 20+ │
│ code touched by any persona never │
│ jargon left unexplained 0, by spec │
└──────────────────────────────────────────────────┘
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 19 + 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:
/clear)./config and find the Output style setting.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-stylecommand was removed in Claude Code v2.1.91 — most guides online still mention it and are outdated./configis the way.
/config: the /style commandNineteen 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.
--enforceClaude 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.json → hooks.UserPromptSubmit.
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.
| Style | What it does | Method · author |
|---|---|---|
wait-what |
Context first, Simplified Technical English, your project's own vocabulary | Matt Pocock (@mattpocockuk) — his wait-what skill as an always-on style |
plain-english |
≤20-word sentences, one word one meaning, active voice | ASD-STE100 (aerospace, 1983) · Amin Boulegroun |
eli15 |
S |