learn について
learn は、見つけた知見を再利用可能なスキルとして記録するワークフローです。セッションをまたいで解決策を残したいエージェント向けに、記録の要否、既存スキルとの重複、作成と確認の手順を示します。
主な機能
- 01知見の再利用価値を評価
- 02関連する既存スキルを検索
- 03.claude/skills/ にスキルを作成
- 04具体性・検証・機密情報を確認
活用シーン
- 01調査で判明したデバッグ修正の記録
- 02未文書化の連携回避策の整理
- 03繰り返し使う複数手順の保存
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pedrohcgs/ claude-code-my-workflow --skill learnインストール後、Claude Code で/learnを入力して読み込まれたか確認します。
詳細
/learn — スキル抽出ワークフロー
セッションをまたいで活用できるように、見過ごされやすい発見を再利用可能なスキルとして抽出します。
このスキルを使うタイミング
次のような状況に遭遇した場合は、/learn を実行します。
- 見過ごされやすいデバッグ — ドキュメントには載っておらず、調査にかなりの労力を要した問題
- 誤解を招くエラー — エラーメッセージが間違っており、真の原因を突き止めた場合
- 回避策 — 制限を創意工夫で解決した場合
- ツール連携 — ドキュメントに記載されていない API の使い方や設定
- 試行錯誤 — 成功するまでに複数回の試行が必要だった場合
- 繰り返し可能なワークフロー — また実行するであろう複数ステップのタスク
- ユーザー向けの自動化 — ユーザーから依頼されるレポート、チェック、プロセス
ワークフローのフェーズ
フェーズ 1:評価(自己評価)
スキルを作成する前に、次の質問に答えます。
- 「始める前には明らかでなかったこととして、何を学んだか?」
- 「将来の自分にとって、これを文書化しておく価値はあるか?」
- 「ドキュメントだけでは解決策が明らかでなかったか?」
- 「また実行するであろう複数ステップのワークフローか?」
少なくとも 1 つの質問に「はい」と答えた場合にのみ続行します。
フェーズ 2:既存のスキルを確認する
重複を避けるため、関連するスキルを検索します。
# Check project skills
ls .claude/skills/ 2>/dev/null
# Search for keywords
grep -r -i "KEYWORD" .claude/skills/ 2>/dev/null
検索結果ごとの対応:
- 関連するものがない → 新しいスキルを作成します(フェーズ 3 に進みます)
- 同じトリガーと解決策がある → 既存のスキルを更新します(バージョンを上げます)
- 一部重複している → 新しいバリエーションを追加して更新します
フェーズ 3:スキルを作成する
.claude/skills/[skill-name]/SKILL.md にスキルファイルを作成します。
---
name: descriptive-kebab-case-name
description: |
[What the skill does, then the situations it applies to — the key use first.
Include an exact error string only when that string is the trigger.]
- What the skill does
- Trigger conditions (symptoms; an exact error message when that is the trigger)
- When to use it (contexts, scenarios)
metadata:
author: [you]
version: "1.0"
argument-hint: "[expected arguments]" # Optional
---
# Skill Name
## Problem
[Clear problem description — what situation triggers this skill]
## Context / Trigger Conditions
[When to use — exact error messages, symptoms, scenarios]
[Be specific enough that you'd recognize it again]
## Solution
[Step-by-step solution]
[Include commands, code snippets, or workflows]
## Verification
[How to verify it worked]
[Expected output or state]
## Example
[Concrete example of the skill in action]
## References
[Documentation links, related files, or prior discussions]
フェーズ 4:品質ゲート
完了する前に、次の項目を確認します。
- 説明に具体的なトリガー条件が記載されている(曖昧ではない)
- 解決策が動作することを確認済みである(テスト済み)
- 内容が実行に移せるほど具体的である
- 内容が再利用できるほど汎用的である
- 機密情報(認証情報、個人データ)が含まれていない
- スキル名が内容をよく表し、ケバブケースを使用している
出力
スキルの作成後、次の内容を報告します。
✓ Skill created: .claude/skills/[name]/SKILL.md
Trigger: [when to use]
Problem: [what it solves]
例:スキルの作成
特定の R パッケージが観測値を黙って除外することをユーザーが発見した場合:
---
name: fixest-missing-covariate-handling
description: |
Handle silent observation dropping in fixest when covariates have missing values.
Use when: estimates seem wrong, sample size unexpectedly small, or comparing
results between packages.
metadata:
author: [you]
version: "1.0"
---
# fixest Missing Covariate Handling
## Problem
The fixest package silently drops observations when covariates have NA values,
which can produce unexpected results when comparing to other packages.
## Context / Trigger Conditions
- Sample size in fixest is smaller than expected
- Results differ from Stata or other R packages
- Model has covariates with potential missing values
## Solution
1. Check for NA patterns before regression:
```r
summary(complete.cases(data[, covariates]))
- NA 値を明示的に処理するか、
na.actionパラメーターを使用します - コメントに想定されるサンプルサイズを記載します
検証
nobs(model) と nrow(data) を比較します。差がある場合は、観測値が除外されています。
参考資料
- 欠損値に関する fixest のドキュメント
- MEMORY.md の [LEARN:r-code] エントリー
コメント
Markdown 対応