← AI開発 資料アーカイブ
教材・コンテンツ生成パイプライン

Substack自動配信システム 全手順ガイド(非エンジニア完全対応)

元ファイル: システム要件定義の分析と汎用化方法/Substack自動配信システム — 最初から最後まで全手順ガイド.md

要約

プログラミング経験ゼロでもClaude Codeとフルセット(claude_fullset_v3.zip)を使ってSubstack記事の自動スケジュール配信・分析ダッシュボード・読者セグメント別パーソナライズを作るための、STEP0準備からSTEP7引き継ぎまでの全手順ガイド。ハーネス初期化、プロジェクト作成、要件定義、開発、本番移行までをコピペ可能なコマンド付きで各フェーズの所要時間とともに示す。

要点

教材Substack自動配信Claude Codeハーネス非エンジニア

Substack自動配信システム — 最初から最後まで全手順ガイド

フルセット(claude_fullset_v3.zip)使用・非エンジニア完全対応版


このガイドでできること

このガイドを読めば、プログラミング経験ゼロでも 「Substack記事を自動で配信するシステム」を Claude Codeと一緒に作れます。

作るもの: - Substackの記事を自動的にスケジュール配信するシステム - 過去の記事の開封率・クリック率を分析するダッシュボード - 読者セグメント別に配信内容を変えるパーソナライズ機能

所要時間の目安:

フェーズ 内容 時間
STEP 0 準備 30分(初回のみ)
STEP 1 プロジェクト作成 10分
STEP 2 要件定義 1〜2時間
STEP 3〜5 開発(毎日) 数日〜2週間
STEP 6 本番移行 2時間
STEP 7 完了・引き継ぎ 1時間

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

0-1. ZIPを展開する

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

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

以下が表示されればOK:

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:プロジェクトフォルダを作る(10分)

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

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

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

# コアファイルをコピーする
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だけ書き換える(5分)

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

書き換え後(Substack自動配信システムの場合):

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

- **プロジェクト名**:Substack自動配信システム
- **目的**:Substackの記事を自動スケジュール配信し、開封率・クリック率を分析するシステムを作る
- **技術スタック**:Python, SQLite, FastAPI, Substack API(Claudeが最適なものを選ぶ)
- **フェーズ**:Phase 0(要件定義中)
- **担当者**:[自分の名前]
- **リポジトリ**:~/substack-auto
- **ドキュメント格納先**:~/substack-auto/docs/

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


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

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

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

または、以下をそのまま貼り付けてもOK:

あなたは世界最高水準のシステムアーキテクトです。

まず以下のファイルを全て読んでください:
- CLAUDE.md
- CONSTRAINTS.md
- AGENTS.md
- RULES.md

読み終えたら、以下の7つの質問に対する私の回答を元に、
世界基準の設計ドキュメントを自動生成してください。

生成するドキュメント:
1. docs/SRS_v1.md(IEEE 29148:2018準拠の要件定義書)
2. docs/SDD_v1.md(IEEE 1016:2009準拠の設計書)
3. docs/TEST_PLAN_v1.md(IEEE 829:2008準拠のテスト計画書)
4. docs/E2E_SCENARIOS_v1.md(E2Eテストシナリオ)

【質問1】何を作りたいですか?
【質問2】誰が使いますか?
【質問3】どんな問題を解決したいですか?
【質問4】絶対に必要な機能は何ですか?(3〜5個)
【質問5】あったら嬉しい機能は何ですか?
【質問6】使ってはいけない技術・制約はありますか?
【質問7】完成の定義は何ですか?

まず「準備完了。質問1から答えてください」と言ってください。

2-2. 7つの質問に答える(Substack自動配信の場合)

Claudeが質問してくるので、以下を参考に答える:

【質問1の回答】
Substackで毎週ニュースレターを書いているが、
配信のスケジュール管理が大変。
記事を書いたら自動的に最適な時間に配信してくれて、
どの記事が読まれているか分析できるシステムが欲しい。
できれば読者の興味に合わせて配信内容を変えたい。

【質問2の回答】
自分(Substackでニュースレターを書いている個人)。
パソコンは使えるがプログラミングは全くわからない。

【質問3の回答】
毎週手動で配信時間を設定するのが面倒。
どの記事が読まれているかわからない。
読者が増えてきたので、興味別に配信を分けたい。

【質問4の回答】
・記事の配信をスケジュール設定できる
・配信時間を自動で最適化してくれる(開封率が高い時間帯)
・開封率・クリック率のダッシュボードが見られる
・読者リストを管理できる

【質問5の回答】
・読者の興味タグ別に配信内容を変えられると嬉しい
・配信前にプレビューで確認できると嬉しい
・過去の記事のパフォーマンス比較ができると嬉しい

【質問6の回答】
Substack以外のプラットフォームには対応しなくていい。
月額費用がかかるサービスは使わないでほしい。

【質問7の回答】
・記事を書いたら配信時間を設定して自動配信できる
・ダッシュボードで開封率・クリック率が見られる
・読者リストが管理できる
この3つができたら完成。

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

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

生成後、以下をClaude Codeに貼り付けて確認する:

生成されたSRS_v1.mdを読んで、以下を確認してください:

1. 私の意図と違う機能要件がないか
2. 「完了基準」が具体的に書かれているか(Given-When-Then形式)
3. フェーズ分けが適切か(Phase 1はMust要件のみ)
4. 矛盾・不明点がないか

問題があれば修正案を提示してください。
問題なければ「SRS確認完了。開発を開始できます」と言ってください。

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

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

Claude Codeを開いたら、最初に必ず以下を貼り付ける:

セッションを開始します。

以下のファイルを順番に読んでください:
1. CLAUDE.md
2. CONSTRAINTS.md
3. docs/progress.md
4. docs/SRS_v1.md(要件定義書)

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

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

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

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

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

会話が50往復(自分の発言50回)を超えたら必ず以下を貼り付ける:

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

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

保存完了後に「セッション切り替え準備完了」と報告してください。

新しいセッションを開いたら、また P-01(セッション開始プロンプト)から始める。


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

4-1. コードレビュー(P-04)

フェーズの実装が完成したら以下を貼り付ける:

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

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

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

各観点のステータスと、🔴の場合は修正方針を報告してください。

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

4-2. テスト実行(P-05)

レビューが通ったら以下を貼り付ける:

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

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

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

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

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

毎週月曜日に以下を貼り付けて実行する:

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

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

報告形式:
| 要件ID | 要件内容 | 実装状況 | ドリフト |
|--------|---------|---------|--------|
| FR-001 | 配信スケジュール設定 | 実装済み | 🟢なし |
| FR-002 | 開封率ダッシュボード | 実装中 | 🟡軽微 |

ドリフトが見つかった場合は修正方針を提案してください。
SRS自体を変更する場合は変更理由を明記してください。

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

6-1. 移行前の最終確認

以下が全て完了していることを確認する:

6-2. 本番移行プロンプト(P-08)

本番移行を実施します。

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

【必須確認項目】(1項目でも🔴なら移行中止)
1. 全テスト通過を確認する
2. バックアップを取得する(git tag v1.0.0)
3. ロールバック手順を確認する
4. 環境変数・APIキーが本番用に設定されているか確認する
5. ログ・監視が設定されているか確認する
6. セキュリティチェックリストを全項目確認する

各項目のステータスを🟢/🔴で報告してください。
全て🟢になってから移行を実施してください。

移行完了後に「本番移行完了レポート」を docs/RELEASE_v1.0.md として作成してください。

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

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

mkdir -p ~/claude-harness/learnings/substack-auto

以下のファイルを作成してください:

1. ~/claude-harness/learnings/substack-auto/bugs_and_fixes.md
   - 発生したバグのリスト(要件ID・症状・原因・解決方法)
   - 再発防止策

2. ~/claude-harness/learnings/substack-auto/effective_prompts.md
   - 特に効果的だったプロンプト
   - 改善したプロンプト

3. ~/claude-harness/learnings/substack-auto/patterns.md
   - 再利用できるコードパターン
   - Substack API連携のベストプラクティス

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

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

全体フロー図(まとめ)

STEP 0:フルセットをセットアップ(初回のみ・30分)
    ↓
STEP 1:プロジェクトフォルダを作る(10分)
    → CLAUDE.mdのPART Aだけ書き換える
    ↓
STEP 2:P-00で要件定義(1〜2時間)
    → 7つの質問に答えるだけ
    → 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回実施する。ドリフトを早期発見する。

↑ トップへ戻る