AIからブログを自動投稿する仕組みを作ってみた

最近はギターの練習が楽しくてついつい時間を忘れてしまうのだけれど、趣味のプログラミングの時間も確保したいところ。でも、コードを書いて、さらにブログに記事をまとめるとなるとなかなか骨が折れるものです。

ということで、今回はAI(Antigravity)を使って、ブログ記事の執筆から自動投稿(下書き)までを一気通貫でやってくれる仕組みを作ってみました。

1. トンマナを覚えさせるカスタムスキル

まずはAIにブログ「Glob」の文体(親しみやすい口調、導入 of 雑談、エラー解説重視など)を学習させるため、.agents/skills/zzblog_writer/SKILL.md を作成。これで、AIが勝手に「Glob風」に執筆してくれるようになります。さらに出力形式をMarkdownからHTML形式(コードブロックにprettyprintを使うなど)にするよう指示を盛り込みました。

こんな感じ

2. ブログ自動投稿用のMCPサーバー構築

XML-RPC(WordPress等の標準API)を利用してブログに記事をドラフト投稿するPythonスクリプト(tools/blog_publisher/server.py)を実装しました。ここで使用したのは mcp SDKと python-dotenv です。

3. 404エラー対策としてのスラッグ(Slug)指定機能の追加

実際に公開してみると、URL(パーマリンク)が日本語のエンコード文字になってしまい、ページが見つからない(404エラー)という事象が発生しました。へーー、そうなるのかと感心している場合ではありません。

そこで、投稿APIを拡張し、記事のタイトルに連動した半角英数字のスラッグ(post_name)を設定できるようにしました。今回は ai_auto_blog_post_system というスラッグを自動設定しています。

4. 修正・上書きサイクルの構築

一度ドラフト投稿した記事をチャット上で修正できるよう、上書き更新ツール(update_blog_post)も追加しました。AIが投稿した記事IDを自動的に追跡してくれるので、ユーザーは「さっきの記事に追記して更新して」と指示するだけで既存の記事が上書きされます。

5. 仮想環境でのテスト

仮想環境で依存関係をインストールし、接続確認を行いました。

source .venv/bin/activate
python3 tools/blog_publisher/test_connection.py

接続テストが無事に通り、投稿テストも自動ですべて成功しました。

これでURLの日本語問題も解消し、執筆から投稿、推敲までを完全に自動化できました。今後はもっと気軽にブログが更新できそうです。

めでたし。

============

と言う投稿を、Antigravityさんにしてもらいました。。。(ここは自分で書いてます)

Follow me!