マルチプラットフォーム記事公開システム - 実装計画¶
概要¶
収集した技術情報(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リポジトリのローカルクローン¶
- 既にローカルにある場合はスキップTask 2: Zennスキルの拡張¶
現在の .claude/skills/zenn/SKILL.md を拡張し、以下の機能を追加:
- ダイジェストからの記事ドラフト生成
docs/zenn-likes/のダイジェストを読み込み- テーマ選定 → 構成案作成 → 本文生成の3ステップ
-
出力先: ローカルZennリポジトリの
articles/ディレクトリ -
記事テンプレート
- tech記事(技術解説、ツール紹介、比較記事)
- idea記事(学び、考察、まとめ)
-
各テンプレートにフロントマター自動生成を含む
-
記事品質チェック
- Zennのフロントマター必須項目の検証
- slug重複チェック
- 画像パスの検証
Task 3: 記事ネタ管理の仕組み¶
- Obsidian Vault内に記事ネタリスト(
vault/Writing/article-ideas.md)を作成 - ダイジェストから自動的にネタ候補を抽出して追記する機能
- ステータス管理:
idea→drafting→review→published
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
日常の開発メモ ─┘ → ブログ
着手順序¶
- Task 1: Zennリポジトリのローカルクローン確認
- Task 2: Zennスキルの拡張(メイン作業)
- Task 3: 記事ネタ管理の仕組み
- Task 4: 公開ワークフローの確立・テスト