style

A command for choosing how Claude Code formats its responses, using saved style files.

In plain words
What is it for?
Use it to select an installed output style, see available styles, or remove the current style setting.
Why use it?
It avoids manually editing configuration when you want to change, disable, or inspect the active response style.

Command

Part of the skills plugin — 10 skills, 1 command, 18 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/vimoxshah/skills/style
Clone the repo
git clone --depth 1 https://github.com/vimoxshah/skills

Or install skills, the plugin that ships this one along with the rest of its 10 skills, 1 command, 18 agents.

Per session 14 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 992 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00014 $0.00992
Opus 5 $0.00007 $0.00496
Sonnet 5 $0.00003 $0.00198
Haiku 4.5 $0.00001 $0.00099

Measured 2d ago against content hash 204bb4c1984e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

style scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

Also note the style already set, so the popup can lead with it: read `outputStyle` from `.claude/settings.local.json` if that file exists, and otherwise from `~/.claude/settings.json`.
commands/style.md · 37 lines

What it actually says

Set the active Claude Code output style. Argument (may be empty): $1

Do exactly this, no extra work:

  1. Find the installed styles. Glob both locations, expanding ~ to the user's home directory:

    • global: ~/.claude/output-styles/*.md
    • project: .claude/output-styles/*.md, relative to the current directory

    Read each file and note its frontmatter name:, its description:, and which of the two locations it came from. If the same name: appears in both, keep the project one and ignore its global twin, matching Claude Code's own project-over-user precedence. If neither location holds any style, say so, point at the install step in the README, and stop.

    Also note the style already set, so the popup can lead with it: read outputStyle from .claude/settings.local.json if that file exists, and otherwise from ~/.claude/settings.json.

  2. Decide the target style:

    • If $1 is non-empty, match it case-insensitively against those name: values or the filename stem. default, none, or off means "remove the setting". No match → say so, list the valid names, and stop.
    • If $1 is empty, ask with AskUserQuestion: header Style, question "Which output style?", one option per style file (label = its name:, description = its description:, prefixed with Project style. when it came from the project so the user can see which settings file is about to change), plus a final option Default / "Claude Code's built-in style, no custom instructions". The popup holds at most 4 options, so page it:
      • 3 or fewer styles: one popup with all of them + Default.
      • More than 3: put the style already set first, then the rest alphabetically by name:, so the order is stable and the current style is the first thing the user sees. Do not sort by file modification time: installing several styles in one go leaves them near-identical timestamps, and the paging comes out in an arbitrary order that changes on reinstall. First popup = the first 2 styles + Default + More styles…. If More styles… is picked, ask again the same way with the styles not yet shown (last page holds up to 3 styles + Default, otherwise 2 styles + Default + another More styles…). Every page carries Default, so it is always one click away.
      • Whatever the user types under Other, match it the same way as $1.
  3. Pick the settings file from where the chosen style lives, so a style is never set in a project it does not exist in:

    • a global style → ~/.claude/settings.json
    • a project style → .claude/settings.local.json, which is personal and not meant to be committed, so a preference never lands in a teammate's checkout
  4. Write it. Treat each settings file as JSON, never as lines — line-based edits corrupt a single-key or minified file. Read the file first if it is there and parse it as JSON:

    • Chosen a style → set the top-level "outputStyle" to that style's exact name: value: add the key if absent, otherwise change the value. Keep every other key untouched, and write valid JSON back. If the file does not exist or is empty, Write it as { "outputStyle": "<name>" }.
    • Chose Default → for both settings files, remove the "outputStyle" key and write the remaining object back as valid JSON. Clearing only one would leave the other still setting a style, so "off" would not be off. If removing the key empties the object, write {}, never an empty file (an empty settings file is invalid JSON and Claude Code will fail to load it). If a file is absent or has no "outputStyle", leave it as is.
    • Touch nothing else, and keep the file valid JSON at every step. Do not delete lines; edit the parsed structure.
  5. Reply in two lines: what the style is now and which file you wrote, and that it takes effect on the next request. If it does not, /clear or a restart applies it.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 37 lines · 14 tokens per session scan B 204bb4c1984e

Subscribe to this mod's changes

style is a command published in the GitHub repository vimoxshah/skills (1 stars, last pushed 3d ago), licensed MIT. It adds 14 tokens to every session and 992 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.