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. 移行前の最終確認
以下が全て完了していることを確認する:
- [ ] Phase 1の全機能要件が実装済み
- [ ] 全テスト通過(カバレッジ80%以上)
- [ ] コードレビュー完了(全て🟢)
- [ ] スペックドリフトなし
- [ ] バックアップ取得済み(git tag v1.0.0)
- [ ] ロールバック手順が文書化されている
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回実施する。ドリフトを早期発見する。