成長型ハーネス設計 — 完全設計書
概念:なぜ「成長型」が必要か
従来のハーネス設計は「1プロジェクト使い捨て」だった。 プロジェクトが終わると、そこで得た知識・テンプレート・失敗パターンは消える。
成長型ハーネスは「プロジェクトをまたいで知識が蓄積・進化する」仕組みを持つ。 3つのプロジェクトを経験すれば、4つ目のプロジェクトは最初から高品質なハーネスで始められる。
成長型ハーネスの3層構造
Layer 1: プロジェクト固有層(Project Layer)
各プロジェクトに固有の情報。プロジェクト終了後に削除してよい。 - CLAUDE.md(プロジェクト固有設定) - progress.md(プロジェクト固有進捗) - E2Eシナリオ(プロジェクト固有テスト)
Layer 2: 知識蓄積層(Knowledge Layer)
プロジェクトをまたいで蓄積される知識。 - lessons_learned.md(失敗・成功パターンの記録) - boundary_cases.md(発見した境界ケースの蓄積) - security_patterns.md(セキュリティ対策の蓄積) - error_patterns.md(よく発生するエラーと対処法)
Layer 3: テンプレート進化層(Template Layer)
使うたびに改善されるテンプレート群。 - CLAUDE.md.template(バージョン管理付き) - requirements_template.md(要件定義書テンプレート) - sdd_template.md(SDD テンプレート) - test_plan_template.md(テスト計画テンプレート) - harness_template.md(ハーネス設計テンプレート)
ディレクトリ構造
~/claude-harness/ ← 成長型ハーネスのルート
├── README.md ← 使い方ガイド
├── VERSION ← ハーネスのバージョン(例:v1.3.0)
│
├── templates/ ← テンプレート進化層
│ ├── CLAUDE.md.template ← v1.3(最新版)
│ ├── CONSTRAINTS.md.template ← 汎用禁止事項テンプレート
│ ├── requirements_template.md ← 要件定義書テンプレート
│ ├── sdd_template.md ← SDD テンプレート
│ ├── test_plan_template.md ← テスト計画テンプレート
│ ├── harness_template.md ← ハーネス設計テンプレート
│ └── progress.md.template ← 進捗管理テンプレート
│
├── knowledge/ ← 知識蓄積層
│ ├── lessons_learned.md ← 失敗・成功パターン集
│ ├── boundary_cases.md ← 境界ケース集
│ ├── security_patterns.md ← セキュリティ対策集
│ ├── error_patterns.md ← エラーパターンと対処法
│ └── prompt_library.md ← 効果的だったプロンプト集
│
├── prompts/ ← シーン別プロンプト集
│ ├── session_start.md ← CAT-01: セッション開始
│ ├── bug_investigation.md ← CAT-02: バグ調査
│ ├── bug_fix.md ← CAT-03: バグ修正
│ ├── code_review.md ← CAT-04: コードレビュー
│ ├── testing.md ← CAT-05: テスト
│ ├── logging.md ← CAT-06: ログ
│ ├── session_handoff.md ← CAT-07: セッション切り替え
│ ├── production_deploy.md ← CAT-08: 本番移行
│ ├── rollback.md ← CAT-09: ロールバック
│ ├── progress_check.md ← CAT-10: 進捗確認
│ ├── security_audit.md ← CAT-11: セキュリティ
│ └── completion.md ← CAT-12: 完了確認
│
├── projects/ ← プロジェクト記録
│ ├── project_001_substack/ ← プロジェクト1の記録
│ │ ├── summary.md ← 概要・成果・失敗
│ │ ├── lessons.md ← このプロジェクトで学んだこと
│ │ └── templates_used.md ← 使用したテンプレートのバージョン
│ └── project_002_kindle/ ← プロジェクト2の記録
│
└── changelog.md ← ハーネス自体の変更履歴
成長のサイクル:プロジェクト完了後に行う5つのアクション
Action 1: レッスン記録(lessons_learned.md に追記)
## [プロジェクト名] - [日付]
### 成功したこと
- [何がうまくいったか]
- [なぜうまくいったか]
### 失敗したこと・つまずいたこと
- [何が問題だったか]
- [なぜ問題が起きたか]
- [次回どう対処するか]
### 発見した境界ケース
- [発見した境界ケース](→ boundary_cases.md にも追記)
### 効果的だったプロンプト
- [効果的だったプロンプトの概要](→ prompt_library.md にも追記)
Action 2: テンプレートの改善
プロジェクト中に「テンプレートのここが使いにくかった」「この項目が足りなかった」と感じた箇所を修正する。 バージョンを上げる(例:v1.2 → v1.3)。
Action 3: 境界ケースの追加(boundary_cases.md に追記)
## [カテゴリ名]
### BC-[番号]: [境界ケースの名前]
- 発見プロジェクト:[プロジェクト名]
- 状況:[どんな状況で発生するか]
- 問題:[何が起きるか]
- 対処法:[どう対処するか]
- テストケース:[テストに追加すべき内容]
Action 4: セキュリティパターンの追加(security_patterns.md に追記)
## SP-[番号]: [セキュリティパターンの名前]
- 発見プロジェクト:[プロジェクト名]
- リスク:[何のリスクか]
- 対処法:[具体的な実装方法]
- 確認方法:[テスト・チェック方法]
Action 5: プロジェクト記録の保存
projects/ディレクトリに今回のプロジェクト記録を保存する。
新プロジェクト開始時の手順(成長型ハーネスを使う場合)
Step 1: ハーネスの最新版を確認する
~/claude-harness/VERSION を確認する
最新のchangelog.mdを読む
Step 2: テンプレートをコピーする
# 新プロジェクトのディレクトリを作成
mkdir ~/projects/新プロジェクト名
cd ~/projects/新プロジェクト名
# テンプレートをコピー
cp ~/claude-harness/templates/CLAUDE.md.template ./CLAUDE.md
cp ~/claude-harness/templates/CONSTRAINTS.md.template ./CONSTRAINTS.md
cp ~/claude-harness/templates/progress.md.template ./progress.md
Step 3: 過去の知識を参照する
~/claude-harness/knowledge/lessons_learned.md を読む
→ 類似プロジェクトの失敗パターンを確認する
~/claude-harness/knowledge/boundary_cases.md を読む
→ E2Eシナリオに境界ケースを追加する
~/claude-harness/knowledge/security_patterns.md を読む
→ セキュリティチェックリストに追加する
Step 4: プロジェクト固有の情報でテンプレートを埋める
CLAUDE.md のプレースホルダーをプロジェクト固有の情報で埋める。
Step 5: Claude Code に最初の指示を出す(P-01-A プロンプトを使用)
テンプレートのバージョン管理
バージョン番号の意味
- v1.0.0:初期版
- v1.1.0:マイナー改善(項目追加・文言修正)
- v1.2.0:中規模改善(構造変更・新セクション追加)
- v2.0.0:メジャー改善(大幅な再設計)
バージョンアップのタイミング
- プロジェクト完了後(必ず)
- 重大な問題が発見されたとき(緊急)
- 新しいユースケースに対応するとき(随時)
changelog.md の記録形式
## v1.3.0 - [日付]
### 追加
- CLAUDE.md: 「コンテキスト枯渇時の対処法」セクションを追加
### 改善
- test_plan_template.md: 境界ケースのセクションを拡充
### 修正
- sdd_template.md: エラー処理の記載例を修正
### 背景
- project_002_kindle でコンテキスト枯渇が発生したため対策を追加
成長型ハーネスの効果(プロジェクト数による変化)
| プロジェクト数 | ハーネスの状態 | 期待される効果 |
|---|---|---|
| 1プロジェクト目 | 初期版(v1.0) | 基本的な安全性の確保 |
| 3プロジェクト目 | 改善版(v1.3) | 境界ケース・セキュリティが充実 |
| 5プロジェクト目 | 成熟版(v1.5) | 類似プロジェクトの失敗を事前回避 |
| 10プロジェクト目 | 高度版(v2.0) | 業種・規模別テンプレートが揃う |
成長型ハーネス初期化プロンプト(Claude Code に渡す)
H-INIT: 成長型ハーネスの初期化
成長型ハーネスを初期化してください。
以下のディレクトリ構造を作成してください:
~/claude-harness/
├── README.md(使い方ガイド)
├── VERSION(初期値:v1.0.0)
├── templates/(テンプレート群)
├── knowledge/(知識蓄積ファイル群)
├── prompts/(シーン別プロンプト集)
├── projects/(プロジェクト記録)
└── changelog.md
各ファイルの初期内容は以下の通りです:
VERSION: v1.0.0
README.md:
# 成長型ハーネス v1.0.0
このディレクトリはプロジェクトをまたいで成長するハーネスです。
新プロジェクト開始時:templates/ からコピーして使用
プロジェクト完了時:knowledge/ に学びを記録してテンプレートを改善
knowledge/lessons_learned.md:
# レッスン記録
プロジェクト完了後に学びを記録してください。
knowledge/boundary_cases.md:
# 境界ケース集
発見した境界ケースを記録してください。
knowledge/security_patterns.md:
# セキュリティパターン集
発見したセキュリティ対策を記録してください。
knowledge/error_patterns.md:
# エラーパターン集
よく発生するエラーと対処法を記録してください。
knowledge/prompt_library.md:
# 効果的なプロンプト集
効果的だったプロンプトを記録してください。
changelog.md:
# 変更履歴
## v1.0.0 - [今日の日付]
- 初期版を作成
作成後、ディレクトリ構造を確認して報告してください。
H-UPDATE: プロジェクト完了後のハーネス更新
プロジェクトが完了しました。成長型ハーネスを更新してください。
【今回のプロジェクト】
- プロジェクト名:[名前]
- 期間:[開始〜終了]
- 概要:[何を作ったか]
【更新手順】
1. ~/claude-harness/knowledge/lessons_learned.md に学びを追記する
2. 発見した境界ケースを boundary_cases.md に追記する
3. 発見したセキュリティパターンを security_patterns.md に追記する
4. 効果的だったプロンプトを prompt_library.md に追記する
5. テンプレートの改善点があれば修正してバージョンを上げる
6. changelog.md に変更内容を記録する
7. ~/claude-harness/projects/[プロジェクト名]/ にプロジェクト記録を保存する
更新完了後、何が追加・改善されたかを報告してください。
H-REVIEW: ハーネスの定期レビュー
成長型ハーネスの定期レビューを行います。
以下を確認してください:
1. テンプレートの品質確認
- 使いにくい箇所がないか
- 不足している項目がないか
- 古くなった情報がないか
2. 知識蓄積の確認
- lessons_learned.md の内容が活用されているか
- 同じ失敗が繰り返されていないか
3. プロンプト集の確認
- 効果的でないプロンプトがないか
- 新しいシーンに対応するプロンプトが必要か
4. 改善提案
- 次のバージョンで改善すべき点を3つ提案する
レビュー結果を報告してください。