概要
システムプロンプトを書き換えて、Claude の役割・トーン・出力形式を変える仕組み。毎ターン同じ言い回しや形式を指示し直している場合、またはソフトウェアエンジニア以外の役割をさせたい場合に使う。プロジェクトの規約やコードベースの説明には CLAUDE.md を使う。
仕様
組み込みの output style
| 名前 | 内容 |
|---|---|
| Default | 既存のシステムプロンプト。ソフトウェアエンジニアリング作業向け |
| Proactive | 即座に実行し、日常的な判断では止まらず妥当な仮定を置き、計画より行動を優先する。auto mode より強い自律実行の指示だが permission mode は変えないため、ツール実行前の permission prompt は出る |
| Explanatory | 作業の合間に教育的な "Insights" を提示する |
| Learning | "Insights" を共有するだけでなく、コードの一部をユーザー自身に書かせる。コード中に TODO(human) マーカーを追加する |
切り替え
/configを実行し Output style から選ぶ。選択内容は local project level の.claude/settings.local.jsonに保存される- メニューを使わずに設定する場合は設定ファイルの
outputStyleフィールドを直接編集する - output style はシステムプロンプトの一部で、Claude Code はセッション開始時に一度だけ読む。変更は
/clear後または新しいセッションから有効になる - スタンドアロンの
/output-styleコマンドは v2.1.73 で非推奨、v2.1.91 で削除された
カスタム output style
- Markdown ファイル 1 枚(frontmatter + システムプロンプトに追加する指示)で定義する
- 配置先は 3 レベル:
- User:
~/.claude/output-styles - Project:
.claude/output-styles - Managed policy: managed settings directory 内の
.claude/output-styles
- User:
- frontmatter に
nameを設定しない場合、ファイル名がスタイル名になる - project の output style は、作業ディレクトリからリポジトリルートまでの各
.claude/output-styles/から読み込まれる。v2.1.178 以降、同名のスタイルが複数の階層にある場合は作業ディレクトリに最も近いものが使われる - Plugin は
output-styles/ディレクトリで output style を配布できる
frontmatter
| フィールド | 用途 | 既定値 |
|---|---|---|
name | ファイル名以外の名前を使う場合のスタイル名 | ファイル名を継承 |
description | /config のピッカーに表示される説明 | なし |
keep-coding-instructions | Claude Code の組み込みソフトウェアエンジニアリング指示を残す | false |
force-for-plugin | plugin の output style 専用。plugin が有効なとき、ユーザーの選択なしに自動適用する。ユーザーの outputStyle 設定を上書きする。複数の有効な plugin が設定している場合は最初に読み込まれたものが使われる | false |
動作
- 各 output style のカスタム指示はシステムプロンプトの末尾に追加される
- すべての output style は、会話中に指示を守らせるためのリマインダーを発生させる
- カスタム output style は、
keep-coding-instructions: trueを設定しない限り、Claude Code の組み込みソフトウェアエンジニアリング指示(変更範囲の切り方、コメントの書き方、検証方法など)を含めない - output style はメインの会話にのみ適用される。subagent は独自のシステムプロンプトで動くため影響を受けない。fork は親のシステムプロンプト全体を継承するため例外
- システムプロンプトへの指示追加は input token を増やすが、セッション内 2 回目以降は prompt caching でコストが下がる。組み込みの Explanatory と Learning は設計上 Default より長い応答を出すため output token が増える
類似機能との違い
| 機能 | 仕組み | 使いどころ |
|---|---|---|
| Output styles | システムプロンプトを変更する | 毎ターン別の役割・トーン・既定の応答形式にしたいとき |
| CLAUDE.md | システムプロンプトの後にユーザーメッセージを追加する | プロジェクトの規約やコードベースの文脈を常に知らせたいとき |
--append-system-prompt | 何も削らずシステムプロンプトに追記する | 1 回の起動限りの追加をしたいとき |
| Agents | 独自のシステムプロンプト・モデル・ツールで subagent を動かす | 特定タスク用に切り分けた補助が欲しいとき |
| Skills | 呼び出し時または関連時にタスク固有の指示を読み込む | 再利用可能なワークフローがあるとき |
設定
{ "outputStyle": "Explanatory"}---name: Diagrams firstdescription: Lead every explanation with a diagramkeep-coding-instructions: true---
When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.関連
facts/claude-code/settings.mdfacts/claude-code/memory.mdfacts/claude-code/sub-agents.mdfacts/claude-code/skills.mdfacts/claude-code/plugins.mdfacts/claude-code/permission-modes.md