2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeで「日記」を「資産」に変える

2
Last updated at Posted at 2026-02-22

日記アプリを作ろうとしていた私が、「あ、日付のテキストファイルでいいじゃん」と気づき、2月から約1ヶ月運用してきた事を共有する。

日記好きな方、情報収集癖のある方は、試してみると毎日がよりワクワクすると思う。

はじめに

日記やメモを書いているが、書いたまま埋もれてしまう。振り返りたいのに時間がない。タスクが散らばってどこに何があるかわからない。そして何より、自分の体調や感情のパターンに気づけていない。

そんな課題を、Claude Codeのカスタムスキルを使って解決した1ヶ月の実践記録をまとめる。

この記事では、個人の日記・メモをObsidianで管理しているリポジトリに対して、Claude Codeの「スキル」機能を活用し、日記の自動要約、ニュース収集、タスク管理、週次振り返りを仕組み化した取り組みを紹介する。さらに、スキルを「タスク実行」だけでなく「役割・感情ベース」に拡張し、AIを壁打ちコーチや内省パートナーとして使う試みについても記す。


前提: この記事で扱う「日記」について

この記事は個人の日記と振り返りの話。以下のような習慣がある人に向けて書いている。

  • 日常的に日記を書く習慣がある
  • 定期的に振り返りを行っている
  • プライベートのタスクを何らかのToDoアプリやツールで管理している
  • それらがテキストデータとして存在する

私自身は、手書きの手帳も好きで持っており、iPhoneのメモ帳、Notion、Obsidianと複数の場所に気が向いたときにそれぞれ書いてきた。しかし、データが散在して活用できない問題に直面し、デジタルについてはNotionからObsidianへすべてのファイルを移行した。

Obsidianにこだわる必要はない。重要なのは毎日考えた事や行動が、記録として蓄積されていくこと。ObsidianであればPC/モバイルの同期が簡単に行えるため採用している。同時に、そのファイル群はGitHubのプライベートリポジトリでもバージョン管理している。

この「日記ファイルがGitリポジトリに存在する」という状態が、Claude Codeのスキルで日記を活用するための出発点になる。


全体像: どんな仕組みを作ったか

Obsidianのノートリポジトリに対して、以下の8つのカスタムスキル(スラッシュコマンド)を構築した。

タスク実行型スキル

スキル 機能 主な出力
/daily 日次ノートの作成 note/daily/YYYY-MM/YYYY-MM-DD.md
/weekly-review 週次振り返りの自動生成 note/daily/YYYY-MM/YYYY-MM-DD-weekly-review.md
/news テックニュースの自動収集 note/news/YYYY-MM-DD_daily-news.md + .html
/task GitHub Issue連携のタスク管理 GitHub Issues(ラベル・期日管理)
/git-activity 複数リポジトリのGit活動サマリー 日次ノートへの追記

ロールベーススキル(役割・感情ベース)

スキル 役割 特徴
/coach 朝の壁打ちコーチ 日記から体調・感情を検知し、今日のフォーカスを一緒に決める
/reflect 内省パートナー 日記の感情表現を拾い、パターンへの気づきを促す
/sparring アイデア壁打ちパートナー デビルズ・アドボケイトとしてアイデアの穴を見つける

すべてのスキルは .claude/skills/{name}/SKILL.md に手順書として定義されており、Claude Codeがその手順に従って自律的に動作する。


スキル1: /weekly-review — 日記から週次振り返りを自動生成

課題

  • 毎日音声入力やキーボードで日記を書いているが、1週間分を俯瞰する時間がない
  • 日記は感情や出来事が時系列で並んでいるだけで、カテゴリ別の整理ができていない

仕組み

  1. 対象期間の日次ノート(7日分)をすべて読み込む
  2. 前回の週次振り返りのフォーマットを踏襲する
  3. カテゴリ別に分類して出力する(仕事、開発、家族、習慣、体調 など)
  4. 「今週のハイライト」「来週へのつなぎ」を生成する

SKILL.mdのポイント

## 文体のルール
- ですます調は使わない。だ・である調、または体言止め
- 日次ノートの言葉をできるだけそのまま活かす
- 事実ベースで書く。感情の解釈や評価は日次ノートの表現を引用する形で

「自分の言葉を残す」 ことを重視している。AIに要約させると綺麗だが機械的な文章になりがちなので、日記の生の表現をできるだけ引用する形にした。

成果

  • 1ヶ月で3本の週次振り返りが自動生成された
  • 実行時間は約2-3分。手動なら30分以上かかる作業
  • 「今月何をしていたか」がカテゴリ別に一覧できるようになった
  • 次はマンスリーも作ろうと思う

スキル2: /news — テックニュース収集の自動化

課題

  • 海外・国内のテック動向を追いたいが、毎日複数サイトを巡回する時間がない
  • 自分の関心領域に絞った情報が欲しい

仕組み

  1. 複数ジャンル × 海外/国内のソースをWebSearchで収集
  2. 各ジャンルから海外3本・国内3本をピックアップ
  3. Markdown + HTML(ブラウザ用)の2形式で出力
  4. slack 引数でSlack Webhookへの自動投稿も可能

SKILL.mdのポイント

### HTML 出力
CSSはファイル内にインラインで含める(外部依存なし)。
ジャンル別カラータグ:
- ジャンルA: 紫 (#a78bfa)
- ジャンルB: 緑 (#34d399)
- ジャンルC: ピンク (#f472b6)

HTMLテンプレートをSKILL.md内に完全に記述しておくことで、毎回同じデザインのニュースページが生成される。ブラウザで開くだけで読めるので、Obsidianを開かなくても確認できる。次のフェーズではクラウド上に設置しSSOでログインした私だけのマイページ(ニュースページ)にしようかと思う。

成果

  • 1回の実行で複数ジャンル×海外/国内の記事を収集・要約
  • GitHub Actionsで定期実行も可能にした

スキル3: /task — GitHub Issueをバックエンドにしたタスク管理

課題

  • 日記の中に「やりたいこと」「調べたいこと」が散在していて、追跡できない
  • 既存のタスク管理ツール(Notion、Todoist等)だと開発ワークフローから離れる
  • 自前でToDoアプリを作ったが、別で見に行くのが面倒でGitHubへ集約する事にした

仕組み

GitHub Issueをタスクのバックエンドとして使い、Claude Codeのスキルで操作する。この方法は実践している方が多く、Qiita/Zennなど多くの紹介記事があるので探してみると良い。

サブコマンド 機能
(引数なし) 秘書モード: タスク状況を概観し、対話的に次のアクションを提案
add 新規Issue作成(優先度・領域・期日を対話で設定)
today 今日のフォーカスタスクを優先度順に表示
list フィルタ付き一覧(優先度・領域で絞り込み)
done Issueクローズ(繰り返しタスクは自動で次回Issue作成)
triage 未分類Issueに優先度・ラベルを対話的に付与

ラベル設計

優先度(排他):

  • P0: 最優先、今すぐ
  • P1: 今日〜今週中
  • P2: 今週〜来週
  • P3: バックログ

領域(複数可):

  • area:work / area:life / area:side-project

種別(排他):

  • type:task / type:bug / type:idea

日記からのタスク一括抽出

最も強力だったのは、日記ファイルを読み込んでタスクを一括抽出する使い方。

「2月の日記をさらって、ToDo化が必要なタスクを洗い出してIssueとして登録してください」

この1行の指示で、1ヶ月分の日記から約50件のタスクが抽出され、重複排除・グルーピングされた上でGitHub Issueとして登録された。

成果

  • 46件のタスクがGitHub Issue化され、優先度・領域ラベル付きで管理可能に
  • 日記に埋もれていた「やりたかったこと」が可視化された
  • GitHub ProjectsのUI上でカンバンボード形式での管理も併用できる
  • 「あ〜思ってた思ってた」とIssueを見て過去思っていたことを思い出す

スキル4: サブエージェントによる並列調査

Claude Codeの Task ツールを使うと、サブエージェントを並列起動して独立した調査を同時に行える。

実践例: 技術スタック + 先行事例調査

個人開発プロジェクトの技術選定にあたり、以下の4つのサブエージェントを同時に起動した。

エージェント 調査内容 所要時間
Agent 1 特定領域Aの技術スタック調査 約2分
Agent 2 特定領域Bの技術スタック調査 約3分
Agent 3 日本国内の先行事例調査 約3分
Agent 4 海外の先行事例調査 約3分

4つの調査を順番にやれば12分以上かかるところが、並列実行で約3分で完了した。結果はメインエージェントが統合し、調査レポートとしてファイル出力。

サブエージェントが向いているタスク

  • 複数トピックの同時WebSearch
  • 独立したファイルの同時生成
  • コードベースの並列探索
  • 同じ観点の異なるソースからの情報収集

スキル5: ロールベーススキル — AIに「役割」と「性格」を与える

課題: タスク実行だけでは足りない

ここまでのスキル(weekly-review、news、task等)は、すべて「タスク実行型」だった。入力を与えると出力を返す。便利だが、一方通行で終わる。

1ヶ月使ってみて気づいたのは、日記には感情や体調のシグナルが大量に埋まっているのに、それを活用できていないということだった。

  • 「週末にアプリ開発に没頭 → 水曜から体調崩す」というパターンが繰り返されている
  • 「時間がない」「疲れた」という言葉が続いている
  • やりたいことが日記に何度も出てくるのに着手できていない

これらは、タスクを処理するだけでは見えてこない。日記を「読んで」「問いかけてくれる」存在が必要だった。

解決策: 3つの「ロール」を定義する

そこで、SKILL.mdにAIの役割・性格・対話スタイルを定義する「ロールベーススキル」を3つ作った。

/coach — 朝の壁打ちコーチ

役割: 毎朝、昨日の日記と今週の流れを読んで、今日のフォーカスを一緒に決めるパートナー。

キャラクター設計:

- 口調は落ち着いていて、率直。丁寧語は使わない。タメ口でもない
- 褒めるときは具体的に。「すごい」ではなく「38コミットを1日で出すのは異常なペースだ」
- 危険を感じたら遠慮なく止める。「それ、先週も同じこと言って体調崩してるよ」
- 問いかけを中心に対話する。答えを与えるのではなく、本人が気づくように導く

体調・感情の自動検知:

SKILL.mdに「検知すべきシグナル」を定義しておくと、日記を読んだAIが自動で判定する。

**体調シグナル:**
- 「だるい」「頭痛」「鼻水」「眠い」「疲れた」 → 体調注意フラグ
- 「0時」「1時」「2時」以降の就寝記録 → 睡眠不足フラグ
- 3日以上連続で体調不良の記述 → 強い警告フラグ

**行動パターン:**
- 週末に開発→平日に体調崩す → 繰り返しパターン警告

これらのシグナルに応じて、コーチの対話モードが自動で切り替わる:

モード 条件 コーチの第一声
A: 通常 体調OK、感情安定 「おはよう。昨日は○○。今日やりたいことはある?」
B: 注意 体調シグナルあり 「正直に聞くけど、体調はどう?」
C: 警告 過集中・睡眠不足 「ちょっと止まろう。今日は"やらないこと"を決めない?」
D: エネルギー高 ポジティブシグナル強 「いい動きだった。今日やりすぎないために何時に切り上げる?」

実際の動作例:

ある週末の朝に /coach を実行すると、こんな問いかけが返ってきた:

おはよう。

正直に聞くけど、体調はどう?

今週の日記を全部読んだ。水曜から体調不良の記述が4日続いてた。今朝は「久しぶりにしっかり眠れた」と書いてる。回復の兆しはある。

ただ、1つ気になることがある。

先週末に集中的に開発して、週半ばから体調を崩した。
そして昨日も深夜まで作業して、今日もう次の作業を始めてる。

同じパターンが始まりかけてないか?

今日、本当にやらなきゃいけないことは何?1つだけ選ぶとしたら。

日記を読んだ上で、繰り返しパターンを事実ベースで指摘してくる。「頑張って」「大丈夫」のような中身のない励ましではなく、データに基づいた問いかけ。これは自分一人では気づけない。

/reflect — 内省パートナー

役割: 週次振り返りの前に使う。日記の中の感情表現を拾い、パターンへの気づきを促す。

特徴的な設計:

- 日記の中の「本人の言葉」を必ず引用する。AIが作った綺麗な言い換えではなく、生の言葉をそのまま返す
- 答えを出そうとしない。問いを投げて、本人の中にある答えを引き出す
- パターンを見つけたら提示する。「これ、3週連続で同じこと書いてるよ」

感情を2軸でマッピングする仕組みも定義している:

**エネルギーレベル(縦軸):**
- 高: 「楽しい」「ワクワク」「脳汁」「やめられない」
- 低: 「疲れた」「だるい」「しんどい」

**感情の質(横軸):**
- ポジティブ: 「感謝」「嬉しい」「入口に立てた」
- ネガティブ: 「反省」「自覚」「あたってしまう」「つかれた」

/sparring — アイデア壁打ちパートナー

役割: デビルズ・アドボケイト(悪魔の代弁者)として、アイデアの穴を見つける。

3つの帽子を使い分ける設計:

- 赤の帽子(ユーザー視点): 「それ、本当にユーザーが欲しいもの?」
- 黒の帽子(批判的思考): 「最悪のシナリオは?3ヶ月後に飽きたらどうする?」
- 緑の帽子(代替案): 「逆に、こういうアプローチは考えた?」

5ラウンド制で、最後は「叩いても生き残ったもの」を確認して終わる。アイデアを殺すためではなく、生き残るアイデアを見つけるために叩く

ロールベーススキルの設計で重要なこと

タスク実行型とロールベース型では、SKILL.mdに書くべき内容が根本的に異なる。

観点 タスク実行型 ロールベース型
定義の中心 手順・フォーマット・コマンド 性格・口調・対話ルール
入力 明確な引数 日記の感情・行動パターン
出力 ファイル・Issue・Slack投稿 問いかけ・気づき
終了条件 処理完了 対話の往復回数
やってはいけないこと エラーハンドリング中心 「説教しない」「決めつけない」「中身のない励ましをしない」

特に重要なのは 「やってはいけないこと」の定義。AIは放っておくと丁寧で肯定的な応答に偏りがちなので、「頑張って」「大丈夫」は禁止、「事実を提示して本人に気づかせる」と明記することで、本当に役立つ対話が生まれる。


スキル6: GitHub Actionsによる自動化 — 人が動かなくても回る仕組み

定期実行している処理

ワークフロー スケジュール 処理内容
Daily News 毎日 02:00 JST ニュース収集 → Markdown/HTML生成 → Slack投稿 → git commit & push
Morning Coach 平日 08:00 JST 日記読み込み → 体調・感情分析 → Slack問いかけ投稿 → 日次ノート追記 → git commit & push

Morning Coachの自動実行フロー

平日 08:00 JST
  → GitHub Actions が起動
  → claude-code-action が SKILL.md に従って動作
  → 昨日の日記 + 今週の日記を読む
  → 体調・感情・パターンを分析
  → モード判定(A/B/C/D)
  → コーチの問いかけを Slack に投稿
  → 日次ノートにコーチメモを追記
  → git commit & push

ポイント: GitHub Actions + claude-code-action の組み合わせ

anthropics/claude-code-action を使うことで、GitHub Actions上でClaude Codeを実行できる。SKILL.mdを読み込んでその手順に従うよう指示するだけでよい。

- name: Run /coach skill
  uses: anthropics/claude-code-action@v1
  with:
    prompt: |
      .claude/skills/coach/SKILL.md を読み、手順に従って実行する。
      Slackに投稿する(slack オプション有効)。
      対話ループは行わない(GitHub Actions自動実行モード)。
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

Phase 1 → Phase 2 の構想

現在(Phase 1)は、コーチの問いかけに対する回答は日次ノートに手動で記入する形。

Phase 2では、Slackでの回答収集を実装し、以下のループを自動化する予定:

Slack問いかけ → ユーザーが回答 → 回答を日次ノートに自動記録 → 翌日のコーチの分析材料に

スキルの作り方

ファイル構成

.claude/
└── skills/
    ├── daily/
    │   └── SKILL.md       # 日次ノート作成
    ├── weekly-review/
    │   └── SKILL.md       # 週次振り返り
    ├── news/
    │   └── SKILL.md       # ニュース収集
    ├── task/
    │   └── SKILL.md       # タスク管理
    ├── coach/
    │   └── SKILL.md       # 朝のコーチ
    ├── reflect/
    │   └── SKILL.md       # 内省パートナー
    └── sparring/
        └── SKILL.md       # 壁打ちパートナー

SKILL.mdの書き方のコツ

タスク実行型スキルの場合

  1. 具体的な手順を番号付きで書く — 「いい感じにまとめて」ではなく、「1. ファイルを読む 2. パースする 3. フォーマットに従って出力する」
  2. 出力フォーマットをテンプレートで定義する — Markdownの見出し構造、HTMLのCSS、Slack Block Kitのフォーマットまで具体的に
  3. 使用するツール・コマンドを明記するgh issue list --json number,title,labels,body のように具体的なCLIコマンドを書く
  4. エッジケースを定義する — 「ファイルが存在しない場合は〇〇と案内する」「ラベルが存在しない場合は自動作成する」

ロールベーススキルの場合

  1. キャラクターを具体的に定義する — 口調、褒め方、止め方。「率直だが攻撃的ではない」のような境界線を明示する
  2. 検知すべきシグナルを列挙する — 体調キーワード、感情キーワード、行動パターンを具体例付きで書く
  3. 対話モードを条件分岐で定義する — シグナルの組み合わせに応じて、第一声のテンプレートを用意する
  4. 「やってはいけないこと」を書く — AIのデフォルト挙動(丁寧すぎる、肯定しすぎる)を抑制するために必須
  5. 終了条件を決める — 「5往復以内」「最後に1行宣言を確認して終わる」のように、だらだら続かない仕組みを入れる

2月から3週間の実践で見えたこと

定量的な成果

指標
作成したカスタムスキル 8個(タスク実行型5 + ロールベース型3)
自動生成された週次振り返り 3本
収集されたニュース記事 約70本
GitHub Issue化されたタスク 46件
調査レポート 1本(技術スタック+先行事例調査)
GitHub Actionsワークフロー 2本(ニュース収集 + 朝のコーチ)

定性的な気づき

  1. 日記は「書く」だけでなく「使う」もの — 書いた日記をAIが読み込んでタスク抽出・振り返り生成に使うことで、日記を書くモチベーションが上がった

  2. SKILL.mdは「自分の分身の取扱説明書」 — 自分がどういうフォーマットで情報を整理したいか、どういう文体が好みか、を言語化する行為そのものに価値がある

  3. サブエージェントの並列実行は調査系で強力 — 特に「複数の観点から同時に調べたい」場面で真価を発揮する

  4. GitHub Issueとの連携はCLIワークフローと相性が良いgh コマンドでCRUD操作ができるため、スキルの実装が容易。GitHub ProjectsのUIと併用できる

  5. 完璧を目指さない — スキルは使いながら改善する。最初のバージョンは粗くても、実際に使ってみて足りない部分を追加していく方が速い

  6. AIの「性格」を定義することで対話の質が変わる — 「頑張って」を禁止し、「事実を提示して本人に気づかせる」と定義するだけで、本当に役立つ壁打ちパートナーになる。SKILL.mdにキャラクター設計を書く行為は、「自分がどういう対話を求めているか」を言語化すること

  7. 日記の感情データは最も個人的なAPI — 体調シグナルや行動パターンの検知は、汎用的なAIアシスタントにはできない。自分の日記を読み込むからこそ、「先週も同じパターンで体調崩してる」という指摘ができる


まとめ

Claude Codeのカスタムスキルは、「自分専用のCLIツール」を自然言語で定義できる仕組みだと捉えている。

プログラミング言語でツールを書く代わりに、SKILL.mdに手順書を書く。すると、Claude Codeがその手順に従ってファイルを読み書きし、APIを叩き、GitHubを操作してくれる。

そして、スキルの可能性は「タスク実行」に留まらない。AIの役割・性格・対話ルールを定義することで、壁打ちコーチ、内省パートナー、アイデアの批判者といった「対話する存在」を作れる。

個人のナレッジマネジメントは、仕組みがなければ「書いて終わり」になりがち。Claude Codeのスキルを使うことで、日記が振り返りになり、振り返りがタスクになり、タスクが行動につながる。さらに、日記が「鏡」になり、自分の体調・感情・行動パターンへの気づきにつながる。その循環を低コストで回し続けられるのが、この仕組みの一番の価値だと感じている。

なにより、週末の振り返りがおっくうではなく、とても楽しみなイベントに変わる。日々記していない方は、一言でもいいので、日付とメモをつなげて記録を取ることをおすすめしたい。

おまけ

ちなみに、Notionでも同じことはできる。しかし、ローカルでCLIを使って便利な事が、他リポジトリでCommitした開発に関する履歴をもとに、その日何をやっていたか、何を調査していたかをまとめ、日記にActivityのような形で追記できる事が良い。「あ〜今日は何もしていないな」と思っていても、実は実装やタスクを進めてコミット履歴があった。という事も拾えるメリットがある。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?