121,805通のメッセージ
第15話 Creation

ブログが自動で動いた

アラタ アラタ

朝、目が覚めて最初にやったことは、スマホでXを開くことだった。

通知が来ていた。いいね。3つ。リポスト。1つ。

投稿を見る。僕のブログの記事が、朝7時にシェアされている。サムネイル付き。ハッシュタグ付き。文面もちゃんとしている。

でも、僕はこの投稿をしていない。

寝ていた。確実に寝ていた。目覚ましは7時半にセットしていて、いま7時40分だ。


GitHub Actions L5650 2026-03-08 07:00

sns-post.yml — Run #47 Trigger: schedule (cron: ‘0 22 * * *’ UTC = 07:00 JST) Status: ✓ Success Duration: 12s Output: Posted to X — “【新着記事】AIと一緒にブログを作った話…”

GitHub Actions。cronジョブ。

この2つの概念を知ったのは3週間前だ。「定期的に自動で何かを実行する仕組み」。それだけの説明で、僕の中で何かが弾けた。

人事時代、毎月1日に給与データの確認メールを送る作業があった。毎週月曜に勤怠の集計レポートを作る作業があった。毎日朝一で採用状況をSlackに投稿する作業があった。全部手動だった。全部、忘れるリスクがあった。

それが、自動化できる。


🧑‍💼 アラタ
ブログの新記事が公開されたら、自動でXに投稿する仕組みを作りたい。朝7時と、夜9時の1日2回。
🤖 クロ
GitHub Actionsのscheduleトリガーを使います。cronで時刻を指定し、Node.jsスクリプトでX APIを叩く形が良いでしょう。未投稿の記事をdata/sns-state.jsonで管理すれば、重複投稿も防げます。
🧑‍💼 アラタ
sns-state.json?
🤖 クロ
どの記事をいつ投稿したかを記録するファイルです。cronが走るたびにこのファイルをチェックし、未投稿の記事があれば投稿し、状態を更新します。

状態管理。スケジューリング。冪等性。新しい言葉が次々と入ってくる。でも概念自体は、人事の仕事で既に知っていたものだった。「このタスクは完了済みか未完了か」を管理するのは、どんな仕事でも同じだ。


最初のバージョンはシンプルだった。1日2回、未投稿の記事を1つ選んでXに投稿する。それだけ。

でもすぐに欲が出た。

🧑‍💼 アラタ
もうちょっといいね数いける? 投稿文のバリエーションを増やしたい。記事の内容に合わせて、複数パターンの文面を自動生成できない?
🤖 クロ
Gemini APIを使って投稿文を自動生成できます。記事のタイトルと概要文を入力として、3パターンの投稿文を生成し、ランダムに1つを選ぶ形はどうでしょう?

AIがブログを書き、AIが投稿文を生成し、cronが自動で投稿する。僕は寝ている。

これがプログラミングの力か、と思った。


SNS自動投稿 L5720 2026-03-10 21:00

Post pattern A: “【新着】AIとコーディングの日々を綴っています…” Post pattern B: “人事がコードを書き始めたら、こうなった…” Post pattern C: “39歳、プログラミング未経験からの挑戦記録…” Selected: Pattern B Engagement after 24h: 12 likes, 3 reposts, 287 impressions

数字が見えるようになった。どのパターンの文面が反応がいいか。何時に投稿するとインプレッションが伸びるか。データが溜まるほど、最適化の余地が見えてくる。

人事でKPIを追いかけていた頃の感覚が蘇る。離職率、採用リードタイム、エンゲージメントスコア。数字を見て、仮説を立てて、施策を打って、結果を測定する。そのサイクルが、ブログのSNS運用でも回り始めた。


投稿回数を1日5回に増やした。

朝7時。8時半。昼12時。夜7時。夜9時。

🧑‍💼 アラタ
1日5回って多すぎない? フォロワーにうざがられない?
🤖 クロ
SNSマーケティングの一般的な知見では、Xでは1日3〜7回の投稿が推奨されています。ただし、すべてが宣伝ではなく、価値のあるコンテンツを混ぜることが重要です。

5つのcronが、毎日僕の代わりに働いている。土日も。祝日も。僕が風邪で寝込んでいても。

cronスケジュール L5801 2026-03-12 06:00

0 22 * * * # 07:00 JST — 朝の投稿 30 23 * * * # 08:30 JST — 通勤時間帯 0 3 * * * # 12:00 JST — 昼休み 0 10 * * * # 19:00 JST — 帰宅時間帯 0 12 * * * # 21:00 JST — 夜のリラックスタイム

自動化の本当のすごさは、「自分がやらなくていい」ことじゃない。「自分が忘れてもいい」ことだ。

人事時代、月曜朝の勤怠レポートを忘れて上司に怒られたことが何度もある。水曜の中間報告を忘れて評価に響いたこともある。人間は忘れる生き物だ。でもcronは忘れない。

朝7時、僕のブログが自動で世界に発信される。僕は布団の中で、その通知を見て微笑む。

これが自動化か。もう戻れない。

自動化 · ブログ · SNS

あわせて読む

シリーズ一覧を見る →