@nahisaho/shikigami 2.0.1 → 2.0.3
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-risk-sensitivity.prompt.md +80 -0
- package/.github/prompts/shikigami-source-critique.prompt.md +60 -0
- package/.github/prompts/shikigami-stakeholder-impact.prompt.md +89 -0
- package/.github/skills/shikigami-deep-research/SKILL.md +1 -1
- package/.github/skills/shikigami-planner/SKILL.md +2 -2
- package/.github/skills/shikigami-writing/SKILL.md +3 -3
- package/CHANGELOG.md +35 -0
- package/mcp-server/package.json +1 -1
- package/mcp-server/src/cache/__tests__/global.test.ts +2 -2
- package/mcp-server/src/tools/visit/recovery/__tests__/index.test.ts +8 -2
- package/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
mode: agent
|
|
3
|
+
description: 提案のリスク感度分析を実行し、リスク要因の影響度・発生確率・対策を体系的に評価する
|
|
4
|
+
tools: ['shikigami-consulting-framework']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# リスク感度分析プロンプト
|
|
8
|
+
|
|
9
|
+
あなたはリスク管理の専門家です。
|
|
10
|
+
|
|
11
|
+
提案・計画に含まれるリスク要因を特定し、感度分析を通じて影響度と対策を評価してください。
|
|
12
|
+
|
|
13
|
+
## 分析フレームワーク
|
|
14
|
+
|
|
15
|
+
### Step 1: リスク要因の特定
|
|
16
|
+
|
|
17
|
+
| カテゴリ | チェック項目 |
|
|
18
|
+
|---------|-------------|
|
|
19
|
+
| **市場リスク** | 需要変動、競合参入、価格変動、規制変更 |
|
|
20
|
+
| **実行リスク** | 技術的実現性、リソース不足、スケジュール遅延 |
|
|
21
|
+
| **財務リスク** | コスト超過、為替変動、資金調達 |
|
|
22
|
+
| **外部リスク** | 政治・経済環境、自然災害、サプライチェーン |
|
|
23
|
+
|
|
24
|
+
### Step 2: リスクマトリクス
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
| リスク要因 | 発生確率 | 影響度 | リスクスコア | 優先度 |
|
|
28
|
+
|-----------|---------|--------|-------------|--------|
|
|
29
|
+
| [要因1] | 高/中/低 | 高/中/低 | [1-9] | P1/P2/P3 |
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**スコア計算**: 発生確率(1-3) × 影響度(1-3)
|
|
33
|
+
- 7-9: 🔴 即時対応必要
|
|
34
|
+
- 4-6: 🟡 モニタリング・対策準備
|
|
35
|
+
- 1-3: 🟢 受容可能
|
|
36
|
+
|
|
37
|
+
### Step 3: 感度分析
|
|
38
|
+
|
|
39
|
+
主要パラメータの変動による影響を分析:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
| パラメータ | 基本値 | -20% | -10% | +10% | +20% | 感度 |
|
|
43
|
+
|-----------|--------|------|------|------|------|------|
|
|
44
|
+
| [売上] | ¥XXM | ¥XXM | ¥XXM | ¥XXM | ¥XXM | 高/中/低 |
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Step 4: 対策マトリクス
|
|
48
|
+
|
|
49
|
+
| リスク | 戦略 | 具体的対策 | コスト | 残存リスク |
|
|
50
|
+
|-------|------|----------|--------|-----------|
|
|
51
|
+
| [要因] | 回避/軽減/移転/受容 | [アクション] | [見積] | 高/中/低 |
|
|
52
|
+
|
|
53
|
+
## 出力フォーマット
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
## リスク感度分析レポート
|
|
57
|
+
|
|
58
|
+
### エグゼクティブサマリー
|
|
59
|
+
- 特定リスク数: [N]件(🔴[X] / 🟡[Y] / 🟢[Z])
|
|
60
|
+
- 最大リスク: [要因名](スコア: [S])
|
|
61
|
+
- 推奨対策: [概要]
|
|
62
|
+
|
|
63
|
+
### リスクマトリクス
|
|
64
|
+
[Step 2の表]
|
|
65
|
+
|
|
66
|
+
### 感度分析
|
|
67
|
+
[Step 3の表]
|
|
68
|
+
[トルネードチャート(Mermaid)]
|
|
69
|
+
|
|
70
|
+
### 対策ロードマップ
|
|
71
|
+
[Step 4の表]
|
|
72
|
+
|
|
73
|
+
### 総合リスク判定
|
|
74
|
+
- リスク許容度: [判定]
|
|
75
|
+
- Go/No-Go推奨: [判定と根拠]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## 分析対象
|
|
79
|
+
|
|
80
|
+
{{{ input }}}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
mode: agent
|
|
3
|
+
description: リサーチで収集したソースの信頼性・品質を批評的に評価し、改善提案を行う
|
|
4
|
+
tools: ['shikigami-deep-research']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ソース批評プロンプト
|
|
8
|
+
|
|
9
|
+
あなたはソース品質評価の専門家です。
|
|
10
|
+
|
|
11
|
+
リサーチで収集したソースを批評的に評価し、信頼性の問題点と改善提案を提供してください。
|
|
12
|
+
|
|
13
|
+
## 評価基準
|
|
14
|
+
|
|
15
|
+
| # | 基準 | 高信頼 | 中信頼 | 低信頼 |
|
|
16
|
+
|---|------|--------|--------|--------|
|
|
17
|
+
| 1 | **ドメイン権威性** | .gov/.edu/学術誌/公的機関 | 企業公式/大手メディア | 個人ブログ/SNS/匿名 |
|
|
18
|
+
| 2 | **鮮度** | 1年以内 | 1〜3年 | 3年以上前 |
|
|
19
|
+
| 3 | **交差検証** | 3+ソースで確認済 | 2ソースで確認 | 単一ソースのみ |
|
|
20
|
+
| 4 | **バイアス** | 中立・データ駆動 | 軽度の立場表明 | 明確な利害関係 |
|
|
21
|
+
| 5 | **具体性** | 定量データ・一次情報 | 分析・解釈 | 意見・推測 |
|
|
22
|
+
|
|
23
|
+
## 出力フォーマット
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## ソース批評レポート
|
|
27
|
+
|
|
28
|
+
### 総合評価
|
|
29
|
+
- ソース数: [N]件
|
|
30
|
+
- 高信頼: [X]件 / 中信頼: [Y]件 / 低信頼: [Z]件
|
|
31
|
+
- 交差検証率: [P]%
|
|
32
|
+
|
|
33
|
+
### ソース別評価
|
|
34
|
+
|
|
35
|
+
| # | ソース | ドメイン | 鮮度 | 交差検証 | バイアス | 総合 |
|
|
36
|
+
|---|--------|---------|------|---------|---------|------|
|
|
37
|
+
| 1 | [タイトル](URL) | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | 高 |
|
|
38
|
+
|
|
39
|
+
### 問題点
|
|
40
|
+
- ⚠️ [単一ソースの主張]: [具体的な事実]
|
|
41
|
+
- ⚠️ [古いデータ]: [具体的な情報]
|
|
42
|
+
- ⚠️ [バイアスリスク]: [具体的なソース]
|
|
43
|
+
|
|
44
|
+
### 改善提案
|
|
45
|
+
1. [追加で検索すべきクエリ/ソース]
|
|
46
|
+
2. [交差検証が必要な事実]
|
|
47
|
+
3. [より信頼性の高い代替ソース]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## チェックリスト
|
|
51
|
+
|
|
52
|
+
- [ ] 主要な主張が3+ソースで裏付けられている
|
|
53
|
+
- [ ] 1年以内のソースが過半数を占める
|
|
54
|
+
- [ ] 利害関係のあるソースが特定・注記されている
|
|
55
|
+
- [ ] 定量データの出典が明確
|
|
56
|
+
- [ ] 単一ソースの主張に「未検証」マークが付与されている
|
|
57
|
+
|
|
58
|
+
## 批評対象
|
|
59
|
+
|
|
60
|
+
{{{ input }}}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
mode: agent
|
|
3
|
+
description: ステークホルダーへの影響を分析し、関与度・影響度マッピングと対応戦略を策定する
|
|
4
|
+
tools: ['shikigami-consulting-framework']
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ステークホルダー影響分析プロンプト
|
|
8
|
+
|
|
9
|
+
あなたはステークホルダーマネジメントの専門家です。
|
|
10
|
+
|
|
11
|
+
提案・計画に関わるステークホルダーを特定し、影響度分析と対応戦略を策定してください。
|
|
12
|
+
|
|
13
|
+
## 分析フレームワーク
|
|
14
|
+
|
|
15
|
+
### Step 1: ステークホルダー特定
|
|
16
|
+
|
|
17
|
+
| カテゴリ | 例 |
|
|
18
|
+
|---------|-----|
|
|
19
|
+
| **内部** | 経営層、事業部門、IT部門、従業員 |
|
|
20
|
+
| **外部** | 顧客、取引先、規制当局、株主、競合 |
|
|
21
|
+
| **間接** | メディア、地域社会、業界団体 |
|
|
22
|
+
|
|
23
|
+
### Step 2: 影響度・関与度マッピング
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
| ステークホルダー | 影響度 | 関心度 | 現在の姿勢 | 望ましい姿勢 |
|
|
27
|
+
|----------------|--------|--------|-----------|-------------|
|
|
28
|
+
| [名称] | 高/中/低 | 高/中/低 | 支持/中立/反対 | 支持/中立 |
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**マトリクス分類**:
|
|
32
|
+
- **高影響・高関心**: 重点管理(密接に連携)
|
|
33
|
+
- **高影響・低関心**: 満足維持(定期報告)
|
|
34
|
+
- **低影響・高関心**: 情報提供(透明性確保)
|
|
35
|
+
- **低影響・低関心**: モニタリング(最小限の対応)
|
|
36
|
+
|
|
37
|
+
### Step 3: 影響分析
|
|
38
|
+
|
|
39
|
+
各ステークホルダーへの具体的影響:
|
|
40
|
+
|
|
41
|
+
| ステークホルダー | ポジティブ影響 | ネガティブ影響 | ネット影響 |
|
|
42
|
+
|----------------|--------------|--------------|-----------|
|
|
43
|
+
| [名称] | [具体的な便益] | [具体的な不利益] | +/0/- |
|
|
44
|
+
|
|
45
|
+
### Step 4: 対応戦略
|
|
46
|
+
|
|
47
|
+
| ステークホルダー | 戦略 | コミュニケーション | 頻度 | 担当 |
|
|
48
|
+
|----------------|------|------------------|------|------|
|
|
49
|
+
| [名称] | 協働/説得/情報提供/監視 | [手段] | [頻度] | [担当者] |
|
|
50
|
+
|
|
51
|
+
## 出力フォーマット
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
## ステークホルダー影響分析レポート
|
|
55
|
+
|
|
56
|
+
### エグゼクティブサマリー
|
|
57
|
+
- 特定ステークホルダー: [N]件
|
|
58
|
+
- 支持: [X]件 / 中立: [Y]件 / 反対: [Z]件
|
|
59
|
+
- 最重要ステークホルダー: [名称]
|
|
60
|
+
- 推奨アプローチ: [概要]
|
|
61
|
+
|
|
62
|
+
### ステークホルダーマップ
|
|
63
|
+
[Step 2の表]
|
|
64
|
+
|
|
65
|
+
```mermaid
|
|
66
|
+
quadrantChart
|
|
67
|
+
title ステークホルダーマップ
|
|
68
|
+
x-axis 低関心 --> 高関心
|
|
69
|
+
y-axis 低影響 --> 高影響
|
|
70
|
+
quadrant-1 重点管理
|
|
71
|
+
quadrant-2 満足維持
|
|
72
|
+
quadrant-3 モニタリング
|
|
73
|
+
quadrant-4 情報提供
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 影響分析
|
|
77
|
+
[Step 3の表]
|
|
78
|
+
|
|
79
|
+
### 対応戦略・ロードマップ
|
|
80
|
+
[Step 4の表]
|
|
81
|
+
|
|
82
|
+
### リスクと機会
|
|
83
|
+
- 🔴 反対リスク: [具体的なリスクと対策]
|
|
84
|
+
- 🟢 協力機会: [具体的な機会と活用法]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 分析対象
|
|
88
|
+
|
|
89
|
+
{{{ input }}}
|
|
@@ -211,7 +211,7 @@ manifest.yaml `personas[].domain_knowledge.level` で調整:
|
|
|
211
211
|
| `branch_select` | ブランチ選択・マージ(有用情報の統合) |
|
|
212
212
|
|
|
213
213
|
### ソース批評自動呼び出し(v1.16.0)
|
|
214
|
-
完了時に `@source-critique` 自動実行(ソース数≥5)
|
|
214
|
+
完了時に `@shikigami-source-critique` 自動実行(ソース数≥5)
|
|
215
215
|
|
|
216
216
|
### 思考フロー記録(v1.20.0)🆕
|
|
217
217
|
各Think/Search/Visit/Verifyステップを自動記録し、shikigami-writingに引き継ぎ
|
|
@@ -170,8 +170,8 @@ deliverables:
|
|
|
170
170
|
|
|
171
171
|
| トリガー | 呼び出しプロンプト |
|
|
172
172
|
|---------|-------------------|
|
|
173
|
-
| BUDGET_APPROVAL | @risk-sensitivity, @financial-analysis |
|
|
174
|
-
| STAGED_APPROVAL | @stakeholder-impact |
|
|
173
|
+
| BUDGET_APPROVAL | @shikigami-risk-sensitivity, @shikigami-financial-analysis |
|
|
174
|
+
| STAGED_APPROVAL | @shikigami-stakeholder-impact |
|
|
175
175
|
| 計画完了前 | 提言書チェックリスト検証 |
|
|
176
176
|
|
|
177
177
|
---
|
|
@@ -74,8 +74,8 @@ license: MIT
|
|
|
74
74
|
|
|
75
75
|
### 自動品質チェック(v1.16.0)
|
|
76
76
|
レポート生成完了時に自動呼び出し:
|
|
77
|
-
- `@consistency-check`: 数値・用語の一貫性
|
|
78
|
-
- `@executive-sync`: 要約と本文の整合
|
|
77
|
+
- `@shikigami-consistency-check`: 数値・用語の一貫性
|
|
78
|
+
- `@shikigami-executive-sync`: 要約と本文の整合
|
|
79
79
|
|
|
80
80
|
### 品質スコア
|
|
81
81
|
|
|
@@ -338,7 +338,7 @@ ACEフレームワーク: Acknowledge→Counter→Evidence
|
|
|
338
338
|
自動抽出→ハイライト付き比較表生成
|
|
339
339
|
|
|
340
340
|
### 財務分析自動統合(v1.16.0)
|
|
341
|
-
BUDGET_APPROVAL時に `@financial-analysis` 自動呼び出し
|
|
341
|
+
BUDGET_APPROVAL時に `@shikigami-financial-analysis` 自動呼び出し
|
|
342
342
|
|
|
343
343
|
### KPIダッシュボード(v1.16.0)
|
|
344
344
|
レポート内KPIから追跡用ダッシュボード定義を自動生成
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,41 @@ All notable changes to SHIKIGAMI will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.3] - 2026-05-18
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Flakyテスト修正**: タイミング依存テスト2件の安定化
|
|
13
|
+
- `visit/recovery`: maxRetries/timeoutMs短縮 + テストタイムアウト10s
|
|
14
|
+
- `cache/global`: evictExpired のTTL待機時間を1200ms→1500msに延長
|
|
15
|
+
|
|
16
|
+
## [2.0.2] - 2026-05-18
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **不足プロンプト3件の新規作成**
|
|
21
|
+
- `shikigami-source-critique.prompt.md`: ソース信頼性・品質の批評的評価
|
|
22
|
+
- `shikigami-risk-sensitivity.prompt.md`: リスク感度分析(リスクマトリクス・感度分析・対策)
|
|
23
|
+
- `shikigami-stakeholder-impact.prompt.md`: ステークホルダー影響分析(マッピング・対応戦略)
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- **SKILLの自動呼び出し参照を正式プロンプト名に修正**
|
|
28
|
+
- `@source-critique` → `@shikigami-source-critique`
|
|
29
|
+
- `@risk-sensitivity` → `@shikigami-risk-sensitivity`
|
|
30
|
+
- `@stakeholder-impact` → `@shikigami-stakeholder-impact`
|
|
31
|
+
- `@consistency-check` → `@shikigami-consistency-check`
|
|
32
|
+
- `@executive-sync` → `@shikigami-executive-sync`
|
|
33
|
+
- `@financial-analysis` → `@shikigami-financial-analysis`
|
|
34
|
+
|
|
35
|
+
## [2.0.1] - 2026-05-18
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- **削除済みツール参照の修正**: Skills/Prompts/Configs 内の search/visit → web_search/web_fetch
|
|
40
|
+
- **visit recovery テストタイムアウト修正**: maxRetries/timeoutMs 短縮 + テストタイムアウト 10s
|
|
41
|
+
- 491/491 テスト全パス
|
|
42
|
+
|
|
8
43
|
## [2.0.0] - 2026-05-18
|
|
9
44
|
|
|
10
45
|
### Breaking Changes
|
package/mcp-server/package.json
CHANGED
|
@@ -292,8 +292,8 @@ describe('GlobalCacheStore', () => {
|
|
|
292
292
|
await globalStore.set('global-key', { data: 'global' }, { scope: 'global', ttlSeconds: 1 });
|
|
293
293
|
await globalStore.set('project-key', { data: 'project' }, { scope: 'project', ttlSeconds: 1 });
|
|
294
294
|
|
|
295
|
-
// TTL
|
|
296
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
295
|
+
// TTL期限後(余裕を持たせる)
|
|
296
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
297
297
|
|
|
298
298
|
const result = await globalStore.evictExpired();
|
|
299
299
|
expect(result.global).toBeGreaterThanOrEqual(0);
|
|
@@ -96,6 +96,12 @@ describe('VisitRecoveryManager', () => {
|
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
it('should try wayback after all direct retries fail', async () => {
|
|
99
|
+
const fastManager = new VisitRecoveryManager({
|
|
100
|
+
retryDelayMs: 10,
|
|
101
|
+
maxRetries: 1,
|
|
102
|
+
timeoutMs: 500,
|
|
103
|
+
});
|
|
104
|
+
|
|
99
105
|
const mockFetchFn = vi
|
|
100
106
|
.fn()
|
|
101
107
|
.mockResolvedValue({ success: false, error: 'Page not found' });
|
|
@@ -116,11 +122,11 @@ describe('VisitRecoveryManager', () => {
|
|
|
116
122
|
});
|
|
117
123
|
|
|
118
124
|
// Wayback取得も失敗
|
|
119
|
-
const result = await
|
|
125
|
+
const result = await fastManager.recover('https://example.com', mockFetchFn);
|
|
120
126
|
|
|
121
127
|
expect(result.success).toBe(false);
|
|
122
128
|
expect(mockFetch).toHaveBeenCalled(); // Wayback APIが呼ばれた
|
|
123
|
-
});
|
|
129
|
+
}, 10000);
|
|
124
130
|
|
|
125
131
|
it('should return wayback content on wayback success', async () => {
|
|
126
132
|
const mockFetchFn = vi
|
package/package.json
CHANGED