implementlisted
Install: claude install-skill Takenori-Kusaka/pit-in-template
# 実装する
## 前提
- `specs/F-NNN/spec.md` が承認済み(G-4)
- `specs/F-NNN/plan.md` にタスクが分解済み
どちらも欠けている場合、実装を始めないでください。
## 手順
### 1. ブランチを切る
```bash
git switch -c feature/F-012-task-3
```
### 2. テストを先に生成する
**実装コードを読ませずにテストを生成します**。受入基準だけを入力にします。
実装を読んだうえでテストを書���と、実装の誤りをそのまま正解とみなすテストが生成されます。テスト駆動開発が有効だった理由は、仕様と実装が独立していたことにあります。
安全重要度が高い構成(`process.config.json` の `answers.q-criticality` が `cl2` 以上)では、生成されたテストの十分性を**人が判定**します。エージェントの自己判断で先へ進めないでください。
### 3. 実装する
`plan.md` の対象パスの範囲で実装します。範囲外のファイルを変更する必要が出たら、**計画の誤りとして人へ返してください**。範囲を自分で広げないでください。
### 4. 自己修正ループへ入る
自動検証の失敗を入力として修���を反復します。**ループへ入る前に、書き込みの遮断を有効化してください**。
```bash
touch .claude/.self-heal
```
このファイルがある間、`.claude/hooks/guard-write.mjs` がテストへの書き込みを拒否します。渡された失敗をテスト側の変更で解消する経路を塞ぐためです。
ループの規則:
| # | 規則 |
| --- | --- |
| 1 | 反復上限は `process.config.json` の `task.selfHealMaxIterations`(既定3回) |
| 2 | 上限に達したら**人が受入基準へ戻る**。実装の再試行を続けない |
| 3 | 同じ失敗を3回繰り返す場合、原因は実装ではなく受入基準の不備であることが多い |
| 4 | テストの修正を要すると判明したら、ループを終了する。**ループの内側で続けない** |
| 5 | 反復回数と、拒否された操作の件数を記録する |
ループを抜けたら遮断を解除します。
```bash
rm -f .claude/.self-heal
```
**解除は人間の操作です**。エージェントが自分で解除して反復を続けた場合、それは禁止事項3(テストの失敗をテスト側の変更で解消する)に該当します。
### 5. ローカルで検証する
```bash
node scripts/gate/adapter.mjs run test
node scripts/gate/adapter.mjs run lint
node scripts/gate/spec-lint.mjs specs
```
### 6. コミットする
```
feat: 招待の失効を一覧へ表示する
Spec: F-012 / Task-3
Co-Authored-By: <エージェント名>
```
Author は指示した人間です。`Spec:` トレーラは必須です。
### 7. Draft PR を出す
着手の宣言としてまず Draft で出します。CI が回り始めます。
`検証