← 試験の目次へ

Developer Foundations ドメイン3: Claude Code(3.1%)

この章で学ぶこと: Claude Code の中心になる部品(Rules、Skills、Commands、Agents、Agent Memory)と、セッション管理、スラッシュコマンド、ヘッドレスモード、ストリーミングモード、auto mode、CLAUDE.md の階層、リポジトリの初期化、settings.json。

スキル 配点
Claude Code の操作(Claude Code Operation) 3.1%

本番の53問のうち約2問の小さいドメインです。ただし Architect Foundations では Claude Code が20%を占めるので、ここで土台を作っておきます。

前の章とつながる部分:

注意: Claude Code は更新が速く、コマンドやフラグが変わります。この教材は2026年11月時点の公式ドキュメントにもとづきます。


1. 中心になる部品

部品 置き場所 何をするか いつ読み込まれるか
Rules(ルール) .claude/rules/*.md トピック別の決まりごと 起動時。paths を書いたものは、合うファイルを扱うときだけ
Skills(スキル) .claude/skills/<名前>/SKILL.md 手順や知識のまとまり。/名前 で呼べる 説明だけ先に読み込み、使うときに本文を読む
Commands(コマンド) .claude/commands/<名前>.md /名前 で呼ぶ手順。今はスキルに統合された古い形式 呼んだとき
Agents(サブエージェント) .claude/agents/<名前>.md 専用のプロンプトとツールを持つ別のエージェント Claude が任せると決めたとき、または名前で頼んだとき
Agent Memory(メモリ) ~/.claude/projects/<project>/memory/ など Claude が自分で書くメモ(auto memory) 毎セッション

使い分けの目安(公式の説明より): いつも必要な決まりは CLAUDE.md かルール。特定の作業のときだけ必要な手順はスキル。スキルは呼ばれたときか、関係があると Claude が判断したときだけ読み込まれるので、コンテキストを節約できます。


2. CLAUDE.md の階層と読み込み

範囲(組織・ユーザー・プロジェクト・ローカル)はドメイン2 第6.1節の表のとおりです。ここでは読み込まれ方をおぼえます。

リポジトリの初期化: /init

/init を実行すると、Claude がコードベースを調べ、ビルドのコマンド、テストのやり方、プロジェクトの決まりを書いた最初の CLAUDE.md を作ります。すでにある場合は上書きせず、改善案を出します。その後 /memory で中身を整えます。


3. Rules(.claude/rules/)

大きなプロジェクトでは、1つの大きな CLAUDE.md の代わりに、トピックごとのファイルに分けます。

your-project/
├── .claude/
│   ├── CLAUDE.md
│   └── rules/
│       ├── code-style.md
│       ├── testing.md
│       └── security.md
---
paths:
  - "src/api/**/*.ts"
---
API のハンドラーでは、エラーを必ず共通の形式で返すこと。

4. Skills と Commands

4.1 コマンドはスキルに統合された

公式ドキュメントの説明: カスタムコマンドはスキルに統合されました。.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md は、どちらも /deploy を作り、同じように動きます。古い .claude/commands/ のファイルもそのまま使えます。新しく作るならスキルが勧められています(補助ファイルを置くフォルダーや、呼び出しの制御などが使えるため)。同じ名前のスキルとコマンドがあると、スキルが優先されます。

4.2 スキルの置き場所

場所 パス 使える範囲
組織(Enterprise) 管理設定のディレクトリの .claude/skills/<名前>/SKILL.md 組織が配った全員
個人 ~/.claude/skills/<名前>/SKILL.md このマシンの自分の全プロジェクト
プロジェクト .claude/skills/<名前>/SKILL.md このリポジトリ。コミットするとチームも使える
プラグイン <plugin>/skills/<名前>/SKILL.md プラグインが有効な場所。/プラグイン名:スキル名 で呼ぶ

4.3 SKILL.md の書き方

---
name: summarize-changes
description: コミットしていない変更を要約し、危ない部分を指摘する。変更点を聞かれたとき、コミットメッセージを作るとき、差分のレビューを頼まれたときに使う。
argument-hint: "[対象のディレクトリ]"
allowed-tools: Bash(git diff *) Read
---
1. `git diff` で $ARGUMENTS の変更を確認する
2. 変更を3行以内で要約する
3. 危ない変更があれば理由と一緒に挙げる

おもな frontmatter の項目:

項目 意味
name / で打つ名前。省略するとディレクトリ名
description 何をするか、いつ使うか。Claude はこれを見て使うか決める(推奨)
argument-hint 補完のときに見せる引数のヒント
disable-model-invocation: true Claude が自分で呼ばないようにする。手動で /名前 を打ったときだけ動く(デプロイなど)
user-invocable: false / メニューに出さず、Claude だけが使う(背景知識など)
allowed-tools このスキルを呼んだターンだけ、確認なしで使えるツール
context: fork 別のサブエージェントのコンテキストで実行する
paths 合うファイルを扱うときだけ自動で読み込む
model、effort このターンだけモデルや推論の深さを変える

引数: $ARGUMENTS に、呼んだときの引数がすべて入ります。


5. Agents(Claude Code のサブエージェント)

サブエージェントの考え方はドメイン1で学びました。Claude Code での置き場所と優先順位:

場所 範囲 優先順位
管理設定 組織全体 1(いちばん高い)
--agents CLI フラグ(JSON) そのセッション 2
.claude/agents/ このプロジェクト 3
~/.claude/agents/ 自分の全プロジェクト 4
プラグインの agents/ プラグインが有効な場所 5(いちばん低い)

組み込みのサブエージェント:

作り方: Claude に「サブエージェントを作って」と頼むか、.claude/agents/ に Markdown ファイルを直接書きます。


6. Agent Memory(auto memory)

CLAUDE.md auto memory
書く人 自分 Claude
中身 指示と決まり 学んだことやパターン
範囲 プロジェクト、ユーザー、組織 リポジトリごと(worktree をまたいで共有)
読み込み 毎セッション 毎セッション(最初の200行 または 25KB)

auto memory の4種類のメモ:

種類 中身
user 利用者の役割、得意分野、好み
feedback 利用者からの修正や、良いと言われたやり方
project コードや git の履歴からわからない、進行中の作業、締め切り、決めたこと
reference プロジェクトの外の情報の場所(課題管理、ダッシュボードなど)

サブエージェントのメモリ: サブエージェントの定義に memory を書くと、会話をまたいで残るディレクトリを持てます。

memory の値 場所 使う場面
user ~/.claude/agent-memory/<エージェント名>/ 全プロジェクトで覚えておきたい
project .claude/agent-memory/<エージェント名>/ プロジェクト固有で、Git でチームと共有したい
local .claude/agent-memory-local/<エージェント名>/ プロジェクト固有だが、Git に入れたくない

auto memory を無効にすると、サブエージェントの memory も効かなくなります。


7. セッション管理

操作 意味
claude --continue このディレクトリの最新のセッションを開き直す
claude --resume セッションの一覧から選ぶ
claude --resume <名前> 名前を付けたセッションを直接再開する
/resume セッションの中から、別のセッションに切り替える
--fork-session 再開するとき、元を変えずに新しいセッション ID で分ける(--resume か --continue と一緒に使う)
/rename [名前] 今のセッションに名前を付ける
/branch [名前] 今の時点で会話を分け、別の方向を試す。元の会話は残る
/clear、/compact、/rewind ドメイン2 第5.4節を参照
/context コンテキストの使われ方を色つきの表で見る

8. スラッシュコマンド

組み込みのコマンドの例:

コマンド 働き
/init 最初の CLAUDE.md を作る
/memory CLAUDE.md を編集する、auto memory を切り替える
/clear 新しい会話を始める
/compact [指示] 会話を要約して空きを作る
/context コンテキストの使われ方を見る
/resume 別のセッションに切り替える
/rewind 会話やコードを前の時点に戻す
/model モデルを切り替える
/permissions 許可・確認・拒否のルールを管理する
/config 設定画面を開く
/hooks フックの設定を見る
/mcp MCP サーバーの接続を管理する
/plugin プラグインを管理する
/agents サブエージェントの作り方を案内する(新しい版)
/usage セッションの費用や利用状況を見る(/cost は別名)
/help ヘルプを見る

カスタムのスラッシュコマンドは、スキル(第4節)として作ります。コマンドはメッセージの先頭にあるときだけ認識され、後ろの文は引数になります。


9. ヘッドレスモード(-p)

-p(--print)を付けると、Claude Code が対話なしで動き、結果を出して終わります。スクリプトや CI で使います。公式ドキュメントはこれを「CLI から使う Agent SDK」と説明しています。

claude -p "auth.py のバグを見つけて直して" --allowedTools "Read,Edit,Bash"
オプション 意味
--allowedTools 確認なしで使ってよいツール
--output-format text(初期値)、json(結果、セッション ID、メタデータ)、stream-json(改行区切りの JSON をリアルタイムで)
--json-schema 最後に、JSON Schema に合う検証済みの JSON を出す
--max-turns ターン数の上限(初期値は上限なし)
--continue / --resume 前の会話を続ける
--bare フック、スキル、サブエージェント、プラグイン、MCP サーバー、auto memory、CLAUDE.md の自動読み込みを飛ばして速く起動する

--bare について(公式の説明): スクリプトや SDK からの呼び出しでは --bare が推奨で、将来 -p の初期値になる予定です。--bare なしの -p は、まだ信頼していないフォルダーでも、そのプロジェクトの .claude/settings.json のフックを実行し、.mcp.json のサーバーに接続します。このとき信頼の確認画面は出ません。知らないリポジトリで -p を動かすときは注意します。


10. ストリーミングモード

試験ガイドの「streaming mode」が何を指すかは、詳しい説明がありません。ここでは、-p で結果を少しずつ受け渡すしくみ(stream-json)と解釈してまとめます(解釈であることに注意)。

オプション 意味
--output-format stream-json 出力を改行区切りの JSON で、届いたそばから流す
--input-format stream-json 入力も改行区切りの JSON で流し込む(-p のときだけ。選べるのは text か stream-json)
--include-partial-messages 生成途中のストリーミングイベントも出す。-p と --output-format stream-json が必要
claude -p --input-format stream-json --output-format stream-json --verbose

API のストリーミング(SSE)はドメイン2 第3.3節を参照してください。


11. auto mode

auto mode は権限モードの1つです(一覧はドメイン1)。


12. settings.json

範囲と優先順位はドメイン2 第6.2節のとおりです(管理 → コマンドライン → ローカルプロジェクト → 共有プロジェクト → ユーザー)。

settings.json によく書くもの:

項目 例
permissions allow、ask、deny のルール(例: "Bash(npm run test *)")
hooks フックの設定(ドメイン1)
env セッションで使う環境変数
model 初期値のモデル
autoMemoryEnabled auto memory の有効・無効

チームで共有したい権限やフックは .claude/settings.json に書いてコミットし、自分だけの上書きは .claude/settings.local.json に書きます。


13. 試験に向けたまとめ

問われ方 答え
チーム全員が使う /コマンド .claude/skills/<名前>/SKILL.md(または古い形式の .claude/commands/)をコミット
自分だけのスキル ~/.claude/skills/
勝手に動いてほしくないスキル disable-model-invocation: true
ファイルの種類ごとの決まり .claude/rules/ に paths 付きで
最初の CLAUDE.md /init
名前で前のセッションを再開 claude --resume <名前>。元を残して分けるなら --fork-session
CI で対話なしに動かす claude -p。機械で読むなら --output-format json、スクリプトなら --bare
プロジェクト固有でチーム共有のサブエージェントの記憶 memory: project
確認なしで動かしつつ安全も保つ auto mode(分類器が判断)

14. 用語集

用語 意味
ヘッドレスモード -p で対話なしに動かすこと
stream-json 改行区切りの JSON を少しずつ流す形式
auto memory Claude が自分で書いて次のセッションに残すメモ
auto mode 分類器が操作を判断し、確認なしで動く権限モード
frontmatter ファイルの先頭の --- で囲んだ YAML の設定
Explore 組み込みの調査用サブエージェント

出典

第10節の「ストリーミングモード」の解釈は筆者によるものです。内容は上の出典を要約・言い換えたものです(ライセンスに配慮して書き直しています)。