@nahisaho/shikigami 2.0.0 → 2.0.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/.github/prompts/shikigami-deep-research.prompt.md +3 -3
- package/.github/prompts/shikigami-full-research.prompt.md +6 -6
- package/.github/prompts/shikigami-matching-analysis.prompt.md +1 -1
- package/.github/prompts/shikigami-swot-generation.prompt.md +1 -1
- package/.github/skills/configs/auto-invoke-triggers.yaml +3 -3
- package/.github/skills/shikigami-deep-research/SKILL.md +14 -14
- package/mcp-server/package.json +1 -1
- package/mcp-server/src/tools/visit/recovery/__tests__/index.test.ts +8 -2
- package/package.json +1 -1
|
@@ -47,7 +47,7 @@ Thinkフェーズで対立仮説や複数パスを検出したら、分岐探索
|
|
|
47
47
|
|
|
48
48
|
## ⭐ 検索結果の永続化(v1.26.0 必須)🆕
|
|
49
49
|
|
|
50
|
-
**
|
|
50
|
+
**web_search/web_fetch実行後、必ず `save_research` を呼び出す:**
|
|
51
51
|
|
|
52
52
|
```json
|
|
53
53
|
{"tool":"save_research","arguments":{
|
|
@@ -59,8 +59,8 @@ Thinkフェーズで対立仮説や複数パスを検出したら、分岐探索
|
|
|
59
59
|
|
|
60
60
|
| アクション | save_research の source |
|
|
61
61
|
|-----------|------------------------|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
62
|
+
| web_search後 | `"source": "search"` |
|
|
63
|
+
| web_fetch後 | `"source": "visit"` |
|
|
64
64
|
| 分析メモ | `"source": "manual"` |
|
|
65
65
|
|
|
66
66
|
> ⚠️ 保存しないと research/ ディレクトリに記録が残りません
|
|
@@ -10,7 +10,7 @@ tools: ['shikigami-planner', 'shikigami-deep-research', 'shikigami-consulting-fr
|
|
|
10
10
|
|
|
11
11
|
| WHEN | DO |
|
|
12
12
|
|------|-----|
|
|
13
|
-
| リサーチ依頼を受けた | Phase 0 を実行(**
|
|
13
|
+
| リサーチ依頼を受けた | Phase 0 を実行(**web_search使用禁止**) |
|
|
14
14
|
| プロジェクト初期化完了 | Phase 1-5 を順次実行 |
|
|
15
15
|
| 各Phase完了時 | 成果物を projects/ に保存 |
|
|
16
16
|
| **フレームワーク分析時** | **PwCフレームワークを優先適用** |
|
|
@@ -19,7 +19,7 @@ tools: ['shikigami-planner', 'shikigami-deep-research', 'shikigami-consulting-fr
|
|
|
19
19
|
|
|
20
20
|
## ⛔ 最重要ルール
|
|
21
21
|
|
|
22
|
-
> **
|
|
22
|
+
> **web_search使用前に `npx shikigami new <ProjectName>` 必須**
|
|
23
23
|
|
|
24
24
|
```
|
|
25
25
|
1. プロジェクト名をユーザーに提案して確認
|
|
@@ -58,7 +58,7 @@ tools: ['shikigami-planner', 'shikigami-deep-research', 'shikigami-consulting-fr
|
|
|
58
58
|
### ⭐ Phase 2 検索結果の保存(v1.25.0 必須)🆕
|
|
59
59
|
|
|
60
60
|
```
|
|
61
|
-
|
|
61
|
+
web_search/web_fetch実行後、必ず以下を実行:
|
|
62
62
|
|
|
63
63
|
{"tool":"save_research","arguments":{
|
|
64
64
|
"content":"検索結果やページ内容",
|
|
@@ -68,14 +68,14 @@ search/visit実行後、必ず以下を実行:
|
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
**保存タイミング**:
|
|
71
|
-
-
|
|
72
|
-
-
|
|
71
|
+
- web_search後 → `save_research` (source: "search")
|
|
72
|
+
- web_fetch後 → `save_research` (source: "visit")
|
|
73
73
|
- 分析メモ → `save_research` (source: "manual")
|
|
74
74
|
|
|
75
75
|
```
|
|
76
76
|
Phase 0 → Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 5
|
|
77
77
|
↑ ↑ ↑
|
|
78
|
-
search禁止
|
|
78
|
+
search禁止 web_search解禁 思考フロー出力(v1.20.0)
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
mode: agent
|
|
3
3
|
description: "Deep Research結果からSWOT分析を自動生成するプロンプト"
|
|
4
|
-
tools: ["
|
|
4
|
+
tools: ["shikigami-consulting-framework", "read_file"]
|
|
5
5
|
version: "1.12.0"
|
|
6
6
|
requirements: ["REQ-FW-001-02"]
|
|
7
7
|
---
|
|
@@ -11,7 +11,7 @@ version: "1.25.0"
|
|
|
11
11
|
# 検索結果の永続化ルール(v1.25.0 NEW!)
|
|
12
12
|
# ========================================
|
|
13
13
|
research_persistence:
|
|
14
|
-
description: "
|
|
14
|
+
description: "web_search/web_fetch実行後の結果をresearch/ディレクトリに自動保存"
|
|
15
15
|
enabled: true
|
|
16
16
|
|
|
17
17
|
# 必須前提条件
|
|
@@ -22,7 +22,7 @@ research_persistence:
|
|
|
22
22
|
# 保存トリガー
|
|
23
23
|
triggers:
|
|
24
24
|
- type: "after_tool_call"
|
|
25
|
-
tool: "
|
|
25
|
+
tool: "web_search"
|
|
26
26
|
action:
|
|
27
27
|
tool: "save_research"
|
|
28
28
|
arguments:
|
|
@@ -31,7 +31,7 @@ research_persistence:
|
|
|
31
31
|
source: "search"
|
|
32
32
|
|
|
33
33
|
- type: "after_tool_call"
|
|
34
|
-
tool: "
|
|
34
|
+
tool: "web_fetch"
|
|
35
35
|
action:
|
|
36
36
|
tool: "save_research"
|
|
37
37
|
arguments:
|
|
@@ -11,38 +11,38 @@ license: MIT
|
|
|
11
11
|
| 起動条件 | アクション |
|
|
12
12
|
|---------|-----------|
|
|
13
13
|
| リサーチ依頼時 | Think→Report→Action→完了の反復実行 |
|
|
14
|
-
| 情報収集が必要な時 |
|
|
14
|
+
| 情報収集が必要な時 | `web_search` で検索、`web_fetch` でページ取得 |
|
|
15
15
|
| 品質検証が必要な時 | 交差検証・ソース批評を実行 |
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## ツール
|
|
18
18
|
|
|
19
|
-
###
|
|
19
|
+
### 検索・訪問(Copilot CLI 組込み)
|
|
20
20
|
|
|
21
|
-
| ツール | 用途 |
|
|
22
|
-
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
21
|
+
| ツール | 用途 | 説明 |
|
|
22
|
+
|--------|------|------|
|
|
23
|
+
| `web_search` | Web検索 | Copilot CLI 組込み。日本語・英語の両方で検索 |
|
|
24
|
+
| `web_fetch` | ページ取得 | Copilot CLI 組込み。URLのコンテンツを取得 |
|
|
25
25
|
|
|
26
|
-
### 永続化ツール(
|
|
26
|
+
### 永続化ツール(SHIKIGAMI MCP)
|
|
27
27
|
|
|
28
28
|
| ツール | 用途 | 呼び出し例 |
|
|
29
29
|
|--------|------|-----------|
|
|
30
30
|
| `set_project` | プロジェクト設定 | `{"tool":"set_project","arguments":{"autoDetect":true}}` |
|
|
31
31
|
| `save_research` | 検索結果保存 | `{"tool":"save_research","arguments":{"content":"...","query":"検索クエリ","source":"search"}}` |
|
|
32
32
|
|
|
33
|
-
### ⚠️
|
|
33
|
+
### ⚠️ 必須フロー
|
|
34
34
|
|
|
35
35
|
```
|
|
36
36
|
1. Phase 0完了後、set_projectでプロジェクトを設定
|
|
37
|
-
2.
|
|
37
|
+
2. web_search/web_fetch実行後、必ずsave_researchで結果を保存
|
|
38
38
|
3. 保存先: projects/pjXXXXX_Name_YYYYMMDD/research/
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
**保存タイミング**:
|
|
42
42
|
| アクション | 保存内容 | source値 |
|
|
43
43
|
|------------|----------|------------|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
44
|
+
| web_search後 | 検索結果一覧 | `"search"` |
|
|
45
|
+
| web_fetch後 | ページ内容抽出 | `"visit"` |
|
|
46
46
|
| 手動メモ | 分析メモ | `"manual"` |
|
|
47
47
|
|
|
48
48
|
---
|
|
@@ -98,7 +98,7 @@ Thinkの出力で以下のシグナルを検知したら `branch_detect` を呼
|
|
|
98
98
|
### Think (Branch [label], Round 1)
|
|
99
99
|
...
|
|
100
100
|
### Action: SEARCH
|
|
101
|
-
{"tool":"
|
|
101
|
+
{"tool":"web_search","arguments":{"query":"..."}}
|
|
102
102
|
{"tool":"save_research","arguments":{"content":"...","query":"...","source":"search","metadata":{"branchId":"[ID]"}}}
|
|
103
103
|
```
|
|
104
104
|
|
|
@@ -242,7 +242,7 @@ manifest.yaml `personas[].domain_knowledge.level` で調整:
|
|
|
242
242
|
## Gotchas
|
|
243
243
|
|
|
244
244
|
1. **set_project 未実行で検索開始** — Phase 0 で `set_project` を実行しないと `save_research` が保存先を特定できない。必ずプロジェクト設定後にリサーチ開始
|
|
245
|
-
2. **save_research の呼び忘れ** —
|
|
245
|
+
2. **save_research の呼び忘れ** — web_search/web_fetch 実行後に `save_research` を呼ばないとリサーチ結果が揮発する。Think→Report→Action 各サイクル完了時に即保存
|
|
246
246
|
3. **信頼度 6.0 未満で次フェーズ移行** — Gate 2→3 は confidence_score ≥ 0.6 が必須。低信頼ソースのみでは通過不可、追加ソース検索が必要
|
|
247
247
|
4. **単一ソースでの結論** — 交差検証率を維持するため最低3ソースが必要。1ソースのみの主張は「未検証」マーク付与
|
|
248
248
|
5. **日付の古いソースへの依存** — 3年超のソースは低信頼(0.5以下)。最新データの追加検索を優先
|
package/mcp-server/package.json
CHANGED
|
@@ -160,6 +160,12 @@ describe('VisitRecoveryManager', () => {
|
|
|
160
160
|
});
|
|
161
161
|
|
|
162
162
|
it('should return failure when all attempts fail', async () => {
|
|
163
|
+
const fastManager = new VisitRecoveryManager({
|
|
164
|
+
retryDelayMs: 10,
|
|
165
|
+
maxRetries: 1,
|
|
166
|
+
timeoutMs: 500,
|
|
167
|
+
});
|
|
168
|
+
|
|
163
169
|
const mockFetchFn = vi.fn().mockResolvedValue({
|
|
164
170
|
success: false,
|
|
165
171
|
error: 'Page not found',
|
|
@@ -174,12 +180,12 @@ describe('VisitRecoveryManager', () => {
|
|
|
174
180
|
}),
|
|
175
181
|
});
|
|
176
182
|
|
|
177
|
-
const result = await
|
|
183
|
+
const result = await fastManager.recover('https://example.com', mockFetchFn);
|
|
178
184
|
|
|
179
185
|
expect(result.success).toBe(false);
|
|
180
186
|
expect(result.error).toBeDefined();
|
|
181
187
|
expect(result.attempts).toBeGreaterThan(0);
|
|
182
|
-
});
|
|
188
|
+
}, 10000);
|
|
183
189
|
|
|
184
190
|
it('should handle fetch function throwing errors', async () => {
|
|
185
191
|
const mockFetchFn = vi.fn().mockRejectedValue(new Error('Network error'));
|
package/package.json
CHANGED