Architect 分野 3:Claude Code の設定と使い方
Claude Certified Architect – Foundations の出題分野 3「Claude Code の設定と使い方(Claude Code Configuration & Workflows)」の解説です。比重は 20%(60 問のうち約 12 問)です。
この出題分野の多くは、「Claude Code」のテーマで、すでに扱っています。このページでは、試験ガイドの 6 つの課題ごとに、要点を整理し、これまで試していなかったことを実際に試した結果を加えます。
この出題分野の課題
| 課題 | 内容 | 詳しいページ |
|---|---|---|
| 3.1 | CLAUDE.md を、階層、範囲、分け方を考えて設定する | 3.1 CLAUDE.md の階層と整理、05. CLAUDE.md とメモリ |
| 3.2 | スラッシュコマンドとスキルを作って設定する | 06. Skills |
| 3.3 | ファイルの場所ごとのルールで、決まりを必要なときだけ読み込ませる | 05. CLAUDE.md とメモリ |
| 3.4 | Plan モードと、直接の実行を使い分ける | 03. 権限モードと、確認を減らす方法 |
| 3.5 | 少しずつ良くしていく進め方を使う | このページ |
| 3.6 | Claude Code を CI/CD の仕組みに組み込む | このページ |
英語と日本語の用語
試験の問題は、英語から訳されたものです。英語の公式ドキュメントや演習問題を読むときにも使います。
| 英語 | このサイトでの日本語 | 意味 |
|---|---|---|
| CLAUDE.md hierarchy | CLAUDE.md の階層 | 組織、利用者、プロジェクト、自分だけ、の各場所に置いた CLAUDE.md の重なり |
| user-scoped / project-scoped | 利用者の範囲 / プロジェクトの範囲 | 自分のすべてのプロジェクトに効くか、そのプロジェクトだけに効くか |
@import | インポート | CLAUDE.md から別のファイルを取り込む書き方 |
| path-specific rules | ファイルの場所ごとのルール | .claude/rules/ に置き、paths で対象のファイルを決めたルール |
| glob pattern | glob のパターン | src/**/*.ts のように、ファイルの場所を * などで表す書き方 |
| frontmatter | フロントマター | ファイルの先頭の --- で囲んだ設定の部分 |
| slash command | スラッシュコマンド | /名前 で呼び出す命令 |
context: fork | (別の Claude で動かす設定) | スキルを、会話の履歴を持たない別の Claude(サブエージェント)で動かす |
| subagent | サブエージェント | 仕事の一部を任される、別の Claude |
| plan mode / direct execution | Plan モード / 直接の実行 | 先に計画だけを立てるか、すぐに変更を始めるか |
| iterative refinement | 少しずつ良くしていく進め方 | 結果を確かめながら、何度かに分けて直していく |
| interview pattern | 聞き取りのやり方 | Claude に質問させて、作りたいものの仕様を固める |
non-interactive mode (-p) | 対話なしの実行 | 人が入力せずに、1 回の指示で Claude Code を動かす |
| structured output | 構造化した出力 | 決まった形(JSON など)で返す出力 |
| JSON Schema | JSON スキーマ | JSON の形(項目の名前、種類、必須かどうか)を定める書き方 |
3.1 CLAUDE.md の階層
置き場所と、読み込まれる順番
CLAUDE.md は、次の 4 か所に置けます。上から順に、範囲が広いものから読み込まれます。
| 範囲 | 場所 | 共有される相手 |
|---|---|---|
| 組織(管理) | macOS では /Library/Application Support/ClaudeCode/CLAUDE.md など | 組織の全員 |
| 利用者 | ~/.claude/CLAUDE.md | 自分(すべてのプロジェクト) |
| プロジェクト | ./CLAUDE.md または ./.claude/CLAUDE.md | チーム(Git で共有) |
| 自分だけ(プロジェクト) | ./CLAUDE.local.md | 自分(そのプロジェクト) |
押さえておく点は、次のとおりです。
- 上書きではなく、つなげて読み込まれる。 後から読まれたもの(作業フォルダーに近いもの)ほど、最後に読まれる。同じフォルダーでは、
CLAUDE.local.mdがCLAUDE.mdの後に読まれる。 - 作業フォルダーより上のフォルダーの CLAUDE.md は、起動したときに読み込まれる。 下のフォルダー(サブフォルダー)の CLAUDE.md は、Claude がそのフォルダーのファイルを読み書きしたときに、はじめて読み込まれる。
- チームで共有したい決まりは、プロジェクトの CLAUDE.md に書く。 利用者の CLAUDE.md に書くと、ほかのメンバーには届かない。
- 矛盾する指示があると、Claude はどちらかを選んでしまうことがある。 定期的に見直す。
どの CLAUDE.md が読み込まれているかを確かめる
| コマンド | 分かること |
|---|---|
/memory | 利用者とプロジェクトの CLAUDE.md、CLAUDE.local.md などの置き場所の一覧。選ぶとエディターで開ける(まだないファイルは、作られる) |
/context | 起動したときに、どの CLAUDE.md とルールが読み込まれたか |
たとえば、「新しく加わったメンバーにだけ、決まりが効かない」場合は、決まりがプロジェクトの CLAUDE.md ではなく、誰かの ~/.claude/CLAUDE.md(その人だけに効く)に書かれていないかを疑います。
インポート
CLAUDE.md の中に @パス と書くと、そのファイルが一緒に読み込まれます。
- 相対パスは、作業フォルダーではなく、書いたファイルの場所からたどる。
- 取り込んだファイルから、さらに取り込める。ただし、4 段まで。
- バッククォートで囲むと、取り込まずに文字のまま残る。
3.2 スラッシュコマンドとスキル
コマンドとスキルは、同じ仕組みになった
.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md は、どちらも /deploy を作り、同じように動きます。.claude/commands/ は古い形で、今も使えます。新しく作るなら、補助のファイルを置けるスキルが勧められています。
| 置き場所 | 範囲 |
|---|---|
~/.claude/skills/ | 自分のすべてのプロジェクト |
.claude/skills/ | そのプロジェクト(Git で共有できる) |
同じ名前のスキルが両方にあると、自分の(~/.claude/skills/ の)スキルが優先されます。チームのスキルを自分用に変えたいときは、別の名前を付けて自分の置き場所に作ると、チームのスキルも残り、ほかのメンバーにも影響しません。
スキルと CLAUDE.md の使い分け: いつも守ってほしい決まりは CLAUDE.md に、特定の作業の手順は、その作業のときだけ読み込まれるスキルに書きます。
試験で押さえるフロントマター
| 項目 | 働き | 使いどころ |
|---|---|---|
description | 何をするスキルか、いつ使うか。Claude はこれを見て使うかを決める | 使ってほしい場面を、はじめに書く |
argument-hint | 入力の補完のときに出る、引数の案内 | [issue-number] など |
allowed-tools | そのスキルを使った回の応答の間、確認なしで使える道具 | 決まったコマンドだけを動かすスキル |
disable-model-invocation: true | Claude が自分の判断では使わない。利用者が /名前 で呼んだときだけ動く | デプロイなど、外部に影響する作業 |
user-invocable: false | 利用者は呼び出せない。Claude だけが使う | 背景の知識 |
context: fork | 会話の履歴を持たない別の Claude(サブエージェント)で動かす | 大量に読み込む調査など、元の会話のコンテキストを汚したくない作業 |
agent | context: fork のときに使うサブエージェントの種類 | 調査向けのサブエージェントを使う、など |
context: fork の注意点は、次のとおりです。
- 別の Claude は、それまでの会話を見られない。スキルの指示だけで仕事が完結するように書く。
- 名前に「fork」とあるが、会話を引き継ぐ「会話の分岐」とは別物。会話の内容が必要な作業には向かない。
- 既定では、裏で動き、終わると結果が会話に届く。
background: falseで、終わるまで待たせられる。-p(対話なしの実行)では、常に終わるまで待つ。
3.3 ファイルの場所ごとのルール
.claude/rules/ に置いた Markdown のファイルは、ルールとして読み込まれます。フロントマターに paths を書くと、当てはまるファイルを扱うときだけ読み込まれます。
---
paths:
- "src/api/**/*.ts"
---
# API を書くときの決まり
- すべての API で、入力を検証する| 書き方 | 読み込まれるとき |
|---|---|
paths なし | いつも(起動したとき) |
paths あり | Claude が、当てはまるファイルを Read、Write、Edit で扱ったとき(cat などで 1 つのファイルを見たときも含む) |
pathsのパターンは、.claudeフォルダーがあるフォルダーからの相対で書く。{ts,tsx}のように、波かっこで複数の拡張子をまとめられる。- ルールのフロントマターで読まれる項目は、
pathsだけ。
サブフォルダーの CLAUDE.md との使い分け: サブフォルダーの CLAUDE.md は、そのフォルダーの中のファイルを扱うときに読み込まれます。テストのファイルのように、決まりを当てはめたいファイルがあちこちのフォルダーに散らばっているときは、フォルダーごとに CLAUDE.md を置くより、**/*.test.ts のような paths のルールを 1 つ置くほうが向いています。
CLAUDE.md とルールの使い分け: どの作業にも必要な決まりは CLAUDE.md に、特定の種類のファイルにだけ必要な決まり(テストの書き方、API の書き方など)は paths 付きのルールに書きます。必要なときだけ読み込まれるので、コンテキストの節約になります。
3.4 Plan モードと、直接の実行の使い分け
公式のベストプラクティスは、作業の進め方を「調べる → 計画する → 実装する → コミットする」の 4 段階に分け、調べることと計画することを Plan モードで行うよう勧めています。ただし、Plan モードには手間もかかるので、使い分けが大切です。
| 使い分け | 作業の例 |
|---|---|
| Plan モードを使う | やり方に迷いがある。複数のファイルを変える。よく知らないコードを変える |
| 直接実行する | 範囲がはっきりしていて、小さい変更。誤字の修正、ログの 1 行の追加、変数の名前の変更 |
公式ドキュメントの目安は、「変更の中身を 1 文で説明できるなら、計画はいらない」です。
2 つは組み合わせて使えます。たとえば、ライブラリーの入れ替えのような大きな作業は、Plan モードで調べて計画を立て、計画を承認したら、通常のモードで計画どおりに実装します。
調査用のサブエージェント(Explore)
Claude Code には、コードを調べるための組み込みのサブエージェント「Explore」があります。Claude は、変更をせずにコードを検索したり理解したりする必要があるときに、Explore に任せます。調べた過程の長い出力は Explore の側にとどまり、元の会話には要約だけが返るので、元の会話のコンテキストがいっぱいになりにくくなります。Explore は、起動を軽くするために、CLAUDE.md を読み込まずに始まります。
3.5 少しずつ良くしていく進め方
公式のベストプラクティスから、試験に関わる進め方を整理します。
| 進め方 | 内容 |
|---|---|
| 確かめる手段を渡す | テスト、ビルド、期待する入力と出力の例など、Claude が自分で合否を確かめられるものを渡す。Claude は、確かめて、直して、を繰り返せる |
| 入力と出力の例を示す | 「メールアドレスを検証する関数」ではなく、「user@example.com は正しい、user@.com は誤り」のように例を渡す |
| 症状ではなく、原因を直させる | エラーの内容を渡し、エラーを隠さずに原因を直すよう頼む |
| 聞き取りのやり方 | 大きな機能では、まず Claude に質問させて、仕様を固め、仕様書に書かせる。実装は、新しい会話で仕様書をもとに行う |
| 関係する問題はまとめ、独立した問題は分ける | 直し方が互いに影響する複数の問題は、1 通の詳しいメッセージにまとめて伝える。互いに関係しない問題は、1 つずつ直して確かめる |
| 早めに軌道を直す | ずれたら Esc で止める。/rewind で前の状態に戻す。同じことを 2 回以上直しても直らないときは、/clear で会話を始め直し、学んだことを含めた具体的な指示を出す |
3.6 CI/CD への組み込み
対話なしで動かす(-p)
claude -p "指示" で、人が入力しなくても Claude Code が動きます。CI、Git のコミット前の点検、スクリプトなどに組み込む方法です。
| オプション | 働き |
|---|---|
-p | 対話なしで、1 回の指示を実行する |
--output-format json | 結果を JSON で返す。答えは result に入る。費用の見積もり(total_cost_usd)なども入る |
--output-format stream-json | 結果を 1 行 1 つの JSON で、少しずつ返す(--verbose と一緒に使う) |
--json-schema | --output-format json と一緒に使い、答えの形を JSON スキーマで決める。決めた形の答えは structured_output に入る |
--bare | フック、スキル、MCP サーバー、CLAUDE.md などの自動の読み込みを省いて、速く起動する。CI ではこちらが勧められている |
--allowedTools | 確認なしで使ってよい道具を指定する |
CI で使うときの注意点は、次のとおりです。
structured_outputがないこともある。 Claude が依頼を断った場合などは、structured_outputが入らない。スクリプトで使う前に、項目があるかを確かめる。-pでは、フォルダーの信頼の確認が出ない。--bareを付けないと、プロジェクトの.claude/settings.jsonのフックや、.mcp.jsonの MCP サーバーが、確認なしで動く。知らないリポジトリで動かすときは、特に気をつける。--bareを付けると、CLAUDE.md も読み込まれない。 CI の Claude に、テストの決まりや見直しの基準を伝える手段は、ふつうは CLAUDE.md です。--bareを付ける場合は、必要な決まりを--append-system-promptなどで明示的に渡します。
CI での見直しと、テストの作成のコツ
| コツ | 理由 |
|---|---|
| コードを書いた会話とは別の会話(別の Claude)に見直させる | 書いた本人の会話は、書いたときの考え方に引きずられる。書いた過程を見ていない見直し役のほうが、問題に気づきやすい。ターミナル版の /code-review も、会話を見ていない別のサブエージェントで差分を見直す |
| 2 回目の見直しでは、前回の指摘を渡す | 新しいコミットのあとに見直し直すとき、前回の指摘を渡して「新しい問題と、まだ直っていない問題だけ」を挙げさせると、同じ指摘のコメントが重ならない |
| テストを作らせるときは、今あるテストを渡す | すでにある場面のテストを、重ねて提案させないため |
| テストの決まり、役立つテストの基準、使えるテスト用のデータを CLAUDE.md に書く | 作られるテストの質が上がり、価値の低いテストが減る |
GitHub Actions の中で Claude を動かす方法は、「Claude Code」のテーマの 13(Claude Code を CI で動かす)で扱う予定です。
実際にやってみる
これまでのページで説明だけしていた 3 つのことを、このサイトのリポジトリで試しました。どれも、ターミナル版の claude -p(対話なしの実行)を使い、1 回ごとに新しい会話で確かめています。試し用のルールとスキルは、確かめたあとに消しました。
1. ファイルの場所ごとのルール
.claude/rules/ に、次のルールを置きました。CI/CD のテーマのページ(docs/cicd/ の下)を扱うときだけ読み込まれ、読み込まれたら答えの最後に目印を書くように指示したものです。
---
paths:
- "docs/cicd/**/*.md"
---
- このルールが読み込まれているときは、答えのいちばん最後の行に、「[RULE-CICD]」とだけ書く。| 試したこと | 期待したこと | 結果 |
|---|---|---|
docs/cicd/index.md を読ませて、要約させる(当てはまる) | 目印が付く | 付いた |
README.md を読ませて、要約させる(当てはまらない) | 目印が付かない | 付かなかった |
2. context: fork のスキル
context: fork と disable-model-invocation: true を付けたスキルを作りました。スキルの中では、「この依頼より前の会話で、利用者が伝えた合言葉を知っていれば書く」ことと、「Claude Code のテーマのトップページを読んで、公開済みのページを数える」ことを頼んでいます。
会話の中で先に合言葉を伝えてから、このスキルを呼び出しました。
| 確かめたこと | 期待したこと | 結果 |
|---|---|---|
| スキルを動かした別の Claude は、合言葉を知っているか | 知らない(会話の履歴を見られない) | 「知らない」と答えた |
| 別の Claude は、ファイルを読んで作業できるか | できる | できた(公開済みのページを 11 と数えた) |
| 元の会話の Claude は、合言葉を知っているか | 知っている | 知っていた |
別の Claude には会話の内容が渡らず、スキルの指示とファイルから分かることだけで作業する、ということを確かめられました。
3. --json-schema で答えの形を決める
公開済みのページの番号と数を、決めた形で答えさせました。
claude -p "docs/claude-code/index.md を読み、状態が「公開済み」のページの番号と、その数を答えてください。" \
--allowedTools "Read" \
--output-format json \
--json-schema '{"type":"object","properties":{"published_count":{"type":"integer"},"page_numbers":{"type":"array","items":{"type":"string"}}},"required":["published_count","page_numbers"]}'返ってきた JSON の structured_output は、次のとおりでした。
{"published_count": 11, "page_numbers": ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11"]}決めた形(数は整数、番号は文字の並び)で返ってきました。返ってきた JSON には、答えのほかに、セッションの ID、かかった時間、費用の見積もりなど、30 以上の項目が入っていました。
確認問題
すべて自作の問題です。
まとめ
- CLAUDE.md は、組織、利用者、プロジェクト、自分だけ、の 4 か所に置ける。上書きではなく、つなげて読み込まれ、作業フォルダーに近いものほど後に読まれる。インポートは、書いたファイルの場所からたどり、4 段まで。
- スラッシュコマンドとスキルは同じ仕組み。
disable-model-invocation、user-invocable、allowed-tools、context: forkの働きを区別する。context: forkのスキルは、会話の履歴を見られない。 paths付きのルールは、当てはまるファイルを扱うときだけ読み込まれる。特定の種類のファイルの決まりに使う。- 変更を 1 文で説明できる小さな作業は直接実行し、迷いがある作業や大きな作業は Plan モードで計画する。
- Claude が自分で合否を確かめられるもの(テスト、例)を渡し、早めに軌道を直す。
- CI では
claude -pを使う。--json-schemaの答えはstructured_outputに入るが、入らないこともある。CI の Claude にも、決まりは CLAUDE.md で伝える(--bareを付けると CLAUDE.md は読み込まれない)。見直しは、コードを書いた会話とは別の会話に任せる。
試験ガイドとの対応
試験ガイドが、課題ごとに挙げている「知っておくこと」と「できること」の項目を、このサイトで要約し、確かめた公式ドキュメントと、このページで扱った節を並べました。
| 課題 | 試験ガイドの項目(要約) | 確かめた公式ドキュメント | このページの節 |
|---|---|---|---|
| 3.1 | CLAUDE.md の階層(利用者、プロジェクト、サブフォルダー) | Memory | 3.1 置き場所と、読み込まれる順番 |
| 3.1 | 利用者の CLAUDE.md は、チームに共有されない | Memory | 3.1 置き場所と、読み込まれる順番 |
| 3.1 | @ でのインポートで、必要な決まりだけを取り込む | Memory | 3.1 インポート |
| 3.1 | 大きな CLAUDE.md を、.claude/rules/ の話題ごとのファイルに分ける | Memory | 3.3 |
| 3.1 | /memory で、読み込まれているファイルを確かめ、原因を探る | Memory | 3.1 どの CLAUDE.md が読み込まれているかを確かめる |
| 3.2 | プロジェクトのコマンド(共有)と、利用者のコマンド(自分だけ) | Skills | 3.2 コマンドとスキルは、同じ仕組みになった |
| 3.2 | スキルのフロントマター(context: fork、allowed-tools、argument-hint) | Skills | 3.2 試験で押さえるフロントマター |
| 3.2 | 出力の多い作業を context: fork で切り離す | Skills | 3.2、実際にやってみる 2 |
| 3.2 | 自分用の変形は、名前を変えて自分の置き場所に作る | Skills | 3.2 |
| 3.2 | スキル(呼んだときだけ)と CLAUDE.md(いつも)の使い分け | Skills、Memory | 3.2 |
| 3.3 | paths 付きのルールは、当てはまるファイルを扱うときだけ読み込まれる | Memory | 3.3、実際にやってみる 1 |
| 3.3 | 散らばったファイルには、サブフォルダーの CLAUDE.md より paths のルール | Memory | 3.3 |
| 3.4 | 大きな作業、やり方が複数ある作業は Plan モード。小さく明確な作業は直接実行 | Best practices | 3.4 |
| 3.4 | Plan モードで調べて計画し、直接の実行で作る組み合わせ | Best practices | 3.4 |
| 3.4 | 長い調査は Explore に任せ、元の会話のコンテキストを守る | Subagents | 3.4 調査用のサブエージェント |
| 3.5 | 2〜3 個の入力と出力の例を示す | Best practices | 3.5 |
| 3.5 | テストを先に書き、失敗を伝えながら直す | Best practices | 3.5 |
| 3.5 | 聞き取りのやり方で、考え漏れを洗い出す | Best practices | 3.5 |
| 3.5 | 関係する問題はまとめて、独立した問題は 1 つずつ | Best practices | 3.5 |
| 3.6 | -p で、対話なしで動かす | Headless | 3.6 |
| 3.6 | --output-format json と --json-schema で、決まった形の結果を得る | Headless | 3.6、実際にやってみる 3 |
| 3.6 | CI の Claude にも、決まりは CLAUDE.md で伝える | GitHub Actions、Best practices | 3.6 |
| 3.6 | 書いた会話とは別の会話で見直すほうがよい | Best practices | 3.6 CI での見直しと、テストの作成のコツ |
| 3.6 | 2 回目の見直しでは前回の指摘を渡し、重複を防ぐ | (公式ドキュメントでは見つけていない) | 3.6 CI での見直しと、テストの作成のコツ |
| 3.6 | テストを作らせるときは、今あるテストを渡す | (公式ドキュメントでは見つけていない) | 3.6 CI での見直しと、テストの作成のコツ |
「公式ドキュメントでは見つけていない」の 2 項目は、試験ガイドに書かれている内容を、そのまま説明しています。
教材で確かめる
Claude Academy
| コース | 部分 | この出題分野の課題 |
|---|---|---|
| Claude Code 101 | 日々のワークフロー(調べる → 計画する → 書く → コミットする、/compact・/clear・/context、新しいコンテキストでの見直し) | 3.4、3.5、3.6 |
| Claude Code 101 | Claude Code をカスタマイズする(CLAUDE.md、サブエージェント、Skills、MCP、フック) | 3.1、3.2 |
| Claude Codeを実践する | Claude を設定する(CLAUDE.md、スキル、権限モード、フック) | 3.1、3.2 |
| Claude Codeを実践する | 作業を操作する(Plan モード、要約、巻き戻し) | 3.4 |
| Claude Codeを実践する | 繰り返し作業を自動化する(ヘッドレスモード、コードレビュー、GitHub Actions) | 3.6 |
| Agent Skills入門 | 全体 | 3.2 |
どの課題に当たるかは、コースの説明から、このサイトで判断しました。レッスンの中身は、まだ見ていません。コースの説明には、3.3(ファイルの場所ごとのルール)に当たる内容は見つかりませんでした。
Udemy
日本語の講座「Claude Code カスタマイズ完全ガイド(とまだ)」で、この出題分野に当たるセクションです。
| 講座のセクション | この出題分野の課題 |
|---|---|
| 1. カスタマイズ機能の全体像を理解しよう | 全体の見取り図 |
| 2. CLAUDE.md - すべての土台 | 3.1 |
| 3. .claude/rules/ - ルールのモジュール化 | 3.3 |
| 4. カスタムコマンド - シンプルな自動化 | 3.2 |
| 6. Skills - 動的知識の読み込み | 3.2 |
この講座では、context: fork、claude -p と CI は扱っていません。Claude Academy の「Claude Codeを実践する」と、このページの 3.2、3.6、「実際にやってみる」で補ってください。
確認の記録
- Claude Certified Architect – Foundations Exam Guide(Version 1.0、2026 年 7 月。Anthropic Partner Academy で公開)
- Manage Claude's memory(Claude Code Docs)
- Extend Claude with skills(Claude Code Docs)
- Best practices(Claude Code Docs)
- Create custom subagents(Claude Code Docs)
- Claude Code GitHub Actions(Claude Code Docs)
- Run Claude Code programmatically(Claude Code Docs)
- Claude Code 101、Claude Codeを実践する(Claude Academy)
| 項目 | 内容 |
|---|---|
| 最終確認日 | 2026 年 10 月 28 日 |
| Claude Code のバージョン | 2.1.302(macOS のターミナル版) |
| 検証の状況 | 「実際にやってみる」は、この Mac のターミナル版と、このサイトのリポジトリで確かめた結果。それ以外の節は、公式ドキュメントの内容をもとに書いている |
| 確かめていない内容 | /memory、/context、Explore、/code-review、同じ名前のスキルの優先順位、組織(管理)の CLAUDE.md、インポートの 4 段の上限、agent と background の設定、--bare、stream-json、GitHub Actions の中での実行 |