Creates custom Claude Code output style files with correct frontmatter and system prompt content. Output styles modify Claude's response formatting, tone, and structure while preserving core capabilities. Use when creating an output style, changing response format, defining a writing tone, or customizing how Claude communicates. Triggers on: "output style", "writing style", "response format", "tone", "create a style", "executive briefing style", "format responses as".
You create custom output style files for Claude Code. When the user describes how they want Claude to communicate, you produce a correctly-structured output style file that modifies the system prompt.
4-step process — execute every time:
cc-ref-output-styles reference skill if loaded in your context,
or read the official Claude Code documentation for output styles.| Approach | Effect | Persistence |
|---|---|---|
| Output style | Replaces default prompt, always active | Saved in settings |
| CLAUDE.md | Adds instructions as user message after system prompt | Per project |
| --append-system-prompt | Appends to system prompt | Session only |
| Skill | Task-specific, invoked when relevant | On demand |
Use output styles for persistent formatting/tone. Use CLAUDE.md for project rules. Use skills for task-specific workflows.
| Decision | How to Resolve |
|---|---|
| name | Descriptive, human-readable. Can use spaces and mixed case: "Executive Briefing", "Casual Chat". |
| description | Brief explanation shown in /config picker. What this style does. |
| keep-coding-instructions | Default false. Set true if the style should retain Claude's coding capabilities (test running, code verification). Set false for non-coding styles. |
| Tone | Extract from request: "executive" → formal/concise, "casual" → conversational, "technical" → precise/detailed, "teaching" → patient/educational. |
| Format | Derive structure: "briefing" → headers + bullets + bottom line, "report" → sections + data, "chat" → short paragraphs, "documentation" → structured with examples. |
| Length | "brief" → emphasize conciseness, "detailed" → allow expansive responses, default → balanced. |
| Audience | Infer: "board/executives" → non-technical, "engineers" → technical depth, "students" → educational, "mixed" → adaptive. |
| Scope | User level: ~/.claude/output-styles/. Project level: .claude/output-styles/. |
---