| name | blog-manager |
| description | Use for all blog writing tasks including creating articles (Zenn Japanese, dev.to/Medium English), managing ideas, and setting up blog projects. This is the unified entry point for technical blog writing workflow. Supports idea tracking with status management (backlog/in-progress/done). |
Blog Manager Skill
技術ブログ執筆の統合ワークフローを提供するスキルです。
Purpose
- ブログ執筆プロジェクトのセットアップ
- 記事アイデアの状態管理(backlog → in-progress → done)
- 記事の観点(perspective)を適用した記事生成
- 記事生成(Zenn 日本語 / dev.to・Medium 英語)
- 公開後のステータス更新とプロモーション支援
Three-Layer Structure
ブログ執筆は「素材」「観点」「成果物」の3層で管理する:
my-blog/
├── ideas/ # 素材(再利用可能なネタ)
│ ├── YYYYMMDD_langchain-tips.md
│ └── YYYYMMDD_rag-patterns.md
├── perspectives/ # 観点(再利用可能なスタイル)
│ ├── showcase.md # 製品紹介向け
│ ├── personal.md # 個人的な考え
│ └── tutorial.md # ハンズオン教育
├── .draft/ # 生成された記事(1回の生成結果)
│ └── YYYYMMDD_article-zenn.md
└── articles/ # 公開用
| レイヤー | 役割 | 再利用 |
|---|---|---|
ideas/ |
素材・ネタ(何を書くか) | ○ 何度でも使える |
perspectives/ |
観点・スタイル(どう書くか) | ○ 何度でも使える |
.draft/ |
生成された記事 | × 1回の生成結果 |
idea と記事は 1:1 ではない:
- 1つの idea → 複数の記事(違う観点で)
- 複数の idea → 1つの記事(組み合わせて)
- 同じ idea を再利用して別の記事に
When to Use
- 「記事を書いて」「ブログ書いて」と言われたとき
- Zenn、dev.to、Medium 向けの記事を作成するとき
- 新しいブログプロジェクトをセットアップするとき
- 記事アイデアの一覧・状態を確認したいとき
- 記事を公開した後にステータスを更新するとき
Input Sources
記事の元ネタは以下の2パターンから取得できる:
パターン A: ideas/ から
事前に ideas/ にメモしたアイデアから記事を生成:
> ideas/20241215_langchain-tips.md を元に Zenn 記事を書いて
パターン B: 開発ディレクトリから(直接指定)
開発中のプロジェクトの特定機能を直接指定して記事を生成:
> /path/to/project の認証機能について Zenn 記事を書いて
> @myproject/ の LangGraph 実装を dev.to 記事にして
> このリポジトリの MCP サーバー機能について記事を書いて
パターン B のワークフロー:
┌─────────────────────────────────────────────────────────────┐
│ 1. ユーザーがディレクトリ + 機能を指定 │
│ 「/path/to/project の認証機能について記事を書いて」 │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. 該当コードを探索・読み込み │
│ - README.md があれば読む │
│ - 指定された機能に関連するファイルを特定 │
│ - 実装の要点を把握 │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. 記事を生成 (.draft/ に出力) │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. ideas/ に記録を自動作成(重複防止) │
│ ideas/YYYYMMDD_project-name-feature.md │
│ status: in-progress │
│ source_path: /path/to/project │
└─────────────────────────────────────────────────────────────┘
ideas/ に作成される記録ファイルの例:
---
status: in-progress
priority: high
tags: [authentication, nextjs, security]
created: 2024-01-20
source_path: /path/to/project # 元のプロジェクトパス
source_feature: 認証機能 # 対象の機能
published_to: []
---
# Next.js 認証機能の実装解説
## 元ネタ
/path/to/project の認証機能から記事を生成
## 記事化のポイント
- JWT トークンの実装
- セッション管理
- ミドルウェアでの認証チェック
これにより:
- 同じ機能について再度記事を書こうとした時に検知できる
- 公開後に
published_toで追跡できる source_pathで元のコードに戻れる
Perspective (観点)
記事の「観点」は記事生成時に指定する。素材(ideas/)とは独立して管理。
観点の指定方法
# テンプレートを参照
> ideas/20241215_mcp-server.md を showcase の観点で Zenn 記事を書いて
# 直接指定
> ideas/20241215_new-feature.md を記事にして
> 観点: 控えめに、個人的な考えとして表現
# 複数の素材 + 観点
> ideas/20241210_langchain-tips.md と ideas/20241212_rag-patterns.md を
> tutorial の観点で Zenn 記事を書いて
標準 Perspective テンプレート
| perspective | 用途 | トーン |
|---|---|---|
showcase |
製品・ツール紹介 | 熱意あり、使ってもらいたい |
personal |
個人的な考え・開発記録 | 控えめ、提案ベース |
tutorial |
ハンズオン教育 | 丁寧、ステップバイステップ |
deep-dive |
技術深掘り | 詳細、専門的 |
詳細は perspectives.md を参照。
生成された記事のメタデータ
.draft/YYYYMMDD_article-zenn.md には使用した perspective と sources が記録される:
---
title: "LangChain で RAG を実装する実践ガイド"
emoji: "📚"
type: "tech"
topics: ["langchain", "rag", "python", "ai"]
published: false
_meta:
perspective: tutorial
perspective_notes: "ステップバイステップで丁寧に"
sources:
- ideas/20241210_langchain-tips.md
- ideas/20241212_rag-patterns.md
generated_at: 2024-01-20
---
Workflow Overview
┌─────────────────────────────────────────────────────────────┐
│ 1. アイデアを ideas/ に追加 │
│ status: backlog でフロントマター作成 │
│ → references/idea-management.md 参照 │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. 記事設計の確認(執筆前に必ず確認) │
│ - 読者の前提知識、概念説明の要否 │
│ - イントロの型(直球型/悩み系/体験ベース/問いかけ型) │
│ - 文体・避けたいトーン(マーケティング調など) │
│ - 視覚化の好み(Mermaid/ツリー/表/なし) │
│ - 実際の挙動詳細(ツール紹介の場合、対話の流れなど) │
│ - 補足情報(カスタマイズの余地、代替手段) │
│ → references/idea-management.md の「記事の設計」参照 │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. 執筆開始 │
│ status: in-progress に更新 │
│ プラットフォームを選択: │
│ - Zenn (日本語) → references/zenn-guide.md │
│ - dev.to/Medium (英語) → references/devto-guide.md │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. .draft/ に記事が生成される │
│ - .draft/YYYYMMDD_article-zenn.md (Zenn 用) │
│ - .draft/YYYYMMDD_article-devto.md (dev.to 用) │
│ - .draft/YYYYMMDD_article-medium.md (Medium 用、オプション)│
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 5. レビュー・編集 │
│ - 内容確認、加筆修正 │
│ - 画像・GIF を追加 │
│ - Zenn: npx zenn preview で確認 │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 6. 本番ディレクトリに移動 │
│ .draft/YYYYMMDD_article-zenn.md → articles/slug.md │
│ .draft/YYYYMMDD_article-devto.md → external/devto/published/│
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 7. アイデアの status を done に更新 │
│ published_to に公開先 URL を記録 │
└─────────────────┬───────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 8. 公開 & プロモーション │
│ → references/promotion-tips.md 参照 │
└─────────────────────────────────────────────────────────────┘
Platform Selection
ユーザーの要求に応じてプラットフォームを選択:
| キーワード | プラットフォーム | ガイド |
|---|---|---|
| 「Zenn」「日本語」「技術記事」 | Zenn | zenn-guide.md |
| 「dev.to」「英語」「ローンチ」 | dev.to | devto-guide.md |
| 「Medium」「ストーリー」 | Medium | devto-guide.md (Medium モード) |
| 「両方」「マルチ」 | Zenn + dev.to | 両方生成 |
プラットフォームが不明な場合: ユーザーに確認する:
- 日本語読者向け → Zenn
- グローバル読者向け → dev.to/Medium
- 両方 → 両プラットフォーム用を生成
References
| ファイル | 内容 |
|---|---|
| directory-structure.md | プロジェクトのディレクトリ構成 |
| idea-management.md | アイデア(素材)のフロントマター管理 |
| perspectives.md | 観点テンプレートの定義と使い方 |
| zenn-guide.md | Zenn 記事生成ガイド(日本語) |
| devto-guide.md | dev.to/Medium 記事生成ガイド(英語) |
| promotion-tips.md | プロモーション・タイミング戦略 |
Usage Examples
1. プロジェクトセットアップ
> ブログ執筆用のプロジェクトをセットアップして
→ directory-structure.md に従ってディレクトリ作成
2. アイデア管理
> ideas/ の backlog を一覧して
> ideas/20241215_xxx.md の status を in-progress にして
→ idea-management.md のフロントマターを操作
3. Zenn 記事生成(ideas/ から)
> ideas/20241215_langchain-tips.md を元に Zenn 記事を書いて
→ zenn-guide.md に従って .draft/YYYYMMDD_article-zenn.md を生成
4. 観点(perspective)を指定して記事生成
> ideas/20241215_mcp-server.md を showcase の観点で Zenn 記事を書いて
> ideas/20241215_new-lib.md を personal の観点で記事にして
→ perspectives/ のテンプレートを適用して記事生成
5. 複数の素材を組み合わせて記事生成
> ideas/20241210_langchain-tips.md と ideas/20241212_rag-patterns.md を
> tutorial の観点で Zenn 記事を書いて
→ 複数の素材を統合し、指定した観点で記事生成
6. 開発ディレクトリから記事生成
> /path/to/myproject の認証機能について Zenn 記事を書いて
> @langgraph-plugin/ の並列処理パターンを showcase で記事にして
→ コードを読み込み → 記事生成 → ideas/ に記録を自動作成
7. dev.to 記事生成
> この README を元に dev.to 記事を書いて
> @my-cli-tool/ を showcase で dev.to 記事を書いて
→ devto-guide.md に従って .draft/YYYYMMDD_article-devto.md を生成
8. 両方生成
> ideas/20241215_mcp-intro.md を showcase で Zenn と dev.to 両方の記事を書いて
→ 同じ観点で日本語版と英語版を両方生成
9. 公開後の更新
> ideas/20241215_langchain-tips.md の status を done にして
> published_to に https://zenn.dev/xxx/articles/yyy を追加して
→ フロントマターを更新
10. プロモーション相談
> この記事のプロモーション戦略を教えて
→ promotion-tips.md を参照してアドバイス
Output Files
| ファイル | 説明 |
|---|---|
.draft/YYYYMMDD_article-zenn.md |
Zenn 用日本語記事 |
.draft/YYYYMMDD_article-devto.md |
dev.to 用英語記事 |
.draft/YYYYMMDD_article-medium.md |
Medium 用英語記事(オプション) |
ファイル名の形式: YYYYMMDD_ は生成日の8桁日付(例: 20241215_article-zenn.md)
記事生成時の確認チェックリスト
ユーザーから「記事を書いて」と依頼されたとき、以下の情報が不足していれば確認する:
| 項目 | 確認が必要な場合 | 質問例 |
|---|---|---|
| 読者の前提知識 | 対象が不明確 | 「読者は◯◯を知っている前提でよいですか?」 |
| 概念説明の要否 | ツール/技術紹介 | 「◯◯とは何かの説明は必要ですか?」 |
| イントロの型 | 特に指定がない | 「直球型・悩み系・体験ベースなど、イントロの好みはありますか?」 |
| 避けたいトーン | 特に指定がない | 「避けたい表現やトーンはありますか?」 |
| 視覚化の好み | 構造を説明する内容 | 「図(Mermaid等)を使いますか?テキストで十分ですか?」 |
| 実際の挙動 | ツール/機能紹介 | 「ユーザーが◯◯すると何が起こりますか?」 |
| 補足情報 | カスタマイズ可能なツール | 「読者が調整できる部分や代替手段も触れますか?」 |
ポイント: これらを最初に確認することで、執筆後の手戻りを大幅に減らせる。
Notes
- すべての記事生成は
.draft/に出力(一時置き場) - 完成したら
articles/(Zenn) またはexternal/(他) に移動 - アイデアの状態管理で重複記事を防止
- 同じアイデアを複数プラットフォームに投稿可能(
published_toで追跡) - 生成後の細かい修正は、手動で編集しても Claude Code に依頼してもよい