2.8 KiB
2.8 KiB
description: Generate custom output styles that modify Claude Code's system prompt for different agent behaviors
argument-hint: [style-name] [--user|--project] [--description "..."]
/create-output-style
Purpose
Generate custom output style files for Claude Code with proper structure and YAML frontmatter.
Contract
Inputs:
$1— STYLE_NAME (optional: name for the output style)--user— Save to user-level directory (~/.claude/output-styles)--project— Save to project-level directory (.claude/output-styles)--description "..."— Brief description of the output style
Outputs: STATUS=<OK|FAIL> PATH=<path> SCOPE=<user|project>
Instructions
-
Determine scope:
- If
--useris provided: save to~/.claude/output-styles/ - If
--projectis provided: save to.claude/output-styles/ - Default:
--user(user-level)
- If
-
Gather information:
- If STYLE_NAME not provided, ask user for the style name
- If description not provided via
--description, ask user what behavior they want - Style name should be title-cased (e.g., "My Custom Style")
-
Generate output style file using this template:
---
name: {{STYLE_NAME}}
description: {{DESCRIPTION}}
---
# {{STYLE_NAME}} Instructions
You are an interactive CLI tool that helps users with software engineering tasks.
{{CUSTOM_INSTRUCTIONS}}
## Specific Behaviors
{{SPECIFIC_BEHAVIORS}}
## Key Principles
- {{PRINCIPLE_1}}
- {{PRINCIPLE_2}}
- {{PRINCIPLE_3}}
-
Create the file:
- Convert style name to kebab-case for filename (e.g., "My Custom Style" → "my-custom-style.md")
- Create target directory if it doesn't exist
- Write the file
- Print:
STATUS=OK PATH=<full-path> SCOPE=<user|project>
-
Inform user:
- Let them know the file was created
- Remind them they can activate it with
/output-style [style-name] - Mention they can edit the file directly to refine the instructions
Examples
Example 1: Basic usage
/create-output-style
# Claude will ask for style name and description interactively
Example 2: Full specification
/create-output-style "Teaching Assistant" --project --description "Explains concepts step by step with examples"
# STATUS=OK PATH=.claude/output-styles/teaching-assistant.md SCOPE=project
Example 3: User-level style
/create-output-style "Code Reviewer" --user --description "Focuses on thorough code review with best practices"
# STATUS=OK PATH=~/.claude/output-styles/code-reviewer.md SCOPE=user
Notes
- Output styles modify Claude Code's system prompt completely
- Non-default styles exclude standard code generation instructions
- User-level styles are available across all projects
- Project-level styles are specific to the current project
- You can manually edit the generated files to refine instructions