@knowledgine/cli 0.5.0 → 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 +4 -0
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +55 -13
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +15 -8
- 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 +45 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +13 -2
- 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/index.js +18 -1
- 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 -22
- 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,175 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-search
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
lang: ja
|
|
5
|
+
description: >
|
|
6
|
+
過去の解決策、設計上の決定、パターンをローカルナレッジベースから検索します。
|
|
7
|
+
エラーに直面したとき、慣れないコードに取り組むとき、セッションを開始するとき、
|
|
8
|
+
新しいファイルを開くとき、実装アプローチを検討するときに呼び出します。
|
|
9
|
+
クエリ直接検索・コンテキストベースのサジェスト・グラフによる関連ノート探索の
|
|
10
|
+
3つのモードをサポートします。
|
|
11
|
+
---
|
|
12
|
+
# knowledgine-search
|
|
13
|
+
|
|
14
|
+
## 目的
|
|
15
|
+
|
|
16
|
+
問題をゼロから解決しようとする前に、蓄積されたプロジェクトの知識を検索します。
|
|
17
|
+
ナレッジベースには、過去のバグ修正、設計上の決定、トラブルシューティングの記録、
|
|
18
|
+
そして全セッションを通じて収集されたパターンが含まれています。このスキルは
|
|
19
|
+
クエリ直接検索とコンテキストベースの探索を単一のワークフローに統合し、
|
|
20
|
+
重複作業を防いで関連するコンテキストを先回りして提示します。
|
|
21
|
+
|
|
22
|
+
## 使用するタイミング
|
|
23
|
+
|
|
24
|
+
- **エラーや例外が発生したとき** — 正確なエラーメッセージやキーワードを検索する
|
|
25
|
+
- **慣れないコード領域に取り組むとき** — コンポーネントやモジュールに関するコンテキストを検索する
|
|
26
|
+
- **実装の選択をするとき** — 同じトピックに関する過去の決定を検索する
|
|
27
|
+
- **ライブラリやアプローチを検討するとき** — 既知の落とし穴や先行事例を検索する
|
|
28
|
+
- **セッションを開始するとき** — 作業する領域に関するコンテキストを取得する
|
|
29
|
+
- **新しいファイルを開くとき** — そのコンポーネントに関する過去の知識を発見する
|
|
30
|
+
- **機能の実装を始めるとき** — 関連するパターンや過去の決定を見つける
|
|
31
|
+
- **ファイルの作業を開始するとき** — そのファイルパスに関連するノートを検索する
|
|
32
|
+
|
|
33
|
+
## 使用しないタイミング
|
|
34
|
+
|
|
35
|
+
- 曖昧さのない純粋に機械的なタスク(変数のリネーム、フォーマットなど)
|
|
36
|
+
- このセッション内ですでに検索して関連する結果が見つからなかったとき
|
|
37
|
+
- 同じファイルに対してコンテキストベースの検索をすでに実行済みのとき
|
|
38
|
+
- すべての操作で検索を呼び出すことは避ける — 判断して使用する
|
|
39
|
+
|
|
40
|
+
## 検索アプローチ
|
|
41
|
+
|
|
42
|
+
### アプローチ 1: クエリ検索
|
|
43
|
+
|
|
44
|
+
エラーメッセージ、関数名、または既知のトピックなど、具体的な語句がある場合。
|
|
45
|
+
|
|
46
|
+
特定の語句で \`search_knowledge\` を使用します。完全一致には \`keyword\` モードから始め、
|
|
47
|
+
正確な表現が不確かな場合は \`semantic\` または \`hybrid\` に切り替えます。
|
|
48
|
+
|
|
49
|
+
### アプローチ 2: コンテキストベースの検索
|
|
50
|
+
|
|
51
|
+
特定のクエリなしに、ファイルやタスクの作業を開始する場合。
|
|
52
|
+
|
|
53
|
+
現在のファイルパス、コンポーネント名、タスクの説明、またはエラーメッセージから
|
|
54
|
+
シグナルを抽出します。2〜3個のシグナルを組み合わせてクエリを作成し、
|
|
55
|
+
最良の結果を得るには \`hybrid\` モードを使用します。コンテキストシグナルの
|
|
56
|
+
抽出方法については \`search-strategy.md\` を参照してください。
|
|
57
|
+
|
|
58
|
+
### アプローチ 3: 関連ノートの探索
|
|
59
|
+
|
|
60
|
+
関連するノートを見つけて、ナレッジグラフ内の接続されたノートを発見したい場合。
|
|
61
|
+
|
|
62
|
+
関連する結果の \`noteId\`(数値として)または現在の \`filePath\` を使って
|
|
63
|
+
\`find_related\` を呼び出します。これはナレッジグラフを走査して、エンティティの
|
|
64
|
+
関係性、問題と解決策のペア、ファイルの関連性によってリンクされたノートを
|
|
65
|
+
提示します。
|
|
66
|
+
|
|
67
|
+
## 検索モードの選択
|
|
68
|
+
|
|
69
|
+
| 状況 | モード |
|
|
70
|
+
|------|--------|
|
|
71
|
+
| 正確なエラーメッセージがある | \`keyword\` |
|
|
72
|
+
| 特定の関数名や変数名を覚えている | \`keyword\` |
|
|
73
|
+
| 概念はわかるが正確な表現が不確か | \`semantic\` |
|
|
74
|
+
| コンテキストシグナル(ファイル、タスク、機能)から作業を開始する | \`hybrid\` |
|
|
75
|
+
| トピックの一般的な探索 | \`hybrid\` |
|
|
76
|
+
| 埋め込みが利用できない(FTS5のみの構成) | \`keyword\`(唯一の選択肢) |
|
|
77
|
+
|
|
78
|
+
## 検索方法 (MCP ツール)
|
|
79
|
+
|
|
80
|
+
### search_knowledge
|
|
81
|
+
|
|
82
|
+
\`\`\`
|
|
83
|
+
search_knowledge(
|
|
84
|
+
query: string, // 検索クエリ
|
|
85
|
+
mode?: "keyword" // "keyword" | "semantic" | "hybrid"
|
|
86
|
+
| "semantic" // keyword: FTS5 による完全一致テキスト検索(デフォルト)
|
|
87
|
+
| "hybrid", // semantic: 意味ベース、埋め込みが必要
|
|
88
|
+
// hybrid: 両者を組み合わせ
|
|
89
|
+
limit?: number, // 最大結果数(デフォルト: 20)
|
|
90
|
+
agentic?: boolean, // 廃止済みノートを含む(デフォルト: false)
|
|
91
|
+
includeDeprecated?: boolean // 廃止済みノートを含む(デフォルト: false)
|
|
92
|
+
)
|
|
93
|
+
\`\`\`
|
|
94
|
+
|
|
95
|
+
### find_related
|
|
96
|
+
|
|
97
|
+
\`\`\`
|
|
98
|
+
find_related(
|
|
99
|
+
noteId?: number, // ノートの ID — 文字列ではなく数値(整数)であること
|
|
100
|
+
filePath?: string, // 関連ノートを検索するファイルパス
|
|
101
|
+
limit?: number, // 最大結果数(デフォルト: 5)
|
|
102
|
+
maxHops?: number // グラフの走査深度(デフォルト: 1、最大: 3)
|
|
103
|
+
)
|
|
104
|
+
\`\`\`
|
|
105
|
+
|
|
106
|
+
\`noteId\` または \`filePath\` のいずれか一方を指定してください。\`noteId\` の値は
|
|
107
|
+
\`search_knowledge\` の結果から取得します — 数値の \`id\` フィールドをそのまま使用します。
|
|
108
|
+
|
|
109
|
+
## 検索方法 (CLI の代替手段)
|
|
110
|
+
|
|
111
|
+
\`\`\`bash
|
|
112
|
+
knowledgine search "<query>" # キーワード検索
|
|
113
|
+
knowledgine search "<query>" --mode semantic # セマンティック検索
|
|
114
|
+
knowledgine search "<query>" --mode hybrid # ハイブリッド検索
|
|
115
|
+
knowledgine suggest --file src/commands/setup.ts # ファイルパスによるコンテキストベース検索(suggest コマンド)
|
|
116
|
+
\`\`\`
|
|
117
|
+
|
|
118
|
+
## 手順
|
|
119
|
+
|
|
120
|
+
1. **アプローチを選択** — 特定のクエリがある場合(アプローチ 1)か、ファイルパスや
|
|
121
|
+
タスクの説明などのコンテキストから始める場合(アプローチ 2)か?
|
|
122
|
+
|
|
123
|
+
2. **クエリを作成**
|
|
124
|
+
- アプローチ 1: エラーメッセージ、関数名、または既知のトピックをそのまま使用
|
|
125
|
+
- アプローチ 2: ファイルパス、コンポーネント名、タスク、またはエラーからシグナルを
|
|
126
|
+
抽出し、2〜3個のシグナルを組み合わせてクエリを作成(\`search-strategy.md\` 参照)
|
|
127
|
+
|
|
128
|
+
3. **モードを選択**
|
|
129
|
+
- 正確な語句 → \`keyword\`
|
|
130
|
+
- コンテキストシグナルや概念的な検索 → \`hybrid\`
|
|
131
|
+
- 概念はわかるが表現が不確か → \`semantic\`
|
|
132
|
+
|
|
133
|
+
4. **search_knowledge を呼び出す** — クエリ、モード、上限を指定(5〜10 件で通常十分;
|
|
134
|
+
デフォルトは 20)
|
|
135
|
+
|
|
136
|
+
5. **結果を評価** — 返されたノートの関連性を読んで確認し、高度に関連する結果の
|
|
137
|
+
ID をメモする
|
|
138
|
+
|
|
139
|
+
6. **関連ノートを走査(任意)** — 結果が高度に関連している場合、その数値 \`noteId\` または
|
|
140
|
+
現在の \`filePath\` を使って \`find_related\` を呼び出し、ナレッジグラフ経由で
|
|
141
|
+
接続されたノートを発見する
|
|
142
|
+
|
|
143
|
+
7. **発見内容を適用** — 関連する過去の解決策や決定を、作業に活かす
|
|
144
|
+
|
|
145
|
+
8. **新しい知識を記録** — 新しい解決策を発見した場合、knowledgine-capture を使って保存する
|
|
146
|
+
|
|
147
|
+
## ベストプラクティス
|
|
148
|
+
|
|
149
|
+
- 解決策を提案する前に検索する(後ではなく)
|
|
150
|
+
- 実際のエラーメッセージテキストをクエリとして使用する — 最もターゲットを絞った検索ができる
|
|
151
|
+
- 最初の検索で結果が得られない場合は、複数のクエリを試みる
|
|
152
|
+
- セッション開始時に、主な作業領域に対してコンテキストベースの検索(アプローチ 2)を実行し、
|
|
153
|
+
その後、特定の問題が発生したら対象を絞ったクエリ(アプローチ 1)を使用する
|
|
154
|
+
- \`bug-fix\` または \`troubleshooting\` タグが付いたノートを優先する — 警告が含まれている
|
|
155
|
+
- \`design-decision\` タグのノートは変更を加える前に特に価値がある
|
|
156
|
+
- \`find_related\` の \`noteId\` パラメータは数値 — 文字列ではなく、検索結果の整数 id フィールドを渡す
|
|
157
|
+
|
|
158
|
+
## エッジケース
|
|
159
|
+
|
|
160
|
+
- **ナレッジベースが空の場合** — \`search_knowledge\` がまったく結果を返さない場合、
|
|
161
|
+
ナレッジベースはまだ入力されていない可能性があります。コードベースをインデックス化するために
|
|
162
|
+
knowledgine-ingest を使用するか、knowledgine-capture で知識の記録を開始することを提案してください。
|
|
163
|
+
- **セマンティックまたはハイブリッドモードがエラーを返す場合** — 埋め込みが設定されていない可能性があります。
|
|
164
|
+
SQLite FTS5 のみに依存して常に動作する \`keyword\` モードにフォールバックしてください。
|
|
165
|
+
- **find_related が noteId でエラーを返す場合** — 値が \`search_knowledge\` の結果から
|
|
166
|
+
得た正の整数であることを確認し、文字列表現でないことを確かめてください。
|
|
167
|
+
|
|
168
|
+
## 参照ファイル
|
|
169
|
+
|
|
170
|
+
- モード選択、コンテキストシグナルの抽出、ワークフローパターン、結果の解釈については
|
|
171
|
+
\`search-strategy.md\` を参照
|
|
172
|
+
- クエリの作成テンプレート、フォールバック戦略、上限のガイダンスについては
|
|
173
|
+
\`query-tips.md\` を参照
|
|
174
|
+
`;
|
|
175
|
+
//# sourceMappingURL=skill-md.ja.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.ja.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/skill-md.ja.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6KvB,CAAC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-search
|
|
3
|
+
version: "1.0.0"
|
|
4
|
+
lang: en
|
|
5
|
+
description: >
|
|
6
|
+
Search the local knowledge base for past solutions, design decisions, and patterns.
|
|
7
|
+
Invoke when facing an error, approaching unfamiliar code, starting a session, opening
|
|
8
|
+
a new file, or considering implementation approaches. Supports three modes: direct
|
|
9
|
+
query search, context-based suggestions, and graph-based related note discovery.
|
|
10
|
+
---
|
|
11
|
+
# knowledgine-search
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Search accumulated project knowledge before solving problems from scratch. The knowledge
|
|
16
|
+
base contains past bug fixes, design decisions, troubleshooting records, and patterns
|
|
17
|
+
gathered across all previous sessions. This skill unifies direct query search and
|
|
18
|
+
context-based discovery into a single workflow, preventing duplicate work and surfacing
|
|
19
|
+
relevant context proactively.
|
|
20
|
+
|
|
21
|
+
## When to Use
|
|
22
|
+
|
|
23
|
+
- **Error or exception encountered** — Search for the exact error message or key terms
|
|
24
|
+
- **Unfamiliar code area** — Search for context about the component or module
|
|
25
|
+
- **Implementation choice** — Search for past decisions on the same topic
|
|
26
|
+
- **Considering a library or approach** — Search for known gotchas or prior art
|
|
27
|
+
- **Starting a session** — Get context about the area you will work in
|
|
28
|
+
- **Opening a new file** — Discover past knowledge about that component
|
|
29
|
+
- **Beginning a feature** — Find related patterns and past decisions
|
|
30
|
+
- **Starting work on a file** — Search for related notes about that file path
|
|
31
|
+
|
|
32
|
+
## When NOT to Use
|
|
33
|
+
|
|
34
|
+
- Purely mechanical tasks with no ambiguity (renaming a variable, formatting)
|
|
35
|
+
- When you have already searched and found no relevant results within this session
|
|
36
|
+
- After already running context-based search for the same file in the same session
|
|
37
|
+
- Do not call search on every single action — use judgment
|
|
38
|
+
|
|
39
|
+
## Search Approaches
|
|
40
|
+
|
|
41
|
+
### Approach 1: Query Search
|
|
42
|
+
|
|
43
|
+
You have specific terms — an error message, a function name, or a known topic.
|
|
44
|
+
|
|
45
|
+
Use \`search_knowledge\` with the specific terms. Start with \`keyword\` mode for exact
|
|
46
|
+
matches; switch to \`semantic\` or \`hybrid\` when the exact wording is uncertain.
|
|
47
|
+
|
|
48
|
+
### Approach 2: Context-Based Search
|
|
49
|
+
|
|
50
|
+
You are starting work on a file or task without a specific query in mind.
|
|
51
|
+
|
|
52
|
+
Extract signals from the current file path, component name, task description, or error
|
|
53
|
+
message. Combine 2–3 signals into a query and use \`hybrid\` mode for best results. See
|
|
54
|
+
\`search-strategy.md\` for how to extract context signals.
|
|
55
|
+
|
|
56
|
+
### Approach 3: Related Note Discovery
|
|
57
|
+
|
|
58
|
+
You have found a relevant note and want to discover connected notes in the knowledge graph.
|
|
59
|
+
|
|
60
|
+
Call \`find_related\` with the \`noteId\` (as a number) from the relevant result, or with
|
|
61
|
+
the current \`filePath\`. This traverses the knowledge graph to surface notes linked by
|
|
62
|
+
entity relationships, problem-solution pairs, and file associations.
|
|
63
|
+
|
|
64
|
+
## Choosing Search Mode
|
|
65
|
+
|
|
66
|
+
| Situation | Mode |
|
|
67
|
+
|-----------|------|
|
|
68
|
+
| You have an exact error message | \`keyword\` |
|
|
69
|
+
| You remember specific function or variable names | \`keyword\` |
|
|
70
|
+
| You know the concept but not the exact wording | \`semantic\` |
|
|
71
|
+
| Starting work with context signals (file, task, feature) | \`hybrid\` |
|
|
72
|
+
| General exploration of a topic | \`hybrid\` |
|
|
73
|
+
| Embeddings not available (FTS5-only setup) | \`keyword\` (only option) |
|
|
74
|
+
|
|
75
|
+
## How to Search (MCP Tools)
|
|
76
|
+
|
|
77
|
+
### search_knowledge
|
|
78
|
+
|
|
79
|
+
\`\`\`
|
|
80
|
+
search_knowledge(
|
|
81
|
+
query: string, // Search query
|
|
82
|
+
mode?: "keyword" // "keyword" | "semantic" | "hybrid"
|
|
83
|
+
| "semantic" // keyword: exact text match via FTS5 (default)
|
|
84
|
+
| "hybrid", // semantic: meaning-based, requires embeddings
|
|
85
|
+
// hybrid: combines both
|
|
86
|
+
limit?: number, // Max results (default: 20)
|
|
87
|
+
agentic?: boolean, // Include deprecated notes (default: false)
|
|
88
|
+
includeDeprecated?: boolean // Include deprecated notes (default: false)
|
|
89
|
+
)
|
|
90
|
+
\`\`\`
|
|
91
|
+
|
|
92
|
+
### find_related
|
|
93
|
+
|
|
94
|
+
\`\`\`
|
|
95
|
+
find_related(
|
|
96
|
+
noteId?: number, // ID of a note — must be a NUMBER (integer), not a string
|
|
97
|
+
filePath?: string, // File path to find related notes for
|
|
98
|
+
limit?: number, // Max results (default: 5)
|
|
99
|
+
maxHops?: number // Graph traversal depth (default: 1, max: 3)
|
|
100
|
+
)
|
|
101
|
+
\`\`\`
|
|
102
|
+
|
|
103
|
+
Provide at least one of \`noteId\` or \`filePath\`. \`noteId\` values come from
|
|
104
|
+
\`search_knowledge\` results — use the numeric \`id\` field directly.
|
|
105
|
+
|
|
106
|
+
## How to Search (CLI Alternative)
|
|
107
|
+
|
|
108
|
+
\`\`\`bash
|
|
109
|
+
knowledgine search "<query>" # keyword search
|
|
110
|
+
knowledgine search "<query>" --mode semantic # semantic search
|
|
111
|
+
knowledgine search "<query>" --mode hybrid # hybrid search
|
|
112
|
+
knowledgine suggest --file src/commands/setup.ts # context-based by file path (suggest command)
|
|
113
|
+
\`\`\`
|
|
114
|
+
|
|
115
|
+
## Step-by-Step Instructions
|
|
116
|
+
|
|
117
|
+
1. **Choose your approach** — Do you have a specific query (Approach 1), or are you
|
|
118
|
+
starting from context like a file path or task description (Approach 2)?
|
|
119
|
+
|
|
120
|
+
2. **Extract your query**
|
|
121
|
+
- For Approach 1: Use the error message, function name, or known topic directly
|
|
122
|
+
- For Approach 2: Extract signals from file path, component name, task, or error;
|
|
123
|
+
combine 2–3 signals into a query (see \`search-strategy.md\`)
|
|
124
|
+
|
|
125
|
+
3. **Choose the mode**
|
|
126
|
+
- Exact terms → \`keyword\`
|
|
127
|
+
- Context signals or conceptual search → \`hybrid\`
|
|
128
|
+
- Known concept, uncertain wording → \`semantic\`
|
|
129
|
+
|
|
130
|
+
4. **Call search_knowledge** — Pass query, mode, and limit (5–10 is usually sufficient;
|
|
131
|
+
default is 20)
|
|
132
|
+
|
|
133
|
+
5. **Evaluate results** — Read the returned notes for relevance; note any IDs of
|
|
134
|
+
highly relevant results
|
|
135
|
+
|
|
136
|
+
6. **Traverse related notes (optional)** — If a result looks highly relevant, call
|
|
137
|
+
\`find_related\` with its numeric \`noteId\` or the current \`filePath\` to discover
|
|
138
|
+
connected notes via the knowledge graph
|
|
139
|
+
|
|
140
|
+
7. **Apply findings** — Use relevant past solutions or decisions to inform your work
|
|
141
|
+
|
|
142
|
+
8. **Capture if new** — If you discover a new solution, use knowledgine-capture to
|
|
143
|
+
save it
|
|
144
|
+
|
|
145
|
+
## Best Practices
|
|
146
|
+
|
|
147
|
+
- Search before proposing a solution, not after
|
|
148
|
+
- Use the actual error message text as a query — it is the most targeted search
|
|
149
|
+
- Try multiple queries if the first returns no results
|
|
150
|
+
- At session start, run a context-based search (Approach 2) for the primary work area,
|
|
151
|
+
then use targeted queries (Approach 1) as specific issues arise
|
|
152
|
+
- Prioritize notes tagged with \`bug-fix\` or \`troubleshooting\` — they contain warnings
|
|
153
|
+
- Notes tagged \`design-decision\` are especially valuable before making changes
|
|
154
|
+
- The \`noteId\` parameter of \`find_related\` is a number — pass the integer id field
|
|
155
|
+
from search results, not a string
|
|
156
|
+
|
|
157
|
+
## Edge Cases
|
|
158
|
+
|
|
159
|
+
- **Knowledge base is empty** — If \`search_knowledge\` returns no results at all,
|
|
160
|
+
the knowledge base may not have been populated yet. Suggest using knowledgine-ingest
|
|
161
|
+
to index the codebase or knowledgine-capture to start recording knowledge.
|
|
162
|
+
- **Semantic or hybrid mode returns an error** — Embeddings may not be configured.
|
|
163
|
+
Fall back to \`keyword\` mode, which relies only on SQLite FTS5 and always works.
|
|
164
|
+
- **find_related returns an error for a noteId** — Confirm the value is a positive
|
|
165
|
+
integer from a \`search_knowledge\` result, not a string representation.
|
|
166
|
+
|
|
167
|
+
## Reference Files
|
|
168
|
+
|
|
169
|
+
- See \`search-strategy.md\` for mode selection, context signal extraction, workflow
|
|
170
|
+
patterns, and result interpretation
|
|
171
|
+
- See \`query-tips.md\` for query formulation templates, fallback strategies, and
|
|
172
|
+
limit guidance
|
|
173
|
+
`;
|
|
174
|
+
//# sourceMappingURL=skill-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/templates/skills/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,uBAAwB,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,eAAO,MAAM,cAAc,EAAE,eAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/templates/skills/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAoB,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knowledgine/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"log-symbols": "^7.0.1",
|
|
26
26
|
"ora": "^9.3.0",
|
|
27
27
|
"smol-toml": "^1.6.1",
|
|
28
|
-
"@knowledgine/
|
|
29
|
-
"@knowledgine/
|
|
30
|
-
"@knowledgine/
|
|
28
|
+
"@knowledgine/mcp-server": "0.6.0",
|
|
29
|
+
"@knowledgine/core": "0.6.0",
|
|
30
|
+
"@knowledgine/ingest": "0.6.0"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
33
|
"dist",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { KnowledgeRepository, GraphRepository } from "@knowledgine/core";
|
|
2
|
-
export interface PostIngestSummary {
|
|
3
|
-
totalNotes: number;
|
|
4
|
-
processedNotes: number;
|
|
5
|
-
totalEntities: number;
|
|
6
|
-
totalRelations: number;
|
|
7
|
-
totalPatterns: number;
|
|
8
|
-
errors: number;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* 全ノートに対してパターン抽出、エンティティ抽出、関係推論をバッチ実行する。
|
|
12
|
-
* init コマンドから ingest パイプライン経由でノートが保存された後に呼ばれる。
|
|
13
|
-
*
|
|
14
|
-
* @deprecated 新規コードは IncrementalExtractor を直接使用してください
|
|
15
|
-
*/
|
|
16
|
-
export declare function postIngestProcessing(repository: KnowledgeRepository, graphRepository: GraphRepository, onProgress?: (current: number, total: number) => void): Promise<PostIngestSummary>;
|
|
17
|
-
//# sourceMappingURL=entity-extractor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity-extractor.d.ts","sourceRoot":"","sources":["../../src/lib/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,mBAAmB,EAC/B,eAAe,EAAE,eAAe,EAChC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,iBAAiB,CAAC,CAe5B"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { KnowledgeRepository, GraphRepository, IncrementalExtractor } from "@knowledgine/core";
|
|
2
|
-
/**
|
|
3
|
-
* 全ノートに対してパターン抽出、エンティティ抽出、関係推論をバッチ実行する。
|
|
4
|
-
* init コマンドから ingest パイプライン経由でノートが保存された後に呼ばれる。
|
|
5
|
-
*
|
|
6
|
-
* @deprecated 新規コードは IncrementalExtractor を直接使用してください
|
|
7
|
-
*/
|
|
8
|
-
export async function postIngestProcessing(repository, graphRepository, onProgress) {
|
|
9
|
-
const allNoteIds = repository.getAllNoteIds();
|
|
10
|
-
const totalNotes = allNoteIds.length;
|
|
11
|
-
const incrementalExtractor = new IncrementalExtractor(repository, graphRepository);
|
|
12
|
-
const summary = await incrementalExtractor.process(allNoteIds, onProgress);
|
|
13
|
-
return {
|
|
14
|
-
totalNotes,
|
|
15
|
-
processedNotes: summary.processedNotes,
|
|
16
|
-
totalEntities: summary.totalEntities,
|
|
17
|
-
totalRelations: summary.totalRelations,
|
|
18
|
-
totalPatterns: summary.totalPatterns,
|
|
19
|
-
errors: summary.errors,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=entity-extractor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../src/lib/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAW/F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA+B,EAC/B,eAAgC,EAChC,UAAqD;IAErD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IAErC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const SKILL_MD = "---\nname: knowledgine-explain\ndescription: >\n Explore entities, knowledge graph connections, and design history for unfamiliar\n components. Invoke when exploring code you did not write, tracing the history of a\n design decision, or understanding how a named entity (technology, library, project,\n person) relates to other parts of the knowledge base.\n---\n# knowledgine-explain\n\n## Purpose\n\nTrace the knowledge graph to understand why things are the way they are. Explain uses\nentity search and graph traversal to surface the full context around a component or\nconcept \u2014 not just what exists, but how it connects to other parts of the system and\nwhat decisions shaped it.\n\n## When to Use\n\n- **Exploring unfamiliar code** \u2014 Who wrote what and why? What decisions shaped this?\n- **Understanding design rationale** \u2014 What alternatives were considered?\n- **Tracing knowledge provenance** \u2014 Where did this pattern or approach come from?\n- **Auditing a technology choice** \u2014 Why is this library used here?\n- **Understanding relationships** \u2014 How do components A and B relate?\n\n## When NOT to Use\n\n- When you just need to find a specific past solution (use knowledgine-recall instead)\n- When the entity does not exist in the knowledge base yet\n- For trivial well-known concepts with no project-specific context\n\n## How to Explain (MCP Tools)\n\n### Step 1: Search for entities\n\n```\nsearch_entities(\n query: string, // Entity name, technology, concept, or person\n limit?: number // Max results (default 10)\n)\n```\n\n### Step 2: Explore entity graph\n\n```\nget_entity_graph(\n entityId?: string, // ID from search_entities result\n entityName?: string // Or search by name directly\n)\n```\n\n### Step 3: Find related notes\n\n```\nfind_related(\n noteId?: string, // A relevant note ID found in earlier steps\n filePath?: string, // Or a relevant file path\n limit?: number,\n maxHops?: number // 1\u20133, default 2\n)\n```\n\n## How to Explain (CLI Alternative)\n\n```bash\nknowledgine explain \"<entity name or concept>\"\n```\n\n## Step-by-Step Instructions\n\n1. **Identify the subject** \u2014 What entity, component, or concept do you want to understand?\n2. **Search for the entity** \u2014 Call `search_entities` with the subject name\n3. **Inspect the entity graph** \u2014 Call `get_entity_graph` with the entity ID\n4. **Traverse related notes** \u2014 Call `find_related` for notes that mention this entity\n5. **Synthesize findings** \u2014 Summarize what you learned about the entity's history and connections\n\n## Best Practices\n\n- Start with `search_entities` to discover the exact entity name as stored in the knowledge base\n- Use `get_entity_graph` to map the neighborhood before diving into individual notes\n- Increase `maxHops` gradually \u2014 start at 1, go to 2 or 3 if the immediate neighborhood is sparse\n- Look specifically for notes tagged `design-decision` \u2014 they explain the \"why\"\n\n## Reference Files\n\n- See `entity-types.md` for the entity taxonomy used in knowledgine\n- See `graph-navigation.md` for how to traverse the knowledge graph effectively\n";
|
|
2
|
-
//# sourceMappingURL=skill-md.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,wnGAuFpB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFvB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-recall/references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GvB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FlB;CACA,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const SKILL_MD = "---\nname: knowledgine-recall\ndescription: >\n Search the local knowledge base for past solutions, design decisions, and patterns\n before starting work. Invoke when facing an error or exception, when approaching an\n unfamiliar area of the codebase, or when considering implementation approaches.\n Prevents re-solving already-solved problems and surfaces relevant context proactively.\n---\n# knowledgine-recall\n\n## Purpose\n\nSearch accumulated project knowledge before solving problems from scratch. The knowledge\nbase contains past bug fixes, design decisions, troubleshooting records, and patterns\ngathered across all previous sessions. Searching first avoids duplicate work and surfaces\nwarnings about known pitfalls.\n\n## When to Use\n\n- **Error or exception encountered** \u2014 Search for the exact error message or key terms\n- **Unfamiliar code area** \u2014 Search for context about the component or module\n- **Implementation choice** \u2014 Search for past decisions on the same topic\n- **Considering a library or approach** \u2014 Search for known gotchas or prior art\n- **Starting work on a file** \u2014 Search for related notes about that file path\n\n## When NOT to Use\n\n- Purely mechanical tasks with no ambiguity (renaming a variable, formatting)\n- When you have already searched and found no relevant results within this session\n- Do not call recall on every single action \u2014 use judgment\n\n## How to Search (MCP Tool)\n\nUse the `search_knowledge` MCP tool:\n\n```\nsearch_knowledge(\n query: string, // Search query \u2014 see query tips below\n mode: \"keyword\" // \"keyword\" | \"semantic\" | \"hybrid\"\n | \"semantic\" // keyword: exact text match (fast, precise)\n | \"hybrid\", // semantic: meaning-based (requires embeddings)\n // hybrid: combines both (best results)\n limit?: number // Max results (default 10)\n)\n```\n\n## How to Search (CLI Alternative)\n\n```bash\nknowledgine recall \"<query>\" # keyword search\nknowledgine recall \"<query>\" --mode semantic # semantic search\nknowledgine recall \"<query>\" --mode hybrid # hybrid search\n```\n\n## Choosing Search Mode\n\n| Situation | Mode |\n|-----------|------|\n| You have an exact error message | `keyword` |\n| You remember specific function or variable names | `keyword` |\n| You know the concept but not the exact wording | `semantic` |\n| General exploration of a topic | `hybrid` |\n| Embeddings not available (FTS5-only setup) | `keyword` (only option) |\n\n## Step-by-Step Instructions\n\n1. **Identify the query** \u2014 Extract the key terms from the problem (see search-strategy.md)\n2. **Choose mode** \u2014 keyword for precise terms, semantic or hybrid for concepts\n3. **Call search_knowledge** \u2014 Pass query, mode, limit (5\u201310 is usually sufficient)\n4. **Evaluate results** \u2014 Read the returned notes for relevance\n5. **Apply findings** \u2014 Use relevant past solutions or decisions to inform your work\n6. **Capture if new** \u2014 If you discover a new solution, use knowledgine-capture to save it\n\n## Best Practices\n\n- Search before proposing a solution, not after\n- Use the actual error message text as a query \u2014 it is the most targeted search\n- Try multiple queries if the first returns no results\n- Combine recall + suggest at session start for comprehensive context\n\n## Reference Files\n\n- See `search-strategy.md` for when to use keyword vs semantic vs hybrid\n- See `query-tips.md` for how to formulate effective queries\n";
|
|
2
|
-
//# sourceMappingURL=skill-md.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-recall/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,kiHAoFpB,CAAC"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
export const SKILL_MD = `---
|
|
2
|
-
name: knowledgine-recall
|
|
3
|
-
description: >
|
|
4
|
-
Search the local knowledge base for past solutions, design decisions, and patterns
|
|
5
|
-
before starting work. Invoke when facing an error or exception, when approaching an
|
|
6
|
-
unfamiliar area of the codebase, or when considering implementation approaches.
|
|
7
|
-
Prevents re-solving already-solved problems and surfaces relevant context proactively.
|
|
8
|
-
---
|
|
9
|
-
# knowledgine-recall
|
|
10
|
-
|
|
11
|
-
## Purpose
|
|
12
|
-
|
|
13
|
-
Search accumulated project knowledge before solving problems from scratch. The knowledge
|
|
14
|
-
base contains past bug fixes, design decisions, troubleshooting records, and patterns
|
|
15
|
-
gathered across all previous sessions. Searching first avoids duplicate work and surfaces
|
|
16
|
-
warnings about known pitfalls.
|
|
17
|
-
|
|
18
|
-
## When to Use
|
|
19
|
-
|
|
20
|
-
- **Error or exception encountered** — Search for the exact error message or key terms
|
|
21
|
-
- **Unfamiliar code area** — Search for context about the component or module
|
|
22
|
-
- **Implementation choice** — Search for past decisions on the same topic
|
|
23
|
-
- **Considering a library or approach** — Search for known gotchas or prior art
|
|
24
|
-
- **Starting work on a file** — Search for related notes about that file path
|
|
25
|
-
|
|
26
|
-
## When NOT to Use
|
|
27
|
-
|
|
28
|
-
- Purely mechanical tasks with no ambiguity (renaming a variable, formatting)
|
|
29
|
-
- When you have already searched and found no relevant results within this session
|
|
30
|
-
- Do not call recall on every single action — use judgment
|
|
31
|
-
|
|
32
|
-
## How to Search (MCP Tool)
|
|
33
|
-
|
|
34
|
-
Use the \`search_knowledge\` MCP tool:
|
|
35
|
-
|
|
36
|
-
\`\`\`
|
|
37
|
-
search_knowledge(
|
|
38
|
-
query: string, // Search query — see query tips below
|
|
39
|
-
mode: "keyword" // "keyword" | "semantic" | "hybrid"
|
|
40
|
-
| "semantic" // keyword: exact text match (fast, precise)
|
|
41
|
-
| "hybrid", // semantic: meaning-based (requires embeddings)
|
|
42
|
-
// hybrid: combines both (best results)
|
|
43
|
-
limit?: number // Max results (default 10)
|
|
44
|
-
)
|
|
45
|
-
\`\`\`
|
|
46
|
-
|
|
47
|
-
## How to Search (CLI Alternative)
|
|
48
|
-
|
|
49
|
-
\`\`\`bash
|
|
50
|
-
knowledgine recall "<query>" # keyword search
|
|
51
|
-
knowledgine recall "<query>" --mode semantic # semantic search
|
|
52
|
-
knowledgine recall "<query>" --mode hybrid # hybrid search
|
|
53
|
-
\`\`\`
|
|
54
|
-
|
|
55
|
-
## Choosing Search Mode
|
|
56
|
-
|
|
57
|
-
| Situation | Mode |
|
|
58
|
-
|-----------|------|
|
|
59
|
-
| You have an exact error message | \`keyword\` |
|
|
60
|
-
| You remember specific function or variable names | \`keyword\` |
|
|
61
|
-
| You know the concept but not the exact wording | \`semantic\` |
|
|
62
|
-
| General exploration of a topic | \`hybrid\` |
|
|
63
|
-
| Embeddings not available (FTS5-only setup) | \`keyword\` (only option) |
|
|
64
|
-
|
|
65
|
-
## Step-by-Step Instructions
|
|
66
|
-
|
|
67
|
-
1. **Identify the query** — Extract the key terms from the problem (see search-strategy.md)
|
|
68
|
-
2. **Choose mode** — keyword for precise terms, semantic or hybrid for concepts
|
|
69
|
-
3. **Call search_knowledge** — Pass query, mode, limit (5–10 is usually sufficient)
|
|
70
|
-
4. **Evaluate results** — Read the returned notes for relevance
|
|
71
|
-
5. **Apply findings** — Use relevant past solutions or decisions to inform your work
|
|
72
|
-
6. **Capture if new** — If you discover a new solution, use knowledgine-capture to save it
|
|
73
|
-
|
|
74
|
-
## Best Practices
|
|
75
|
-
|
|
76
|
-
- Search before proposing a solution, not after
|
|
77
|
-
- Use the actual error message text as a query — it is the most targeted search
|
|
78
|
-
- Try multiple queries if the first returns no results
|
|
79
|
-
- Combine recall + suggest at session start for comprehensive context
|
|
80
|
-
|
|
81
|
-
## Reference Files
|
|
82
|
-
|
|
83
|
-
- See \`search-strategy.md\` for when to use keyword vs semantic vs hybrid
|
|
84
|
-
- See \`query-tips.md\` for how to formulate effective queries
|
|
85
|
-
`;
|
|
86
|
-
//# sourceMappingURL=skill-md.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-suggest/references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuH7C,CAAC"}
|