コンテンツにスキップ

マルチプラットフォーム記事公開システム - 実装計画

概要

収集した技術情報(Zennいいね、Qiitaストック、テックブログ等)から記事ドラフトを生成し、複数プラットフォームに公開する仕組みを構築する。

現状の資産

読む側(収集・キュレーション)- 稼働中

プロジェクト 対象 状態
projects/zenn-likes-digest/ Zennいいね記事 稼働中
projects/qiita-collector/ Qiitaストック記事 稼働中
projects/techblog-collector/ テックブログRSS 稼働中
projects/note-collector/ note.com記事 稼働中

書く側 - 現状

資産 内容 状態
.claude/skills/zenn/ Zenn CLIでの記事作成スキル あり(基本機能のみ)
KZ55230/zenn Zenn GitHub連携リポジトリ 稼働中(下書き3記事)

Phase 1: Zenn記事の半自動生成(今回のスコープ)

ゴール

Claude Codeから「記事書いて」と言うだけで、ダイジェストや学びをもとにZenn記事のドラフトを生成し、ローカルのZennリポジトリに書き出せるようにする。

前提条件

  • Zennリポジトリをローカルにクローン: D:\Kazuma_Teramachi\zenn
  • zenn-cli がインストール済み(package.json に zenn-cli: ^0.1.153

タスク一覧

Task 1: Zennリポジトリのローカルクローン

cd /d/Kazuma_Teramachi
git clone git@github.com:KZ55230/zenn.git
- 既にローカルにある場合はスキップ

Task 2: Zennスキルの拡張

現在の .claude/skills/zenn/SKILL.md を拡張し、以下の機能を追加:

  1. ダイジェストからの記事ドラフト生成
  2. docs/zenn-likes/ のダイジェストを読み込み
  3. テーマ選定 → 構成案作成 → 本文生成の3ステップ
  4. 出力先: ローカルZennリポジトリの articles/ ディレクトリ

  5. 記事テンプレート

  6. tech記事(技術解説、ツール紹介、比較記事)
  7. idea記事(学び、考察、まとめ)
  8. 各テンプレートにフロントマター自動生成を含む

  9. 記事品質チェック

  10. Zennのフロントマター必須項目の検証
  11. slug重複チェック
  12. 画像パスの検証

Task 3: 記事ネタ管理の仕組み

  • Obsidian Vault内に記事ネタリスト(vault/Writing/article-ideas.md)を作成
  • ダイジェストから自動的にネタ候補を抽出して追記する機能
  • ステータス管理: ideadraftingreviewpublished

Task 4: 公開ワークフロー

1. スキル起動(/zenn)
2. ネタ選択 or 新規テーマ指定
3. ダイジェスト/ソース読み込み
4. 構成案提示 → ユーザー確認
5. 本文生成 → Zennリポジトリに書き出し
6. プレビュー確認(npx zenn preview)
7. ユーザーが内容確認・修正
8. published: true に変更 → git push → 自動公開

ディレクトリ構成(Phase 1完了後)

D:\Kazuma_Teramachi\
├── zenn/                          # Zenn GitHub連携リポジトリ(ローカルクローン)
│   ├── articles/                  # 記事ファイル
│   ├── books/                     # 本
│   ├── images/                    # 画像
│   └── package.json
└── MyLab/
    ├── .claude/skills/zenn/       # 拡張済みスキル
    │   └── SKILL.md
    ├── projects/zenn-likes-digest/ # 既存:ダイジェスト生成
    ├── docs/zenn-likes/           # 既存:ダイジェスト出力
    └── vault/Writing/             # 記事ネタ管理
        └── article-ideas.md

技術的な注意点

  • Zennリポジトリは MyLab の外(D:\Kazuma_Teramachi\zenn)にある
  • スキルからZennリポジトリを操作する際はパスを明示的に指定する
  • npx zenn コマンドはZennリポジトリのルートで実行する必要がある

Phase 2: クロスプラットフォーム対応(将来)

対象プラットフォーム

プラットフォーム 公開方法 API 難易度 優先度
Zenn GitHub push 不要(Git連携) Phase 1
Qiita REST API v2 あり Phase 2a
個人ブログ SSG + GitHub Pages Git push Phase 2b
note ブラウザ自動操作 なし Phase 3

Phase 2a: Qiita連携

  • Qiita API v2 トークン取得 → Credentials/qiita_api.json
  • 共通Markdown → Qiita形式変換スクリプト
  • フロントマター変換(Zenn形式 → Qiita形式)

Phase 2b: 個人ブログ(Astro + GitHub Pages)

  • Astro SSG プロジェクト作成
  • Markdown記事をそのまま利用可能
  • GitHub Actions で自動デプロイ

Phase 3: コンテンツパイプライン統合(将来)

[インプット]                    [変換]              [アウトプット]
zenn-likes-digest    ─┐
qiita-collector      ─┤→ 学び蓄積     → 記事ネタDB → ドラフト生成 → Zenn
techblog-collector   ─┤   (Obsidian)                              → Qiita
日常の開発メモ        ─┘                                           → ブログ

着手順序

  1. Task 1: Zennリポジトリのローカルクローン確認
  2. Task 2: Zennスキルの拡張(メイン作業)
  3. Task 3: 記事ネタ管理の仕組み
  4. Task 4: 公開ワークフローの確立・テスト