Claude Codeでどこまでできる?

Claude Codeの使い方や連携を、実際に試してわかりやすく伝えるサイト

output-style(出力スタイル)とは?Claude Codeが書くコードの量と質が変わる仕組み

,
CC-058

Claude Codeの出力スタイル(output-style)は、回答の書き方を大きく変える仕組みだ。「コードだけ出して」「説明も添えて」「学習用にTODOを残して」――こうした好みをプリセットから選ぶだけで反映される。Default・Explanatory・Learningの3つに加えて、自分好みのCustomスタイルも作れる。

出力スタイル(output-style)とは

出力スタイルは、Claude Codeが回答を書くときの「ふり」を決める設定だ。具体的にはシステムプロンプトを差し替えることで、コードの書き方・説明の量・コメントの付け方といった出力の傾向が変わる。

設定方法は大きく2つある。/config コマンドから Output style を選ぶ方法と、.claude/settings.local.jsonoutputStyle フィールドを直接編集する方法だ。/config で選んだ内容も設定ファイルに保存されるため、どちらも最終的には設定ファイルに反映される。違いは、画面から選ぶか、ファイルを直接編集するかだ。

出力スタイルを変えると、同じ依頼文を送っても返ってくるコードの見た目がかなり変わる。説明が詳しくなったり、逆にコードだけになったり、TODOマーカーが残されたり――この「何がどう変わるか」を知っておくと、目的に合ったスタイルを選びやすくなる。

4つのスタイルを比較表で俯瞰する

Claude Codeで選べる出力スタイルは、プリセット3種+独自定義1種の計4つ。まずは一覧で違いを押さえておこう。

スタイル 主な特徴 コードの傾向 こんな人におすすめ
Default コード主体で余計な説明がない 必要最小限のコードだけ出力 中級以上の人、手早く結果が欲しい人
Explanatory 設計の選択肢や背景をコメントで解説 コード内に「なぜこう書いたか」が残る 初心者、チーム共有をしたい人
Learning 骨格を生成し、TODO(human)マーカーを残す 実装の骨組み+考慮点のメモ 学習目的で自分で補完したい人
Custom 独自のMarkdownファイルで自由に定義 定義内容に依存 プリセットで足りない人

名前だけ見ると違いが分かりにくいが、同じ依頼を送っても出力の密度がまるで違う。以降のセクションで各スタイルの詳細を見ていく。

Defaultスタイル — 標準のコード中心モード

Defaultは、特に何も指定しないと選ばれる標準のスタイルだ。コードが主体で、余計な説明やコメントが付かない。

たとえば「PythonでFizzBuzzを書いて」と頼んだ場合、Defaultでは回答コードだけが返ってくることが多い。設計の理由や選択肢の解説は含まれない。「手早く結果が欲しい」「コードさえあれば十分」という場面に向いている。

中級者以上ならこのままで困らないことが多い。ただ、初めてClaude Codeを使い始めた段階だと「なぜこの書き方なのか」が分かりにくいこともある。その場合は次のExplanatoryを試してみるとよい。

Explanatoryスタイル — 説明多めでチームにも便利

Explanatoryは、コード内に「なぜこう書いたか」をコメントとして残すスタイルだ。設計の選択肢や判断の背景も添えてくれる。

同じく「PythonでFizzBuzzを書いて」と頼んだ場合、Defaultよりも出力が厚くなる。たとえば「ここは通常のループではなくリスト内包表記を使った。可読性とのバランスを考慮した」といったコメントがコード内に付くイメージだ。

このスタイルが役立つ場面をざっくり挙げる。

  • チーム開発でコードレビューの補助にしたい
  • 初心者に「なぜこう書いたか」を残しておきたい
  • 後で見返したときに設計意図を思い出せるようにしたい

説明が増えるぶん出力が長くなるので、手早く結果が欲しい場面では少し重く感じるかもしれない。用途に合わせてDefaultと使い分ける。

Learningスタイル — 協働で学びながら進める

Learningは、Claudeが実装の骨格を生成し、人間が埋めるべき部分に TODO(human) マーカーを残すスタイルだ。「全部やって」ではなく「一緒にやって」方向の協働学習モードと言える。

たとえば「簡易的なTodoアプリをFlaskで作って」と頼むと、Learningではルーティングの基本構造やHTMLテンプレートの枠組みを生成したうえで、TODO(human): エラーハンドリングを追加 のように補完すべき箇所にマーカーを残す。考慮点もTODOに記載されるので、「次に何を書けばいいか」が分かりやすい。

Claude Codeを使いながらプログラミング自体も学びたい人に向いている。一方で「すぐ動くものが欲しい」という用途には向かない。目的に応じてDefaultやExplanatoryと切り替えて使う。

Customスタイルを自作する

プリセット3種で足りない場合は、自分好みのCustomスタイルを定義できる。仕組みはシンプルで、Windowsでは %USERPROFILE%\.claude\output-styles\ にMarkdownファイルを置くだけで作れる。公式ドキュメント等では ~/.claude/output-styles/ と表記されることもあるが、Windowsではユーザーフォルダ配下の .claude\output-styles と考えればよい。

ファイルの中身はMarkdown形式で自由に書ける。最低限の例を示す。

---
keep-coding-instructions: true
---

# Concise Japanese

常に日本語で簡潔に回答すること。
コードは必要最小限にし、説明は2文以内に抑えること。

先頭のYAMLフロントマターで keep-coding-instructions: true を指定すると、Claude Codeのデフォルトのコーディング指示をベースにしたうえで、独自の指示を追加できる。これを指定しない場合、独自の指示だけで完全に置き換わるので、最初は true を付けておくと安心だ。

ファイルを配置したら、.claude/settings.local.jsonoutputStyle フィールドにファイル名(拡張子なし)を直接書いてもよい。

出力スタイルの設定方法

出力スタイルの設定方法には、セッション内での一時的な変更と、設定ファイルでの永続化の2通りがある。

/configから変更する

Claude Codeのチャット画面で /config コマンドを実行し、表示されるメニューから Output style を選択する。Default、Explanatory、Learning、またはCustomスタイルのファイル名を一覧から選べる。

設定ファイルで永続化する

settings.local.json の outputStyle フィールドにスタイル名を書く。

{
  "outputStyle": "Explanatory"
}

こうしておくと、新しいセッションを開始するたびに自動でExplanatoryが選ばれる。

注意点

どちらの方法でも、設定を変更したあとはセッションを再起動しないと反映されないことがある。「変更したはずなのに出力が変わらない」という場合は、いったんセッションを終了して入れ直すと確実だ。

現在のスタイルを確認するには、/config コマンドを実行して Output style の項目を確認する。

出力スタイルと他のカスタマイズ手段の違い

Claude Codeには出力スタイル以外にも、回答の傾向を調整する仕組みがいくつかある。代表的なものとどう違うのかを整理しておこう。

  • 出力スタイル:システムプロンプトを差し替える。コードの書き方や説明の量といった「出力のふり」そのものを変える
  • CLAUDE.md:プロジェクトのコンテキストを追加する。「このプロジェクトではTypeScriptを使う」「テストはpytestで書く」などの情報を与える
  • –append-system-prompt:システムプロンプトの末尾に追記する。一時的な指示を与えたいときに使う

出力スタイルは「書き方のスタイル」、CLAUDE.mdは「プロジェクトの前提知識」、--append-system-prompt は「その場限りの追加指示」という役割分担になっている。

たとえば「簡潔な回答を指示する」という場合、3つの手段で書き方がどう変わるか。

  • 出力スタイル:Customファイルに「簡潔に回答すること」と書くか、Defaultを選ぶ
  • CLAUDE.md:# Project Guidelines に「簡潔な回答を好む」と書く
  • –append-system-prompt:起動時に –append-system-prompt を付けて簡潔さを指示する

どれを使っても似た効果は出るが、「何を変えたいか」に合わせて選ぶと整理しやすい。

初心者が混乱しやすいポイント

出力スタイルを使い始めると、いくつかの点で戸惑うことがある。よくある誤解と対策をまとめておく。

「出力スタイルを変えてもCLAUDE.mdは消えない」

出力スタイルはシステムプロンプトを差し替える仕組みだが、CLAUDE.mdの内容が消えるわけではない。CLAUDE.mdはプロジェクトのコンテキストとして別に読み込まれるので、両方の設定が同時に反映される。

「設定を変えたのに反映されない」

冒頭でも触れたが、セッションの再起動が必要なことがある。出力スタイルの変更はセッション開始時に反映される仕組みのため、実行中のセッションでは前の設定が残る。変更後は一度セッションを起動し直すと確実だ。

「Customスタイルは難しそう」

実際にはMarkdownファイルを1つ置くだけで済む。設定ファイルをいじるというと難しく感じるかもしれないが、やることはテキストファイルを所定のフォルダに保存するだけ。

カスタムスタイルとconciseness指示の競合

Customスタイルで簡潔さを指定した場合、Claude Code内部のconciseness設定と競合するケースが報告されている(GitHub issue #31266)。Customスタイルで「簡潔に」系の指示を書くときは、出力が意図通りになっているか最初に確認しておくと安心だ。

まとめ — 自分に合ったスタイルの選び方

出力スタイルは、Claude Codeの回答の「ふり」を決める設定だ。システムプロンプトを差し替えることで、コードの書き方や説明の量が変わる。

用途別に選ぶなら、ざっくり次のような基準になる。

  • 手早くコードが欲しい → Default
  • 説明も添えてほしい、チームにも共有したい → Explanatory
  • 学習しながら自分で埋めたい → Learning
  • プリセットでは足りない → Custom

まずはDefaultで始めて、出力が物足りなければExplanatoryを試す進め方で問題ない。CustomスタイルはMarkdownファイルを1つ置くだけで作れるので、必要になったタイミングで試せばよい。