From all-skills
Guides creating, customizing, and shipping Claude Code output styles as Markdown files. Defines reusable response-format contracts for agents, commands, teams; distinguishes styles from skills or CLAUDE.md.
npx claudepluginhub vinnie357/claude-skills --plugin alliumThis skill uses the workspace's default tool permissions.
Guide for the native Claude Code output style feature and for applying the same response-contract pattern to agents, slash commands, teams, and skills.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Guide for the native Claude Code output style feature and for applying the same response-contract pattern to agents, slash commands, teams, and skills.
Activate this skill when:
output-styles/ directory--append-system-prompt/config, shipped as Markdown files, optionally bundled in plugins.The feature affects the main agent loop only. The pattern is portable to anywhere a system prompt or instruction block is authored.
Output styles modify Claude Code's system prompt at session start. They can:
keep-coding-instructionsOutput styles are always active once selected, for the whole session. They are set at session start — changes take effect next session so prompt caching stays stable.
| Style | Behavior |
|---|---|
| Default | Standard software-engineering system prompt |
| Explanatory | Adds educational "Insights" during task completion |
| Learning | Collaborative mode — Claude inserts TODO(human) markers for the user to fill in |
---
name: My Custom Style
description: A brief description shown in the /config picker
keep-coding-instructions: false
---
# Custom Style Instructions
You are an interactive CLI tool that helps users with [domain].
## Specific Behaviors
- Respond in [tone]
- Structure output as [format]
- When [condition], do [action]
| Field | Purpose | Default |
|---|---|---|
name | Display name (inherits from filename if omitted) | filename |
description | Shown in /config picker | none |
keep-coding-instructions | Retain Claude Code's coding-specific system prompt sections | false |
Set keep-coding-instructions: true when the custom style augments coding behavior rather than replacing it.
| Scope | Path |
|---|---|
| User-level | ~/.claude/output-styles/ |
| Project-level | .claude/output-styles/ |
| Plugin-shipped | <plugin-root>/output-styles/ |
/config → Output style → pick from menuoutputStyle in .claude/settings.local.json:{
"outputStyle": "Explanatory"
}
Selection is written to .claude/settings.local.json at the local project level.
Place style files under <plugin-root>/output-styles/. They are discovered when the plugin is installed and appear alongside built-in and user styles in /config.
my-plugin/
├── .claude-plugin/
│ └── plugin.json
├── skills/
└── output-styles/
├── terse-reviewer.md
└── verbose-tutor.md
No additional plugin.json field is required — the output-styles/ directory is discovered by convention.
The shape of an output style — a set of instructions controlling response format, tone, and structure — is portable. You can apply the same pattern anywhere a system prompt or instruction block is authored.
The session-level output style modifies the main agent loop's system prompt. It does not propagate to:
Agent toolIf you need a subagent to produce output in a specific shape, encode the contract in the agent's own definition or reference a shared contract file.
| Target | Where the contract goes |
|---|---|
Agent (.claude/agents/<name>.md) | Body of the agent markdown, under a ## Response Format heading |
Slash command (.claude/commands/<name>.md) | Body of the command markdown |
| Team worker | Prompt template passed to the worker when spawned |
| Skill | Dedicated section in SKILL.md, or a referenced file in assets/ |
| Plugin-wide | Shared file in assets/contracts/ that components link to |
When a team lead spawns multiple workers and must parse their results, inconsistent output shapes force the lead to write bespoke parsing for each worker. A shared contract lets the lead:
PR_URL, STATUS) with one parserA contract specifies:
Use imperative language. Example contract body:
Respond using exactly these sections, in this order:
## SUMMARY
One sentence describing what was done. No preamble.
## EVIDENCE
Verbatim output from `mise run ci`. Paste the tail if too long,
marked with `[truncated]`.
## STATUS
One of: `passed` | `failed` | `blocked`.
## NEXT
One sentence — what the team lead should do with this report.
Do not add sections. Do not summarize at the end.
From an agent definition:
---
name: ci-validator
description: Runs mise run ci and returns a structured report
---
# CI Validator
Run `mise run ci`. Report using the contract in
`assets/contracts/ci-evidence-format.md` — copy the section headings
exactly.
From a team prompt template (pseudocode):
Spawn worker with prompt:
"Fix the failing test in src/foo.ex.
Report using {{contract: worker-report-format}}."
| Need | Use |
|---|---|
| Session-level persona for the human user | Output style |
| Consistent shape from a specific agent role | Contract in the agent definition |
| Parseable reports from N parallel workers | Shared contract referenced by each worker |
| Reusable response shape across a plugin | Contract in assets/contracts/ |
| One-off format for a single prompt | Inline instructions, no contract needed |
| Feature | Scope | Loaded When | Modifies |
|---|---|---|---|
| Output style | Main agent loop only | Session start (after /config) | System prompt (replaces coding sections) |
| CLAUDE.md | Main agent loop | Session start | Appended as user message after system prompt |
--append-system-prompt | Main agent loop | Session start | Appended to system prompt |
| Skill | Main loop and subagents | On-demand (invoke or auto) | Adds procedural knowledge |
| Agent | Spawned subagent | When Agent tool invoked | Independent system prompt |
| Response contract (pattern) | Wherever embedded | When the host component loads | The host's instructions |
Do not fabricate output-style behavior or frontmatter fields not documented at https://code.claude.com/docs/en/output-styles. When authoring contracts, verify referenced files exist with Read or Glob before claiming they do. Do not claim an agent honors the session output style — it does not. For the full anti-fabrication ruleset, see core:anti-fabrication.
outputStyle and expecting mid-session effect. Output style is fixed at session start for cache stability.keep-coding-instructions. Custom styles default to stripping coding instructions — if the style is meant to augment coding, set this to true.Reference response-format contracts in assets/:
assets/worker-report-format.md — structured report for team workers (SUMMARY / EVIDENCE / STATUS / NEXT)assets/ci-evidence-format.md — verbatim CI-output contract for validation agentsassets/review-findings-format.md — findings-list contract for code review agentsCopy, reference, or adapt these when defining agents, commands, or team workers.