カテゴリー / 記事

Claude Code 出力スタイル output styles の切替とカスタム作成

この記事の目次

Claude Code の出力スタイルは、セッション中のすべての応答について Claude の役割・口調・応答形式を変える指示のセットです。/output-style <style> で切り替えるか、.claude/output-styles に Markdown ファイルを置いて自作できます。

出力スタイルとは

出力スタイルは、毎回のプロンプトで同じ頼みごとを繰り返さずに済むよう、セッション全体の Claude の振る舞いを変える仕組みです。たとえば次のような使い方ができます。

  • 応答を短くする
  • 変更ごとに説明を付ける
  • 定型的な質問をせずに作業を始めさせる

カスタムスタイルなら、Claude をソフトウェアエンジニア以外、たとえば執筆アシスタントやデータアナリストにすることもできます。

注意点として、出力スタイルは Claude が従う指示であり、何かが必ず起きる、または決して起きないことまでは約束しません。用途によっては別の機能が向いています。

  • プロジェクトについて Claude に知っておいてほしいこと: CLAUDE.md
  • 編集のたびの整形やコマンドのブロックなど、毎回必ず起きるべきこと: フック

組み込みスタイル4種

Claude Code は Default スタイルで起動します。これは出力スタイルが選ばれていない状態で、スタイルの指示は追加されず、ソフトウェアエンジニアリング向けの標準システムプロンプトで動きます。ほかの4つの組み込みスタイルは、その標準の指示を保ったまま、それぞれの指示を足します。

スタイル 変わること 向いている場面
Proactive 定型的な判断では質問せず、妥当な仮定を置いてすぐ作業を始める 定型的な判断は任せ、仮定が外れたら自分で軌道修正したい
Concise 結果から先に述べ、前置き・経過の実況・まとめを省く 既定の応答が長すぎる
Explanatory 書いたコードの選択理由を短い Insight ブロックで添える コードベースに慣れたい、変更と一緒に理由も知りたい
Learning Explanatory と同じ Insight に加え、一部のコードを自分で書くよう求める 作業を進めつつ、手を動かす練習もしたい

Proactive

タスクを送るとすぐ実装に着手します。定型的な判断では止まって尋ねず、妥当な仮定を置きます。計画を頼まない限りプランモードには切り替わらず、いつでも方向修正できます。

データの削除や、共有環境・本番環境を変更する操作の前には、会話の中で確認するよう指示されています。この確認は Claude が従う指示であり、権限プロンプトとは別物です。Proactive に切り替えても権限モードは変わらないため、どのツール呼び出しが確認なしで実行されるかは、これまでどおり権限モードで決まります。

Concise

応答の最初の1文で、何が起きたか、または答えが何かを述べます。前置き、手順の実況、締めのまとめは省かれ、単純な質問には1〜3文で答えます。エンジニアリング作業そのものは Default と同じ徹底さで行います。Claude Code v2.1.237 以降が必要です。

次の場合は、従来どおりフルの長さで書かれます。

  • 説明や詳細を頼んだとき
  • エラー報告、失敗したテストの出力、セキュリティ警告、破壊的操作の確認など、安全に行動するために必要な内容

Explanatory

作業は Default と同じように行い、そこに選択理由の短い説明を足します。説明は会話の中の Insight と書かれたブロックとして、対象のコードの前か後ろに出ます。ファイルにコメントとして書き込まれることはありません。1つの Insight には、コードベースや書いたコードについての2〜3点が入ります。

Learning

Explanatory と同じ Insight ブロックに加えて、コードの一部をあなたに書かせます。定型的な実装は Claude が行い、エラー処理、データ構造、複数の妥当な方法があるビジネスロジックのように設計判断が要る箇所で、数行分を空けておきます。

Claude はファイル内に TODO(human) コメントで場所を示し、すでに作ったもの、書いてほしいこと、考慮点をまとめた依頼を送ってから、止まって待ちます。TODO(human) の位置にコードを書いて完了を伝えると、Claude はあなたのコードについての Insight を1つ返して作業を続けます。

スタイルを切り替える

コマンド、メニュー、設定ファイルのいずれかで選べます。コマンドと両方のメニューでの選択は、ローカルプロジェクトレベルの .claude/settings.local.json に保存されます。

  • /output-style コマンド: /output-style concise のように /output-style <style> を実行します。引数なしで実行すると、選べるスタイルの一覧が出て、現在のものに印が付きます。コマンドは大文字小文字を区別しません。
  • ターミナルのメニュー: /config を実行し、Output style を選んでメニューから選びます。
  • VS Code 拡張: / でコマンドメニューを開き、Output styles を選ぶと、カスタムスタイルを含めて選べます。Claude Code v2.1.257 以降が必要です。
  • デスクトップアプリ: .claude/settings.local.json などの設定ファイルで outputStyle フィールドを設定します。デスクトップアプリで /config を実行すると、メニューではなく Settings > Code または Settings > Claude Code が開きます。

/output-style コマンドは、非対話モードと Agent SDK セッション、および Remote Control 経由のモバイルアプリや Web からも使えます。そこで一覧表示と選択ができるのは組み込みスタイルのみです。この使い方には Claude Code v2.1.269 以降が必要です。

設定ファイルで指定する

メニューを使わず、設定ファイルの outputStyle を直接編集することもできます。

{
  "outputStyle": "Explanatory"
}

この値は大文字小文字を区別します。組み込みスタイルは Proactive、Concise、Explanatory、Learning と書きます。explanatory のようにスタイル名と完全に一致しない値を入れると、Default スタイルになります。

プロジェクトをまたいで既定にしたい場合は、~/.claude/settings.json に outputStyle を設定します。ただし、プロジェクト側の設定ファイルがその値より優先されます。

セッション中の切替

セッション途中でスタイルを切り替えると、次のメッセージから新しいスタイルが使われます。v2.1.251 より前は、/clear を実行するか新しいセッションを始めるまで、新しいスタイルは適用されませんでした。

カスタムスタイルを作る

カスタムスタイルは、メタデータ用の frontmatter と Claude への指示を書いた Markdown ファイルです。VS Code 拡張では、Output styles メニューからファイルを作ることもできます。これには Claude Code v2.1.261 以降が必要です。

1. Markdown ファイルを置く

次の3つのレベルのいずれかに保存します。frontmatter で name を設定しない限り、ファイル名がスタイル名になります。

  • ユーザー: ~/.claude/output-styles
  • プロジェクト: .claude/output-styles
  • 管理ポリシー: 管理設定ディレクトリ内の .claude/output-styles

プロジェクトのスタイルは、作業ディレクトリからリポジトリのルートまでの間にあるすべての .claude/output-styles/ から読み込まれます。入れ子になった複数のディレクトリに同名のスタイルがあれば、作業ディレクトリに最も近いものが使われます。

2. frontmatter と指示を書く

Claude Code のソフトウェアエンジニアリング向け指示を残すかどうかを決めます。コーディングのやり方は変えず、伝え方だけを変えたいなら keep-coding-instructions: true を設定します。Claude がソフトウェアエンジニアリングをしないなら、省略します。

次の例は、コーディングの振る舞いを保ったまま、あらゆる説明を図から始めさせるスタイルです。

---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---

When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.

## Diagram conventions

Use `flowchart TD` for control flow and `sequenceDiagram` for request paths. Keep diagrams under 15 nodes.

3. スタイルに切り替える

ターミナルでは /output-style <style> を実行するか、/config で Output style からスタイルを選びます。ターミナルの Claude Code はスタイルファイルを起動時に読み込むため、実行中にファイルを作成・編集した場合は、Claude Code を再起動して反映させます。

プラグインも、output-styles/ ディレクトリで出力スタイルを同梱できます。

frontmatter のフィールド

frontmatter は、ファイル先頭の --- で囲んだ YAML です。フィールドはすべて任意で、名前は小文字をハイフンでつなぎます。綴りを間違えたフィールドはエラーなしで無視されます。YAML が解析できない場合、スタイルはファイル名で読み込まれ、フィールドは何も設定されません。解析エラーは claude --debug で確認できます。

フィールド 説明
name スタイル名。/config の選択画面に表示される。既定はファイル名
description スタイルの説明。/config の選択画面に表示される
keep-coding-instructions true にすると、Claude Code 組み込みのソフトウェアエンジニアリング指示のセクションを、自分のスタイルと併せて残す。このセクションを含むのはフルのシステムプロンプトだけ。既定は false
force-for-plugin プラグインのスタイル専用。true にすると、プラグインが有効な間、ユーザーが選ばなくても自動で適用され、ユーザーの outputStyle 設定を上書きする。複数の有効なプラグインが設定した場合は、最初に読み込まれたものが使われる。既定は false

仕組みと注意点

  • Claude Code は、有効なスタイルの指示をすべてのリクエストと一緒に送ります。
  • フルのシステムプロンプトでは、keep-coding-instructions を true にしない限り、カスタムスタイルは Claude Code 組み込みのソフトウェアエンジニアリング指示(変更範囲の決め方、コメントの書き方、作業の検証方法など)を含みません。
  • より短いシステムプロンプトにはそのセクション自体がないため、このフィールドは効きません。このフィールドを前提にするなら、CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT を 0 にします。これで、どのモデルでもフルのプロンプトが選ばれます。
  • 出力スタイルが効くのは、メインの会話と、親の会話全体とシステムプロンプトを引き継ぐフォークです。それ以外のサブエージェントは独自のシステムプロンプトで動くため、スタイルで応答は変わりません。
  • スタイルの指示は入力トークンを増やしますが、最初のリクエストの後はプロンプトキャッシュでコストが抑えられます。
  • Explanatory と Learning は設計上 Default より応答が長く、出力トークンが増えます。Concise は逆に、既定で短く答えるよう指示します。カスタムスタイルの出力量は、指示の内容しだいです。

他の機能との使い分け

やりたいこと 使うもの
すべての応答の口調・長さ・形式を変える、Claude の役割を変える 出力スタイル
プロジェクトの規約・コマンド・構成を Claude に知らせる CLAUDE.md
特定の種類のタスク用の手順 スキル
毎回例外なく起きるべきこと フック
専用の指示・モデル・ツールを持つ補助役 サブエージェント
起動時に渡すシステムプロンプトへの追加 --append-system-prompt

これらは組み合わせられます。たとえば、知っておくべきことは CLAUDE.md に、応答の仕方は出力スタイルに、確実に起きてほしいことはフックに任せられます。

スタイルが効かないときは、公式の「Debug your configuration」が原因の切り分けに使えます。

まとめ

まずは /output-style concise や /output-style explanatory のように、組み込みスタイルを1つ試すのが手軽です。合うものがなければ、.claude/output-styles に Markdown ファイルを置いて自作できます。切替に使えるコマンドや各メニューには版の条件があるので、動かないときは Claude Code のバージョンも確認してください。

組み込みスタイルを試したり自作したりした先の検証メモは、NO WAVE Lab にまとめています。