この記事はClaudeと一緒に書きました。
はじめに
私は電子ノートで技術学習の記録をとっていましたが、手書きのノートと違って後から見返す機会が少なく、せっかく調べた内容も復習しないから身につかない、という悩みを抱えていました。
そこで、ClaudeCodeを活用して週次学習サマリーを自動生成する仕組みを作ったところ、少ない労力で復習用のノートを作成でき、振り返る習慣を確立できました。
この記事では、実際に使っているプロンプトを公開し、すぐに真似できる形でご紹介します。
全体の流れ
学習ログの作成は、以下の2ステップで行います:
【日常】各セッション終了時
↓
学んだ知識をカスタムスキルでドキュメント化
↓
Obsidian + Git で管理
↓
【週1回】金曜日など
↓
Git履歴から週次サマリーを自動生成
↓
振り返りながら復習
ポイントは2つです:
- プロジェクト固有の内容を除外して汎用的な技術知識だけを記録すること。これにより、後から見返しても役立つドキュメントになります。
- Git管理を行うことで、週次の変更内容を自動抽出できること。ClaudeCodeがGit履歴を読み取り、前回から今回までに追加・更新されたファイルを自動的に抽出してサマリーを生成します。
プロンプト1: セッションの知識ドキュメント化
各セッションで学んだ内容をドキュメント化するプロンプトです。
カスタムスキルとして登録し、新しく学んだことがあったセッションの最後に実行します。
# セッション内で学んだ知識をドキュメント化
このセッションで質問された**汎用的な技術知識**をドキュメントにまとめてください。
## 対象とする内容
- PRやタスク固有の内容ではなく、**他の場面でも役立つ汎用的な知識**
- 技術的な仕組みや概念の説明
- ツールや設定の使い方
- トラブルシューティングのノウハウ
## 対象外
- PR固有のレビューコメント
- 特定のタスクの進捗状況
- 一時的な作業メモ
- プロジェクト固有の情報
## 出力形式
### ファイル名
`YYYYMMDD_トピック名.md`
- 日付は今日の日付を使用
- トピック名はセッション内容から適切に判断
### 出力先
`任意のパス/obsidian/書類/技術ノート/`
### ドキュメント構成
# トピック名
## 概要
このドキュメントで扱う内容の簡単な説明
## 学んだこと
### サブトピック1
- 要点1
- 要点2
- 具体例やコード例があれば記載
### サブトピック2
- 要点1
- 要点2
## 関連情報
- 参考になるファイルパスやドキュメントがあれば記載
- 関連するコマンドや設定
## メモ
- 追加で気づいたこと
- 今後調べたいこと
## 注意事項
- コードブロックには適切な言語指定を付ける
- 箇条書きを活用して読みやすくする
- 推測ではなく、セッション内で確認された事実を記載する
- 情報漏洩リスク回避のため、絶対にプロジェクト固有の知識やプロジェクト固有のコードは記載しない
プロンプト2: 週次サマリー生成
週1回、Git履歴から自動的にサマリーを生成するプロンプトです。
# Obsidian学習サマリー作成
Obsidianリポジトリの未コミット変更をコミットし、前回サマリー出力以降の学習内容をまとめて出力します。
## 実行手順
### 1. 未コミット変更のコミット
1. `任意のパス/obsidian` ディレクトリに移動
2. `git status` で未コミットの変更を確認
3. 変更がある場合:
- `git add .` で全ての変更をステージング
- 以下の固定メッセージでコミット:
```
Weekly update
🤖 Generated with [Claude Code](https://claude.com/claude-code)
```
4. 変更がない場合はスキップ
### 2. 前回出力日を確認
1. `任意のパス/obsidian/書類/学習サマリー/` ディレクトリを確認
2. 既存ファイル名(`YYYYMMDD_週次サマリー.md`形式)から最新の日付を取得
3. 既存ファイルがない場合は、全期間を対象とする
### 3. 差分のコミット内容を取得
1. 前回出力日以降のコミットログを取得
# 前回出力日がある場合(例: 20251216)
git log --since="2024-12-16" --until="now" --pretty=format:"%h %ad %s" --date=short
# 前回出力日がない場合(初回)
git log --pretty=format:"%h %ad %s" --date=short
2. 対象期間に変更されたファイル一覧を取得
git log --since="前回日付" --until="now" --name-only --pretty=format:""
### 4. 変更されたファイルの内容を読み込む
**重要**: 変更されたファイルの中身を実際に読み込み、具体的な学習内容を把握する。
- 新規作成されたファイル
- 更新されたファイル(技術系フォルダのみ)
### 5. サマリーを作成
以下の形式でサマリーを作成してください:
# 学習サマリー(YYYY/MM/DD〜YYYY/MM/DD)
## 期間の概要
この期間に学習した内容の全体像を2-3文で簡潔にまとめる
---
## 学習トピック
### トピック名 [[関連ノートへのリンク]] [[関連ノート2]]
#### サブトピック1
具体的なコード例や設定例を含める:
// 実際のコード例
- **ポイント1**: 説明
- **ポイント2**: 説明
#### サブトピック2(比較表がある場合)
| 項目 | 比較対象A | 比較対象B |
|------|----------|----------|
| 特徴1 | 内容 | 内容 |
| 特徴2 | 内容 | 内容 |
### 次のトピック名 [[関連ノートへのリンク]]
(同様の形式で続ける)
---
## 更新したファイル
### 新規作成
| ファイル | 内容 | リンク |
|---------|------|--------|
| ファイル名.md | 追加した内容の概要 | [[ファイル名]] |
### 更新
| ファイル | 追加内容 | リンク |
|---------|---------|--------|
| ファイル名.md | 追加した内容の概要 | [[ファイル名]] |
---
## 振り返り
### この期間で特に理解が深まったこと
- 箇条書きで具体的に
### まだ理解が浅いと感じること
- 箇条書きで具体的に
### 次回深掘りしたいこと
- 箇条書きで具体的に
### 6. ファイル出力
- **出力先**: `任意のパス/obsidian/書類/学習サマリー/`
- **ファイル名**: `YYYYMMDD_週次サマリー.md`(**出力日(今日)の日付**を使用)
---
## 出力の品質基準
### 必須要素
1. **Obsidianリンク**: 各トピックの見出しに `[[ファイル名]]` 形式でリンクを付ける
- 見出しをクリックすると元のノートに飛べるようにする
- 更新したファイルセクションにもリンクを付ける
2. **具体的なコード例・設定例**:
- 実際に学んだコマンド、設定、コードをコードブロックで記載
- 言語指定(```yaml, ```php, ```bash など)を付ける
3. **比較表**:
- 類似概念の違いがある場合は表形式で整理
- 例: Java vs PHP、従来方式 vs 新方式
4. **復習ポイント**:
- 「なぜそうなるのか」の理由を含める
- 間違えやすいポイントを明記
### 避けるべきこと
- 単なるファイル名の羅列
- 抽象的な説明のみ(「〇〇について学んだ」だけで終わらない)
- リンクのないセクション
---
## 注意事項
- コミット内容からファイルの中身を読み取り、学習内容を具体的にまとめる
- 技術系フォルダの変更のみ含める
- 前回出力以降に変更がなかった場合は「この期間は更新なし」としてファイルを作成する
- サマリー自体を見ながら復習できる詳細さを目指す
ポイント解説
-
Obsidianリンクの活用
[[ファイル名]]形式でリンクを貼ることで、サマリーから元のノートへすぐにジャンプできます。復習時の導線が整います。 -
サマリー自体を見ながら復習できる詳細さ
コード例や比較表を含めることで、サマリーファイルだけで復習できる詳細さを目指します。元のノートに戻らなくても、サマリーを読むだけで要点を思い出せるようにすることが重要です。
実際に生成されたサマリーの例
以下は、実際に生成された週次サマリーの一部です:
### CloudWatch アラームのメトリクス設定 [[20260123_CloudWatchアラームのメトリクス設定]]
#### Stat(統計)の選択
| Stat | 意味 | 用途 |
|------|------|------|
| `Sum` | 期間内の合計値 | 呼び出し回数やエラー回数をカウントしたい場合 |
| `Average` | 1回あたりの平均値 | Invocationsでは常に1になるため不適切 |
**エラーレート計算には `Sum` を使用する**
#### 条件式の例
IF(invocations>=50,(errors/invocations)*100,-1)
- `invocations>=50`: 呼び出し回数が50回以上かどうか判定
- 条件を満たす場合、エラーレート(%)を計算
- 満たさない場合は-1を返す(アラーム対象外)
このように、コード例や比較表を含めた実用的なサマリーが自動生成されます。
運用のコツ
-
セッション終了時の習慣化
私はプロンプトをカスタムスキルとして登録しています。セッション終了時にスキルを実行するだけで、学んだ知識を自動的にドキュメント化できます。習慣化すれば手間はほとんどありません。 -
週次サマリーのタイミング
金曜日の午後に実行しています。1週間の区切りとして見直すことができますし、気になった点や理解の浅い点は週末に復習できます。
まとめ
ClaudeCodeを活用した週次学習ログの自動生成により、電子ノートの振り返り習慣を確立できました。
ポイントは以下の2つです:
- 汎用的な技術知識に絞ることで長期的に価値のあるナレッジベースを構築
- Git履歴と連携することで自動抽出を実現
プロンプトは自分の環境に合わせてカスタマイズできます。ファイルパスや出力形式を調整して、ぜひ試してみてください。