※個人的意見を含んでいますのでご了承ください
最近、 Claude Code を開発+学習用途で使っています。
言わずもがな超便利ですが、学習者の目線では使っていて以下の課題が。
- 毎回前回の作業内容をClaudeに説明し直すのが面倒
- 学んだ内容をログに書いたりメモしないと忘れる
- Git運用を自動化、定型化して開発を効率化したい
- AIが作ったコードをどうやって読んでいけば良いかが分からない
Claude Codeはその場の問題解決は得意ですが、学習の仕組み は自分で作る必要があると思い、AIを用いた学習をサポートするSkillsを作成しました。詳細な内容は自分の環境に合わせて壁打ちして作る必要がありますが、初学者目線で使いやすいな~と思ったものをいくつか紹介します。
ただし、Skillsを作って学習がやりやすくなったのは事実ですが、ロールの設定をしたり、プロジェクトごとにルールをきちんと設定することも同じかそれ以上に大事なので、「これを作れば学習効率が絶対上がる」という万能なものでもありません。あくまで作業の補助的として使う方が良いと思っています。
作成したSkills一覧
| コマンド | 用途 | 使用タイミング |
|---|---|---|
/save-context |
会話内容をObsidianなどのメモアプリに保存 | 作業終了時 |
/resume |
前回作業を再開 | 学習再開時 |
/smart-commit |
コミット整理 | 実装後 |
/pr-description |
PR説明文生成 | PR提出前 |
/code-reading [path] |
コード読解支援 | 新しいコードを読む時 |
/qa-note |
Q&A保存 | 疑問解消後 |
/learning-note |
学習内容保存 | 新しい概念を学んだ時 |
1. /save-context
作業終了時に実行します。
/save-context
以下を保存します。
- 今日やったこと
- 決定事項
- 次回やること
【具体的なプロセス】
1. 現在日時・ディレクトリを取得
2. 会話を振り返ってまとめる(やったこと・決定事項・次のステップ・触ったファイル)
3. Markdownファイルとしてメモアプリに保存
フォーマットはこんな感じ
↓↓↓
## セッション概要
- **プロジェクト**: {{プロジェクト名}}
- **作業日**: {{日時}}
- **ディレクトリ**: {{作業ディレクトリ}}
### やったこと
{{箇条書き}}
### 決定事項
{{設計・方針・ルール}}
### 次のステップ
{{次回最初にやること(1番目から順番に)}}
### 重要なファイル
{{ファイルパス一覧}}
【保存先】
2. /resume
作業開始時に実行します。
/resume
以下を読み込みます。
- 前回やったこと
- 前回の決定事項
- 今日やること(次のステップ)
【具体的なプロセス】
1. 最新の保存ファイルを Claude-sessions/ から取得
2. 内容を読み込んで会話に展開
3. 「続きから」「途中から」と言ってもOK
3. /smart-commit
コミット時に実行します。
/smart-commit
以下を行います。
- 変更内容を論理的な単位に分割
- 適切なコミットメッセージを自動生成
- 順番にコミットを作成
【具体的なプロセス】
1. git diff で変更内容を確認
2. 変更を論理単位(機能・修正・テストなど)に分類
3. 各単位ごとにコミットメッセージを生成して順番にコミット
4. /pr-description
PR作成時に実行します。
/pr-description
以下を行います。
- 現在のブランチの変更内容を分析
- PR の説明文を自動生成
【具体的なプロセス】
1. git log と git diff でブランチの変更内容を確認
2. 変更の目的・内容・影響範囲をまとめる
3. PR説明文をMarkdown形式で出力
【使いどころ】
- main へのマージ前
- レビュー依頼をする前
- 作業内容を言語化したいとき
フォーマットはこんな感じ
↓↓↓
## 概要
{{この PR で何をしたか(1〜2文)}}
## 変更内容
- {{変更点1}}
- {{変更点2}}
## 動作確認
- [ ] {{確認項目1}}
- [ ] {{確認項目2}}
## 関連ファイル
{{変更したファイル一覧}}
5. /code-reading [path]
新しいコードを読むときに実行します。
/code-reading (パス)
以下を行います。
- 指定したコードベースを読み解くための道筋を示す
- 全体像から詳細へ段階的に把握
- 構造・役割・流れをまとめて説明
【具体的なプロセス】
1. ディレクトリ構成を確認(全体像を把握)
2. 設定ファイル・エントリーポイントを読む
3. 主要なファイルを順番に読み解く
4. 構造と流れを整理して報告
【使いどころ】
- 初めて触るプロジェクトを理解したいとき
- 他人のコードをレビューするとき
- しばらく触っていなかったコードに戻るとき
フォーマットはこんな感じ
↓↓↓
## コードベース概要
- **場所**: {{パス}}
- **技術スタック**: {{使用技術}}
### ディレクトリ構成
{{主要フォルダの役割}}
### 処理の流れ
{{エントリーポイントからの流れ}}
### 重要なファイル
{{ファイルパスと役割の一覧}}
### 気になる点・注意点
{{読んでわかった特徴や注意事項}}
6. /qa-note
Claudeに質問を投げて、それが解決したときに実行します。
/qa-note
以下を行います。
- 会話中に出てきた疑問と答えを抽出
- Q&A形式でメモアプリに保存
- 後から検索・復習できる形に整理
【具体的なプロセス】
1. 会話を振り返り「疑問→答え」のペアを抽出
2. わかりやすいQ&A形式にまとめる
3. Markdownファイルとしてメモアプリに保存
【使いどころ】
- 概念や仕組みを質問して理解したとき
- エラーの原因がわかったとき
- 「なぜこうなるの?」が解決したとき
フォーマットはこんな感じ
↓↓↓
## Q&A メモ
- **作成日**: {{日時}}
- **テーマ**: {{今回の会話のテーマ}}
---
### Q1. {{疑問}}
**A.** {{答え}}
---
### Q2. {{疑問}}
**A.** {{答え}}
---
### まとめ
{{今回の学びを一言で}}
7. /learning-note
学びを記録したいときに実行します。
/qa-noteと似てますが、より詳細な学習内容を記録したいときに使っています
/learning-note
以下を行います。
- 今回の会話で学んだことを抽出
- 長期記憶に定着しやすい形で整理
- メモアプリに保存
【具体的なプロセス】
1. 会話を振り返り「学んだこと・気づき」を抽出
2. 理解の流れ・ポイント・応用場面をまとめる
3. Markdownファイルとしてメモアプリに保存
【使いどころ】
- 新しい概念・技術を学んだとき
- 「なるほど!」と腑に落ちた瞬間
- 同じミスを繰り返さないようにしたいとき
フォーマットはこんな感じ
↓↓↓
## 学習メモ
- **作成日**: {{日時}}
- **テーマ**: {{今回学んだテーマ}}
---
### 学んだこと
{{箇条書きで要点を整理}}
### なぜ重要か
{{この知識がどう役立つか}}
### 具体例
{{コードや実例}}
### 間違えやすいポイント
{{注意点・ハマりやすい落とし穴}}
### 次に調べること
{{さらに深掘りしたいこと}}
まとめ
記録を残す系のSkills が多かったと思いますが、その理由は後でAIに理解度チェックの問題を出させるためです。
メモを取っても後で見返さなければ意味がないので、ここはなぜこういう実装をしたんだろう? とかこのコードって何を表してるんだろう? という疑問が出たら、立ち止まってAIに問題を出してもらって理解する必要があるのかなと思います。
AIを使って学ぶ上で大切なことはこのコードや機能は何のためにあるのか? を言語化できるレベルまで理解することだと私は思います。その理解の土台が基になって、より良い指示や具体的なプロンプトが書けるようになっていく。その理解を効率的に行う補助として、これらのSkillsが少しでも役に立てればいいなと思います。