@knowledgine/cli 0.5.0 → 0.6.1
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,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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export const REFERENCES = {
|
|
2
2
|
"search-strategy.md": `# Search Strategy
|
|
3
3
|
|
|
4
|
-
How to choose the right search mode and build an effective
|
|
4
|
+
How to choose the right search mode, extract context signals, and build an effective
|
|
5
|
+
search workflow combining query search, context-based suggestions, and graph traversal.
|
|
5
6
|
|
|
6
7
|
---
|
|
7
8
|
|
|
@@ -51,7 +52,8 @@ search_knowledge(query: "user authentication token expiry", mode: "semantic")
|
|
|
51
52
|
Combines keyword and semantic scores. Returns the best of both modes.
|
|
52
53
|
|
|
53
54
|
**Best for**:
|
|
54
|
-
-
|
|
55
|
+
- Context-based queries derived from file paths, task descriptions, or feature areas
|
|
56
|
+
- Most general-purpose exploration
|
|
55
57
|
- When you are unsure which mode is better
|
|
56
58
|
- Complex queries mixing exact terms and concepts
|
|
57
59
|
|
|
@@ -62,11 +64,64 @@ search_knowledge(query: "TypeScript null safety database repository", mode: "hyb
|
|
|
62
64
|
|
|
63
65
|
---
|
|
64
66
|
|
|
67
|
+
## Context Signal Extraction
|
|
68
|
+
|
|
69
|
+
When you do not have a specific search query, extract signals from the current work context.
|
|
70
|
+
|
|
71
|
+
### Signal Types
|
|
72
|
+
|
|
73
|
+
| Signal Type | Example Input | Extracted Query |
|
|
74
|
+
|-------------|---------------|-----------------|
|
|
75
|
+
| File path | \`src/commands/setup.ts\` | \`"setup command configuration"\` |
|
|
76
|
+
| File path | \`packages/core/src/config/config-loader.ts\` | \`"config loader configuration"\` |
|
|
77
|
+
| File path | \`packages/ingest/src/plugins/github.ts\` | \`"github ingest plugin"\` |
|
|
78
|
+
| Component name | \`SetupCommand\`, \`KnowledgeRepository\` | Use directly as keyword query |
|
|
79
|
+
| Task description | "Add support for TOML config files in the setup command" | \`"TOML configuration setup"\` |
|
|
80
|
+
| Task description | "Fix entity extraction pipeline for empty documents" | \`"entity extraction empty document"\` |
|
|
81
|
+
| Error message | "SQLITE_ERROR: table entities has no column 'confidence'" | \`"SQLITE_ERROR entities column"\` |
|
|
82
|
+
| Feature area | MCP configuration | \`"MCP server configuration"\` |
|
|
83
|
+
| Feature area | Search | \`"search_knowledge FTS5 semantic"\` |
|
|
84
|
+
|
|
85
|
+
### Multi-Signal Queries
|
|
86
|
+
|
|
87
|
+
Combine 2–3 signals for more targeted results:
|
|
88
|
+
|
|
89
|
+
\`\`\`
|
|
90
|
+
// File + task
|
|
91
|
+
query: "config-loader TOML parsing"
|
|
92
|
+
|
|
93
|
+
// Component + problem type
|
|
94
|
+
query: "KnowledgeRepository null safety"
|
|
95
|
+
|
|
96
|
+
// Technology + pattern
|
|
97
|
+
query: "sqlite migration schema change"
|
|
98
|
+
\`\`\`
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
65
102
|
## Workflow Patterns
|
|
66
103
|
|
|
67
|
-
### Pattern 1:
|
|
104
|
+
### Pattern 1: Session Start
|
|
105
|
+
|
|
106
|
+
When beginning work on a known area:
|
|
107
|
+
|
|
108
|
+
1. Extract context from the primary file or feature area
|
|
109
|
+
2. Run hybrid search with the combined context query
|
|
110
|
+
3. Review top 3–5 results and note any warnings or past decisions
|
|
111
|
+
4. Use \`find_related\` with the current file path to discover connected notes
|
|
112
|
+
5. Proceed with targeted keyword queries as specific issues arise
|
|
113
|
+
|
|
114
|
+
\`\`\`
|
|
115
|
+
// Step 1: Context-based search
|
|
116
|
+
search_knowledge(query: "setup command MCP configuration", mode: "hybrid", limit: 10)
|
|
117
|
+
|
|
118
|
+
// Step 2: Graph traversal
|
|
119
|
+
find_related(filePath: "src/commands/setup.ts", limit: 5)
|
|
120
|
+
\`\`\`
|
|
68
121
|
|
|
69
|
-
|
|
122
|
+
### Pattern 2: Error Encountered
|
|
123
|
+
|
|
124
|
+
When an error or exception occurs:
|
|
70
125
|
|
|
71
126
|
1. Copy the exact error message
|
|
72
127
|
2. Run keyword search with the error message
|
|
@@ -80,26 +135,34 @@ Error: "Cannot find module '@knowledgine/core'"
|
|
|
80
135
|
→ semantic: "TypeScript module not found build error"
|
|
81
136
|
\`\`\`
|
|
82
137
|
|
|
83
|
-
### Pattern
|
|
138
|
+
### Pattern 3: Exploring Unfamiliar Code
|
|
84
139
|
|
|
85
|
-
When
|
|
140
|
+
When approaching an unfamiliar component or module:
|
|
86
141
|
|
|
87
142
|
1. Search by file path: \`keyword: "src/commands/setup.ts"\`
|
|
88
143
|
2. Search by component name: \`keyword: "setupCommand"\`
|
|
89
144
|
3. Search by topic: \`semantic: "MCP configuration setup"\`
|
|
145
|
+
4. Traverse the graph from any relevant result: \`find_related(noteId: <id>, maxHops: 2)\`
|
|
90
146
|
|
|
91
|
-
### Pattern
|
|
147
|
+
### Pattern 4: Before Making a Change
|
|
92
148
|
|
|
93
|
-
Before
|
|
149
|
+
Before an architectural decision or significant change:
|
|
94
150
|
|
|
95
151
|
1. Search for past decisions: \`keyword: "design-decision <topic>"\`
|
|
96
152
|
2. Search for related patterns: \`semantic: "<concept> pattern implementation"\`
|
|
97
|
-
3.
|
|
153
|
+
3. Use \`find_related\` with a relevant noteId to find connected decisions
|
|
98
154
|
|
|
99
155
|
---
|
|
100
156
|
|
|
101
157
|
## Result Interpretation
|
|
102
158
|
|
|
159
|
+
### Keyword Mode (BM25 Score)
|
|
160
|
+
|
|
161
|
+
Results are ranked by BM25 relevance score. Higher is better; no fixed scale.
|
|
162
|
+
Focus on the top 3–5 results unless you are building comprehensive context.
|
|
163
|
+
|
|
164
|
+
### Semantic Mode (Cosine Similarity)
|
|
165
|
+
|
|
103
166
|
| Score | Meaning |
|
|
104
167
|
|-------|---------|
|
|
105
168
|
| > 0.9 | Very strong match — highly likely relevant |
|
|
@@ -107,12 +170,40 @@ Before making an architectural choice:
|
|
|
107
170
|
| 0.5–0.7 | Weak match — may or may not be relevant |
|
|
108
171
|
| < 0.5 | Marginal — usually skip unless no better results |
|
|
109
172
|
|
|
110
|
-
|
|
111
|
-
|
|
173
|
+
### Hybrid Mode
|
|
174
|
+
|
|
175
|
+
Scores combine BM25 and cosine similarity. Treat the ranking as a combined signal;
|
|
176
|
+
the absolute values are less meaningful than the relative order.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Graph Traversal with find_related
|
|
181
|
+
|
|
182
|
+
After finding an initial relevant note, use \`find_related\` to discover connected notes:
|
|
183
|
+
|
|
184
|
+
\`\`\`
|
|
185
|
+
// Use the numeric note ID from a search result
|
|
186
|
+
find_related(noteId: 42, limit: 5, maxHops: 1)
|
|
187
|
+
|
|
188
|
+
// Or search by the current file path directly
|
|
189
|
+
find_related(filePath: "packages/core/src/config/config-loader.ts", limit: 5)
|
|
190
|
+
\`\`\`
|
|
191
|
+
|
|
192
|
+
**IMPORTANT**: \`noteId\` must be a number (integer), not a string. Use the \`id\` field
|
|
193
|
+
from \`search_knowledge\` results directly.
|
|
194
|
+
|
|
195
|
+
**maxHops guidance**:
|
|
196
|
+
|
|
197
|
+
| maxHops | Effect |
|
|
198
|
+
|---------|--------|
|
|
199
|
+
| 1 | Direct references only — fast, focused (default) |
|
|
200
|
+
| 2 | One degree of separation — good for exploration |
|
|
201
|
+
| 3 | Broader graph — use for open-ended discovery |
|
|
112
202
|
`,
|
|
113
203
|
"query-tips.md": `# Query Tips
|
|
114
204
|
|
|
115
|
-
How to formulate effective search queries for different situations
|
|
205
|
+
How to formulate effective search queries for different situations, with templates,
|
|
206
|
+
fallback strategies, and limit guidance.
|
|
116
207
|
|
|
117
208
|
---
|
|
118
209
|
|
|
@@ -168,6 +259,15 @@ keyword: "pattern <concept>"
|
|
|
168
259
|
semantic: "reusable pattern for <problem type>"
|
|
169
260
|
\`\`\`
|
|
170
261
|
|
|
262
|
+
### Context-Based (Session Start or File Open)
|
|
263
|
+
\`\`\`
|
|
264
|
+
// Combine file area + task
|
|
265
|
+
hybrid: "<module-name> <task-noun>"
|
|
266
|
+
|
|
267
|
+
// Feature area
|
|
268
|
+
hybrid: "<feature area> <technology>"
|
|
269
|
+
\`\`\`
|
|
270
|
+
|
|
171
271
|
---
|
|
172
272
|
|
|
173
273
|
## When First Query Returns Nothing
|
|
@@ -178,7 +278,8 @@ Try these fallback strategies in order:
|
|
|
178
278
|
- \`"SQLITE_ERROR: table notes has no column 'embedding'"\`
|
|
179
279
|
- → \`"sqlite migration column"\`
|
|
180
280
|
|
|
181
|
-
2. **Switch modes** — If keyword failed, try semantic
|
|
281
|
+
2. **Switch modes** — If keyword failed, try semantic or hybrid; if semantic failed,
|
|
282
|
+
try keyword
|
|
182
283
|
|
|
183
284
|
3. **Synonym query** — Use related terms
|
|
184
285
|
- \`"authentication"\` → \`"auth session token login"\`
|
|
@@ -187,8 +288,8 @@ Try these fallback strategies in order:
|
|
|
187
288
|
- \`"bug-fix typescript"\`
|
|
188
289
|
- \`"design-decision database"\`
|
|
189
290
|
|
|
190
|
-
5. **Accept no results** — Not every problem has been captured before.
|
|
191
|
-
|
|
291
|
+
5. **Accept no results** — Not every problem has been captured before. After solving
|
|
292
|
+
it, use knowledgine-capture to record the solution.
|
|
192
293
|
|
|
193
294
|
---
|
|
194
295
|
|
|
@@ -197,11 +298,15 @@ Try these fallback strategies in order:
|
|
|
197
298
|
| Situation | Recommended limit |
|
|
198
299
|
|-----------|-------------------|
|
|
199
300
|
| Quick lookup (known topic) | 3–5 |
|
|
200
|
-
| General exploration | 10
|
|
201
|
-
| Building full context | 15–20 |
|
|
202
|
-
| Finding rare entries | 20
|
|
301
|
+
| General exploration | 10 |
|
|
302
|
+
| Building full context at session start | 15–20 |
|
|
303
|
+
| Finding rare entries | 20 (default) |
|
|
304
|
+
|
|
305
|
+
The default limit for \`search_knowledge\` is **20**. Use lower limits when your query
|
|
306
|
+
is precise to avoid noise. The default limit for \`find_related\` is **5** — this is
|
|
307
|
+
appropriate for most graph traversal operations.
|
|
203
308
|
|
|
204
|
-
Higher limits slow down search marginally; prefer lower limits when query is precise.
|
|
309
|
+
Higher limits slow down search marginally; prefer lower limits when the query is precise.
|
|
205
310
|
`,
|
|
206
311
|
};
|
|
207
312
|
//# sourceMappingURL=references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwMvB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2GlB;CACA,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SKILL_MD = "---\nname: knowledgine-search\nversion: \"1.0.0\"\nlang: en\ndescription: >\n Search the local knowledge base for past solutions, design decisions, and patterns.\n Invoke when facing an error, approaching unfamiliar code, starting a session, opening\n a new file, or considering implementation approaches. Supports three modes: direct\n query search, context-based suggestions, and graph-based related note discovery.\n---\n# knowledgine-search\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. This skill unifies direct query search and\ncontext-based discovery into a single workflow, preventing duplicate work and surfacing\nrelevant context proactively.\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 a session** \u2014 Get context about the area you will work in\n- **Opening a new file** \u2014 Discover past knowledge about that component\n- **Beginning a feature** \u2014 Find related patterns and past decisions\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- After already running context-based search for the same file in the same session\n- Do not call search on every single action \u2014 use judgment\n\n## Search Approaches\n\n### Approach 1: Query Search\n\nYou have specific terms \u2014 an error message, a function name, or a known topic.\n\nUse `search_knowledge` with the specific terms. Start with `keyword` mode for exact\nmatches; switch to `semantic` or `hybrid` when the exact wording is uncertain.\n\n### Approach 2: Context-Based Search\n\nYou are starting work on a file or task without a specific query in mind.\n\nExtract signals from the current file path, component name, task description, or error\nmessage. Combine 2\u20133 signals into a query and use `hybrid` mode for best results. See\n`search-strategy.md` for how to extract context signals.\n\n### Approach 3: Related Note Discovery\n\nYou have found a relevant note and want to discover connected notes in the knowledge graph.\n\nCall `find_related` with the `noteId` (as a number) from the relevant result, or with\nthe current `filePath`. This traverses the knowledge graph to surface notes linked by\nentity relationships, problem-solution pairs, and file associations.\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| Starting work with context signals (file, task, feature) | `hybrid` |\n| General exploration of a topic | `hybrid` |\n| Embeddings not available (FTS5-only setup) | `keyword` (only option) |\n\n## How to Search (MCP Tools)\n\n### search_knowledge\n\n```\nsearch_knowledge(\n query: string, // Search query\n mode?: \"keyword\" // \"keyword\" | \"semantic\" | \"hybrid\"\n | \"semantic\" // keyword: exact text match via FTS5 (default)\n | \"hybrid\", // semantic: meaning-based, requires embeddings\n // hybrid: combines both\n limit?: number, // Max results (default: 20)\n agentic?: boolean, // Include deprecated notes (default: false)\n includeDeprecated?: boolean // Include deprecated notes (default: false)\n)\n```\n\n### find_related\n\n```\nfind_related(\n noteId?: number, // ID of a note \u2014 must be a NUMBER (integer), not a string\n filePath?: string, // File path to find related notes for\n limit?: number, // Max results (default: 5)\n maxHops?: number // Graph traversal depth (default: 1, max: 3)\n)\n```\n\nProvide at least one of `noteId` or `filePath`. `noteId` values come from\n`search_knowledge` results \u2014 use the numeric `id` field directly.\n\n## How to Search (CLI Alternative)\n\n```bash\nknowledgine search \"<query>\" # keyword search\nknowledgine search \"<query>\" --mode semantic # semantic search\nknowledgine search \"<query>\" --mode hybrid # hybrid search\nknowledgine suggest --file src/commands/setup.ts # context-based by file path (suggest command)\n```\n\n## Step-by-Step Instructions\n\n1. **Choose your approach** \u2014 Do you have a specific query (Approach 1), or are you\n starting from context like a file path or task description (Approach 2)?\n\n2. **Extract your query**\n - For Approach 1: Use the error message, function name, or known topic directly\n - For Approach 2: Extract signals from file path, component name, task, or error;\n combine 2\u20133 signals into a query (see `search-strategy.md`)\n\n3. **Choose the mode**\n - Exact terms \u2192 `keyword`\n - Context signals or conceptual search \u2192 `hybrid`\n - Known concept, uncertain wording \u2192 `semantic`\n\n4. **Call search_knowledge** \u2014 Pass query, mode, and limit (5\u201310 is usually sufficient;\n default is 20)\n\n5. **Evaluate results** \u2014 Read the returned notes for relevance; note any IDs of\n highly relevant results\n\n6. **Traverse related notes (optional)** \u2014 If a result looks highly relevant, call\n `find_related` with its numeric `noteId` or the current `filePath` to discover\n connected notes via the knowledge graph\n\n7. **Apply findings** \u2014 Use relevant past solutions or decisions to inform your work\n\n8. **Capture if new** \u2014 If you discover a new solution, use knowledgine-capture to\n 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- At session start, run a context-based search (Approach 2) for the primary work area,\n then use targeted queries (Approach 1) as specific issues arise\n- Prioritize notes tagged with `bug-fix` or `troubleshooting` \u2014 they contain warnings\n- Notes tagged `design-decision` are especially valuable before making changes\n- The `noteId` parameter of `find_related` is a number \u2014 pass the integer id field\n from search results, not a string\n\n## Edge Cases\n\n- **Knowledge base is empty** \u2014 If `search_knowledge` returns no results at all,\n the knowledge base may not have been populated yet. Suggest using knowledgine-ingest\n to index the codebase or knowledgine-capture to start recording knowledge.\n- **Semantic or hybrid mode returns an error** \u2014 Embeddings may not be configured.\n Fall back to `keyword` mode, which relies only on SQLite FTS5 and always works.\n- **find_related returns an error for a noteId** \u2014 Confirm the value is a positive\n integer from a `search_knowledge` result, not a string representation.\n\n## Reference Files\n\n- See `search-strategy.md` for mode selection, context signal extraction, workflow\n patterns, and result interpretation\n- See `query-tips.md` for query formulation templates, fallback strategies, and\n limit guidance\n";
|
|
2
|
+
//# sourceMappingURL=skill-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,2+OA4KpB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SKILL_MD = "---\nname: knowledgine-search\nversion: \"1.0.0\"\nlang: ja\ndescription: >\n \u904E\u53BB\u306E\u89E3\u6C7A\u7B56\u3001\u8A2D\u8A08\u4E0A\u306E\u6C7A\u5B9A\u3001\u30D1\u30BF\u30FC\u30F3\u3092\u30ED\u30FC\u30AB\u30EB\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9\u304B\u3089\u691C\u7D22\u3057\u307E\u3059\u3002\n \u30A8\u30E9\u30FC\u306B\u76F4\u9762\u3057\u305F\u3068\u304D\u3001\u6163\u308C\u306A\u3044\u30B3\u30FC\u30C9\u306B\u53D6\u308A\u7D44\u3080\u3068\u304D\u3001\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB\u3059\u308B\u3068\u304D\u3001\n \u65B0\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u3068\u304D\u3001\u5B9F\u88C5\u30A2\u30D7\u30ED\u30FC\u30C1\u3092\u691C\u8A0E\u3059\u308B\u3068\u304D\u306B\u547C\u3073\u51FA\u3057\u307E\u3059\u3002\n \u30AF\u30A8\u30EA\u76F4\u63A5\u691C\u7D22\u30FB\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30D9\u30FC\u30B9\u306E\u30B5\u30B8\u30A7\u30B9\u30C8\u30FB\u30B0\u30E9\u30D5\u306B\u3088\u308B\u95A2\u9023\u30CE\u30FC\u30C8\u63A2\u7D22\u306E\n 3\u3064\u306E\u30E2\u30FC\u30C9\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\n---\n# knowledgine-search\n\n## \u76EE\u7684\n\n\u554F\u984C\u3092\u30BC\u30ED\u304B\u3089\u89E3\u6C7A\u3057\u3088\u3046\u3068\u3059\u308B\u524D\u306B\u3001\u84C4\u7A4D\u3055\u308C\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u77E5\u8B58\u3092\u691C\u7D22\u3057\u307E\u3059\u3002\n\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9\u306B\u306F\u3001\u904E\u53BB\u306E\u30D0\u30B0\u4FEE\u6B63\u3001\u8A2D\u8A08\u4E0A\u306E\u6C7A\u5B9A\u3001\u30C8\u30E9\u30D6\u30EB\u30B7\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0\u306E\u8A18\u9332\u3001\n\u305D\u3057\u3066\u5168\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u901A\u3058\u3066\u53CE\u96C6\u3055\u308C\u305F\u30D1\u30BF\u30FC\u30F3\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u3053\u306E\u30B9\u30AD\u30EB\u306F\n\u30AF\u30A8\u30EA\u76F4\u63A5\u691C\u7D22\u3068\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30D9\u30FC\u30B9\u306E\u63A2\u7D22\u3092\u5358\u4E00\u306E\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u7D71\u5408\u3057\u3001\n\u91CD\u8907\u4F5C\u696D\u3092\u9632\u3044\u3067\u95A2\u9023\u3059\u308B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u5148\u56DE\u308A\u3057\u3066\u63D0\u793A\u3057\u307E\u3059\u3002\n\n## \u4F7F\u7528\u3059\u308B\u30BF\u30A4\u30DF\u30F3\u30B0\n\n- **\u30A8\u30E9\u30FC\u3084\u4F8B\u5916\u304C\u767A\u751F\u3057\u305F\u3068\u304D** \u2014 \u6B63\u78BA\u306A\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u3084\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u691C\u7D22\u3059\u308B\n- **\u6163\u308C\u306A\u3044\u30B3\u30FC\u30C9\u9818\u57DF\u306B\u53D6\u308A\u7D44\u3080\u3068\u304D** \u2014 \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3084\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u95A2\u3059\u308B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u691C\u7D22\u3059\u308B\n- **\u5B9F\u88C5\u306E\u9078\u629E\u3092\u3059\u308B\u3068\u304D** \u2014 \u540C\u3058\u30C8\u30D4\u30C3\u30AF\u306B\u95A2\u3059\u308B\u904E\u53BB\u306E\u6C7A\u5B9A\u3092\u691C\u7D22\u3059\u308B\n- **\u30E9\u30A4\u30D6\u30E9\u30EA\u3084\u30A2\u30D7\u30ED\u30FC\u30C1\u3092\u691C\u8A0E\u3059\u308B\u3068\u304D** \u2014 \u65E2\u77E5\u306E\u843D\u3068\u3057\u7A74\u3084\u5148\u884C\u4E8B\u4F8B\u3092\u691C\u7D22\u3059\u308B\n- **\u30BB\u30C3\u30B7\u30E7\u30F3\u3092\u958B\u59CB\u3059\u308B\u3068\u304D** \u2014 \u4F5C\u696D\u3059\u308B\u9818\u57DF\u306B\u95A2\u3059\u308B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u53D6\u5F97\u3059\u308B\n- **\u65B0\u3057\u3044\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u3068\u304D** \u2014 \u305D\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306B\u95A2\u3059\u308B\u904E\u53BB\u306E\u77E5\u8B58\u3092\u767A\u898B\u3059\u308B\n- **\u6A5F\u80FD\u306E\u5B9F\u88C5\u3092\u59CB\u3081\u308B\u3068\u304D** \u2014 \u95A2\u9023\u3059\u308B\u30D1\u30BF\u30FC\u30F3\u3084\u904E\u53BB\u306E\u6C7A\u5B9A\u3092\u898B\u3064\u3051\u308B\n- **\u30D5\u30A1\u30A4\u30EB\u306E\u4F5C\u696D\u3092\u958B\u59CB\u3059\u308B\u3068\u304D** \u2014 \u305D\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u306B\u95A2\u9023\u3059\u308B\u30CE\u30FC\u30C8\u3092\u691C\u7D22\u3059\u308B\n\n## \u4F7F\u7528\u3057\u306A\u3044\u30BF\u30A4\u30DF\u30F3\u30B0\n\n- \u66D6\u6627\u3055\u306E\u306A\u3044\u7D14\u7C8B\u306B\u6A5F\u68B0\u7684\u306A\u30BF\u30B9\u30AF\uFF08\u5909\u6570\u306E\u30EA\u30CD\u30FC\u30E0\u3001\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306A\u3069\uFF09\n- \u3053\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u5185\u3067\u3059\u3067\u306B\u691C\u7D22\u3057\u3066\u95A2\u9023\u3059\u308B\u7D50\u679C\u304C\u898B\u3064\u304B\u3089\u306A\u304B\u3063\u305F\u3068\u304D\n- \u540C\u3058\u30D5\u30A1\u30A4\u30EB\u306B\u5BFE\u3057\u3066\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30D9\u30FC\u30B9\u306E\u691C\u7D22\u3092\u3059\u3067\u306B\u5B9F\u884C\u6E08\u307F\u306E\u3068\u304D\n- \u3059\u3079\u3066\u306E\u64CD\u4F5C\u3067\u691C\u7D22\u3092\u547C\u3073\u51FA\u3059\u3053\u3068\u306F\u907F\u3051\u308B \u2014 \u5224\u65AD\u3057\u3066\u4F7F\u7528\u3059\u308B\n\n## \u691C\u7D22\u30A2\u30D7\u30ED\u30FC\u30C1\n\n### \u30A2\u30D7\u30ED\u30FC\u30C1 1: \u30AF\u30A8\u30EA\u691C\u7D22\n\n\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u3001\u95A2\u6570\u540D\u3001\u307E\u305F\u306F\u65E2\u77E5\u306E\u30C8\u30D4\u30C3\u30AF\u306A\u3069\u3001\u5177\u4F53\u7684\u306A\u8A9E\u53E5\u304C\u3042\u308B\u5834\u5408\u3002\n\n\u7279\u5B9A\u306E\u8A9E\u53E5\u3067 `search_knowledge` \u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u5B8C\u5168\u4E00\u81F4\u306B\u306F `keyword` \u30E2\u30FC\u30C9\u304B\u3089\u59CB\u3081\u3001\n\u6B63\u78BA\u306A\u8868\u73FE\u304C\u4E0D\u78BA\u304B\u306A\u5834\u5408\u306F `semantic` \u307E\u305F\u306F `hybrid` \u306B\u5207\u308A\u66FF\u3048\u307E\u3059\u3002\n\n### \u30A2\u30D7\u30ED\u30FC\u30C1 2: \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30D9\u30FC\u30B9\u306E\u691C\u7D22\n\n\u7279\u5B9A\u306E\u30AF\u30A8\u30EA\u306A\u3057\u306B\u3001\u30D5\u30A1\u30A4\u30EB\u3084\u30BF\u30B9\u30AF\u306E\u4F5C\u696D\u3092\u958B\u59CB\u3059\u308B\u5834\u5408\u3002\n\n\u73FE\u5728\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3001\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\u3001\u30BF\u30B9\u30AF\u306E\u8AAC\u660E\u3001\u307E\u305F\u306F\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u304B\u3089\n\u30B7\u30B0\u30CA\u30EB\u3092\u62BD\u51FA\u3057\u307E\u3059\u30022\u301C3\u500B\u306E\u30B7\u30B0\u30CA\u30EB\u3092\u7D44\u307F\u5408\u308F\u305B\u3066\u30AF\u30A8\u30EA\u3092\u4F5C\u6210\u3057\u3001\n\u6700\u826F\u306E\u7D50\u679C\u3092\u5F97\u308B\u306B\u306F `hybrid` \u30E2\u30FC\u30C9\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B7\u30B0\u30CA\u30EB\u306E\n\u62BD\u51FA\u65B9\u6CD5\u306B\u3064\u3044\u3066\u306F `search-strategy.md` \u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\n### \u30A2\u30D7\u30ED\u30FC\u30C1 3: \u95A2\u9023\u30CE\u30FC\u30C8\u306E\u63A2\u7D22\n\n\u95A2\u9023\u3059\u308B\u30CE\u30FC\u30C8\u3092\u898B\u3064\u3051\u3066\u3001\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\u5185\u306E\u63A5\u7D9A\u3055\u308C\u305F\u30CE\u30FC\u30C8\u3092\u767A\u898B\u3057\u305F\u3044\u5834\u5408\u3002\n\n\u95A2\u9023\u3059\u308B\u7D50\u679C\u306E `noteId`\uFF08\u6570\u5024\u3068\u3057\u3066\uFF09\u307E\u305F\u306F\u73FE\u5728\u306E `filePath` \u3092\u4F7F\u3063\u3066\n`find_related` \u3092\u547C\u3073\u51FA\u3057\u307E\u3059\u3002\u3053\u308C\u306F\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\u3092\u8D70\u67FB\u3057\u3066\u3001\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306E\n\u95A2\u4FC2\u6027\u3001\u554F\u984C\u3068\u89E3\u6C7A\u7B56\u306E\u30DA\u30A2\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u95A2\u9023\u6027\u306B\u3088\u3063\u3066\u30EA\u30F3\u30AF\u3055\u308C\u305F\u30CE\u30FC\u30C8\u3092\n\u63D0\u793A\u3057\u307E\u3059\u3002\n\n## \u691C\u7D22\u30E2\u30FC\u30C9\u306E\u9078\u629E\n\n| \u72B6\u6CC1 | \u30E2\u30FC\u30C9 |\n|------|--------|\n| \u6B63\u78BA\u306A\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u3042\u308B | `keyword` |\n| \u7279\u5B9A\u306E\u95A2\u6570\u540D\u3084\u5909\u6570\u540D\u3092\u899A\u3048\u3066\u3044\u308B | `keyword` |\n| \u6982\u5FF5\u306F\u308F\u304B\u308B\u304C\u6B63\u78BA\u306A\u8868\u73FE\u304C\u4E0D\u78BA\u304B | `semantic` |\n| \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B7\u30B0\u30CA\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u3001\u30BF\u30B9\u30AF\u3001\u6A5F\u80FD\uFF09\u304B\u3089\u4F5C\u696D\u3092\u958B\u59CB\u3059\u308B | `hybrid` |\n| \u30C8\u30D4\u30C3\u30AF\u306E\u4E00\u822C\u7684\u306A\u63A2\u7D22 | `hybrid` |\n| \u57CB\u3081\u8FBC\u307F\u304C\u5229\u7528\u3067\u304D\u306A\u3044\uFF08FTS5\u306E\u307F\u306E\u69CB\u6210\uFF09 | `keyword`\uFF08\u552F\u4E00\u306E\u9078\u629E\u80A2\uFF09 |\n\n## \u691C\u7D22\u65B9\u6CD5 (MCP \u30C4\u30FC\u30EB)\n\n### search_knowledge\n\n```\nsearch_knowledge(\n query: string, // \u691C\u7D22\u30AF\u30A8\u30EA\n mode?: \"keyword\" // \"keyword\" | \"semantic\" | \"hybrid\"\n | \"semantic\" // keyword: FTS5 \u306B\u3088\u308B\u5B8C\u5168\u4E00\u81F4\u30C6\u30AD\u30B9\u30C8\u691C\u7D22\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8\uFF09\n | \"hybrid\", // semantic: \u610F\u5473\u30D9\u30FC\u30B9\u3001\u57CB\u3081\u8FBC\u307F\u304C\u5FC5\u8981\n // hybrid: \u4E21\u8005\u3092\u7D44\u307F\u5408\u308F\u305B\n limit?: number, // \u6700\u5927\u7D50\u679C\u6570\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: 20\uFF09\n agentic?: boolean, // \u5EC3\u6B62\u6E08\u307F\u30CE\u30FC\u30C8\u3092\u542B\u3080\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: false\uFF09\n includeDeprecated?: boolean // \u5EC3\u6B62\u6E08\u307F\u30CE\u30FC\u30C8\u3092\u542B\u3080\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: false\uFF09\n)\n```\n\n### find_related\n\n```\nfind_related(\n noteId?: number, // \u30CE\u30FC\u30C8\u306E ID \u2014 \u6587\u5B57\u5217\u3067\u306F\u306A\u304F\u6570\u5024\uFF08\u6574\u6570\uFF09\u3067\u3042\u308B\u3053\u3068\n filePath?: string, // \u95A2\u9023\u30CE\u30FC\u30C8\u3092\u691C\u7D22\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\n limit?: number, // \u6700\u5927\u7D50\u679C\u6570\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: 5\uFF09\n maxHops?: number // \u30B0\u30E9\u30D5\u306E\u8D70\u67FB\u6DF1\u5EA6\uFF08\u30C7\u30D5\u30A9\u30EB\u30C8: 1\u3001\u6700\u5927: 3\uFF09\n)\n```\n\n`noteId` \u307E\u305F\u306F `filePath` \u306E\u3044\u305A\u308C\u304B\u4E00\u65B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`noteId` \u306E\u5024\u306F\n`search_knowledge` \u306E\u7D50\u679C\u304B\u3089\u53D6\u5F97\u3057\u307E\u3059 \u2014 \u6570\u5024\u306E `id` \u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u305D\u306E\u307E\u307E\u4F7F\u7528\u3057\u307E\u3059\u3002\n\n## \u691C\u7D22\u65B9\u6CD5 (CLI \u306E\u4EE3\u66FF\u624B\u6BB5)\n\n```bash\nknowledgine search \"<query>\" # \u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\nknowledgine search \"<query>\" --mode semantic # \u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u691C\u7D22\nknowledgine search \"<query>\" --mode hybrid # \u30CF\u30A4\u30D6\u30EA\u30C3\u30C9\u691C\u7D22\nknowledgine suggest --file src/commands/setup.ts # \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u306B\u3088\u308B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30D9\u30FC\u30B9\u691C\u7D22\uFF08suggest \u30B3\u30DE\u30F3\u30C9\uFF09\n```\n\n## \u624B\u9806\n\n1. **\u30A2\u30D7\u30ED\u30FC\u30C1\u3092\u9078\u629E** \u2014 \u7279\u5B9A\u306E\u30AF\u30A8\u30EA\u304C\u3042\u308B\u5834\u5408\uFF08\u30A2\u30D7\u30ED\u30FC\u30C1 1\uFF09\u304B\u3001\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3084\n \u30BF\u30B9\u30AF\u306E\u8AAC\u660E\u306A\u3069\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u59CB\u3081\u308B\u5834\u5408\uFF08\u30A2\u30D7\u30ED\u30FC\u30C1 2\uFF09\u304B\uFF1F\n\n2. **\u30AF\u30A8\u30EA\u3092\u4F5C\u6210**\n - \u30A2\u30D7\u30ED\u30FC\u30C1 1: \u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u3001\u95A2\u6570\u540D\u3001\u307E\u305F\u306F\u65E2\u77E5\u306E\u30C8\u30D4\u30C3\u30AF\u3092\u305D\u306E\u307E\u307E\u4F7F\u7528\n - \u30A2\u30D7\u30ED\u30FC\u30C1 2: \u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\u3001\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u540D\u3001\u30BF\u30B9\u30AF\u3001\u307E\u305F\u306F\u30A8\u30E9\u30FC\u304B\u3089\u30B7\u30B0\u30CA\u30EB\u3092\n \u62BD\u51FA\u3057\u30012\u301C3\u500B\u306E\u30B7\u30B0\u30CA\u30EB\u3092\u7D44\u307F\u5408\u308F\u305B\u3066\u30AF\u30A8\u30EA\u3092\u4F5C\u6210\uFF08`search-strategy.md` \u53C2\u7167\uFF09\n\n3. **\u30E2\u30FC\u30C9\u3092\u9078\u629E**\n - \u6B63\u78BA\u306A\u8A9E\u53E5 \u2192 `keyword`\n - \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B7\u30B0\u30CA\u30EB\u3084\u6982\u5FF5\u7684\u306A\u691C\u7D22 \u2192 `hybrid`\n - \u6982\u5FF5\u306F\u308F\u304B\u308B\u304C\u8868\u73FE\u304C\u4E0D\u78BA\u304B \u2192 `semantic`\n\n4. **search_knowledge \u3092\u547C\u3073\u51FA\u3059** \u2014 \u30AF\u30A8\u30EA\u3001\u30E2\u30FC\u30C9\u3001\u4E0A\u9650\u3092\u6307\u5B9A\uFF085\u301C10 \u4EF6\u3067\u901A\u5E38\u5341\u5206;\n \u30C7\u30D5\u30A9\u30EB\u30C8\u306F 20\uFF09\n\n5. **\u7D50\u679C\u3092\u8A55\u4FA1** \u2014 \u8FD4\u3055\u308C\u305F\u30CE\u30FC\u30C8\u306E\u95A2\u9023\u6027\u3092\u8AAD\u3093\u3067\u78BA\u8A8D\u3057\u3001\u9AD8\u5EA6\u306B\u95A2\u9023\u3059\u308B\u7D50\u679C\u306E\n ID \u3092\u30E1\u30E2\u3059\u308B\n\n6. **\u95A2\u9023\u30CE\u30FC\u30C8\u3092\u8D70\u67FB\uFF08\u4EFB\u610F\uFF09** \u2014 \u7D50\u679C\u304C\u9AD8\u5EA6\u306B\u95A2\u9023\u3057\u3066\u3044\u308B\u5834\u5408\u3001\u305D\u306E\u6570\u5024 `noteId` \u307E\u305F\u306F\n \u73FE\u5728\u306E `filePath` \u3092\u4F7F\u3063\u3066 `find_related` \u3092\u547C\u3073\u51FA\u3057\u3001\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\u7D4C\u7531\u3067\n \u63A5\u7D9A\u3055\u308C\u305F\u30CE\u30FC\u30C8\u3092\u767A\u898B\u3059\u308B\n\n7. **\u767A\u898B\u5185\u5BB9\u3092\u9069\u7528** \u2014 \u95A2\u9023\u3059\u308B\u904E\u53BB\u306E\u89E3\u6C7A\u7B56\u3084\u6C7A\u5B9A\u3092\u3001\u4F5C\u696D\u306B\u6D3B\u304B\u3059\n\n8. **\u65B0\u3057\u3044\u77E5\u8B58\u3092\u8A18\u9332** \u2014 \u65B0\u3057\u3044\u89E3\u6C7A\u7B56\u3092\u767A\u898B\u3057\u305F\u5834\u5408\u3001knowledgine-capture \u3092\u4F7F\u3063\u3066\u4FDD\u5B58\u3059\u308B\n\n## \u30D9\u30B9\u30C8\u30D7\u30E9\u30AF\u30C6\u30A3\u30B9\n\n- \u89E3\u6C7A\u7B56\u3092\u63D0\u6848\u3059\u308B\u524D\u306B\u691C\u7D22\u3059\u308B\uFF08\u5F8C\u3067\u306F\u306A\u304F\uFF09\n- \u5B9F\u969B\u306E\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8\u30C6\u30AD\u30B9\u30C8\u3092\u30AF\u30A8\u30EA\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B \u2014 \u6700\u3082\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u7D5E\u3063\u305F\u691C\u7D22\u304C\u3067\u304D\u308B\n- \u6700\u521D\u306E\u691C\u7D22\u3067\u7D50\u679C\u304C\u5F97\u3089\u308C\u306A\u3044\u5834\u5408\u306F\u3001\u8907\u6570\u306E\u30AF\u30A8\u30EA\u3092\u8A66\u307F\u308B\n- \u30BB\u30C3\u30B7\u30E7\u30F3\u958B\u59CB\u6642\u306B\u3001\u4E3B\u306A\u4F5C\u696D\u9818\u57DF\u306B\u5BFE\u3057\u3066\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30D9\u30FC\u30B9\u306E\u691C\u7D22\uFF08\u30A2\u30D7\u30ED\u30FC\u30C1 2\uFF09\u3092\u5B9F\u884C\u3057\u3001\n \u305D\u306E\u5F8C\u3001\u7279\u5B9A\u306E\u554F\u984C\u304C\u767A\u751F\u3057\u305F\u3089\u5BFE\u8C61\u3092\u7D5E\u3063\u305F\u30AF\u30A8\u30EA\uFF08\u30A2\u30D7\u30ED\u30FC\u30C1 1\uFF09\u3092\u4F7F\u7528\u3059\u308B\n- `bug-fix` \u307E\u305F\u306F `troubleshooting` \u30BF\u30B0\u304C\u4ED8\u3044\u305F\u30CE\u30FC\u30C8\u3092\u512A\u5148\u3059\u308B \u2014 \u8B66\u544A\u304C\u542B\u307E\u308C\u3066\u3044\u308B\n- `design-decision` \u30BF\u30B0\u306E\u30CE\u30FC\u30C8\u306F\u5909\u66F4\u3092\u52A0\u3048\u308B\u524D\u306B\u7279\u306B\u4FA1\u5024\u304C\u3042\u308B\n- `find_related` \u306E `noteId` \u30D1\u30E9\u30E1\u30FC\u30BF\u306F\u6570\u5024 \u2014 \u6587\u5B57\u5217\u3067\u306F\u306A\u304F\u3001\u691C\u7D22\u7D50\u679C\u306E\u6574\u6570 id \u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6E21\u3059\n\n## \u30A8\u30C3\u30B8\u30B1\u30FC\u30B9\n\n- **\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9\u304C\u7A7A\u306E\u5834\u5408** \u2014 `search_knowledge` \u304C\u307E\u3063\u305F\u304F\u7D50\u679C\u3092\u8FD4\u3055\u306A\u3044\u5834\u5408\u3001\n \u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9\u306F\u307E\u3060\u5165\u529B\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u30B3\u30FC\u30C9\u30D9\u30FC\u30B9\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3059\u308B\u305F\u3081\u306B\n knowledgine-ingest \u3092\u4F7F\u7528\u3059\u308B\u304B\u3001knowledgine-capture \u3067\u77E5\u8B58\u306E\u8A18\u9332\u3092\u958B\u59CB\u3059\u308B\u3053\u3068\u3092\u63D0\u6848\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n- **\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u307E\u305F\u306F\u30CF\u30A4\u30D6\u30EA\u30C3\u30C9\u30E2\u30FC\u30C9\u304C\u30A8\u30E9\u30FC\u3092\u8FD4\u3059\u5834\u5408** \u2014 \u57CB\u3081\u8FBC\u307F\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\n SQLite FTS5 \u306E\u307F\u306B\u4F9D\u5B58\u3057\u3066\u5E38\u306B\u52D5\u4F5C\u3059\u308B `keyword` \u30E2\u30FC\u30C9\u306B\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n- **find_related \u304C noteId \u3067\u30A8\u30E9\u30FC\u3092\u8FD4\u3059\u5834\u5408** \u2014 \u5024\u304C `search_knowledge` \u306E\u7D50\u679C\u304B\u3089\n \u5F97\u305F\u6B63\u306E\u6574\u6570\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3001\u6587\u5B57\u5217\u8868\u73FE\u3067\u306A\u3044\u3053\u3068\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\n\n## \u53C2\u7167\u30D5\u30A1\u30A4\u30EB\n\n- \u30E2\u30FC\u30C9\u9078\u629E\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B7\u30B0\u30CA\u30EB\u306E\u62BD\u51FA\u3001\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30D1\u30BF\u30FC\u30F3\u3001\u7D50\u679C\u306E\u89E3\u91C8\u306B\u3064\u3044\u3066\u306F\n `search-strategy.md` \u3092\u53C2\u7167\n- \u30AF\u30A8\u30EA\u306E\u4F5C\u6210\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3001\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u6226\u7565\u3001\u4E0A\u9650\u306E\u30AC\u30A4\u30C0\u30F3\u30B9\u306B\u3064\u3044\u3066\u306F\n `query-tips.md` \u3092\u53C2\u7167\n";
|
|
2
|
+
//# sourceMappingURL=skill-md.ja.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.ja.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-search/skill-md.ja.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,qpjBA6KpB,CAAC"}
|