ShiraBlog
  • 2026/6/26

    Cursor × GitHub Project × Claude Code で人生を自動化した話

    日記・タスク・振り返りを、Cursor×GitHub Project×Claude Codeで毎日自動化した仕組みを紹介します。

    はじめに

    日記、タスク、技術メモ、読書記録……気づけば管理ツールが増えるほど「記録する」こと自体が面倒になり、いつの間にか続かなくなるという失敗がありました。 たどり着いたのは、すべてを Markdownで記録したファイルをのGitリポジトリに集約し、それを Cursor で編集するというシンプルな形でした。 そこに GitHub Project と Claude Code を繋ぎ込み、今四半期は Cursor(記録・編集)× GitHub Project(タスク)× Claude Code(自動化) を1つのリポジトリに統合して、 「日記を作る」「タスクを同期する」「振り返る」「ニュースを集める」といった毎日の作業を、すべてコマンド一発で回せる仕組みを作りました。 この記事では、その全体像と、実際に動いているスキルの中身を紹介していきたいと思います。


    全体像

    すべては1つの Git リポジトリの中で完結していて、編集はエディタの Cursor で行います。 ディレクトリ構成はざっくり以下の通りになっています。

    life/
    ├── 00.Configs/          # テンプレート・習慣の定義
    ├── 01.Journal/          # 日記・週次・四半期
    ├── 02.News/             # 日次ニュースまとめ
    ├── 03.Books/            # 読書ノート
    ├── 04.Tech/             # 技術メモ
    └── .claude/skills/      # Claude Code カスタムスキル群(自動化の本体)

    ポイントは、人間が読む情報(Markdown)と、それを操作する自動化(スキル)が同じリポジトリに同居していることです。 タスクの実体は GitHub Project(Issue)に置き、Markdown 側はそのビュー兼ジャーナルとして振る舞っています。 1日の中で skills を使う流れはこうなります。

    1. /create-daily で日記を自動生成
    2. 日中 — タスクを [x] にし、日報を書く(任意で /daily-news
    3. 夕方/update-tasks で GitHub Project と双方向同期
    4. /daily-review で AI 振り返り → commit & push

    構成要素

    Cursor + Markdown — 「書く」場所

    日記・週次レビュー・四半期目標はすべて Markdown で、編集は Cursor で行います。 (もともとは Obsidian で書いていましたが、Claude Code と同じエディタ上で完結できる Cursor に移行しました。) 中身がプレーンテキストなので、後述するスキルからスクリプトで自由に読み書きでき、AI とも相性が良いのが利点です。

    GitHub Project — タスクの管理

    タスク(Issue)は GitHub Project の1箇所で一元管理。 Inbox / Todo / Pending / Project / Done のステータスで状態を持たせ、 日記側の「やったこと」は GitHub Project に集約されていきます。

    Claude Code Skills — 「自動化の本体」

    .claude/skills/<name>/SKILL.md に手順を書くと、/コマンド名 で呼び出せるようになります。 今は10個以上のスキルが動いていますが、毎日使う主役は次の4つです。

    スキル役割
    /create-daily今日の日記を自動生成(GitHub の Todo + 習慣タスクを流し込む)
    /update-tasks日記 ↔ GitHub Project を双方向同期し、git push まで
    /daily-review日記・四半期目標・ビジョンボードを統合し AI が振り返りを生成
    /daily-news関心分野のニュースをスコアリングして収集

    スキルの中身

    1. 朝:/create-daily で日記を自動生成

    毎朝やるのは /create-daily というスキルです。 テンプレートから今日の日記(01.Journal/01.Daily/2026/06/2026-06-26.md)を作り、 GitHub Project の "Todo" タスクと、その日にやるべき習慣タスクを Tasks セクションに自動で流し込みます。

    習慣は habits.md に「毎日 / 週末 / 週1回 / 月1回 / 3ヶ月1回」のセクションで定義しておき、実行日に該当するものだけが挿入される仕組みです。

    2. 夕方:/update-tasks で双方向同期

    このシステムの心臓部。日記でチェックを付けたタスクと GitHub Project を双方向に揃えます。

    • 日記 → GitHub: [x] を付けた Issue を、GitHub Project 上で Done に更新
    • GitHub → 日記: GitHub の Todo タスクを、日記の Tasks セクションに反映
    • チェック済みは Tasks から消えて Completed セクションへ移動
    • Morning Routine や日報など他のセクションは一切触らない
    • 最後に git add -A → commit → push まで実行

    肝は、Markdown のリンク [タイトル](.../issues/123) から Issue 番号を抜き出し、番号で GitHub と突き合わせている点です。タイトルを後で変えても壊れません。 このスキルを**冪等(何度実行しても結果が同じ)**に作ったのがポイントで、「とりあえず叩いておけば日記と GitHub がいつも一致している」状態を保てます。

    3. 夜:/daily-review で AI に振り返らせる

    1日の終わりに /daily-reviewを実行します。 中では先に /update-tasks を呼んでタスク状態を確定させたうえで、

    • 今日の日記(日報・タスク消化率)
    • 最新の四半期目標

    の3つを読み込み、**「今日の行動が四半期目標・人生の方向性にどう繋がったか」**を AI に振り返らせて、日記の # AI Review セクションに書き戻します。最後はやはり commit & pushしております。

    単なる感想ではなく「目標との接続」を毎日言語化させることで、日々の小さなタスクが大きな目標に紐づいている感覚を保てるのが継続につながっています。

    4. おまけ:/daily-news で自分専用ニュース

    毎日 Qiita / Zenn / GitHub Trending / Hacker News などを横断し、 さらに株価・音楽・ファッションのトレンドまで集めて1ファイルにまとめるスキルもあります。

    おもしろいのは並び順で、

    最終スコア = パーソナライズスコア × 0.6 + 人気度スコア × 0.4

    という重み付けで、自分の関心(AI / AWS / TypeScript / Next.js など)に寄せつつ、読んだ記事は .read_log.json に記録して次回から除外する既読管理まで入れています。


    設計で工夫したこと

    スキルを10個以上運用してきて、効いた設計判断をいくつか。

    • SKILL.md に手順を自然言語+スクリプトで書く Claude Code は SKILL.md を読んで実行してくれるので、「仕様書」と「実装」が一体になる。
    • 大きい処理は run.sh / index.js に逃がす SKILL.md が肥大化したら、シェルや Node.js に切り出して呼び出すだけにする。
    • セクション単位で「触る/触らない」を厳密に決める 自動生成するのは Tasks・Completed・AI Review だけ。手書きの日報や Morning Routine は絶対に書き換えない。これが「自動化に主導権を奪われない」安心感に直結する。
    • すべて Git 管理 + 自動 push 記録が常にバージョン管理され、端末をまたいでも同期される。

    まとめ

    良かったこと:

    • タスクの状態が日記と GitHub で常に一致していて、二重管理のストレスがなくなった
    • 毎日 AI に目標との接続を言語化してもらうことで、ブレを早く検知できるようになった

    正直な課題:

    • 仕組みを作っても、実行する習慣そのものは別問題(習慣化したいランニングなどあるがサボることもしばしば、、)
    • スキルが増えると、スキル自体のメンテナンスコストも増えてくる

    それでも、「続けるための摩擦」を限界まで減らせたのは大きな収穫でした。