Domain 3 / 全6項目 / 主戦場: S2 コード生成・S4 生産性・S5 CI/CD

Claude Code の設定とワークフロー(配点20%)

CLAUDE.md の階層、スキルとコマンド、plan mode、CI/CD統合。~/.agent/ 組織はこのドメインの「模範解答の実物大模型」なので、実務貯金が最も効く。公式用語との対応確認が中心。

Task Statement 3.1CLAUDE.md の階層とモジュール化

CLAUDE.md は3階層で重なる:ユーザー(~/.claude/CLAUDE.md・自分専用)→ プロジェクト(.claude/CLAUDE.md かルート直下・チーム共有)→ ディレクトリ(サブフォルダごと)。「チームに効かせたい指示がユーザー階層に書かれている」が典型トラブル。
試験が問うこと
  • 3階層の使い分け。ユーザー階層はgit共有されない=チームメイトには効かない(新メンバーに指示が届かない事故の原因)
  • @import 構文で外部ファイルを参照し、CLAUDE.md をモジュール化する(パッケージごとに関係する規約ファイルだけ読み込む)
  • 一枚岩の巨大CLAUDE.mdの代わりに .claude/rules/ ディレクトリでトピック別ファイル(testing.md, api-conventions.md…)に分割する
  • /memory コマンドで「いまどのメモリファイルが読み込まれているか」を確認し、セッション間の挙動ブレを診断する
うちの組織の実物

この構成そのものを運用中:~/.claude/CLAUDE.md(ユーザー・グローバル設定)+ ~/.agent/CLAUDE.md(プロジェクト)+ rules/ 26ファイル(トピック別分割)。⚠️実務メモ: feedback-claude-code-import-misconception「@import はcontext削減効果なし(読み込まれれば消費は同じ)」——@importの利点は整理と選択的読み込みであって魔法の圧縮ではない、という理解が正確。

ひっかけ
  • 「チーム標準を ~/.claude/CLAUDE.md に書く」→ 自分にしか効かない。プロジェクト階層へ
  • 「設定が効かない→Claudeの不具合」→ まず階層を疑う(どの階層に書いたか、/memoryで確認)

Task Statement 3.2カスタムコマンドとスキルの作成

チームで共有する定型手順は .claude/commands/(プロジェクト・git共有)、個人用は ~/.claude/commands/。スキル(SKILL.md)には frontmatter で fork実行・ツール制限・引数ヒントを設定できる。
試験が問うこと
  • スコープ:project の .claude/commands/(clone/pullで全員に配布)vs user の ~/.claude/commands/(個人)——サンプル問題Q4はこの一択問題
  • SKILL.md frontmatter の3設定:context: fork(隔離された子コンテキストで実行し、冗長な出力が本会話を汚さない)/allowed-tools(スキル実行中のツール制限=破壊的操作の防止)/argument-hint(引数なし起動時に必要パラメータを促す)
  • 個人カスタマイズは ~/.claude/skills/ に別名の変種を作る(チームに影響させない)
  • スキル vs CLAUDE.md の選択:オンデマンドで呼ぶタスク特化手順はスキル、常時適用の普遍的標準はCLAUDE.md
うちの組織の実物

129本のスキル運用と rules/extension-layer-decision.md の6問フローチャート(「毎セッション必要→CLAUDE.md、オンデマンド手順→Skills」)が、まさに最後の選択基準の実装。rules/skill-tier.md(T0/T1/T2品質保証)は試験範囲外だが、スキル濫造を防ぐ運用として上位互換。

ひっかけ
  • 「チーム共有コマンドを各開発者のホームに置く」「CLAUDE.mdに書く」「config.jsonのcommands配列」→ 正解は .claude/commands/(Q4。config.json方式は存在しない機能)
  • 「冗長な出力を出すスキルを本会話で実行」→ context: fork で隔離が正解

Task Statement 3.3パス限定ルール(.claude/rules/ の paths 指定)

「テストファイルの規約は、テストファイルを編集するときだけ読み込みたい」——.claude/rules/ のYAML frontmatter に paths: ["**/*.test.*"] のようなglobパターンを書くと、該当ファイル編集時だけルールが発動し、無関係なコンテキスト消費を減らせる。
試験が問うこと
  • paths frontmatter による条件付きルール読み込みの仕組みと、コンテキスト(トークン)節約効果
  • globルール vs ディレクトリ別CLAUDE.md:規約の対象が複数ディレクトリに散らばる場合(テストファイルがコードベース全体に分散等)はglobルールが正解。ディレクトリCLAUDE.mdは場所に縛られる
  • 例:paths: ["src/api/**/*"] でAPI規約、paths: ["**/*.test.*"] でテスト規約——場所でなくファイルの種類で規約を当てる
  • サンプル問題Q6の正解筋:分散した同種ファイルに自動で規約を当てる最保守な方法=paths付きrules。「ルートCLAUDE.mdに全部書いて推論任せ」は不確実、「スキル化」は手動起動が要る、「各ディレクトリにCLAUDE.md」は分散に追従できない
うちの組織の実物

2026-05の rules-optimization で path-scoped 化を実施済み(232行削減)。「常時ロードすべきか、パスで絞れるか」の判断を実際にやった経験がそのまま答案になる。ただし全rulesをpath化しても大きく減らなかった(3829→3804行)という限界も体験済み——「pathsは万能の圧縮ではなく、対象が明確なルールにだけ効く」という肌感は試験でも正しい。

ひっかけ
  • 「ルートCLAUDE.mdに全規約を書いてClaudeに使い分けさせる」→ 明示的マッチングでなく推論頼み=不確実で誤答
  • 「ディレクトリごとにCLAUDE.mdを置く」→ 対象ファイルが全体に散っている場合は破綻

Task Statement 3.4plan mode vs 直接実行

大規模・多ファイル・複数の正解がありうる設計判断を含む仕事はplan mode(読み取り専用で探索・設計→承認後に実行)。スコープ明確な小修正は直接実行。「複雑さが最初から分かっているのに直接始める」のが誤答。
試験が問うこと
  • plan mode の適用場面:アーキテクチャに関わる変更(モノリス→マイクロサービス化、45ファイル超のライブラリ移行、インフラ要件が違う統合方式の選択)
  • 直接実行の適用場面:スタックトレース付きの単一ファイルバグ修正、1関数へのバリデーション追加
  • Explore サブエージェント:冗長な探索出力を隔離し、要約だけ本会話に返す→長丁場のコンテキスト枯渇を防ぐ
  • 組み合わせ技:plan mode で調査・設計→承認→直接実行で実装、の2段構え
  • サンプル問題Q5の正解筋:「複雑さは要件に書いてある。あとで気づいたら切り替えよう(誤答D)ではなく最初からplan mode」
うちの組織の実物

rules/impact-assessment.md のリスク判定がこの上位互換:LOW→直接実装 / MEDIUM→/plan→/implement / HIGH・CRITICAL→/research→/plan→レビュー→/implement。試験の「complexity assessment」を、依存ファイル数とクリティカルパスで定量化した運用。Explore サブエージェントも日常使用。

ひっかけ
  • 「実装しながら自然な境界を見つける」→ 依存を後から発見して手戻り(Q5誤答B)
  • 「詳細な事前指示を書けば直接実行でよい」→ コードを見ずに正しい構造を知っている前提が誤り(Q5誤答C)
  • 「予想外の複雑さに遭遇したらplan modeに切替」→ 複雑さが最初から明示されている場合は誤答(Q5誤答D)

Task Statement 3.5反復改善のテクニック(イテレーション設計)

文章で説明して伝わらないなら入出力の具体例を2〜3個見せる。実装前にテストを先に書いて失敗を共有しながら直させる。不慣れな領域ではClaudeに先に質問させる(インタビューパターン)。
試験が問うこと
  • 具体例駆動:散文の要求仕様が一貫して解釈されないとき、最も効くのは入出力例2〜3個(例:移行スクリプトのnull処理を、例で示す)
  • テスト駆動の反復:期待挙動・エッジケース・性能要件を先にテストスイートに書き、失敗を共有して段階改善
  • インタビューパターン:実装前にClaudeから設計上の考慮点(キャッシュ無効化戦略・障害モード等)を質問させ、開発者が想定していなかった論点を先に出す
  • 一括 vs 逐次の修正指示:問題同士が相互作用するなら1つの詳細メッセージにまとめて出す、独立していれば順番に
うちの組織の実物

インタビューパターンは rules/communication.md の「インタビュー形式(曖昧さが多いタスクで一問ずつ、アーキテクチャが変わる質問を優先)」として運用済み。テスト駆動は tdd-workflow スキル。「相互作用する問題は一括で」は、複数バグ修正依頼の日常運用と同じ。

ひっかけ
  • 「もっと詳しい散文の説明を書き足す」→ 解釈ブレの根治には具体例の方が効く
  • 「相互作用するバグ群を1個ずつ順番に直させる」→ 直すたびに別の箇所が壊れる。一括提示が正解

Task Statement 3.6CI/CDパイプラインへの統合

自動実行では claude -p "…"--print=非対話モード)が鉄則。対話待ちでジョブが永久にハングするのを防ぐ。構造化した結果が欲しければ --output-format json--json-schema
試験が問うこと
  • -p/--print:プロンプトを処理して結果をstdoutに出して終了する非対話モード(サンプル問題Q10。CLAUDE_HEADLESS環境変数や--batchフラグは存在しない機能として誤答に配置される)
  • --output-format json--json-schema:CIでの機械可読な出力の強制→PRへの自動インラインコメント投稿などに使う
  • CLAUDE.md がCI起動時のプロジェクト文脈供給源になる(テスト標準・fixture規約・レビュー基準を書いておく→テスト生成の質が上がり、低価値な重複テスト提案が減る)
  • 再レビュー時は前回の指摘事項をコンテキストに含め、「新規または未対応の問題だけ報告」させて重複コメントを防ぐ
  • セッションコンテキスト分離:コードを生成した同じセッションは自分の変更のレビューが甘い→独立したレビューインスタンスを立てる方が効果的
うちの組織の実物

「生成者と検証者を分ける」は rules/audit-independence.md(盲検・独立コンテキスト・Generator-Evaluator分離)の中核思想と完全一致。週次調査ルーチン(GitHub Actions)は headless 運用の実例。CLAUDE.md の「無人実行時は AskUserQuestion 禁止」ルールも同じ問題意識(対話待ちハング)。

ひっかけ
  • 「CLAUDE_HEADLESS=true」「--batch フラグ」「stdinを/dev/nullから」→ 存在しない機能・的外れなUnix回避策。正解は -p(Q10)
  • 「生成したセッションにそのまま自己レビューさせる」→ 自分の推論文脈を引きずって甘くなる。独立インスタンスが正解

用語ミニ辞書(Domain 3)

CLAUDE.md 階層(user / project / directory)

ユーザー階層(~/.claude/・個人にだけ効く・git共有されない)→ プロジェクト階層(リポジトリ内・チーム共有)→ ディレクトリ階層(サブフォルダ限定)。「誰に効かせたいか」で置き場所を決める。

@import

CLAUDE.md から外部ファイルを参照して取り込む構文。モジュール化・選択的読み込みのための機能で、読み込んだ分のトークンは普通に消費する(圧縮ではない)。

.claude/rules/ + paths frontmatter

トピック別ルールファイルの置き場。YAML frontmatter の paths: ["glob"] を書くと、一致するファイルを編集するときだけルールが読み込まれる(条件付きロード)。

context: fork / allowed-tools / argument-hint

SKILL.md frontmatter の3設定。fork=隔離コンテキストで実行(冗長出力が本会話を汚さない)、allowed-tools=スキル実行中のツール制限、argument-hint=引数なし起動時の入力促し。

plan mode

実行前に読み取り専用で探索・設計し、計画を承認してから実装に移るモード。大規模・多ファイル・アーキテクチャ判断を含むタスク用。小さな明確な修正には過剰。

Explore サブエージェント

冗長なコードベース探索を隔離コンテキストで行い、要約だけを本会話に返す読み取り専用の子エージェント。長時間タスクのコンテキスト枯渇対策。

claude -p(--print)/ --output-format json / --json-schema

CI/CD用のCLIフラグ。-p=非対話モードで処理して終了(ハング防止)、--output-format json + --json-schema=構造化された機械可読出力の強制。

インタビューパターン

実装前にClaudeの側から設計上の質問を出させ、開発者が想定していない考慮点(キャッシュ無効化・障害モード等)を表面化させる手法。

仕上げチェックリスト(30秒で説明できたらチェック)

← D2 ツール/MCP D4 プロンプトと構造化出力 →