---
session: S03
exercise: A-3
title: ハーネスを配置する
duration: 5min
difficulty: 1
prerequisite: [A-0, A-2]
phases:
  コピー: 2min
  読み込み直し: 1min
  確認: 2min
files_to_edit:
  - CLAUDE.md      # _harness_kit/step1_kadaiA からコピーして配置します
  - .claude/       # 同上（フォルダごとコピー）
  - docs/          # 同上（フォルダごとコピー。/selfcheck が読む観点ファイル4本）
hints: hints/step03_warning_check.md
challenge: false
tags: [CLAUDE.md, settings.json, 自動読込]
---

# 演習 A-3: ハーネスを配置する

配布フォルダの中で待機していた設定ファイル一式を、初めてプロジェクトに置きます。演習Aの折り返し地点です。

| 項目 | 内容 |
|---|---|
| 所要 | 5分 |
| 触るフォルダ | `handson` 直下 |
| 生成物 | `handson/CLAUDE.md` ・ `handson/.claude/` ・ `handson/docs/`（3つともコピーによる配置） |
| 終わったと言える状態 | AI が `CLAUDE.md` の中身に触れて答え、応答の末尾にサマリーが付く |

**このステップは全員同時に行います。** 講師の合図を待ってから始めてください。先に配置してしまうと、周りが「設定が無い状態」の話をしているときに、自分だけ違う状態で聞くことになります。

「ハーネス」は、AI を働かせるための足場のことです。本研修では次の3つをまとめてそう呼びます。馬具のハーネスと同じで、力を出させるためではなく、力を意図した方向に向けるための道具です。

| 置くもの | 何が入っているか | 効き方 |
|---|---|---|
| `CLAUDE.md` | プロジェクトの前提・業務ルール・出力の作法 | Claude Code が起動時に毎回読む |
| `.claude/` | `settings.json`（やらせないことの指定）／ `commands/`（`/selfcheck` の手順書）／ `skills/`（点検の観点）／ `agents/`（点検専任のサブエージェント） | コマンドや Skill として呼び出されたときに効く |
| `docs/` | コーディング規約・生成物チェックリスト・セキュリティチェックリスト・セルフチェックの観点の4本 | `/selfcheck` が点検の入力として読む |

3つのうち1つでも欠けると、A-5 の `/selfcheck` が観点を読めずに結果が薄くなります。3つまとめて置いてください。

---

## 目的

ファイルを置くだけで AI の振る舞いが変わることを、自分の手で確かめます。

「AI に指示を出す」以外に、「AI が読む場所にあらかじめ置いておく」という渡し方があります。この2つは実務での効き方が違います。指示は毎回書き直しになりますが、置いたものは全員に同じように効きます。その差を体験するのがこのステップです。

---

## 操作

### 1. コピー元を開く

VSCode 左のエクスプローラで `handson` > `_harness_kit` > `step1_kadaiA` の順にフォルダを開きます。中には次の7つが入っています。

| 名前 | 何か | A-3 でコピーするか |
|---|---|---|
| `CLAUDE.md` | プロジェクトの前提。Claude Code が起動時に自動で読むファイル | **コピーします** |
| `.claude` | `settings.json` / `commands/selfcheck.md` / `skills/kadaia-review/SKILL.md` / `agents/reviewer.md` が入ったフォルダ | **コピーします** |
| `docs` | `/selfcheck` が読む観点ファイル4本 | **コピーします** |
| `AGENTS.md` | Claude Code 以外の AI ツールも読む共通の指示 | しません（見本として同梱） |
| `.github` / `.cursor` / `.codex` | GitHub Copilot・Cursor・Codex 向けに同じ前提を書いたもの | しません（見本として同梱） |

下の4つは「同じ内容を他のツール向けに書くとこうなる」という見本です。研修中は使いません。コピーしても害はありませんが、増えると `handson` 直下が見づらくなるので、そのままにしておいてください。

### 2. `handson` 直下にコピーする

`CLAUDE.md` と `.claude` と `docs` の**3つ**を、`handson` フォルダの直下にコピーします。

- Windows：エクスプローラ（Finder ではなく Windows のフォルダ画面）で `step1_kadaiA` を開き、`CLAUDE.md` をクリック、`Ctrl` を押しながら `.claude` と `docs` をクリックして3つ選びます。`Ctrl + C` でコピーし、`handson` フォルダを開いて `Ctrl + V` で貼り付けます
- Mac：Finder で `step1_kadaiA` を開き、`CLAUDE.md` をクリック、`Cmd` を押しながら `.claude` と `docs` をクリックして3つ選びます。`Cmd + C` でコピーし、`handson` フォルダを開いて `Cmd + V` で貼り付けます
- VSCode のエクスプローラ内でドラッグして移動させても構いませんが、**移動ではなくコピー**にしてください。`_harness_kit` の中身は残しておきます

ターミナルで実行しても構いません。`handson` フォルダで次を打ちます。

```
# Mac
cp -R _harness_kit/step1_kadaiA/CLAUDE.md _harness_kit/step1_kadaiA/.claude _harness_kit/step1_kadaiA/docs .
```

```
# Windows PowerShell
Copy-Item -Recurse -Force _harness_kit\step1_kadaiA\CLAUDE.md,_harness_kit\step1_kadaiA\.claude,_harness_kit\step1_kadaiA\docs .
```

移動してしまった場合も演習は続けられます。元に戻したいときだけ講師に声をかけてください。

### 3. 配置されたことを確認する

VSCode のエクスプローラで `handson` の直下を見て、`CLAUDE.md`・`.claude`・`docs` の3つが並んでいることを確認します。A-0 で「無い」ことを確認した場所に、いま「ある」状態です。

`docs` を開くと、次の4本が入っています。この4本が A-5 の `/selfcheck` の点検の入力になります。

```
docs/
├── コーディング規約.md          命名・コメント・レイヤー構成の決まり
├── 生成物チェックリスト.md      成果物として揃っているべきもの
├── セキュリティチェックリスト.md  入力値とデータの扱いの観点
└── セルフチェックの観点.md      深刻度の判定基準と、直さないと決めてよいもの
```

### 4. Claude Code パネルを閉じて開き直す

**この手順を飛ばすと、以降がすべて動きません。** 設定ファイルはパネルの起動時に読み込まれるため、開いたままでは反映されません。

アクティビティバーの Claude Code アイコンをクリックしてパネルを閉じ、もう一度クリックして開き直します。会話の履歴が残っている場合は `/clear` を送って区切ってから進めると、前の文脈が混ざりません。

### 5. A-0 と同じ質問をもう一度送る

A-0 で送ったのと**同じ文**を、そのまま送ります。文面を控えていない場合は、いま参照している設定ファイルと、そこに書かれているルールの要点を尋ねる形にしてください。

同じ問いを2回送ることに意味があります。問いが同じで答えが違えば、変わったのは問いの側ではなく環境の側です。

---

## 自分で考える

A-0 で同じ質問をしたときの回答と、いまの回答は何が違いますか。

AI が新しく知ったのは、具体的にどの情報でしょうか。`CLAUDE.md` を開いて、見出しを上から順に見てください。フォルダ構成、作業対象の指定、課題Aの要件、課題Bの技術スタック、業務ルール5項目、コーディング規約、出力の作法、してはいけないこと、応答の最後に必ず出すもの。この9つが、いま AI が毎回読む前提です。

このうち、A-2 で自分が書いた懸念に関係する見出しはどれですか。1つ選んで `memo.md` の `## A-3` に書いてください。関係するものが見つからない場合は、「自分の懸念は `CLAUDE.md` では手当てされていない」と書いてください。それも正しい観察です。

---

## 生成物の名前と場所

- `handson/CLAUDE.md`
- `handson/.claude/`（`settings.json` / `commands/selfcheck.md` / `skills/kadaia-review/SKILL.md` / `agents/reviewer.md`）
- `handson/docs/`（`コーディング規約.md` / `生成物チェックリスト.md` / `セキュリティチェックリスト.md` / `セルフチェックの観点.md`）

**中身は編集しません。** A-3 は置くだけのステップです。書き換えたくなる箇所を見つけたら、`memo.md` に控えておいて、A-4 の発展課題で試してください。

---

## OK基準

1. `handson` 直下に `CLAUDE.md`・`.claude`・`docs` の3つがある
2. `handson/docs/` の中にファイルが **4本** ある
3. AI の回答が、`CLAUDE.md` の内容（技術スタック・業務ルール・してはいけないこと のいずれか）に触れている
4. 回答の末尾に「実行サマリー」のブロックが付いている

4番は A-4 の主題です。ここでは「何か出るようになった」ことに気づければ十分です。もし出ていなければ、パネルの開き直しができていないか、コピー先が `handson` 直下ではない可能性があります。

---

## 追加と考察

コピーしただけで、AI に「これを読んでください」とは一度も言っていません。`CLAUDE.md` は Claude Code が起動時に自動で読み込む決まりになっています。

この自動読込があるから、チーム全員が同じ前提で AI を使えます。1人が毎回うまい指示を書いて成果を出す状態と、全員が同じ前提から始められる状態は、再現性の面で別物です。前者は書いた人が休むと止まります。

`.claude/settings.json` も同時に効き始めています。中を見ると `deny` という一覧があり、そこに書かれた操作は AI が実行できません。`dummy_data.csv` の書き換えもここで止めています。A-5 で点検と修正を任せても元データが壊れないのは、この1ファイルが理由です。

---

## 発展課題

`.claude/settings.json` を開いて中身を読んでください。`deny` の一覧に並んでいる行のうち、1行を選びます。

その1行が無かったら何が起きるでしょうか。`memo.md` に書いてください。たとえば `Edit(./kadaiA/dummy_data.csv)` を外したとすると、AI が「データ形式を整えます」と判断したときに元データを書き換えられる状態になります。書き換わったことに気づくのは、たいてい件数が合わなくなったあとです。

もう1歩進めるなら、自分の職場で「AI にやらせたくない操作」を1つ挙げ、それを `deny` に足す書き方を AI に聞いてみてください。書き方の正解より、何を止めたいかを言語化するほうが実務では重要です。

---

## うまくいかないとき

**回答の末尾にサマリーが出ない**

パネルを開き直したかを確認してください。閉じずにコピーだけした場合、設定は反映されません。開き直しても出ない場合は、`handson` 直下に `CLAUDE.md` があるかを見ます。`handson/kadaiA/CLAUDE.md` のように1階層深い場所に入っていることがあります。

**AI が「設定ファイルはありません」と答えたまま**

VSCode で開いているフォルダが `handson` ではない可能性が高いです。エクスプローラの一番上に表示されているフォルダ名を確認してください。`kadaiA` になっていたら、`handson` を開き直します。

**`.claude` フォルダが貼り付けられない、見えない**

先頭にドットが付くフォルダは、環境によってはエクスプローラで非表示になります。Windows はエクスプローラの「表示」タブで「隠しファイル」にチェックを入れます。Mac の Finder は `Cmd + Shift + .` で表示が切り替わります。

**`_harness_kit` から中身が消えた**

コピーではなく移動になっています。演習は続けられます。`handson` 直下に `CLAUDE.md`・`.claude`・`docs` があれば問題ありません。B-0 で `step2_kadaiB` を使うので、そちらのフォルダが残っていることだけ確認してください。

**`docs` をコピーし忘れた（A-5 で `/selfcheck` の結果が薄い）**

`/selfcheck` は `docs/` の4本を点検の観点として読みます。`docs` が `handson` 直下に無いと、観点が足りないまま点検が進み、指摘が数件しか出ません。`.work/01_inventory.md` の「読めなかったもの」の欄に、読めなかったファイル名が出ます。いま気づいた時点で `_harness_kit/step1_kadaiA/docs` をコピーし、パネルを開き直してから `/selfcheck` を回し直してください。

**中身を書き換えてしまった**

書き換えた箇所を覚えていれば戻してください。覚えていない場合は、`_harness_kit/step1_kadaiA/` から `CLAUDE.md` をコピーし直して上書きします。元ファイルは残っています。

---

## 次のステップ

[A-4 実行サマリーの出方を確認する](exA4_exec_summary.md) に進みます。いま末尾に出るようになったサマリーを、実際の作業で読み解きます。
