Revert "feat(ecc): prune plugin 43→12 items, promote 7 rules to .claude/rules/ (#245)"

This reverts commit 1bd68ff534.
This commit is contained in:
Affaan Mustafa
2026-02-20 01:11:30 -08:00
parent 1bd68ff534
commit 0e9f613fd1
536 changed files with 111479 additions and 253 deletions

View File

@@ -0,0 +1,284 @@
---
name: continuous-learning-v2
description: フックを介してセッションを観察し、信頼度スコアリング付きのアトミックなインスティンクトを作成し、スキル/コマンド/エージェントに進化させるインスティンクトベースの学習システム。
version: 2.0.0
---
# Continuous Learning v2 - インスティンクトベースアーキテクチャ
Claude Codeセッションを信頼度スコアリング付きの小さな学習済み行動である「インスティンクト」を通じて再利用可能な知識に変える高度な学習システム。
## v2の新機能
| 機能 | v1 | v2 |
|---------|----|----|
| 観察 | Stopフックセッション終了 | PreToolUse/PostToolUse100%信頼性) |
| 分析 | メインコンテキスト | バックグラウンドエージェントHaiku |
| 粒度 | 完全なスキル | アトミック「インスティンクト」 |
| 信頼度 | なし | 0.3-0.9重み付け |
| 進化 | 直接スキルへ | インスティンクト → クラスター → スキル/コマンド/エージェント |
| 共有 | なし | インスティンクトのエクスポート/インポート |
## インスティンクトモデル
インスティンクトは小さな学習済み行動です:
```yaml
---
id: prefer-functional-style
trigger: "when writing new functions"
confidence: 0.7
domain: "code-style"
source: "session-observation"
---
# 関数型スタイルを優先
## Action
適切な場合はクラスよりも関数型パターンを使用します。
## Evidence
- 関数型パターンの優先が5回観察されました
- ユーザーが2025-01-15にクラスベースのアプローチを関数型に修正しました
```
**プロパティ:**
- **アトミック** — 1つのトリガー、1つのアクション
- **信頼度重み付け** — 0.3 = 暫定的、0.9 = ほぼ確実
- **ドメインタグ付き** — code-style、testing、git、debugging、workflowなど
- **証拠に基づく** — それを作成した観察を追跡
## 仕組み
```
Session Activity
│ フックがプロンプト + ツール使用をキャプチャ100%信頼性)
┌─────────────────────────────────────────┐
│ observations.jsonl │
│ (prompts, tool calls, outcomes) │
└─────────────────────────────────────────┘
│ Observerエージェントが読み取りバックグラウンド、Haiku
┌─────────────────────────────────────────┐
│ パターン検出 │
│ • ユーザー修正 → インスティンクト │
│ • エラー解決 → インスティンクト │
│ • 繰り返しワークフロー → インスティンクト │
└─────────────────────────────────────────┘
│ 作成/更新
┌─────────────────────────────────────────┐
│ instincts/personal/ │
│ • prefer-functional.md (0.7) │
│ • always-test-first.md (0.9) │
│ • use-zod-validation.md (0.6) │
└─────────────────────────────────────────┘
│ /evolveクラスター
┌─────────────────────────────────────────┐
│ evolved/ │
│ • commands/new-feature.md │
│ • skills/testing-workflow.md │
│ • agents/refactor-specialist.md │
└─────────────────────────────────────────┘
```
## クイックスタート
### 1. 観察フックを有効化
`~/.claude/settings.json`に追加します。
**プラグインとしてインストールした場合**(推奨):
```json
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh pre"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh post"
}]
}]
}
}
```
**`~/.claude/skills`に手動でインストールした場合**
```json
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh pre"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh post"
}]
}]
}
}
```
### 2. ディレクトリ構造を初期化
Python CLIが自動的に作成しますが、手動で作成することもできます
```bash
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands}}
touch ~/.claude/homunculus/observations.jsonl
```
### 3. インスティンクトコマンドを使用
```bash
/instinct-status # 信頼度スコア付きの学習済みインスティンクトを表示
/evolve # 関連するインスティンクトをスキル/コマンドにクラスター化
/instinct-export # 共有のためにインスティンクトをエクスポート
/instinct-import # 他の人からインスティンクトをインポート
```
## コマンド
| コマンド | 説明 |
|---------|-------------|
| `/instinct-status` | すべての学習済みインスティンクトを信頼度と共に表示 |
| `/evolve` | 関連するインスティンクトをスキル/コマンドにクラスター化 |
| `/instinct-export` | 共有のためにインスティンクトをエクスポート |
| `/instinct-import <file>` | 他の人からインスティンクトをインポート |
## 設定
`config.json`を編集:
```json
{
"version": "2.0",
"observation": {
"enabled": true,
"store_path": "~/.claude/homunculus/observations.jsonl",
"max_file_size_mb": 10,
"archive_after_days": 7
},
"instincts": {
"personal_path": "~/.claude/homunculus/instincts/personal/",
"inherited_path": "~/.claude/homunculus/instincts/inherited/",
"min_confidence": 0.3,
"auto_approve_threshold": 0.7,
"confidence_decay_rate": 0.05
},
"observer": {
"enabled": true,
"model": "haiku",
"run_interval_minutes": 5,
"patterns_to_detect": [
"user_corrections",
"error_resolutions",
"repeated_workflows",
"tool_preferences"
]
},
"evolution": {
"cluster_threshold": 3,
"evolved_path": "~/.claude/homunculus/evolved/"
}
}
```
## ファイル構造
```
~/.claude/homunculus/
├── identity.json # プロフィール、技術レベル
├── observations.jsonl # 現在のセッション観察
├── observations.archive/ # 処理済み観察
├── instincts/
│ ├── personal/ # 自動学習されたインスティンクト
│ └── inherited/ # 他の人からインポート
└── evolved/
├── agents/ # 生成された専門エージェント
├── skills/ # 生成されたスキル
└── commands/ # 生成されたコマンド
```
## Skill Creatorとの統合
[Skill Creator GitHub App](https://skill-creator.app)を使用すると、**両方**が生成されます:
- 従来のSKILL.mdファイル後方互換性のため
- インスティンクトコレクションv2学習システム用
リポジトリ分析からのインスティンクトには`source: "repo-analysis"`があり、ソースリポジトリURLが含まれます。
## 信頼度スコアリング
信頼度は時間とともに進化します:
| スコア | 意味 | 動作 |
|-------|---------|----------|
| 0.3 | 暫定的 | 提案されるが強制されない |
| 0.5 | 中程度 | 関連する場合に適用 |
| 0.7 | 強い | 適用が自動承認される |
| 0.9 | ほぼ確実 | コア動作 |
**信頼度が上がる**場合:
- パターンが繰り返し観察される
- ユーザーが提案された動作を修正しない
- 他のソースからの類似インスティンクトが一致する
**信頼度が下がる**場合:
- ユーザーが明示的に動作を修正する
- パターンが長期間観察されない
- 矛盾する証拠が現れる
## 観察にスキルではなくフックを使用する理由は?
> 「v1はスキルに依存して観察していました。スキルは確率的で、Claudeの判断に基づいて約50-80%の確率で発火します。」
フックは**100%の確率で**決定論的に発火します。これは次のことを意味します:
- すべてのツール呼び出しが観察される
- パターンが見逃されない
- 学習が包括的
## 後方互換性
v2はv1と完全に互換性があります
- 既存の`~/.claude/skills/learned/`スキルは引き続き機能
- Stopフックは引き続き実行されるただしv2にもフィードされる
- 段階的な移行パス:両方を並行して実行
## プライバシー
- 観察はマシン上で**ローカル**に保持されます
- **インスティンクト**(パターン)のみをエクスポート可能
- 実際のコードや会話内容は共有されません
- エクスポートする内容を制御できます
## 関連
- [Skill Creator](https://skill-creator.app) - リポジトリ履歴からインスティンクトを生成
- [Homunculus](https://github.com/humanplane/homunculus) - v2アーキテクチャのインスピレーション
- [The Longform Guide](https://x.com/affaanmustafa/status/2014040193557471352) - 継続的学習セクション
---
*インスティンクトベースの学習一度に1つの観察で、Claudeにあなたのパターンを教える。*

View File

@@ -0,0 +1,137 @@
---
name: observer
description: セッションの観察を分析してパターンを検出し、本能を作成するバックグラウンドエージェント。コスト効率のためにHaikuを使用します。
model: haiku
run_mode: background
---
# Observerエージェント
Claude Codeセッションからの観察を分析してパターンを検出し、本能を作成するバックグラウンドエージェント。
## 実行タイミング
- セッションで重要なアクティビティがあった後(20以上のツール呼び出し)
- ユーザーが`/analyze-patterns`を実行したとき
- スケジュールされた間隔(設定可能、デフォルト5分)
- 観察フックによってトリガーされたとき(SIGUSR1)
## 入力
`~/.claude/homunculus/observations.jsonl`から観察を読み取ります:
```jsonl
{"timestamp":"2025-01-22T10:30:00Z","event":"tool_start","session":"abc123","tool":"Edit","input":"..."}
{"timestamp":"2025-01-22T10:30:01Z","event":"tool_complete","session":"abc123","tool":"Edit","output":"..."}
{"timestamp":"2025-01-22T10:30:05Z","event":"tool_start","session":"abc123","tool":"Bash","input":"npm test"}
{"timestamp":"2025-01-22T10:30:10Z","event":"tool_complete","session":"abc123","tool":"Bash","output":"All tests pass"}
```
## パターン検出
観察から以下のパターンを探します:
### 1. ユーザー修正
ユーザーのフォローアップメッセージがClaudeの前のアクションを修正する場合:
- "いいえ、YではなくXを使ってください"
- "実は、意図したのは..."
- 即座の元に戻す/やり直しパターン
→ 本能を作成: "Xを行う際は、Yを優先する"
### 2. エラー解決
エラーの後に修正が続く場合:
- ツール出力にエラーが含まれる
- 次のいくつかのツール呼び出しで修正
- 同じエラータイプが複数回同様に解決される
→ 本能を作成: "エラーXに遭遇した場合、Yを試す"
### 3. 反復ワークフロー
同じツールシーケンスが複数回使用される場合:
- 類似した入力を持つ同じツールシーケンス
- 一緒に変更されるファイルパターン
- 時間的にクラスタ化された操作
→ ワークフロー本能を作成: "Xを行う際は、手順Y、Z、Wに従う"
### 4. ツールの好み
特定のツールが一貫して好まれる場合:
- 常にEditの前にGrepを使用
- Bash catよりもReadを好む
- 特定のタスクに特定のBashコマンドを使用
→ 本能を作成: "Xが必要な場合、ツールYを使用する"
## 出力
`~/.claude/homunculus/instincts/personal/`に本能を作成/更新:
```yaml
---
id: prefer-grep-before-edit
trigger: "コードを変更するために検索する場合"
confidence: 0.65
domain: "workflow"
source: "session-observation"
---
# Editの前にGrepを優先
## アクション
Editを使用する前に、常にGrepを使用して正確な場所を見つけます。
## 証拠
- セッションabc123で8回観察
- パターン: Grep → Read → Editシーケンス
- 最終観察: 2025-01-22
```
## 信頼度計算
観察頻度に基づく初期信頼度:
- 1-2回の観察: 0.3(暫定的)
- 3-5回の観察: 0.5(中程度)
- 6-10回の観察: 0.7(強い)
- 11回以上の観察: 0.85(非常に強い)
信頼度は時間とともに調整:
- 確認する観察ごとに+0.05
- 矛盾する観察ごとに-0.1
- 観察なしで週ごとに-0.02(減衰)
## 重要なガイドライン
1. **保守的に**: 明確なパターンのみ本能を作成(3回以上の観察)
2. **具体的に**: 広範なトリガーよりも狭いトリガーが良い
3. **証拠を追跡**: 本能につながった観察を常に含める
4. **プライバシーを尊重**: 実際のコードスニペットは含めず、パターンのみ
5. **類似を統合**: 新しい本能が既存のものと類似している場合、重複ではなく更新
## 分析セッション例
観察が与えられた場合:
```jsonl
{"event":"tool_start","tool":"Grep","input":"pattern: useState"}
{"event":"tool_complete","tool":"Grep","output":"Found in 3 files"}
{"event":"tool_start","tool":"Read","input":"src/hooks/useAuth.ts"}
{"event":"tool_complete","tool":"Read","output":"[file content]"}
{"event":"tool_start","tool":"Edit","input":"src/hooks/useAuth.ts..."}
```
分析:
- 検出されたワークフロー: Grep → Read → Edit
- 頻度: このセッションで5回確認
- 本能を作成:
- trigger: "コードを変更する場合"
- action: "Grepで検索し、Readで確認し、次にEdit"
- confidence: 0.6
- domain: "workflow"
## Skill Creatorとの統合
Skill Creator(リポジトリ分析)から本能がインポートされる場合、以下を持ちます:
- `source: "repo-analysis"`
- `source_repo: "https://github.com/..."`
これらは、より高い初期信頼度(0.7以上)を持つチーム/プロジェクトの規約として扱うべきです。