@knowledgine/cli 0.4.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/ingest.d.ts +10 -0
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +118 -19
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +140 -33
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/search.d.ts +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +60 -9
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +39 -4
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/setup-skills.d.ts +3 -1
- package/dist/commands/setup-skills.d.ts.map +1 -1
- package/dist/commands/setup-skills.js +24 -7
- package/dist/commands/setup-skills.js.map +1 -1
- package/dist/commands/setup.d.ts +2 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +23 -3
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +100 -66
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +15 -15
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +22 -15
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/index.js +35 -2
- package/dist/index.js.map +1 -1
- package/dist/templates/skills/index.d.ts +8 -5
- package/dist/templates/skills/index.d.ts.map +1 -1
- package/dist/templates/skills/index.js +56 -41
- package/dist/templates/skills/index.js.map +1 -1
- package/dist/templates/skills/knowledgine-capture/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-capture/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-capture/references.ja.js +414 -0
- package/dist/templates/skills/knowledgine-capture/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-capture/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.js +98 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.js +4 -2
- package/dist/templates/skills/knowledgine-capture/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-debrief/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/references.ja.js +141 -0
- package/dist/templates/skills/knowledgine-debrief/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js +82 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.js +10 -2
- package/dist/templates/skills/knowledgine-debrief/skill-md.js.map +1 -1
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-explore/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explore/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explore/references.ja.js +182 -0
- package/dist/templates/skills/knowledgine-explore/references.ja.js.map +1 -0
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js +15 -15
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.js.map +1 -1
- package/dist/templates/skills/knowledgine-explore/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.js +98 -0
- package/dist/templates/skills/knowledgine-explore/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/skill-md.js +19 -12
- package/dist/templates/skills/{knowledgine-suggest → knowledgine-explore}/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-feedback/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/references.ja.js +214 -0
- package/dist/templates/skills/knowledgine-feedback/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js +108 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.js +4 -2
- package/dist/templates/skills/knowledgine-feedback/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-ingest/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/references.ja.js +244 -0
- package/dist/templates/skills/knowledgine-ingest/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts +1 -1
- package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js +81 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.js +2 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.js.map +1 -1
- package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts.map +1 -1
- package/dist/templates/skills/knowledgine-memory/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-memory/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-memory/references.ja.js +188 -0
- package/dist/templates/skills/knowledgine-memory/references.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-memory/references.js +188 -0
- package/dist/templates/skills/knowledgine-memory/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.js +169 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-memory/skill-md.js +169 -0
- package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/skill-md.js.map +1 -1
- package/dist/templates/skills/knowledgine-search/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/references.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-search/references.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/references.ja.js +313 -0
- package/dist/templates/skills/knowledgine-search/references.ja.js.map +1 -0
- package/dist/templates/skills/{knowledgine-recall → knowledgine-search}/references.js +124 -19
- package/dist/templates/skills/knowledgine-search/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-search/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts +2 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.js +175 -0
- package/dist/templates/skills/knowledgine-search/skill-md.ja.js.map +1 -0
- package/dist/templates/skills/knowledgine-search/skill-md.js +174 -0
- package/dist/templates/skills/knowledgine-search/skill-md.js.map +1 -0
- package/dist/templates/skills/types.d.ts +4 -0
- package/dist/templates/skills/types.d.ts.map +1 -0
- package/dist/templates/skills/types.js +3 -0
- package/dist/templates/skills/types.js.map +1 -0
- package/package.json +4 -4
- package/dist/lib/entity-extractor.d.ts +0 -17
- package/dist/lib/entity-extractor.d.ts.map +0 -1
- package/dist/lib/entity-extractor.js +0 -23
- package/dist/lib/entity-extractor.js.map +0 -1
- package/dist/templates/skills/knowledgine-explain/skill-md.d.ts +0 -2
- package/dist/templates/skills/knowledgine-explain/skill-md.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-explain/skill-md.js.map +0 -1
- package/dist/templates/skills/knowledgine-recall/references.js.map +0 -1
- package/dist/templates/skills/knowledgine-recall/skill-md.d.ts +0 -2
- package/dist/templates/skills/knowledgine-recall/skill-md.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-recall/skill-md.js +0 -86
- package/dist/templates/skills/knowledgine-suggest/references.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-suggest/references.js +0 -121
- package/dist/templates/skills/knowledgine-suggest/references.js.map +0 -1
- package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts +0 -2
- package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts.map +0 -1
- package/dist/templates/skills/knowledgine-suggest/skill-md.js +0 -94
- /package/dist/templates/skills/{knowledgine-explain → knowledgine-explore}/references.d.ts +0 -0
- /package/dist/templates/skills/{knowledgine-recall → knowledgine-memory}/references.d.ts +0 -0
- /package/dist/templates/skills/{knowledgine-suggest → knowledgine-search}/references.d.ts +0 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-memory
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
lang: ja
|
|
5
|
+
description: >
|
|
6
|
+
タスクの状態、コンテキスト、学習したパターンのセッション横断メモリを管理する。
|
|
7
|
+
永続的な知識ではなく、現在のタスク進捗、セッションコンテキスト、作業中に
|
|
8
|
+
学習した手順的パターンなど、セッションをまたいで情報を保持する必要がある場合に呼び出す。
|
|
9
|
+
永続的・精選された知識を保存する knowledgine-capture とは異なる。
|
|
10
|
+
---
|
|
11
|
+
# knowledgine-memory
|
|
12
|
+
|
|
13
|
+
## 目的
|
|
14
|
+
|
|
15
|
+
メモリレイヤーシステムを使用して、セッションスコープおよびセッション横断の状態を管理する。
|
|
16
|
+
メモリエントリは、作業内容、中断した箇所、繰り返し発生する問題の解決方法を追跡する—
|
|
17
|
+
一時的なコンテキストで永続的なナレッジベースを汚染しない。
|
|
18
|
+
|
|
19
|
+
## 使用するタイミング
|
|
20
|
+
|
|
21
|
+
以下のいずれかに該当する場合はメモリツールを使用する:
|
|
22
|
+
|
|
23
|
+
1. **タスク進捗の追跡** — 複数ステップのタスクの途中で、次のセッションで再開したい
|
|
24
|
+
2. **セッションコンテキストの永続化** — コンテキスト(未解決の疑問、現在の仮説、ブロッキングな問題)を引き継ぎたい
|
|
25
|
+
3. **手順的パターンの学習** — 再利用する価値のある繰り返し可能なワークフローやデバッグ戦略を発見した
|
|
26
|
+
4. **ユーザー設定と作業状態** — 作業中に学習した設定、エイリアス、ワークスペース構成
|
|
27
|
+
5. **有効期限付きの一時的なメモ** — 自動的に期限切れになる短期的なリマインダーや進行中の状態(TTL を使用)
|
|
28
|
+
|
|
29
|
+
## 使用しないタイミング
|
|
30
|
+
|
|
31
|
+
- **永続的な知識** → \`knowledgine-capture\` を使用(バグ修正、設計上の決定、再利用可能なパターン)
|
|
32
|
+
- **プロジェクトドキュメントやソースファイル** → \`knowledgine-ingest\` を使用
|
|
33
|
+
- **セッション終了時のサマリー** → \`knowledgine-debrief\` を使用(内部で store_memory を呼び出す場合あり)
|
|
34
|
+
- チーム全体で共有したい事実や解決策 → \`knowledgine-capture\` を使用
|
|
35
|
+
|
|
36
|
+
## メモリレイヤー
|
|
37
|
+
|
|
38
|
+
情報の期待される有効期間に合ったレイヤーを選択する:
|
|
39
|
+
|
|
40
|
+
| レイヤー | 有効期間 | 答える問い | 推奨 TTL |
|
|
41
|
+
|-------|----------|---------------------|-----------------|
|
|
42
|
+
| \`episodic\` | 数時間〜数日 | 「今、何をしているか?」 | 3600〜86400秒 |
|
|
43
|
+
| \`semantic\` | 数日〜数週間 | 「今週、何を学んだか?」 | 604800秒 または なし |
|
|
44
|
+
| \`procedural\` | 数週間〜永続的 | 「この種の問題をどう解決するか?」 | なし |
|
|
45
|
+
|
|
46
|
+
- **episodic** — 短期的なセッションコンテキスト。TTL を設定して古い状態を自動的に期限切れにする。例: 現在のタスクの説明、進行中のデバッグコンテキスト、セッションの目標。
|
|
47
|
+
- **semantic** — 進行中のプロジェクトフェーズに関連する中期的な事実と決定。例: チームの決定、プロジェクトの制約、コードベースのセクションについて学習した事実。
|
|
48
|
+
- **procedural** — 長期的なパターンと再利用可能なスキル。複数のセッションにわたってパターンが安定したと証明されたら semantic から昇格させる。例: デバッグワークフロー、コードレビューチェックリスト、デプロイ手順。
|
|
49
|
+
|
|
50
|
+
昇格ワークフローとレイヤーごとのタグ戦略は \`layer-guide.md\` を参照。
|
|
51
|
+
|
|
52
|
+
## 使用方法(MCP ツール)
|
|
53
|
+
|
|
54
|
+
### store_memory
|
|
55
|
+
|
|
56
|
+
新しいメモリエントリを保存する。
|
|
57
|
+
|
|
58
|
+
\`\`\`
|
|
59
|
+
store_memory(
|
|
60
|
+
content: string, // メモリコンテンツ(必須、空でない)
|
|
61
|
+
layer?: "episodic" | "semantic" | "procedural", // デフォルト: episodic
|
|
62
|
+
tags?: string[], // リコールフィルタリング用の分類タグ
|
|
63
|
+
metadata?: {
|
|
64
|
+
source?: string, // 起源(ファイル、URL、ツール名)
|
|
65
|
+
project?: string, // プロジェクトスコープ
|
|
66
|
+
sessionId?: string, // セッション識別子
|
|
67
|
+
confidence?: number, // 0〜1 の信頼度スコア
|
|
68
|
+
},
|
|
69
|
+
ttl?: number, // 生存期間(秒)(オプション)
|
|
70
|
+
)
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
### recall_memory
|
|
74
|
+
|
|
75
|
+
クエリ、フィルター、または最新順でメモリエントリを取得する。
|
|
76
|
+
|
|
77
|
+
\`\`\`
|
|
78
|
+
recall_memory(
|
|
79
|
+
query?: string, // 全文検索(最新エントリの場合は省略)
|
|
80
|
+
filter?: {
|
|
81
|
+
layer?: "episodic" | "semantic" | "procedural",
|
|
82
|
+
tags?: string[], // AND フィルター — すべてのタグが一致する必要あり
|
|
83
|
+
createdAfter?: string, // ISO 8601 下限
|
|
84
|
+
createdBefore?: string, // ISO 8601 上限
|
|
85
|
+
memoryIds?: string[], // ID で特定のエントリを取得
|
|
86
|
+
},
|
|
87
|
+
limit?: number, // デフォルト: 10、最大: 100
|
|
88
|
+
includeVersionHistory?: boolean, // デフォルト: false
|
|
89
|
+
asOf?: string, // ISO 8601 時点クエリ
|
|
90
|
+
)
|
|
91
|
+
\`\`\`
|
|
92
|
+
|
|
93
|
+
### update_memory
|
|
94
|
+
|
|
95
|
+
既存エントリのコンテンツ、タグ、メタデータを更新する。デフォルトでバージョンスナップショットを作成する。
|
|
96
|
+
|
|
97
|
+
\`\`\`
|
|
98
|
+
update_memory(
|
|
99
|
+
id: string, // メモリエントリ ID(必須)
|
|
100
|
+
content?: string, // 置換コンテンツ
|
|
101
|
+
summary?: string, // 置換サマリー
|
|
102
|
+
tags?: string[], // 置換タグ(マージではなく完全置換)
|
|
103
|
+
metadata?: { // メタデータの部分マージ
|
|
104
|
+
source?: string,
|
|
105
|
+
project?: string,
|
|
106
|
+
sessionId?: string,
|
|
107
|
+
confidence?: number,
|
|
108
|
+
},
|
|
109
|
+
createVersion?: boolean, // デフォルト: true(不変バージョンが作成される)
|
|
110
|
+
)
|
|
111
|
+
\`\`\`
|
|
112
|
+
|
|
113
|
+
### forget_memory
|
|
114
|
+
|
|
115
|
+
メモリエントリを削除する。デフォルトはソフト削除(復元可能);ハード削除はデータを完全に削除する。
|
|
116
|
+
|
|
117
|
+
\`\`\`
|
|
118
|
+
forget_memory(
|
|
119
|
+
id: string, // メモリエントリ ID(必須)
|
|
120
|
+
reason?: string, // 削除理由(監査ログに書き込まれる)
|
|
121
|
+
hard?: boolean, // デフォルト: false(ソフト削除)
|
|
122
|
+
)
|
|
123
|
+
\`\`\`
|
|
124
|
+
|
|
125
|
+
## 手順
|
|
126
|
+
|
|
127
|
+
### メモリの保存
|
|
128
|
+
|
|
129
|
+
1. **レイヤーを選択する** — 現在のタスク状態は episodic、事実と決定は semantic、繰り返し可能なパターンは procedural
|
|
130
|
+
2. **明確なコンテンツを書く** — 再調査なしに将来のセッションで行動できるよう、十分なコンテキストを含める
|
|
131
|
+
3. **episodic エントリに TTL を設定する** — 期待される関連期間に応じて 3600(1 時間)、86400(1 日)、604800(1 週間)
|
|
132
|
+
4. **タグを追加する** — 効率的なリコールフィルタリングのため 2〜4 個のタグを使用する(例: \`["auth", "in-progress", "session-2024-01"]\`)
|
|
133
|
+
5. **store_memory を呼び出す** — content、layer、tags、オプションで metadata/ttl を渡す
|
|
134
|
+
6. **返された ID を記録する** — このエントリを後で更新または削除する必要がある場合に保存する
|
|
135
|
+
|
|
136
|
+
### セッション開始時にメモリを呼び出す
|
|
137
|
+
|
|
138
|
+
1. 引数なしで \`recall_memory\` を呼び出して最新エントリを取得する(デフォルト上限: 10)
|
|
139
|
+
2. オプションでレイヤー(\`episodic\`)でフィルタリングして現在のタスク状態に集中する
|
|
140
|
+
3. 特定のタスクを再開する場合は、タグまたはプロジェクトメタデータで検索する
|
|
141
|
+
4. エントリを確認し、期限切れまたは不要なものを \`forget_memory\` で削除する
|
|
142
|
+
|
|
143
|
+
### メモリの更新
|
|
144
|
+
|
|
145
|
+
1. 前回の \`store_memory\` 結果または \`recall_memory\` からエントリ ID を取得する
|
|
146
|
+
2. ID と変更フィールドを指定して \`update_memory\` を呼び出す
|
|
147
|
+
3. 重要な更新には \`createVersion: true\`(デフォルト)のまま — 履歴が保持される
|
|
148
|
+
4. \`createVersion: false\` は軽微な修正(タイポ、フォーマット)のみに使用する
|
|
149
|
+
|
|
150
|
+
### クリーンアップ
|
|
151
|
+
|
|
152
|
+
1. タスクが完了したらエントリ ID を指定して \`forget_memory\` を呼び出す
|
|
153
|
+
2. 監査の明確さのために \`reason\` を指定する(例: \`"Task completed — captured in knowledgine-capture"\`)
|
|
154
|
+
3. 物理的に削除する必要があるデータを含む場合を除き、ソフト削除(デフォルト)を優先する
|
|
155
|
+
|
|
156
|
+
## ベストプラクティス
|
|
157
|
+
|
|
158
|
+
- **episodic メモリには TTL を使用する** — セッション内メモには 3600(1 時間)、翌日継続には 86400(1 日)、進行中のタスクには 604800(1 週間)
|
|
159
|
+
- **リコール効率のためにタグ付けする** — タグは AND フィルタリングされる;コンテキストを一意に識別する具体的なタグを使用する(プロジェクト名、タスクエリア、ステータス)
|
|
160
|
+
- **重要な更新にはバージョンを作成する** — デフォルトの \`createVersion: true\` は不変の監査証跡を作成する;重要なコンテンツ変更では無効にしない
|
|
161
|
+
- **ソフト削除を優先する** — \`hard: false\`(デフォルト)はエントリを復元可能に保ち監査ログを維持する;データを物理的にパージする必要がある場合のみ \`hard: true\` を使用する
|
|
162
|
+
- **意図的にレイヤー間を昇格させる** — episodic メモリが複数のセッションで有用と証明されたら semantic として再保存する;semantic パターンが安定したスキルになったら procedural に昇格させる
|
|
163
|
+
|
|
164
|
+
## 参照ファイル
|
|
165
|
+
|
|
166
|
+
- 各レイヤーの詳細ガイダンス(例、TTL の推奨値、レイヤー昇格ワークフロー)は \`layer-guide.md\` を参照
|
|
167
|
+
- メモリツールと knowledgine-capture の比較判断マトリクスは \`memory-vs-knowledge.md\` を参照
|
|
168
|
+
`;
|
|
169
|
+
//# sourceMappingURL=skill-md.ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.ja.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-memory/skill-md.ja.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuKvB,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-memory
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
lang: en
|
|
5
|
+
description: >
|
|
6
|
+
Manage cross-session memory for task state, context, and learned patterns. Invoke when
|
|
7
|
+
you need to persist information across sessions that is not permanent knowledge — such
|
|
8
|
+
as current task progress, session context, or procedural patterns learned during work.
|
|
9
|
+
Distinct from knowledgine-capture which stores permanent, curated knowledge.
|
|
10
|
+
---
|
|
11
|
+
# knowledgine-memory
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Manage session-scoped and cross-session state using the memory layer system. Memory entries
|
|
16
|
+
track what you are doing, where you left off, and how you solve recurring problems — without
|
|
17
|
+
polluting the permanent knowledge base with ephemeral context.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
Use memory tools when any of the following apply:
|
|
22
|
+
|
|
23
|
+
1. **Task progress tracking** — You are mid-way through a multi-step task and want to resume in a future session
|
|
24
|
+
2. **Session context persistence** — You need to carry forward context (open questions, current hypotheses, blocking issues)
|
|
25
|
+
3. **Procedural pattern learning** — You discovered a repeatable workflow or debugging strategy worth reusing
|
|
26
|
+
4. **User preferences and working state** — Preferences, aliases, or workspace configuration learned during work
|
|
27
|
+
5. **Temporary notes with expiration** — Short-lived reminders or in-progress state that should expire automatically (use TTL)
|
|
28
|
+
|
|
29
|
+
## When NOT to Use
|
|
30
|
+
|
|
31
|
+
- **Permanent knowledge** → use \`knowledgine-capture\` (bug fixes, design decisions, reusable patterns)
|
|
32
|
+
- **Project documentation or source files** → use \`knowledgine-ingest\`
|
|
33
|
+
- **End-of-session summary** → use \`knowledgine-debrief\` (which may call store_memory internally)
|
|
34
|
+
- Facts or solutions you want to share team-wide → use \`knowledgine-capture\`
|
|
35
|
+
|
|
36
|
+
## Memory Layers
|
|
37
|
+
|
|
38
|
+
Choose the layer that matches the expected lifespan of the information:
|
|
39
|
+
|
|
40
|
+
| Layer | Lifespan | Question it answers | Recommended TTL |
|
|
41
|
+
|-------|----------|---------------------|-----------------|
|
|
42
|
+
| \`episodic\` | Hours to days | "What am I doing right now?" | 3600–86400s |
|
|
43
|
+
| \`semantic\` | Days to weeks | "What did I learn this week?" | 604800s or none |
|
|
44
|
+
| \`procedural\` | Weeks to permanent | "How do I solve this type of problem?" | None |
|
|
45
|
+
|
|
46
|
+
- **episodic** — Short-term session context. Use TTL to expire stale state automatically. Examples: current task description, in-progress debugging context, session goals.
|
|
47
|
+
- **semantic** — Mid-term facts and decisions relevant to an ongoing project phase. Examples: team decisions, project constraints, learned facts about a codebase section.
|
|
48
|
+
- **procedural** — Long-term patterns and repeatable skills. Promote from semantic when a pattern proves stable across multiple sessions. Examples: debugging workflows, code review checklists, deployment procedures.
|
|
49
|
+
|
|
50
|
+
See \`layer-guide.md\` for promotion workflow and per-layer tagging strategy.
|
|
51
|
+
|
|
52
|
+
## How to Use (MCP Tools)
|
|
53
|
+
|
|
54
|
+
### store_memory
|
|
55
|
+
|
|
56
|
+
Store a new memory entry.
|
|
57
|
+
|
|
58
|
+
\`\`\`
|
|
59
|
+
store_memory(
|
|
60
|
+
content: string, // Memory content (required, non-empty)
|
|
61
|
+
layer?: "episodic" | "semantic" | "procedural", // Default: episodic
|
|
62
|
+
tags?: string[], // Classification tags for recall filtering
|
|
63
|
+
metadata?: {
|
|
64
|
+
source?: string, // Origin (file, URL, tool name)
|
|
65
|
+
project?: string, // Project scope
|
|
66
|
+
sessionId?: string, // Session identifier
|
|
67
|
+
confidence?: number, // 0–1 confidence score
|
|
68
|
+
},
|
|
69
|
+
ttl?: number, // Time-to-live in seconds (optional)
|
|
70
|
+
)
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
### recall_memory
|
|
74
|
+
|
|
75
|
+
Retrieve memory entries by query, filter, or recency.
|
|
76
|
+
|
|
77
|
+
\`\`\`
|
|
78
|
+
recall_memory(
|
|
79
|
+
query?: string, // Full-text search (omit for recent entries)
|
|
80
|
+
filter?: {
|
|
81
|
+
layer?: "episodic" | "semantic" | "procedural",
|
|
82
|
+
tags?: string[], // AND filter — all tags must match
|
|
83
|
+
createdAfter?: string, // ISO 8601 lower bound
|
|
84
|
+
createdBefore?: string, // ISO 8601 upper bound
|
|
85
|
+
memoryIds?: string[], // Retrieve specific entries by ID
|
|
86
|
+
},
|
|
87
|
+
limit?: number, // Default: 10, max: 100
|
|
88
|
+
includeVersionHistory?: boolean, // Default: false
|
|
89
|
+
asOf?: string, // ISO 8601 point-in-time query
|
|
90
|
+
)
|
|
91
|
+
\`\`\`
|
|
92
|
+
|
|
93
|
+
### update_memory
|
|
94
|
+
|
|
95
|
+
Update content, tags, or metadata of an existing entry. Creates a version snapshot by default.
|
|
96
|
+
|
|
97
|
+
\`\`\`
|
|
98
|
+
update_memory(
|
|
99
|
+
id: string, // Memory entry ID (required)
|
|
100
|
+
content?: string, // Replacement content
|
|
101
|
+
summary?: string, // Replacement summary
|
|
102
|
+
tags?: string[], // Replacement tags (full replace, not merge)
|
|
103
|
+
metadata?: { // Partial metadata merge
|
|
104
|
+
source?: string,
|
|
105
|
+
project?: string,
|
|
106
|
+
sessionId?: string,
|
|
107
|
+
confidence?: number,
|
|
108
|
+
},
|
|
109
|
+
createVersion?: boolean, // Default: true (immutable version created)
|
|
110
|
+
)
|
|
111
|
+
\`\`\`
|
|
112
|
+
|
|
113
|
+
### forget_memory
|
|
114
|
+
|
|
115
|
+
Delete a memory entry. Soft delete by default (recoverable); hard delete removes data permanently.
|
|
116
|
+
|
|
117
|
+
\`\`\`
|
|
118
|
+
forget_memory(
|
|
119
|
+
id: string, // Memory entry ID (required)
|
|
120
|
+
reason?: string, // Deletion reason (written to audit log)
|
|
121
|
+
hard?: boolean, // Default: false (soft delete)
|
|
122
|
+
)
|
|
123
|
+
\`\`\`
|
|
124
|
+
|
|
125
|
+
## Step-by-Step Instructions
|
|
126
|
+
|
|
127
|
+
### Storing a memory
|
|
128
|
+
|
|
129
|
+
1. **Choose the layer** — episodic for current task state, semantic for facts and decisions, procedural for repeatable patterns
|
|
130
|
+
2. **Write clear content** — Include enough context for you (or the agent) to act on the memory in a future session without re-investigation
|
|
131
|
+
3. **Set TTL for episodic entries** — 3600 (1 hour), 86400 (1 day), or 604800 (1 week) depending on expected relevance window
|
|
132
|
+
4. **Add tags** — Use 2–4 tags to enable efficient recall filtering (e.g., \`["auth", "in-progress", "session-2024-01"]\`)
|
|
133
|
+
5. **Call store_memory** — Pass content, layer, tags, and optional metadata/ttl
|
|
134
|
+
6. **Note the returned ID** — Store it if you will need to update or delete this entry later
|
|
135
|
+
|
|
136
|
+
### Recalling memories at session start
|
|
137
|
+
|
|
138
|
+
1. Call \`recall_memory\` with no arguments to get recent entries (default limit: 10)
|
|
139
|
+
2. Optionally filter by layer (\`episodic\`) to focus on current task state
|
|
140
|
+
3. If resuming a specific task, search by tags or project metadata
|
|
141
|
+
4. Review entries and discard expired or irrelevant ones with \`forget_memory\`
|
|
142
|
+
|
|
143
|
+
### Updating a memory
|
|
144
|
+
|
|
145
|
+
1. Retrieve the entry ID from a prior \`store_memory\` result or \`recall_memory\`
|
|
146
|
+
2. Call \`update_memory\` with the ID and changed fields
|
|
147
|
+
3. Leave \`createVersion: true\` (default) for important updates — this preserves the history
|
|
148
|
+
4. Use \`createVersion: false\` only for minor corrections (typos, formatting)
|
|
149
|
+
|
|
150
|
+
### Cleaning up
|
|
151
|
+
|
|
152
|
+
1. Call \`forget_memory\` with the entry ID when a task is complete
|
|
153
|
+
2. Provide a \`reason\` for audit clarity (e.g., \`"Task completed — captured in knowledgine-capture"\`)
|
|
154
|
+
3. Prefer soft delete (default) unless the entry contains data that must be physically removed
|
|
155
|
+
|
|
156
|
+
## Best Practices
|
|
157
|
+
|
|
158
|
+
- **Use TTL for episodic memories** — 3600 (1 hr) for within-session notes, 86400 (1 day) for next-day continuation, 604800 (1 week) for ongoing tasks
|
|
159
|
+
- **Tag for recall efficiency** — Tags are AND-filtered; use specific tags that uniquely identify the context (project name, task area, status)
|
|
160
|
+
- **Create versions for important updates** — The default \`createVersion: true\` creates an immutable audit trail; do not disable it for significant content changes
|
|
161
|
+
- **Prefer soft delete** — \`hard: false\` (default) keeps entries recoverable and maintains the audit log; use \`hard: true\` only when data must be physically purged
|
|
162
|
+
- **Promote across layers deliberately** — When an episodic memory proves useful across multiple sessions, re-store it as semantic; when a semantic pattern becomes a stable skill, promote to procedural
|
|
163
|
+
|
|
164
|
+
## Reference Files
|
|
165
|
+
|
|
166
|
+
- See \`layer-guide.md\` for detailed guidance on each layer with examples, TTL recommendations, and the layer promotion workflow
|
|
167
|
+
- See \`memory-vs-knowledge.md\` for a decision matrix comparing memory tools with knowledgine-capture
|
|
168
|
+
`;
|
|
169
|
+
//# sourceMappingURL=skill-md.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-
|
|
1
|
+
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-memory/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuKvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuT7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.ja.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/references.ja.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwT7C,CAAC"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
export const REFERENCES = {
|
|
2
|
+
"search-strategy.md": `# 検索戦略
|
|
3
|
+
|
|
4
|
+
適切な検索モードの選択方法、コンテキストシグナルの抽出方法、
|
|
5
|
+
クエリ検索・コンテキストベースのサジェスト・グラフ走査を組み合わせた
|
|
6
|
+
効果的な検索ワークフローの構築方法。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## モードの選択
|
|
11
|
+
|
|
12
|
+
### キーワードモード
|
|
13
|
+
|
|
14
|
+
SQLite FTS5 全文検索を使用します。正確な単語を含むドキュメントに一致します。
|
|
15
|
+
|
|
16
|
+
**最適な用途**:
|
|
17
|
+
- 正確なエラーメッセージ(例: \`"SQLITE_ERROR: no such module: vec0"\`)
|
|
18
|
+
- 関数名や変数名(例: \`"capture_knowledge"\`, \`"KnowledgeRepository"\`)
|
|
19
|
+
- ファイルパス(例: \`"packages/core/src"\`)
|
|
20
|
+
- バージョン文字列や識別子
|
|
21
|
+
|
|
22
|
+
**制限事項**:
|
|
23
|
+
- 同義語には一致しない("fix" は "resolve" に一致しない)
|
|
24
|
+
- 大文字小文字は区別しないが、単語境界には敏感
|
|
25
|
+
- 複数語のクエリではフレーズの順序が重要
|
|
26
|
+
|
|
27
|
+
**例**:
|
|
28
|
+
\`\`\`
|
|
29
|
+
search_knowledge(query: "ENOENT no such file or directory", mode: "keyword")
|
|
30
|
+
\`\`\`
|
|
31
|
+
|
|
32
|
+
### セマンティックモード
|
|
33
|
+
|
|
34
|
+
ベクトル埋め込みを使用して意味によって一致します。共通の単語がなくても関連するコンテンツを見つけます。
|
|
35
|
+
|
|
36
|
+
**最適な用途**:
|
|
37
|
+
- 概念的なクエリ(例: "認証エラーの処理方法")
|
|
38
|
+
- 何を求めているかはわかるが正確な語句が不明な場合
|
|
39
|
+
- 特定のエラーメッセージなしにトピックを探索する場合
|
|
40
|
+
- 言語をまたいだ、または言い換えによる一致
|
|
41
|
+
|
|
42
|
+
**要件**:
|
|
43
|
+
- ナレッジベースが \`--semantic\` フラグで初期化されている必要がある
|
|
44
|
+
- 埋め込みが利用できない場合はキーワード検索にフォールバック
|
|
45
|
+
|
|
46
|
+
**例**:
|
|
47
|
+
\`\`\`
|
|
48
|
+
search_knowledge(query: "user authentication token expiry", mode: "semantic")
|
|
49
|
+
\`\`\`
|
|
50
|
+
|
|
51
|
+
### ハイブリッドモード
|
|
52
|
+
|
|
53
|
+
キーワードとセマンティックのスコアを組み合わせます。両モードの最良の結果を返します。
|
|
54
|
+
|
|
55
|
+
**最適な用途**:
|
|
56
|
+
- ファイルパス、タスクの説明、機能領域から導出されたコンテキストベースのクエリ
|
|
57
|
+
- 最も汎用的な探索
|
|
58
|
+
- どちらのモードが良いかわからない場合
|
|
59
|
+
- 正確な語句と概念を混在させた複雑なクエリ
|
|
60
|
+
|
|
61
|
+
**例**:
|
|
62
|
+
\`\`\`
|
|
63
|
+
search_knowledge(query: "TypeScript null safety database repository", mode: "hybrid")
|
|
64
|
+
\`\`\`
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## コンテキストシグナルの抽出
|
|
69
|
+
|
|
70
|
+
特定の検索クエリがない場合は、現在の作業コンテキストからシグナルを抽出します。
|
|
71
|
+
|
|
72
|
+
### シグナルの種類
|
|
73
|
+
|
|
74
|
+
| シグナルの種類 | 入力例 | 抽出されるクエリ |
|
|
75
|
+
|----------------|--------|-----------------|
|
|
76
|
+
| ファイルパス | \`src/commands/setup.ts\` | \`"setup command configuration"\` |
|
|
77
|
+
| ファイルパス | \`packages/core/src/config/config-loader.ts\` | \`"config loader configuration"\` |
|
|
78
|
+
| ファイルパス | \`packages/ingest/src/plugins/github.ts\` | \`"github ingest plugin"\` |
|
|
79
|
+
| コンポーネント名 | \`SetupCommand\`, \`KnowledgeRepository\` | キーワードクエリとして直接使用 |
|
|
80
|
+
| タスクの説明 | "セットアップコマンドに TOML 設定ファイルのサポートを追加" | \`"TOML configuration setup"\` |
|
|
81
|
+
| タスクの説明 | "空のドキュメントに対するエンティティ抽出パイプラインを修正" | \`"entity extraction empty document"\` |
|
|
82
|
+
| エラーメッセージ | "SQLITE_ERROR: table entities has no column 'confidence'" | \`"SQLITE_ERROR entities column"\` |
|
|
83
|
+
| 機能領域 | MCP 設定 | \`"MCP server configuration"\` |
|
|
84
|
+
| 機能領域 | 検索 | \`"search_knowledge FTS5 semantic"\` |
|
|
85
|
+
|
|
86
|
+
### マルチシグナルクエリ
|
|
87
|
+
|
|
88
|
+
より絞り込んだ結果を得るために 2〜3 個のシグナルを組み合わせます:
|
|
89
|
+
|
|
90
|
+
\`\`\`
|
|
91
|
+
// ファイル + タスク
|
|
92
|
+
query: "config-loader TOML parsing"
|
|
93
|
+
|
|
94
|
+
// コンポーネント + 問題の種類
|
|
95
|
+
query: "KnowledgeRepository null safety"
|
|
96
|
+
|
|
97
|
+
// 技術 + パターン
|
|
98
|
+
query: "sqlite migration schema change"
|
|
99
|
+
\`\`\`
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## ワークフローパターン
|
|
104
|
+
|
|
105
|
+
### パターン 1: セッション開始
|
|
106
|
+
|
|
107
|
+
既知の領域で作業を始めるとき:
|
|
108
|
+
|
|
109
|
+
1. 主要なファイルまたは機能領域からコンテキストを抽出する
|
|
110
|
+
2. 組み合わせたコンテキストクエリでハイブリッド検索を実行する
|
|
111
|
+
3. 上位 3〜5 件の結果を確認し、警告や過去の決定を記録する
|
|
112
|
+
4. 現在のファイルパスで \`find_related\` を使用して接続されたノートを発見する
|
|
113
|
+
5. 特定の問題が発生したら対象を絞ったキーワードクエリで進む
|
|
114
|
+
|
|
115
|
+
\`\`\`
|
|
116
|
+
// Step 1: コンテキストベースの検索
|
|
117
|
+
search_knowledge(query: "setup command MCP configuration", mode: "hybrid", limit: 10)
|
|
118
|
+
|
|
119
|
+
// Step 2: グラフの走査
|
|
120
|
+
find_related(filePath: "src/commands/setup.ts", limit: 5)
|
|
121
|
+
\`\`\`
|
|
122
|
+
|
|
123
|
+
### パターン 2: エラー発生時
|
|
124
|
+
|
|
125
|
+
エラーや例外が発生したとき:
|
|
126
|
+
|
|
127
|
+
1. 正確なエラーメッセージをコピーする
|
|
128
|
+
2. エラーメッセージでキーワード検索を実行する
|
|
129
|
+
3. 結果がなければ、エラーのキーとなる名詞を抽出して再試行する
|
|
130
|
+
4. それでも結果がなければ、症状の説明でセマンティック検索を試みる
|
|
131
|
+
|
|
132
|
+
\`\`\`
|
|
133
|
+
Error: "Cannot find module '@knowledgine/core'"
|
|
134
|
+
→ keyword: "Cannot find module @knowledgine/core"
|
|
135
|
+
→ keyword: "module resolution"
|
|
136
|
+
→ semantic: "TypeScript module not found build error"
|
|
137
|
+
\`\`\`
|
|
138
|
+
|
|
139
|
+
### パターン 3: 慣れないコードの探索
|
|
140
|
+
|
|
141
|
+
慣れないコンポーネントやモジュールに取り組むとき:
|
|
142
|
+
|
|
143
|
+
1. ファイルパスで検索: \`keyword: "src/commands/setup.ts"\`
|
|
144
|
+
2. コンポーネント名で検索: \`keyword: "setupCommand"\`
|
|
145
|
+
3. トピックで検索: \`semantic: "MCP configuration setup"\`
|
|
146
|
+
4. 関連する結果からグラフを走査: \`find_related(noteId: <id>, maxHops: 2)\`
|
|
147
|
+
|
|
148
|
+
### パターン 4: 変更を加える前に
|
|
149
|
+
|
|
150
|
+
アーキテクチャ上の決定や重要な変更を行う前に:
|
|
151
|
+
|
|
152
|
+
1. 過去の決定を検索: \`keyword: "design-decision <topic>"\`
|
|
153
|
+
2. 関連するパターンを検索: \`semantic: "<concept> pattern implementation"\`
|
|
154
|
+
3. 関連する noteId で \`find_related\` を使用して接続された決定を見つける
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 結果の解釈
|
|
159
|
+
|
|
160
|
+
### キーワードモード(BM25 スコア)
|
|
161
|
+
|
|
162
|
+
結果は BM25 関連性スコアで並べられています。高いほど良い;固定スケールはありません。
|
|
163
|
+
包括的なコンテキストを構築する場合以外は、上位 3〜5 件の結果に注目してください。
|
|
164
|
+
|
|
165
|
+
### セマンティックモード(コサイン類似度)
|
|
166
|
+
|
|
167
|
+
| スコア | 意味 |
|
|
168
|
+
|--------|------|
|
|
169
|
+
| > 0.9 | 非常に強い一致 — 関連性が高い可能性が高い |
|
|
170
|
+
| 0.7〜0.9 | 良い一致 — 適用可能性を確認 |
|
|
171
|
+
| 0.5〜0.7 | 弱い一致 — 関連する場合と関連しない場合がある |
|
|
172
|
+
| < 0.5 | 周辺的 — より良い結果がなければ通常スキップ |
|
|
173
|
+
|
|
174
|
+
### ハイブリッドモード
|
|
175
|
+
|
|
176
|
+
スコアは BM25 とコサイン類似度を組み合わせています。絶対値よりも相対的な順序を
|
|
177
|
+
複合シグナルとして扱ってください。
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## find_related によるグラフ走査
|
|
182
|
+
|
|
183
|
+
最初の関連ノートを見つけた後、\`find_related\` を使って接続されたノートを発見します:
|
|
184
|
+
|
|
185
|
+
\`\`\`
|
|
186
|
+
// 検索結果から数値のノート ID を使用
|
|
187
|
+
find_related(noteId: 42, limit: 5, maxHops: 1)
|
|
188
|
+
|
|
189
|
+
// または現在のファイルパスで直接検索
|
|
190
|
+
find_related(filePath: "packages/core/src/config/config-loader.ts", limit: 5)
|
|
191
|
+
\`\`\`
|
|
192
|
+
|
|
193
|
+
**重要**: \`noteId\` は文字列ではなく数値(整数)でなければなりません。
|
|
194
|
+
\`search_knowledge\` の結果の \`id\` フィールドをそのまま使用してください。
|
|
195
|
+
|
|
196
|
+
**maxHops のガイダンス**:
|
|
197
|
+
|
|
198
|
+
| maxHops | 効果 |
|
|
199
|
+
|---------|------|
|
|
200
|
+
| 1 | 直接の参照のみ — 高速で焦点が絞られている(デフォルト) |
|
|
201
|
+
| 2 | 1 度の分離 — 探索に適している |
|
|
202
|
+
| 3 | より広いグラフ — オープンエンドな探索に使用 |
|
|
203
|
+
`,
|
|
204
|
+
"query-tips.md": `# クエリのヒント
|
|
205
|
+
|
|
206
|
+
様々な状況に対応した効果的な検索クエリの作成方法、テンプレート、
|
|
207
|
+
フォールバック戦略、上限のガイダンス。
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 一般的な原則
|
|
212
|
+
|
|
213
|
+
1. **具体性が勝る** — 具体的なクエリは曖昧なクエリより優れている
|
|
214
|
+
- 悪い例: \`"error"\`
|
|
215
|
+
- 良い例: \`"TypeError cannot read properties of undefined"\`
|
|
216
|
+
|
|
217
|
+
2. **名詞と識別子を使用する** — 動詞や形容詞はノイズを増やす
|
|
218
|
+
- 悪い例: \`"null のときに壊れたものをどう修正するか"\`
|
|
219
|
+
- 良い例: \`"null check repository getById"\`
|
|
220
|
+
|
|
221
|
+
3. **エラーメッセージは宝の山** — キーワードモードではそのまま貼り付ける
|
|
222
|
+
|
|
223
|
+
4. **概念には自然言語を使う** — セマンティックモードでは状況を説明する
|
|
224
|
+
- \`"what approach did we use for caching database results"\`
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 状況別クエリテンプレート
|
|
229
|
+
|
|
230
|
+
### エラーメッセージ
|
|
231
|
+
\`\`\`
|
|
232
|
+
// 正確なエラーメッセージをそのまま貼り付ける
|
|
233
|
+
keyword: "<exact error text>"
|
|
234
|
+
|
|
235
|
+
// 長すぎる場合は固有の部分を使用
|
|
236
|
+
keyword: "SQLITE_CONSTRAINT UNIQUE"
|
|
237
|
+
\`\`\`
|
|
238
|
+
|
|
239
|
+
### ファイルまたはコンポーネント
|
|
240
|
+
\`\`\`
|
|
241
|
+
keyword: "<拡張子なしのファイル名>"
|
|
242
|
+
keyword: "<ClassName> OR <functionName>"
|
|
243
|
+
\`\`\`
|
|
244
|
+
|
|
245
|
+
### 設計トピック
|
|
246
|
+
\`\`\`
|
|
247
|
+
semantic: "<component> architecture decision"
|
|
248
|
+
keyword: "design-decision <topic>"
|
|
249
|
+
\`\`\`
|
|
250
|
+
|
|
251
|
+
### 過去の問題
|
|
252
|
+
\`\`\`
|
|
253
|
+
semantic: "<症状の説明(平易な言葉で)>"
|
|
254
|
+
hybrid: "<technology> <problem noun>"
|
|
255
|
+
\`\`\`
|
|
256
|
+
|
|
257
|
+
### パターン検索
|
|
258
|
+
\`\`\`
|
|
259
|
+
keyword: "pattern <concept>"
|
|
260
|
+
semantic: "reusable pattern for <problem type>"
|
|
261
|
+
\`\`\`
|
|
262
|
+
|
|
263
|
+
### コンテキストベース(セッション開始またはファイルを開いたとき)
|
|
264
|
+
\`\`\`
|
|
265
|
+
// ファイル領域 + タスクを組み合わせる
|
|
266
|
+
hybrid: "<module-name> <task-noun>"
|
|
267
|
+
|
|
268
|
+
// 機能領域
|
|
269
|
+
hybrid: "<feature area> <technology>"
|
|
270
|
+
\`\`\`
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## 最初のクエリで結果が得られなかったとき
|
|
275
|
+
|
|
276
|
+
以下のフォールバック戦略を順番に試みてください:
|
|
277
|
+
|
|
278
|
+
1. **クエリを広げる** — 具体的な識別子を削除し、名詞だけを残す
|
|
279
|
+
- \`"SQLITE_ERROR: table notes has no column 'embedding'"\`
|
|
280
|
+
- → \`"sqlite migration column"\`
|
|
281
|
+
|
|
282
|
+
2. **モードを切り替える** — キーワードが失敗したらセマンティックまたはハイブリッドを試み、
|
|
283
|
+
セマンティックが失敗したらキーワードを試みる
|
|
284
|
+
|
|
285
|
+
3. **同義語クエリ** — 関連する語句を使用する
|
|
286
|
+
- \`"authentication"\` → \`"auth session token login"\`
|
|
287
|
+
|
|
288
|
+
4. **タグベースのクエリ** — タグカテゴリで検索する
|
|
289
|
+
- \`"bug-fix typescript"\`
|
|
290
|
+
- \`"design-decision database"\`
|
|
291
|
+
|
|
292
|
+
5. **結果なしを受け入れる** — すべての問題が事前に記録されているわけではありません。
|
|
293
|
+
解決した後、knowledgine-capture を使って解決策を記録してください。
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## 上限のガイダンス
|
|
298
|
+
|
|
299
|
+
| 状況 | 推奨上限 |
|
|
300
|
+
|------|---------|
|
|
301
|
+
| クイックルックアップ(既知のトピック) | 3〜5 |
|
|
302
|
+
| 一般的な探索 | 10 |
|
|
303
|
+
| セッション開始時の完全なコンテキスト構築 | 15〜20 |
|
|
304
|
+
| レアなエントリを見つける | 20(デフォルト) |
|
|
305
|
+
|
|
306
|
+
\`search_knowledge\` のデフォルト上限は **20** です。クエリが正確な場合は
|
|
307
|
+
ノイズを避けるために低い上限を使用してください。\`find_related\` のデフォルト上限は
|
|
308
|
+
**5** です — これはほとんどのグラフ走査操作に適切です。
|
|
309
|
+
|
|
310
|
+
上限を大きくすると検索が若干遅くなります;クエリが正確な場合は低い上限を優先してください。
|
|
311
|
+
`,
|
|
312
|
+
};
|
|
313
|
+
//# sourceMappingURL=references.ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.ja.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/references.ja.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMvB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2GlB;CACA,CAAC"}
|