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.
Last scanned: 8/18/2026
{
"issues": [
{
"file": "README.md",
"line": 156,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/smixs/awesome-claude-output-styles/\"",
"severity": "low"
},
{
"file": "skills/style-maker/SKILL.md",
"line": 107,
"type": "dangerous-command",
"message": "Dangerous command (writes to Claude config): \">\"` in `~/.claude/\"",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-08-18T04:34:34.352Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how awesome-claude-output-styles compares with popular alternatives.
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 86 GitHub stars.
Yes. awesome-claude-output-styles passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
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!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
awesome-claude-output-styles vs everything claude code
See comparison
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, seven 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.
unslopafter 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
useMemowith 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.
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 20 │
│ 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 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:
/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 commandTwenty 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 · au