🔍
𝕏📘📖☁️

Linear のタスク完了から生成 AI でブログ記事を自動作成する環境構築 🤖

昨今、生成 AI を用いて執筆しているブログ記事をよく見かけます 📝

私は普段やってみたことやトラブルシューティングなどはできるだけ書き残すようにしていますが、どうしても完成せずに放置しているページがいくつもあります。

そこで、生成 AI の力を借りて技術ブログを書けないかと考え、現在利用している Linear を MCP 連携してみました。

前提として 🎯

この記事では、個人的に利用しているツールから生成 AI を用いてシームレスにブログ記事を執筆する方法に焦点を置いています。

ツールの移行経緯とこれまでの個人ブログ遍歴も踏まえて説明します。

個人ブログの遍歴 📚

私がこれまで個人ブログをデプロイ・運営してきた方法は以下の通りです。

  • Gatsby.js → easy-notion-blog → astro-notion-blog → HonoX(現在の個人ブログ)

初めは Gatsby.js のスターターを利用して markdown 形式でブログ記事を書いていました。

※上記ブログは 2026/3/31 に閉鎖予定で、記事内容は現在のブログに移行しています。

利用したスターターは以下です。

初めは良かったものの、VSCode での執筆環境が長続きせず、NodeJS のバージョンアップなどもあり意外にも運用に時間がかかりました。ちょうど本業も忙しくなったことから、ブログ記事の投稿は次第に減少していきました 😓

続いて easy-notion-blog と astro-notion-blog です。

使い始める少し前からブログの下書きを Notion で書くようになっていました。Notion のページをそのままブログ記事にできるという魅力的な仕組みで、長らく愛用していました。外出先でも Notion を操作できるので、気づいた時にいつでもメモとして残せるのが、記事執筆を身近にしてくれたと思っています。

ただ後述しますが、markdown 形式との相性が悪かったため、Gatsby.js の時と同じく markdown 形式で記事を執筆する環境に戻りました。

現在の個人ブログは HonoX を用いて運営しています。非常に優れたフレームワークであるため、生成 AI の力を借りながら一からブログサイトを作成しました。(デザインが殺風景なのはご愛嬌ください 🙏)

利用していたツール 🛠️

上記の個人的な課題管理やブログ執筆のために、主に使っていたツールは以下になります。

Linear(タスク管理用)

  • 用途: トラブルが起きたらイシューを作成して進める
    • やったことやログなどのファクトをつらつら書いていく
    • かなり雑に書くことも多い
  • メリット: イシュー、プロジェクト、コメントなど、タスク管理に特化したシンプルなデータ構造。API レスポンスがクリーンで扱いやすい
  • デメリット: タスク管理以外の用途には不向き。ドキュメント的な長文コンテンツの保存には適していない

Notion(ブログ記事執筆用)

  • 用途: 記事の下書きとして利用している(Markdown 対応で執筆しやすい UI が気に入っている)
    • 完了した Linear のイシューを参考にしながら執筆する
    • やった時の状況を忘れていることも多い
    • ブログ記事に全文ログなどを載せたい時に、再度同じことをする場合がある
    • astro-notion-blog を使えば、そのまま公開できる
    • Zenn などに公開するときは markdown で書き直し
  • メリット: ページ、データベース、ブロック単位で柔軟にデータを取得できる。階層構造が豊富で、ナレッジベースとして多様な情報を保存可能
  • デメリット: データ構造が複雑になりがち。ブロックタイプが多様で、取得したデータを Markdown に変換する際に処理が煩雑になることも

利用しているツール ✨

これまでは Notion にブログ記事を書いていましたが、Zenn などのプラットフォームに公開する際は markdown 形式で書き直す必要がありました。Notion から markdown への変換は意外と大変で、変換ツールを作って試したりもしましたが、結局手作業で markdown に書き直す形に落ち着いています。

それならば、生成 AI とも相性が良い markdown 形式で個人ブログを公開しようと考えました。

Linear(タスク管理用)

  • 用途: 同上
    • 概要にはやったこと全てを markdown 形式で書く
    • コメントには個人の感想など記事に入れないことや関係ないものを書く

Claude Code(記事執筆用)

  • 「Linear のイシュー番号 XXX-123 からブログ記事を作成して」とお願いする
  • もちろん他の AI Agent でも OK

準備 🔧

MCP の設定

まずは Linear を MCP 連携するための設定をします。(公式ドキュメント

claude mcp add --transport http linear-server https://mcp.linear.app/mcp

ブラウザから認証が求められるので許可します。その後 Linear の MCP Server が利用可能な状態になります。

指示ファイルの作成

Claude Code から以下のようなプロンプトを送って、CLAUDE.md を作成します。精度が悪いと感じた時は、それをプロンプトに投げて CLAUDE.md をアップデートしていきます。

あなたは Linear のイシューから markdown 形式でブログ記事を作成しようとしています。
以下の条件を満たすための CLAUDE.md を作成してください。

- このリポジトリは HonoX を使っています
- 「Linear の XXX-123 イシューからブログ記事を作成して」というプロンプトが来たら、`./app/content/blog` ディレクトリにブログ記事の markdown ファイルを作成して
- markdown には適切な frontmatter をつけてください
  - tags は linear のラベルや本文を参考につけてください

記事の執筆について ✍️

上記の設定が済んだら Claude Code が記事を執筆してくれます。Linear のタスクが完了したらブログ記事を書くように Claude Code へ指示しています。

意識して書いていること: Linear 側

  • タスク実行中にやったことは全て書く
    • 後からやり直すことが無いようにする
    • 綺麗な文章は心がけない(Claude Code が直してくれるから気にしない)
    • 記事に書きたい個人の感想なども本文に赤裸々に書く
    • プライベートなことはコメントに書けば記事に反映されない
  • 後から見返して内容が分かるようにする
    • 時間が経つと忘れるので、初見でも理解できる内容に仕上げる
    • 生成 AI に作業内容を理解してもらう
    • 要点はまとめておき、文章は生成 AI に任せる

プロンプトで指示すること: Claude Code 側

  • 「XXX-123 イシューからブログ記事を作成して」
  • 意図しない動作をしたらプロンプトで修正する
    • 修正した内容を元に CLAUDE.md を更新して精度を上げる
  • 出来上がった記事をレビューする
    • タイポなどはほぼ無いので、実施したことが伝わるか・人が読みやすいようになっているかをみる

最後に 🎉

上記の仕組みを作ってから、実作業から記事にするまでの時間が一瞬になりました。

そもそも私は記事を書くのが得意ではないので、文章校正ツールなどを駆使して公開できる文章に仕上げるためのツール整備を行ってきました。しかし、それすらも生成 AI に任せることができて感動しています。記事執筆へのハードルがかなり下がったと痛感しています。

生成 AI は予測なども回答に含めるケースがあるため、信憑性が疑われるものもあります。指示ファイルで事実だけ回答するようにできますが、最終的に人の目で記事を確認してゴーサインを出すことは必須と考えています。

生成 AI を活用しながら、実際にやったことが伝わりやすく有益な記事を書くよう心がけようと思います 💪

関連記事