Adapt Claude Code for different use cases beyond software engineering by customizing system prompts for teaching, learning, analysis, or domain-specific workflows.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: Output Styles Guide description: Adapt Claude Code for different use cases beyond software engineering by customizing system prompts for teaching, learning, analysis, or domain-specific workflows. allowed-tools: []
Output Styles Guide
Output styles adapt Claude Code's behavior for use cases beyond software engineering by modifying the system prompt, enabling specialized workflows while retaining core capabilities (file I/O, script execution, TODO tracking).
What Are Output Styles?
Output styles are customized system prompts that replace or supplement Claude Code's default software engineering focus. They:
- Exclude efficiency-focused coding instructions when not needed.
- Inject custom instructions tailored to a specific role or workflow.
- Persist at project level (
.claude/settings.local.json) or user level (~/.claude/output-styles). - Preserve tool access (Bash, file editing, TODO management).
Built-In Output Styles
Default
Standard Claude Code behavior optimized for software engineering: concise output, code verification, efficient task completion.
Explanatory
Adds "Insights" sections between tasks to explain implementation choices and codebase patterns. Ideal for understanding complex code or teaching.
Learning
Collaborative, learn-by-doing mode. Shares insights and requests your contribution on small code sections via TODO(human) markers. Best for skill-building or onboarding.
Changing Your Output Style
Interactive menu:
/output-style
# or access via /config
Direct command:
/output-style explanatory
/output-style default
/output-style learning
Changes apply at project level and save to .claude/settings.local.json.
Creating Custom Output Styles
Quick start (guided):
/output-style:new I want an output style that [describes your use case]
Claude creates and saves a template; you refine it.
Manual creation:
Create a markdown file at ~/.claude/output-styles/<name>.md (user-level, shared across projects) or .claude/output-styles/<name>.md (project-level only).
Structure:
---
name: My Custom Style
description: Brief description shown in /output-style menu
---
# Custom Style Instructions
You are an interactive CLI tool. [Your instructions here...]
## Specific Behaviors
[Define how the assistant behaves...]
Example: Research Assistant Style
---
name: Research Assistant
description: Focused, depth-first analysis with citations and hypothesis tracking.
---
# Research Assistant Mode
You are a research partner specializing in deep investigation and synthesis.
## Specific Behaviors
- Request sources and cite evidence when making claims.
- Track open hypotheses explicitly.
- Summarize findings in bullet-point format with confidence levels.
- Flag uncertainty and propose next investigation steps.
Best practices for custom styles:
- Be specific: "summarize in 3 bullets", "include citations", "ask for feedback".
- Retain tool flexibility: don't disable essential capabilities unless necessary.
- Test with a few tasks to verify behavior before distributing.
Common Use Cases
| Use Case | Style | Benefit |
|---|---|---|
| Learning codebase | Explanatory | Understand why code is structured this way |
| Onboarding engineers | Learning | Active participation, hands-on skill building |
| Research/analysis | Custom | Depth-first investigation, hypothesis tracking |
| Technical writing | Custom | Structured outlines, examples, glossary generation |
| Product/UX work | Custom | Personas, user flows, journey mapping focus |
Output Styles vs. Related Features
| Feature | Purpose | Scope |
|---|---|---|
| Output Styles | Persistent system prompt modification | Affects all main agent interactions |
| CLAUDE.md | Project-level instructions added after system prompt | Supplements default behavior; doesn't replace it |
| --append-system-prompt | Runtime system prompt additions | One-time append per session |
| Agents | Task-specific execution with custom tools/models | Single-purpose delegation; doesn't affect main loop |
| Custom Slash Commands | Stored user prompts (input templates) | Shorthand for repeated requests |
Key distinction: Styles replace core system instructions; others add to them.
Tips & Troubleshooting
- Not persisting? Verify save location:
.claude/settings.local.jsonfor project,~/.claude/output-styles/for user-level styles. - Lost formatting? Keep custom style descriptions under 100 chars for menu readability.
- Want to share? Save custom styles at project level (
.claude/output-styles/) and commit to Git. - Reverting? Run
/output-style defaultor delete from.claude/settings.local.json. - Stacking instructions? Use CLAUDE.md alongside styles to add project-specific rules to your custom style.
Quick Reference
| Action | Command |
|---|---|
| View available styles | /output-style |
| Switch directly | /output-style [style-name] |
| Create custom | /output-style:new [description] |
| Open config | /config |
| Access settings | .claude/settings.local.json (project) or ~/.claude/output-styles/ (user) |
More by CaptainCrouton89
View allSubagent System: Create and manage specialized Claude Code subagents for task-specific workflows. Use when delegating work to specialized agents, configuring agent permissions, or understanding subagent architecture and best practices.
Comprehensive reference for the TypeScript Agent SDK with functions, types, and interfaces for programmatic Claude Code interactions
Systematically trace code flows, locate implementations, diagnose performance issues, and map system architecture. Use when understanding how existing systems work, researching concepts, exploring code structure, or answering "how/where/why is X implemented?" questions.
Specialized AI assistants for task-specific workflows with separate context. Learn when to delegate, configure tools, and apply best practices.