← AI開発 資料アーカイブ
システム構築ガイド

フルセット活用 ステップバイステップ開発ガイド v1.0(競馬予想システム題材)

元ファイル: システム要件定義の分析と汎用化方法/STEP_BY_STEP_GUIDE.md

要約

claude_fullset_v3.zip を使い、非エンジニアが『競馬予想自動化システム』を題材に要件定義から本番移行・ハーネス更新までを実演する実践ガイド。STEP0(セットアップ)〜STEP7(ハーネス更新)を、各工程で使うプロンプト(P-00〜P-14)とともに手順化している。

要点

フルセットステップガイドプロンプトハーネス要件定義競馬予想非エンジニア

フルセットを使ったシステム開発 ステップバイステップガイド v1.0

題材:競馬予想自動化システム(非エンジニアが実際に作るプロジェクト)


このガイドについて

このガイドでは「競馬予想自動化システム」を例に、 フルセット(claude_fullset_v3.zip)を使った開発の全手順を 最初から最後まで実演します。

所要時間の目安: - 準備(STEP 0〜1):30分 - 要件定義(STEP 2):1〜2時間 - 開発(STEP 3〜5):プロジェクトによる(数日〜数週間) - 完了・引き継ぎ(STEP 6〜7):1時間


STEP 0:フルセットをセットアップする(初回のみ・15分)

0-1. ZIPを展開する

# ホームディレクトリに展開する
unzip claude_fullset_v3.zip -d ~/

# 展開されたか確認する
ls ~/claude_fullset/

表示されるはず:

00_START/  01_core/  02_templates/  03_prompts/  04_examples/  05_guides/

0-2. ハーネスを初期化する(最初の1回だけ)

Claude Codeを開いて、以下をコピーして貼り付ける:

ハーネスを初期化してください。

以下のコマンドを実行してください:
mkdir -p ~/claude-harness/{templates,learnings,patterns}

次に、以下のファイルをコピーしてください:
cp ~/claude_fullset/01_core/CLAUDE.md ~/claude-harness/templates/CLAUDE.md.template
cp ~/claude_fullset/02_templates/srs/SRS_TEMPLATE.md ~/claude-harness/templates/SRS.template.md
cp ~/claude_fullset/02_templates/test/TEST_PLAN_TEMPLATE.md ~/claude-harness/templates/TEST_PLAN.template.md

最後に ~/claude-harness/harness_index.md を以下の内容で作成してください:
# ハーネスインデックス
作成日:2026-05-25
プロジェクト数:0
最終更新:2026-05-25

## 登録済みプロジェクト
(まだありません)

初期化完了後に「ハーネス初期化完了」と報告してください。

Claudeが「ハーネス初期化完了」と言ったらOK。


STEP 1:プロジェクトフォルダを作る(5分)

1-1. フォルダを作成してコアファイルをコピーする

# プロジェクトフォルダを作る
mkdir ~/keiba-yosou && cd ~/keiba-yosou

# サブフォルダを作る
mkdir docs logs tests

# コアファイルをコピーする
cp ~/claude_fullset/01_core/CLAUDE.md ./CLAUDE.md
cp ~/claude_fullset/01_core/CONSTRAINTS.md ./CONSTRAINTS.md
cp ~/claude_fullset/01_core/AGENTS.md ./AGENTS.md
cp ~/claude_fullset/01_core/RULES.md ./RULES.md
cp ~/claude_fullset/01_core/docs/progress.md ./docs/progress.md

1-2. CLAUDE.mdのPART Aだけ書き換える

CLAUDE.md をテキストエディタで開いて、 「PART A:プロジェクト情報」の部分だけ書き換える。

書き換え前(テンプレート):

## PART A:プロジェクト情報(毎回ここだけ書き換える)

- **プロジェクト名**:[プロジェクト名を記入]
- **目的**:[何を作るかを1〜2文で記入]
- **技術スタック**:[使う技術を記入]
- **フェーズ**:[現在のフェーズを記入]
- **担当者**:[名前またはチーム名]

書き換え後(競馬予想システムの場合):

## PART A:プロジェクト情報(毎回ここだけ書き換える)

- **プロジェクト名**:競馬予想自動化システム
- **目的**:JRAの過去レースデータを分析して、次のレースの予想を自動生成するシステムを作る
- **技術スタック**:Python, SQLite, FastAPI(Claudeが提案したものを使う)
- **フェーズ**:Phase 0(要件定義中)
- **担当者**:自分の名前

PART B〜M は変更不要。そのまま使える。


STEP 2:P-00で要件定義する(1〜2時間)

2-1. P-00プロンプトを使う

~/claude_fullset/03_prompts/ALL_PROMPTS.md を開いて 「P-00:新プロジェクト開始・要件定義自動生成」をコピーして Claude Codeに貼り付ける。

P-00プロンプト(抜粋):

あなたは世界最高水準のシステムアーキテクトです。
CLAUDE.md・CONSTRAINTS.md・AGENTS.md・RULES.md を読んで、
以下の7つの質問に対する私の回答を元に、
IEEE 29148:2018準拠のSRS・IEEE 1016準拠のSDD・
IEEE 829準拠のテスト計画書・E2Eシナリオを自動生成してください。

【質問1】何を作りたいですか?(やりたいことを日本語で自由に書いてください)
【質問2】誰が使いますか?(ユーザーのイメージ)
【質問3】どんな問題を解決したいですか?
【質問4】絶対に必要な機能は何ですか?(3〜5個)
【質問5】あったら嬉しい機能は何ですか?(なくてもOK)
【質問6】使ってはいけない技術・制約はありますか?
【質問7】完成の定義は何ですか?(これができたら完成と言える)

回答後、不明点があれば追加質問してください。
全て明確になったら自動生成を開始してください。

2-2. 7つの質問に答える

Claudeが質問してくるので、日本語で答えるだけ。

競馬予想システムの場合の回答例:

【質問1の回答】
JRAの公式サイトから過去のレース結果を自動取得して、
馬の過去成績・騎手・コース・天気などのデータを分析して、
次のレースで上位に来そうな馬を自動的に予想してくれるシステムが欲しい。
毎週土日のレース前日に自動で予想を出してほしい。

【質問2の回答】
自分(競馬が好きな素人)。パソコンは使えるがプログラミングは全くわからない。

【質問3の回答】
毎週手動でデータを調べるのが大変。感覚で予想しているので精度が低い。
データに基づいた客観的な予想が欲しい。

【質問4の回答】
・JRAの過去レースデータを自動取得する
・馬の過去成績を分析する
・次のレースの予想(上位3頭)を出力する
・予想結果をCSVかテキストで保存する

【質問5の回答】
・予想の根拠(なぜこの馬を選んだか)を説明してくれると嬉しい
・的中率の統計を出してくれると嬉しい

【質問6の回答】
特になし。Claudeが最適な技術を選んでほしい。

【質問7の回答】
・毎週土日の前日に自動で予想が生成される
・予想結果がファイルに保存される
・過去の予想の的中率が確認できる

2-3. 生成されたドキュメントを確認する

Claudeが以下を自動生成する: - docs/SRS_v1.md(要件定義書) - docs/SDD_v1.md(設計書) - docs/TEST_PLAN_v1.md(テスト計画書) - docs/E2E_SCENARIOS_v1.md(E2Eシナリオ)

生成後、Claudeに確認する:

生成されたSRSを読んで、私の意図と違う部分があれば指摘してください。
特に「機能要件」と「完了基準」を確認してください。

修正があれば日本語で伝えて修正してもらう。


STEP 3:毎日の開発ルーティン

3-1. 毎回のセッション開始(必ず実施)

Claude Codeを開いたら、最初に必ずP-01を貼り付ける。

P-01プロンプト(抜粋):

セッションを開始します。以下のファイルを順番に読んでください:
1. CLAUDE.md(全体の設計思想・ルール)
2. CONSTRAINTS.md(禁止事項)
3. docs/progress.md(前回の進捗・現在の状態)
4. docs/SRS_v1.md(要件定義書)

読み終えたら以下を報告してください:
- 現在のフェーズと進捗率
- 前回のセッションで完了したこと
- 今回のセッションで取り組むべきこと(優先順位付き)
- 未解決の問題・リスク

報告後、「何から始めますか?」と聞いてください。

これをやらないと起きること: - Claudeが前回の状態を知らない - 同じコードを2回書く - 設計が崩壊する(コンテキスト枯渇)

3-2. 開発中の基本サイクル

実装する
    ↓
テストを書く(P-05)
    ↓
テストを実行する
    ↓
バグが出たらP-02→P-03で修正する
    ↓
50往復を超えたらP-07でセッション切り替え
    ↓
フェーズ完了したらP-04でレビュー

3-3. 50往復ルール(コンテキスト枯渇対策)

会話が50往復(自分の発言50回)を超えたら必ずP-07を使う。

P-07プロンプト(抜粋):

セッションを切り替えます。

切り替え前に以下を実行してください:
1. 現在の作業状態を docs/progress.md に保存する
2. 未コミットのコードをコミットする(git add . && git commit -m "WIP: [作業内容]")
3. 次のセッションで続きから始めるための引き継ぎメモを作る

保存完了後に「セッション切り替え準備完了」と報告してください。
新しいセッションではP-01から始めてください。

STEP 4:フェーズ完了時のレビューとテスト

4-1. P-04でコードレビューする

フェーズが完成したら P-04 を使う。

P-04プロンプト(抜粋):

コードレビューを実施してください。

以下の観点でレビューして、RYGステータスで報告してください:
🟢 問題なし
🟡 軽微な問題あり(修正推奨)
🔴 重大な問題あり(修正必須)

レビュー観点:
1. SRSの要件との一致(スペックドリフトの確認)
2. CONSTRAINTS.mdの禁止事項違反がないか
3. テストが削除・スキップされていないか
4. エラーハンドリングが適切か
5. セキュリティ上の問題がないか
6. コードの可読性・保守性

判定基準: - 🔴が1つでもあれば → 修正してから次へ - 🟡のみ → 修正するか、SRSに「既知の制限」として記録 - 全て🟢 → 次のステップへ

4-2. P-05でテストを実行する

レビューが通ったら P-05 を使う。

P-05プロンプト(抜粋):

テストを実行してください。

1. ユニットテストを全て実行する
2. カバレッジレポートを生成する
3. E2Eシナリオ(docs/E2E_SCENARIOS_v1.md)を手動で確認する

結果を以下の形式で報告してください:
- ユニットテスト:XX/XX通過
- カバレッジ:XX%
- E2Eシナリオ:XX/XX通過
- 総合判定:🟢/🔴

カバレッジ80%未満または失敗したテストがある場合は
テストを削除・スキップせず、実装を修正してください。

STEP 5:週1回のスペックドリフトチェック(P-13)

毎週1回、P-13を使って設計と実装のズレを確認する。

これをやらないと: - 「テストは通るが仕様と違う」という状態になる - 後から大規模な修正が必要になる

P-13プロンプト(抜粋):

スペックドリフトチェックを実施してください。

1. docs/SRS_v1.md の全機能要件(FR-XXX)を確認する
2. 各要件の実装状況を確認する
3. 実装が要件と一致しているか検証する

報告形式:
| 要件ID | 要件内容 | 実装状況 | ドリフトの有無 |
|--------|---------|---------|-------------|
| FR-001 | ... | 実装済み | 🟢なし |
| FR-002 | ... | 実装済み | 🔴あり(詳細:...) |

ドリフトが見つかった場合は修正方針を提案してください。

STEP 6:本番移行(P-08)

6-1. 移行前チェックリスト

P-08を使う前に、以下が全て完了していることを確認する:

6-2. P-08で本番移行する

P-08プロンプト(抜粋):

本番移行を実施します。

移行前に以下を確認してください(Google SRE PRR準拠):

【必須確認項目】
1. 全テスト通過を確認する
2. バックアップを取得する(git tag v1.0.0)
3. ロールバック手順を確認する
4. 監視・ログが設定されているか確認する
5. セキュリティチェックリストを全項目確認する

1項目でも🔴があれば移行を中止してください。
全て🟢になってから移行を実施してください。

移行完了後に「本番移行完了レポート」を作成してください。

STEP 7:プロジェクト完了後のハーネス更新(P-14)

プロジェクトが完了したら、必ずP-14を使って学びをハーネスに保存する。

これをやることで: - 次のプロジェクトで同じバグを繰り返さない - 効果的だったプロンプトを再利用できる - 開発速度が上がる

P-14プロンプト(抜粋):

プロジェクト「競馬予想自動化システム」が完了しました。
学びをハーネスに蓄積してください。

mkdir -p ~/claude-harness/learnings/keiba-yosou

以下のファイルを作成してください:
1. bugs_and_fixes.md(発生したバグと解決方法)
2. effective_prompts.md(特に効果的だったプロンプト)
3. code_snippets/(再利用可能なコードパターン)

~/claude-harness/harness_index.md を更新して
プロジェクト数を+1してください。

完了後に「ハーネス更新完了」と報告してください。

全体の流れ(まとめ)

STEP 0:フルセットをセットアップ(初回のみ)
    ↓
STEP 1:プロジェクトフォルダを作る(5分)
    ↓
STEP 2:P-00で要件定義(1〜2時間)
    → SRS・SDD・テスト計画・E2Eシナリオが自動生成される
    ↓
STEP 3:毎日の開発ルーティン(繰り返し)
    → P-01(毎回必ず)→ 開発 → P-07(50往復ごと)
    ↓
STEP 4:フェーズ完了時のレビュー・テスト
    → P-04(レビュー)→ P-05(テスト)→ 全て🟢になったら次へ
    ↓
STEP 5:週1回のスペックドリフトチェック(P-13)
    ↓
STEP 6:本番移行(P-08)
    → 全チェックリスト🟢になってから移行
    ↓
STEP 7:ハーネス更新(P-14)
    → 学びを保存して次のプロジェクトに活かす

よくある失敗と対処法

失敗1:P-01を忘れてセッションを始める

症状: Claudeが「前回の続きは?」と言い始める。同じコードを2回書く。

対処: 今すぐP-01を貼り付ける。次回から忘れない。


失敗2:50往復を超えてもP-07を使わない

症状: Claudeが矛盾したことを言い始める。設計が崩壊する。

対処: 今すぐP-07を使ってセッションを切り替える。


失敗3:テストが通らないのでテストを削除する

症状: 「テストが邪魔なので削除してください」と言う。

対処: CONSTRAINTS.md違反。テストは削除しない。実装を修正する。


失敗4:要件定義をスキップして開発を始める

症状: 途中で「何を作っているのかわからなくなる」。

対処: 開発を一旦止めてP-00を使う。SRSを作ってから再開する。


失敗5:スペックドリフトチェックをしない

症状: 「テストは通るが、使ってみると仕様と違う」。

対処: P-13を週1回実施する。ドリフトを早期発見する。


チェックリスト(印刷して使う)

新プロジェクト開始チェックリスト

毎日の開発チェックリスト

フェーズ完了チェックリスト

本番移行チェックリスト

プロジェクト完了チェックリスト

↑ トップへ戻る