# _harness_kit（設定ファイルの待機場所）

このフォルダの中身は、演習の途中で講師の合図があってからコピーします。いまはまだコピーしないでください。

## このフォルダは何か

演習Aは「AI に渡す設定が1つも無い状態」から始めます。そのため、配布フォルダの `handson` 直下には `CLAUDE.md` も `.claude` も置いてありません。とはいえ当日ダウンロードするわけにもいかないので、設定ファイル一式はこのフォルダの中で待機しています。

同梱はするが、配置はしない。この状態を作るためのフォルダです。

## いつ、どこへコピーするか

| 手順 | コピー元 | コピー先 | 何が起きるか |
|---|---|---|---|
| 演習 A-3 | `_harness_kit/step1_kadaiA/` の `CLAUDE.md` と `.claude` と `docs` の3つ | `handson` 直下 | AI が起動時にプロジェクトの前提を読むようになる。応答の末尾に実行サマリーが出る。`/selfcheck` が使えるようになり、`docs/` の4本を点検の観点として読むようになる |
| 演習 B-0 | `_harness_kit/step2_kadaiB/.claude/skills/` の4フォルダ | `handson/.claude/skills/` | 演習Bで使う Skill 3種が発火するようになる |
| 演習 B-0 | `_harness_kit/step2_kadaiB/.claude/commands/regression-check.md` | `handson/.claude/commands/` | `/regression-check` が使えるようになる |
| 演習 B-0 | `_harness_kit/step2_kadaiB/CLAUDE_追記.md` の中身 | `handson/CLAUDE.md` の末尾に貼り付け | 課題B の進め方が AI に伝わる |

コピーしたあとは、Claude Code パネルをいったん閉じて開き直してください。設定は起動時に読み込まれるため、開き直さないと反映されません。

## 研修前にこのフォルダを開かないでください

`CLAUDE.md` の中身や `/selfcheck` の手順書を先に読んでしまうと、演習Aの前半（設定が無い状態で何が起きるかを自分の目で確かめる時間）が成立しなくなります。当日の合図まで、このフォルダは閉じたままにしておいてください。

読んでしまった場合でも演習は進みます。「設定が無い状態の応答」と「設定を置いたあとの応答」の差を、自分の記憶ではなくファイル（`memo.md`）に残しながら比べてください。

## 中身の一覧

```
_harness_kit/
├── README.md                     このファイル
├── step1_kadaiA/                 演習 A-3 でコピーする一式
│   ├── CLAUDE.md                 プロジェクト規約。末尾に実行サマリーの規定
│   ├── .claude/
│   │   ├── settings.json         モデル指定と、やらせないことの指定
│   │   ├── commands/selfcheck.md /selfcheck の手順書
│   │   ├── skills/kadaia-review/SKILL.md  課題A の点検観点
│   │   └── agents/reviewer.md    点検専任のサブエージェント
│   ├── docs/                     点検の入力になる観点ファイル4本（A-3 でコピーします）
│   ├── AGENTS.md                 他のAIツール向けの見本（コピーしません）
│   └── .github/ .cursor/ .codex/ 同上（コピーしません）
└── step2_kadaiB/                 演習 B-0 で追加する一式
    ├── README.md                 配置手順
    ├── CLAUDE_追記.md            CLAUDE.md の末尾に貼り付ける追記
    └── .claude/
        ├── commands/regression-check.md   /regression-check の手順書
        └── skills/
            ├── claude-automation-recommender/   自動化の提案（読むだけ）
            ├── skill-creator/                   Skill を作る
            ├── threat-model/                    脅威モデリング
            └── _lib/checkpoint.py               threat-model が使う小さな記録スクリプト
```

## `step1_kadaiA/docs/` の扱い

`docs/` の4ファイルは `/selfcheck` が読み込む入力です。**A-3 で `CLAUDE.md`・`.claude` と一緒に `handson` 直下へコピーします。**

| ファイル | `/selfcheck` が何に使うか |
|---|---|
| `コーディング規約.md` | 命名・コメント・構成の決まりとの照合 |
| `生成物チェックリスト.md` | 成果物として揃っているべきものの照合 |
| `セキュリティチェックリスト.md` | 入力値とデータの扱いの観点 |
| `セルフチェックの観点.md` | 深刻度の判定基準、点検の順番、直さないと決めてよいもの |

配布直後の `handson` 直下に `docs/` はありません。これも `CLAUDE.md` と同じで、「設定が無い状態」を作るためです。

コピーし忘れても `/selfcheck` は止まりません。読めなかったファイル名が `.work/01_inventory.md` の「読めなかったもの」に記録され、`.claude/skills/kadaia-review/SKILL.md` の「深刻度の判定基準（控え）」に切り替わって進みます。ただし点検の観点が減るため、指摘の数と質が落ちます。A-6 の比較で差が出にくくなるので、A-3 の時点で3つとも置いてください。

## `step1_kadaiA/` の残り4つ（AGENTS.md / .github / .cursor / .codex）

`AGENTS.md`、`.github/copilot-instructions.md`、`.cursor/rules/project.mdc`、`.codex/AGENTS.md` には、`CLAUDE.md` と似た内容が別の書式で入っています。AI コーディングツールごとに、前提を読みに行くファイル名が違うためです。

研修中は使いません。**A-3 でコピーしないでください。**「同じ前提を別のツール向けに書くとこうなる」という見本として同梱しています。研修後に他のツールを試すときの雛形になります。

## 講師向けの注意（受講者は読み飛ばしてかまいません）

- `settings.json` にはモデル指定のキーを入れていません。Bedrock のクロスリージョン推論プロファイル ID が事務局から確定した時点で、`"model": "<確定した推論プロファイル ID>"` の1行を追加してください。エイリアス `"sonnet"` は接続先の既定に解決されるため、Sonnet 4.6 が使われる保証がありません。
- 確定するまでは、事前セットアップ資料の記述を「モデルは事務局が指定します」に留めてください。
- `.work/` は演習後も消さずに残します。中間データが手元に残っていることが体験の一部です。
