My own output styles in Claude Code
Claude Code can answer in a style you write yourself, and you can switch styles to fit the situation.
Today I found the /output-style command in Claude Code. I had not been happy with its answers: they were hard to read and hard to follow. An output style fixes that for a whole session: it is a set of instructions that Claude Code adds to its system prompt (the text the model gets with every request, before your messages), so I don't have to ask for a different format in every prompt.
There are built-in styles, for example Concise (the result first, no recap) and Explanatory (short notes on why the code looks the way it does). You switch with /output-style concise, or pick one in the settings menu that /config opens. The new style applies from the next message on.
Write your own
A custom style is a Markdown file in ~/.claude/output-styles/ (for all projects) or .claude/output-styles/ (for one project). The frontmatter gives it a name and a description for that menu, and the text below is the instructions. This is my TLDR style, shortened and translated from German:
---
name: TLDR
description: Structured with headings, TL;DR at the end, no preface
keep-coding-instructions: true
---
The reader wants to know what is true now, not how you got there.
- Short answer (under ~10 lines): the result in the first sentence, then the reason.
- Longer answer: sections with headings, and a `## TL;DR` at the end.
- No preface that says what comes next, no closing summary.
- A yes-or-no question gets a yes or a no first.
keep-coding-instructions: true keeps the part of the system prompt that makes Claude Code a coding agent, for example how to scope a change, write comments and check the result. Without it, Claude gets only your style and no longer works like a coding agent. That's useful for a style that is not about code at all, such as a writing assistant. All my styles keep it.
Switching between existing styles works at any time. Creating or editing a style file needs a restart, because Claude Code reads the files only when it starts.
My styles
Now I have five styles and choose the one that fits the situation. Teamlead is for sessions that hand most work to subagents (helpers that Claude Code starts for one task, each in its own context):
| Style | What it does |
|---|---|
TLDR | Headings, a TL;DR at the end, no preface |
Evidence | Every claim about code comes with its proof |
Socratic | Assumptions and alternatives, then a pick |
Teamlead | Names the subagent first, then sums up |
Deutsch | German answers, code terms in the original |
All five styles set the same two rules. There is no HTML, because the terminal shows it as raw text. And error messages, failing tests and security warnings always keep their full content.
The full styles are in my claude-config repository (opens in a new tab).