【自動化】Claude Code × Notion で開発セッションを自動記事化する仕組み
実装約6分で読めます

この記事でわかること
- 「記事化して」の一言で走る 3 フェーズ(提案→作成→保存)の設計
- セッションを複数の記事に分けるときの判断基準
- 公開前に機密情報を落とすマスキングを、別ファイルに分けて持たせる構成
- Notion に保存するときのプロパティとカテゴリ分類の自動化
Claude Code がインストール済みで、Skills の基本を知っていること。Notion API のインテグレーション設定が済んでいること(別記事「Notion API × Claude Code で自動テックブログを構築する」参照)。
ポイント
Claude Codeでの開発中に得た知見を「記事化して」の一言で自動的にNotionに保存する仕組みを構築します。機密情報のマスキングも自動で行い、すぐに公開できる品質の記事を生成します。
はじめに
開発中に詰まったこと、解決した方法、新しく学んだこと。これらは貴重な知見ですが、後で記事にしようと思っても、時間が経つと詳細を忘れてしまいます。
Claude Code Skillsを使えば、開発セッション中に「記事化して」と言うだけで、その場で記事を生成してNotionに保存できます。この記事では、その仕組みの全体像と実装方法を解説します。
システム全体像
自動記事化システムは3つのフェーズで構成されます。
flowchart TD
A[ユーザー: 記事化して] --> B[Phase 1: 提案]
B --> C{セッション分析}
C --> D[記事候補を表示]
D --> E[ユーザーが選択]
E --> F[Phase 2: 作成]
F --> G[Zenn/Qiita品質で記事生成]
G --> H[機密情報マスク]
H --> I[Phase 3: 保存]
I --> J[Notion API呼び出し]
J --> K[記事リンクを報告]
Phase 1: 記事候補の提案
セッション分析のポイント
「記事化して」と言われたら、まずセッション内容を分析して記事候補を提案します。
メモ
記事分割の基準:
• 異なる技術トピックは別記事に
• 1記事は5-10分で読める量
• 関連性の高い内容はまとめる
提案フォーマット
## 📝 記事化できそうな内容
| # | タイトル案 | 内容 | 想定読者 |
|---|-----------|------|---------|
| 1 | **Claude Code Skillsの作り方** | スキル定義の基本 | 初心者 |
| 2 | **Notion API連携の実装** | DB設計とAPI呼び出し | 中級者 |
どの記事から書きますか?Phase 2: 記事作成
Zenn/Qiita品質の記事構成
技術記事として必要なセクションを必ず含めます。
stateDiagram-v2
[*] --> 概要Callout
概要Callout --> 目次
目次 --> はじめに
はじめに --> この記事でわかること
この記事でわかること --> 対象読者
対象読者 --> 前提条件
前提条件 --> 本文セクション
本文セクション --> Tips
Tips --> 参考リンク
参考リンク --> まとめ
まとめ --> [*]
品質チェックリスト
- タイトルが具体的で検索されやすいか
- 目次(table_of_contents)があるか
- 「この記事でわかること」があるか
- 対象読者が明記されているか
- コード例に言語指定があるか
- 適切な見出し階層(h2 → h3)になっているか
- Calloutや表で視覚的にわかりやすいか
- 参考リンクがあるか
- 機密情報がマスクされているか
Phase 3: Notionへの保存
保存時の装飾
記事をNotionに保存する際、以下の装飾を自動で付与します。
- アイコン: 記事内容に合った絵文字
- カバー画像: Unsplashから技術系の画像
- プロパティ: Title, Tags, Category, Status, Created
カテゴリ分類
graph LR
A[記事内容] --> B{分類}
B -->|エラー解決| C[トラブルシューティング]
B -->|環境設定| D[設定・環境構築]
B -->|機能実装| E[実装]
B -->|設計判断| F[設計]
B -->|新技術| G[学習メモ]
Skillファイルの構成
自動記事化システムは3つのファイルで構成されます。
~/.claude/skills/session-to-notion/
├── SKILL.md # メインの指示ファイル
├── CONFIG.md # Notion API設定
└── MASKING_RULES.md # マスキングルールTips
マスキングルールを別ファイルに分けているのは、Skill 本体が肥大化するのを避けるためです。skill はディレクトリを持てるので、参照資料は分けておいて必要なときだけ読ませられます。
SKILL.md の構成
---
name: session-to-notion
description: セッション内容を記事化してNotionに保存
user-invocable: true
---
# Phase 1: 記事候補の提案
[提案ルール]
# Phase 2: 記事作成(Zenn/Qiita品質)
[必須セクション構成]
[品質チェックリスト]
# Phase 3: Notionへの保存
[API設定]
[プロパティ設定]
# 機密情報のマスキング
[マスキングルール参照]実際の使用例
sequenceDiagram
actor U as ユーザー
participant C as Claude Code
participant S as Skill
participant N as Notion API
U->>C: 記事化して
C->>S: session-to-notion スキル発動
S->>S: セッション分析
S->>U: 記事候補を提案
U->>S: 1番を選択
S->>S: Zenn品質で記事生成
S->>S: 機密情報マスク
S->>N: POST /pages
N-->>S: 記事URL
S->>U: 記事を保存しました!
Tips: 記事品質を上げるコツ
ポイント
- 具体的なタイトルをつける 「Reactのエラー解決」→「React useEffect の無限ループを解決する3つの方法」
ポイント
- コード例は動作するものを 断片的なコードではなく、コピペで動くサンプルを心がける
ポイント
- 図解を積極的に使う mermaidでフローチャートやシーケンス図を入れると理解しやすい
参考リンク
- Claude Code: Skills(公式)
- Notion API ドキュメント
- Mermaid 記法
- Notion API × Claude Code で自動テックブログを構築する(別記事)
- Claude Code Skills 入門(別記事)
まとめ
- 「記事化して」の一言で3フェーズの処理が走る
- Phase 1で記事候補を提案し、ユーザーが選択
- Phase 2でZenn/Qiita品質の記事を生成
- Phase 3で機密情報をマスクしてNotionに保存
- Skillファイルは3つに分割して管理しやすく
この仕組みを導入することで、開発中の学びを漏らさず記録し、技術ブログの継続的な更新が可能になります。
更新履歴
- 参考リンクの裸 URL をタイトル付きに変更し、古い公式ドキュメント URL を現行のものに更新。本文にあった「前回の記事参照」がどの記事か分からなかったので、前提条件に記事名を明記し、参考リンクにも追加。コードブロックの言語指定を plain text から bash に修正。マスキングルールを別ファイルにする理由を補足。「この記事でわかること」「対象読者」「前提条件」を概要プロパティへ移動。


