mcpField
C
compound-learnings

compound-learnings

github.com/parcadeiエージェントワークフロー3.9k507 回インストール39 週間前に更新
リポジトリ

compound-learnings について

Compound Learningsは、最近のClaude Codeセッションの記録を、ルール、スキル、フック、エージェント更新に変えるワークフロースキルです。パターンを統合し、出現回数の基準と承認手順に沿って作成内容を決めます。

主な機能

  1. 01最近の学習記録の収集
  2. 02繰り返しパターンの統合
  3. 03メタパターンの検出
  4. 04成果物の種類の選定
  5. 05出現回数基準の適用
  6. 06承認済み成果物の作成

活用シーン

  1. 01繰り返すデバッグからルールを抽出
  2. 02定型手順をスキルに変換
  3. 03セッション作業の自動化フックを提案

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill compound-learnings

インストール後、Claude Code で/compound-learningsを入力して読み込まれたか確認します。

詳細

蓄積される学び

一時的なセッションでの学びを、永続的に積み重なる能力へと変換します。

使用するタイミング

  • 「最近のセッションから何を学ぶべきですか?」
  • 「最近の作業に基づいてセットアップを改善してください」
  • 「学びをスキルやルールに変換してください」
  • 「どのパターンを永続化すべきですか?」
  • 「学びを積み重ねてください」

プロセス

Step 1: 学びを収集する
# List learnings (most recent first)
ls -t $CLAUDE_PROJECT_DIR/.claude/cache/learnings/*.md | head -20

# Count total
ls $CLAUDE_PROJECT_DIR/.claude/cache/learnings/*.md | wc -l

最新のファイルを5~10件読み込むか、日付範囲を指定します。

Step 2: パターンを抽出する(構造化)

各学びのファイルから、次の特定のセクションにある項目を抽出します。

セクション見出し抽出する内容
## Patterns または Reusable techniquesルールの直接的な候補
**Takeaway:** または **Actionable takeaway:**意思決定のヒューリスティック
## What Worked成功パターン
## What Failedアンチパターン(反転してルールにする)
## Key Decisions設計原則

作業を進めながら、頻度表を作成します。

| Pattern | Sessions | Category |
|---------|----------|----------|
| "Check artifacts before editing" | abc, def, ghi | debugging |
| "Pass IDs explicitly" | abc, def, ghi, jkl | reliability |
Step 2b: 類似するパターンを統合する

数える前に、同じ原則を表すパターンを統合します。

統合の例:

  • 「成果物を優先したデバッグ」
  • 「ファイルを調べてフックの出力を検証する」
  • 「ファイルシステムを優先したデバッグ」 → いずれも 「コードを編集する前に出力を確認する」 を表しています。

最も一般的な表現を使います。頻度表を更新します。

Step 3: メタパターンを検出する

重要なステップ: 学びが何を中心に集まっているかを確認します。

パターンの50%超が1つのトピック(例:「フック」「トレース」「非同期処理」)に関連している場合: → そのトピックには、複数のルールではなく専用スキルが必要かもしれません → 5つのルールより、1つのスキルのほうが効果的に積み重なります

自問します。「これらすべてのルールを不要にするスキルはありますか?」

Step 4: 分類する(判断ツリー)

各パターンについて、成果物の種類を判断します。

Is it a sequence of commands/steps?
  → YES → SKILL (executable > declarative)
  → NO ↓

Should it run automatically on an event (SessionEnd, PostToolUse, etc.)?
  → YES → HOOK (automatic > manual)
  → NO ↓

Is it "when X, do Y" or "never do X"?
  → YES → RULE
  → NO ↓

Does it enhance an existing agent workflow?
  → YES → AGENT UPDATE
  → NO → Skip (not worth capturing)

成果物の種類の例:

パターン種類理由
「コミット前にリンティングを実行する」フック(PreToolUse)自動ゲート
「セッション終了時に学びを抽出する」フック(SessionEnd)自動トリガー
「フックを段階的にデバッグする」スキル手動の手順
「IDは必ず明示的に渡す」ルールヒューリスティック
Step 5: シグナルのしきい値を適用する
発生回数対応
1記録するが、スキップする(重大な失敗を除く)
2検討し、ユーザーに提示する
3+強いシグナル ― 作成を推奨する
4+必ず作成する
Step 6: 成果物を提案する

各提案を次の形式で提示します。

---

## Pattern: [Generalized Name]

**Signal:** [N] sessions ([list session IDs])

**Category:** [debugging / reliability / workflow / etc.]

**Artifact Type:** Rule / Skill / Agent Update

**Rationale:** [Why this artifact type, why worth creating]

**Draft Content:**
\`\`\`markdown
[Actual content that would be written to file]
\`\`\`

**File:** `.claude/rules/[name].md` or `.claude/skills/[name]/SKILL.md`

---

各成果物について(または一括で)承認を得るために、AskUserQuestion を使います。

Step 7: 承認された成果物を作成する
ルールの場合:
# Write to rules directory
cat > $CLAUDE_PROJECT_DIR/.claude/rules/<name>.md << 'EOF'
# Rule Name

[Context: why this rule exists, based on N sessions]

## Pattern
[The reusable principle]

## DO
- [Concrete action]

## DON'T
- [Anti-pattern]

## Source Sessions
- [session-id-1]: [what happened]
- [session-id-2]: [what happened]
EOF
スキルの場合:

.claude/skills/<name>/SKILL.md を作成し、次の内容を含めます。

  • フロントマター(name、description、allowed-tools)
  • 使用するタイミング
  • 段階的な手順(実行可能なもの)
  • 学びからの例

適切であれば、skill-rules.json にトリガーを追加します。

フックの場合:

シェルラッパーとTypeScriptハンドラーを作成します。

# Shell wrapper
cat > $CLAUDE_PROJECT_DIR/.claude/hooks/<name>.sh << 'EOF'
#!/bin/bash
set -e
cd "$CLAUDE_PROJECT_DIR/.claude/hooks"
cat | node dist/<name>.mjs
EOF
chmod +x $CLAUDE_PROJECT_DIR/.claude/hooks/<name>.sh

次に src/<name>.ts を作成し、esbuildでビルドして、settings.json に登録します。

{
  "hooks": {
    "EventName": [{
      "hooks": [{
        "type": "command",
        "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/<name>.sh"
      }]
    }]
  }
}
エージェントの更新の場合:

.claude/agents/<name>.md の既存のエージェントを編集し、学んだ能力を追加します。

Step 8: サマリーレポート
## Compounding Complete

**Learnings Analyzed:** [N] sessions
**Patterns Found:** [M]
**Artifacts Created:** [K]

### Created:
- Rule: `explicit-identity.md` - Pass IDs explicitly across boundaries
- Skill: `debug-hooks` - Hook debugging workflow

### Skipped (insufficient signal):
- "Pattern X" (1 occurrence)

**Your setup is now permanently improved.**

品質チェック

成果物を作成する前に、次の点を確認します。

  1. 十分に汎用的ですか? ほかのプロジェクトにも当てはまりますか?
  2. 十分に具体的ですか? 具体的な指針を示していますか?
  3. すでに存在していますか? まず .claude/rules/ と .claude/skills/ を確認してください
  4. 適切な種類ですか? 手順の流れ → スキル、ヒューリスティック → ルール

ファイル一覧

  • 学び:.claude/cache/learnings/*.md
  • スキル:.claude/skills/<name>/SKILL.md
  • ルール:.claude/rules/<name>.md
  • フック:.claude/hooks/<name>.sh + src/<name>.ts + dist/<name>.mjs
  • エージェント:.claude/agents/<name>.md
  • スキルのトリガー:.claude/skills/skill-rules.json
  • フックの登録:.claude/settings.json → hooks セクション

コメント