はじめに
ども!最近はClaude Codeにべったりな龍ちゃんです。皆さんは技術ブログから SNS 投稿まで、コンテンツマーケティングの自動化に取り組んでいますか?エンジニアやっている傍らで、情報発信やXの運用なども行っています。
私たちのチームでも以前、Claude のプロジェクト機能でブログから X 投稿文を自動生成するシステムを構築しました。これはこれで便利だったのですが、運用していくうちに以下の課題が明らかになったんですね。
Claude プロジェクトの運用課題
- Claude の契約者しか利用できず、チーム内での共有や協業に制限がある
- システムプロンプトの更新が上書き保存となり、改善履歴や変更効果の追跡ができない
- 成果物が Claude 上や他ツールに分散し、管理とレビューワークフローが属人化しやすい
「これは何とかしないと…」ということで、Claude API × GitHub Actions による完全自動化システムを構築することにしました。今回は設計思想から実装のポイント、コスト最適化まで詳しく解説していきますね。
成果物
今回の作成物は、.envファイルにClaude APIのAPI Keyを環境変数として入れることで動作するようになります。興味がある方はリポジトリを読んでみてください。こちらのリポジトリではPythonを書く環境をDevContainerで構築しています。
GitHub × Claude API で実現する解決アプローチ
基本コンセプト
「GitHub だけでブログ URL から X 投稿文の生成・レビュー・公開まで完結」を目指しました。具体的には以下を実現しています:
- ワンクリック起動: URL 入力で自動実行
- 完全なバージョン管理: Git でプロンプト・成果物を管理
- チーム協業: 誰でもレビュー・承認可能
- コスト最適化: API 利用料を最小化
システム全体の流れ
自動化フローは以下のようになります:

- GitHub Issue でトリガー: 記事 URL をタイトルに入力してイシューを作成
- HTML 自動取得: Python スクリプトで記事本文を抽出・クリーニング
- Claude API で分析: プロンプトキャッシュを活用して 3 パターンの投稿文を生成
- PR 自動作成: 生成結果を含む Pull Request を自動作成
- レビュー・マージ: チームメンバーが内容を確認して承認
このフローにより、Issue 作成から最終的な投稿文完成まで、すべて GitHub 上で完結できるようになりました。
コスト最適化の技術的工夫:API 利用料を 60% 削減
Claude API の利用において、最も大きなコスト要因はトークン数です。私たちは以下の 2 つのアプローチでコストを大幅に削減しました。

1. HTML 前処理によるトークン削減(約 50% 削減)
当初はブログページの HTML を丸ごと送信していましたが、よく考えてみれば記事本文のみが必要なんですよね。Python スクリプトで以下の前処理を実装しました:
# 不要な HTML 要素の除去例
- ヘッダー・フッター・ナビゲーション
- サイドバー・広告・関連記事
- JavaScript・CSS・meta タグ
- コメント欄・SNS ボタン
この前処理により入力トークン数を約 50% 削減、コストが半分になりました。
2. プロンプトキャッシュの活用(約 37% 削減)
Claude API のプロンプトキャッシュ機能を活用することで、システムプロンプト部分のトークン利用料を大幅に削減しました。
# プロンプトキャッシュの実装例
response = self.client.messages.create(
model=self.model,
max_tokens=4000,
system=[
{
"type": "text",
"text": self.system_prompt_content,
"cache_control": {"type": "ephemeral"} # キャッシュ設定
}
],
messages=[{"role": "user", "content": user_prompt}]
)
システムプロンプトをキャッシュすることで、2 回目以降は約 37% のコスト削減を実現しています。
実際のコスト削減効果
両方の最適化を組み合わせることで、実行コスト $0.10 → $0.04 程度に削減できました。年間で考えるとかなりの削減効果ですね。
システム実装の詳細
プロジェクト構成
github-x-generate/
├── scripts/ # 実行スクリプト群
│ ├── generate_posts_with_cache.py # Claude API統合
│ ├── fetch_html_from_techlab.py # HTML取得・前処理
│ └── simple_claude_api.py # API クライアント
├── prompts/
│ └── system_prompt.md # システムプロンプト定義
├── .github/workflows/
│ └── generate_PR_from_issue.yaml # メイン自動化ワークフロー
├── posts/ # 生成結果保存ディレクトリ
└── requirements.txt # Python 依存関係定義
4 段階の投稿文生成プロセス
システムプロンプトでは、以下の 4 段階プロセスで高品質な投稿文を生成します:
Phase 1: 記事分析・品質評価
- 技術的正確性の 5 段階評価
- 実装レベルの判定(プロトタイプ〜企業レベル)
- 対象読者レベルの特定
Phase 2: ハッシュタグ効果分析
- Web 検索による最新トレンドの調査
- エンジニア向け効果的ハッシュタグの選定
Phase 3: 3 パターンの投稿文作成
- A パターン: 効果重視・数値訴求型
- B パターン: 課題共感・解決提案型
- C パターン: 技術トレンド・学習促進型
Phase 4: 誇張表現検証・修正
- 記事内容との照合による事実確認
- 根拠のない数値・効果の除去
使用しているプロンプトはこちらのブログで解説をしています。
実際の運用フロー
1. GitHub Issue での起動
https://tech-lab.sios.jp/archives/48173
記事 URL をタイトルに入力して Issue を作成するだけで、GitHub Actions が自動起動します。これだけです!

2. 自動処理の実行
- HTML 記事の取得と本文抽出(約 30 秒)
- Claude API による投稿文生成(約 45 秒)
- PR 作成とメタデータ保存(約 15 秒)
トータル 1 分半程度で完了します。

3. レビュー・承認プロセス
生成された PR には以下が含まれます:

- 3 パターンの投稿文: 異なるアプローチの投稿候補
- 品質評価データ: 技術的正確性や対象読者の分析結果
- コスト情報: 実際の API 利用料とトークン使用量
レビュアーは内容を確認し、必要に応じて微調整を加えてからマージするだけです。
4. 運用実績
23 件の技術記事で運用実績があり、Azure・インフラ、AI・Claude、Git・CI/CD、Docker・コンテナなど多様な技術分野で安定動作を確認しています。
効果とメリット
定量的な効果
コスト削減効果
- HTML 前処理: 50% トークン削減
- プロンプトキャッシュ: 37% トークン削減
- 総合的なコスト削減: 約 60%
工数削減効果
- 投稿文作成時間: 30 分 → 3 分(90% 削減)
- レビュー・修正工程: 20 分 → 5 分(75% 削減)
- 全体工程: 1 時間 → 10 分(83% 削減)
定性的なメリット
チーム協業の向上
- 誰でも投稿文生成を実行可能
- GitHub ベースのレビューワークフロー
- 知見の蓄積とバージョン管理
品質の向上
- 誇張表現の自動検出・修正
- 記事内容との整合性保証
- 3 パターンによるA/Bテスト可能
運用の効率化
- Issue 作成からマージまで自動化
- エラー時の詳細な診断情報
- 成果物の一元管理
これは想像以上に効果的でした。特に複数人でのコンテンツマーケティングには必須のツールになりそうですね。
まとめと今後の展望
Claude API × GitHub Actions により、個人プロジェクトでは困難だった「チーム協業」「バージョン管理」「コスト最適化」を同時実現することができました。約 60% のコスト削減と GitHub 完結型ワークフローにより、効率的な運用が可能になります。
今後の発展可能性
- 他プラットフォーム展開: LinkedIn、Facebook 対応
- 多言語対応: 英語版投稿文の自動生成
- 効果分析: エンジニアリング指標の追加連携
- 統計分析活用: 蓄積データによるプロンプト最適化
技術ブログのコンテンツマーケティング自動化にお悩みの方は、ぜひ参考にしてください。もし実装で困りごとがあれば連絡いただければお手伝いしますよ!!