shima.me

Сергей Шима / Работа и проекты

awesome-claude-output-styles

Make Claude talk like a human: 17 installable output styles for Claude Code, built on credited methodologies

Python · 134 GitHub stars · Срез

GitHub · Полная документация

Из документации проекта

Выдержка на языке оригинала из README. Актуальные инструкции, требования и лицензия - в репозитории.

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:

Источник прочитан · README c768280e5b0c

Об авторе

Сергей Шима — сооснователь и CTO Majento в Ташкенте, основатель Aimasters. Создаёт AI-продукты и открытые инструменты для агентов.

Все репозитории · github.com/smixs