@nahisaho/shikigami 1.53.0 โ†’ 2.0.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/AGENTS.md CHANGED
@@ -1,4 +1,4 @@
1
- # SHIKIGAMI - Deep Research Agent Skills v1.35.0
1
+ # SHIKIGAMI - Deep Research Agent Skills v2.0.0
2
2
 
3
3
  > Knowledge for AI Coding Agents โ€” Triggers and Actions defined with WHEN/DO syntax
4
4
 
@@ -34,7 +34,7 @@ VIOLATION = WORKFLOW FAILURE
34
34
  |------|-------|
35
35
  | Version | 1.42.0 |
36
36
  | Agent Skills | 4 |
37
- | MCP Tools | 11 |
37
+ | MCP Tools | 7 |
38
38
  | Frameworks | 53 |
39
39
  | Report Templates | 33 |
40
40
 
@@ -144,20 +144,20 @@ THEN: Call set_project(autoDetect: true) to activate the project
144
144
  FORBIDDEN: Web search, using search tools, or gathering information before project activation
145
145
  ```
146
146
 
147
- ### Prohibition 3: save_research Required After search/visit
147
+ ### Prohibition 3: save_research Required After web_search/web_fetch
148
148
 
149
- **๐Ÿšจ๐Ÿšจ๐Ÿšจ EVERY search/visit MUST be followed by save_research ๐Ÿšจ๐Ÿšจ๐Ÿšจ**
149
+ **๐Ÿšจ๐Ÿšจ๐Ÿšจ EVERY web_search/web_fetch MUST be followed by save_research ๐Ÿšจ๐Ÿšจ๐Ÿšจ**
150
150
 
151
151
  ```
152
- WHEN: Executed search or visit MCP tool
152
+ WHEN: Executed web_search or web_fetch Copilot CLI tool
153
153
  DO: IMMEDIATELY call save_research MCP tool (within the SAME response, not later)
154
154
 
155
155
  MANDATORY PATTERN - NO EXCEPTIONS:
156
- search(...) โ†’ save_research(...) โ†’ next action
157
- visit(...) โ†’ save_research(...) โ†’ next action
156
+ web_search(...) โ†’ save_research(...) โ†’ next action
157
+ web_fetch(...) โ†’ save_research(...) โ†’ next action
158
158
 
159
159
  EXAMPLE 1 (Search):
160
- 1. search(query: ["AIๅธ‚ๅ ดๅ‹•ๅ‘", "AI market trends"])
160
+ 1. web_search(query: "AIๅธ‚ๅ ดๅ‹•ๅ‘")
161
161
  2. save_research(
162
162
  content: "<ๆคœ็ดข็ตๆžœใฎๅ…จๆ–‡ใ‚’ใ“ใ“ใซ>",
163
163
  source: "search",
@@ -165,7 +165,7 @@ EXAMPLE 1 (Search):
165
165
  )
166
166
 
167
167
  EXAMPLE 2 (Visit):
168
- 1. visit(url: "https://example.com/article")
168
+ 1. web_fetch(url: "https://example.com/article")
169
169
  2. save_research(
170
170
  content: "<ใƒšใƒผใ‚ธๅ†…ๅฎนใฎๅ…จๆ–‡ใ‚’ใ“ใ“ใซ>",
171
171
  source: "visit",
@@ -173,8 +173,8 @@ EXAMPLE 2 (Visit):
173
173
  )
174
174
 
175
175
  FORBIDDEN (IMMEDIATE VIOLATION):
176
- - Calling search then another search without save_research in between
177
- - Calling visit then summarizing without save_research first
176
+ - Calling web_search then another web_search without save_research in between
177
+ - Calling web_fetch then summarizing without save_research first
178
178
  - Proceeding to analysis without saving raw data
179
179
  - "I'll save it later" - NO! Save IMMEDIATELY
180
180
 
@@ -183,7 +183,7 @@ CONSEQUENCE: Research data will be lost, workflow corrupted, unable to cite sour
183
183
 
184
184
  **CORRECT FLOW**:
185
185
  ```
186
- Agent: search(query: [...])
186
+ Agent: web_search(query: "...")
187
187
  โ†’ [็ตๆžœใ‚’ๅ—ไฟก]
188
188
  โ†’ save_research(content: <ๅ…จ็ตๆžœ>, source: "search", query: <query>)
189
189
  โ†’ "ๆคœ็ดข็ตๆžœใ‚’ไฟๅญ˜ใ—ใพใ—ใŸใ€‚ๆฌกใซ..."
@@ -191,7 +191,7 @@ Agent: search(query: [...])
191
191
 
192
192
  **INCORRECT FLOW (VIOLATION)**:
193
193
  ```
194
- Agent: search(query: [...])
194
+ Agent: web_search(query: "...")
195
195
  โ†’ "ๆคœ็ดข็ตๆžœใซใ‚ˆใ‚‹ใจ..." โ† โŒ save_research ใ‚’ๅ‘ผใ‚“ใงใ„ใชใ„๏ผ
196
196
  ```
197
197
 
@@ -241,7 +241,7 @@ CONSEQUENCE: PDF content will be unreadable or lost
241
241
 
242
242
  Every search/visit operation MUST follow this pattern:
243
243
  ```
244
- 1. search(query: [...]) or visit(url: [...])
244
+ 1. web_search(query: "...") or web_fetch(url: "...")
245
245
  2. save_research(content: <results>, source: "search"|"visit", query: <query>)
246
246
  ```
247
247
 
@@ -567,10 +567,10 @@ WHEN: Phase 2 completed, true purpose confirmed
567
567
  DO:
568
568
  LOOP:
569
569
  1. Think: Analyze knowledge gaps
570
- 2. Search: search(query: ["Japanese query", "English query"])
570
+ 2. Search: web_search(query: "Japanese query") + web_search(query: "English query")
571
571
  3. ๐Ÿšจ IMMEDIATELY: save_research(content: <FULL search_results>, source: "search", query: <query>)
572
572
  โ†’ Do NOT proceed without this step!
573
- 4. Visit: visit(url: <target_url>)
573
+ 4. Visit: web_fetch(url: <target_url>)
574
574
  5. ๐Ÿšจ IMMEDIATELY: save_research(content: <FULL page_content>, source: "visit", query: <url>)
575
575
  โ†’ Do NOT proceed without this step!
576
576
  6. Report: Organize collected information
@@ -578,19 +578,19 @@ DO:
578
578
  OUTPUT: Collected information summary, source list (URL + credibility)
579
579
  ```
580
580
 
581
- **๐Ÿšจ CRITICAL - save_research is MANDATORY after EVERY search/visit**:
581
+ **๐Ÿšจ CRITICAL - save_research is MANDATORY after EVERY web_search/web_fetch**:
582
582
  - Steps 3 and 5 are NOT optional
583
- - You MUST call save_research IMMEDIATELY after each search/visit
583
+ - You MUST call save_research IMMEDIATELY after each web_search/web_fetch
584
584
  - Do NOT analyze or summarize before saving raw data
585
585
  - Do NOT call multiple searches without saving each one
586
586
 
587
587
  **CORRECT Phase 3 Flow**:
588
588
  ```
589
- search(query: [...])
589
+ web_search(query: "...")
590
590
  โ†“
591
591
  save_research(content: <ๅ…จ็ตๆžœ>, source: "search", ...) โ† ๅฟ…้ ˆ๏ผ
592
592
  โ†“
593
- visit(url: ...)
593
+ web_fetch(url: ...)
594
594
  โ†“
595
595
  save_research(content: <ๅ…จๅ†…ๅฎน>, source: "visit", ...) โ† ๅฟ…้ ˆ๏ผ
596
596
  โ†“
@@ -598,7 +598,7 @@ save_research(content: <ๅ…จๅ†…ๅฎน>, source: "visit", ...) โ† ๅฟ…้ ˆ๏ผ
598
598
  ```
599
599
 
600
600
  **Search Rules**:
601
- - Parallel JP/EN search required: `["Japanese query", "English query"]`
601
+ - Parallel JP/EN search required: web_search("Japanese query") + web_search("English query")
602
602
  - For academic searches: `.ac.jp`, `.edu`, `.gov` domains auto-prioritized
603
603
  - On 404/5xx: Wayback Machine โ†’ Archive.today fallback
604
604
 
@@ -744,16 +744,18 @@ DO:
744
744
  |------|---------|-----------------|
745
745
  | `set_project` | Set project context | Once after Phase 0 completion |
746
746
  | `save_prompt` | Save prompts to prompts/ | Every time user input received |
747
- | `save_research` | Save research results to research/ | Every time after search/visit |
748
- | `search` | Web search | Phase 3 |
749
- | `visit` | Extract page content | Phase 3 |
750
- | `parse_file` | Parse local files | As needed |
751
- | `parse_directory` | Recursively parse directories | As needed |
747
+ | `save_research` | Save research results to research/ | Every time after web_search/web_fetch |
752
748
  | `embed` | Generate text embedding vectors | For semantic search |
753
749
  | `similarity` | Calculate text similarity | For relevance determination |
754
750
  | `semantic_search` | Semantic search | For context retrieval |
755
751
  | `get_project` | Check current project | For debugging |
756
752
 
753
+ **v2.0.0 ใงๅ‰Š้™คใ•ใ‚ŒใŸใƒ„ใƒผใƒซ๏ผˆCopilot CLI ใซๅง”่ญฒ๏ผ‰:**
754
+ | ~~`search`~~ | โ†’ Copilot CLI `web_search` |
755
+ | ~~`visit`~~ | โ†’ Copilot CLI `web_fetch` |
756
+ | ~~`parse_file`~~ | โ†’ Copilot CLI `view` |
757
+ | ~~`parse_directory`~~ | โ†’ Copilot CLI `glob` + `view` |
758
+
757
759
  ### save_prompt type Parameter
758
760
 
759
761
  | type | Purpose |
@@ -769,8 +771,8 @@ DO:
769
771
 
770
772
  | source | Purpose | Filename Example |
771
773
  |--------|---------|------------------|
772
- | `search` | Search results | `search_query_YYYYMMDD_HHMMSS.md` |
773
- | `visit` | Page visit results | `visit_domain_YYYYMMDD_HHMMSS.md` |
774
+ | `search` | Web search results (via Copilot CLI web_search) | `search_query_YYYYMMDD_HHMMSS.md` |
775
+ | `visit` | Page visit results (via Copilot CLI web_fetch) | `visit_domain_YYYYMMDD_HHMMSS.md` |
774
776
  | `manual` | Analysis notes | `manual_topic_YYYYMMDD_HHMMSS.md` |
775
777
 
776
778
  ---
@@ -1099,7 +1101,7 @@ DO: Auto-prioritize .ac.jp, .edu, .gov domains
1099
1101
  ### On 404/5xx Errors
1100
1102
 
1101
1103
  ```
1102
- WHEN: HTTP error occurs on visit
1104
+ WHEN: HTTP error occurs on web_fetch
1103
1105
  DO:
1104
1106
  1. Attempt retrieval from Wayback Machine (archive.org)
1105
1107
  2. On failure, attempt retrieval from Archive.today
@@ -1128,5 +1130,5 @@ DO: Auto-detect Shift_JIS/EUC-JP/ISO-2022-JP and convert to UTF-8
1128
1130
 
1129
1131
  ---
1130
1132
 
1131
- **Last Updated**: 2026-01-28
1132
- **Version**: 1.48.0
1133
+ **Last Updated**: 2026-05-18
1134
+ **Version**: 2.0.0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,26 @@ 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.0] - 2026-05-18
9
+
10
+ ### Breaking Changes
11
+
12
+ - **Copilot CLI ้‡่ค‡ๆฉŸ่ƒฝใฎๅ‰Š้™ค**: GitHub Copilot CLI ใฎ็ต„ใฟ่พผใฟๆฉŸ่ƒฝใจ้‡่ค‡ใ™ใ‚‹ SHIKIGAMI ๆฉŸ่ƒฝใ‚’ๅ‰Š้™ค
13
+ - MCP Tools: `search`๏ผˆโ†’ `web_search`๏ผ‰ใ€`visit`๏ผˆโ†’ `web_fetch`๏ผ‰ใ€`parse_file`๏ผˆโ†’ `view`๏ผ‰ใ€`parse_directory`๏ผˆโ†’ `glob` + `view`๏ผ‰ใ‚’ๅ‰Š้™ค
14
+ - Agent Skills: `session-manager`๏ผˆโ†’ `/session`๏ผ‰ใ€`context-optimizer`๏ผˆโ†’ `/context`๏ผ‰ใ€`learning-hooks`๏ผˆโ†’ `store_memory`๏ผ‰ใ€`codemap`๏ผˆโ†’ explore agent๏ผ‰ใ€`refactor-cleaner`๏ผˆโ†’ CLI + bash๏ผ‰ใ‚’ๅ‰Š้™ค
15
+
16
+ ### Changed
17
+
18
+ - **AGENTS.md ใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผๆ›ดๆ–ฐ**: ใƒชใ‚ตใƒผใƒใƒฏใƒผใ‚ฏใƒ•ใƒญใƒผๅ†…ใฎ `search` โ†’ `web_search`ใ€`visit` โ†’ `web_fetch` ใซๅ…จ้ข็งป่กŒ
19
+ - **MCP Server**: 14ใƒ„ใƒผใƒซ โ†’ 10ใƒ„ใƒผใƒซใซๆ•ด็†๏ผˆ`set_project`, `get_project`, `save_prompt`, `save_research`, `embed`, `similarity`, `semantic_search`, `branch_detect`, `branch_evaluate`, `branch_select`๏ผ‰
20
+ - **Agent Skills**: 20ใ‚นใ‚ญใƒซ โ†’ 15ใ‚นใ‚ญใƒซใซๆ•ด็†๏ผˆใƒชใ‚ตใƒผใƒ4 + ๅ“่ณชๆคœ่จผ5 + MUSUBIX SDD 6๏ผ‰
21
+ - **README.md**: v2.0.0 ใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃๅ›ณใƒปใ‚นใ‚ญใƒซไธ€่ฆงใƒปMCPไธ€่ฆงใ‚’ๆ›ดๆ–ฐใ€Copilot CLI ้€ฃๆบ่จญ่จˆใ‚’ๆ˜Ž่จ˜
22
+
23
+ ### Removed
24
+
25
+ - **MCP Tools๏ผˆ4ใƒ„ใƒผใƒซ๏ผ‰**: `search`, `visit`, `parse_file`, `parse_directory`
26
+ - **Agent Skills๏ผˆ5ใ‚นใ‚ญใƒซ๏ผ‰**: `session-manager`, `context-optimizer`, `learning-hooks`, `codemap`, `refactor-cleaner`
27
+
8
28
  ## [1.53.0] - 2026-04-07
9
29
 
10
30
  ### Fixed
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # SHIKIGAMI-McK
1
+ # SHIKIGAMI
2
2
 
3
3
  **GitHub Copilot Agent Skills for Deep Research & McKinsey Consulting**
4
4
 
5
- ใƒžใƒƒใ‚ญใƒณใ‚ผใƒผใฎใ‚ณใƒณใ‚ตใƒซใƒ†ใ‚ฃใƒณใ‚ฐๆ‰‹ๆณ•๏ผˆไปฎ่ชฌ้ง†ๅ‹•ใ€MECEใ€ใƒ”ใƒฉใƒŸใƒƒใƒ‰ๅŽŸๅ‰‡ใ€7Sใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏ็ญ‰๏ผ‰ใ‚’ๆดป็”จใ—ใŸๆทฑๅฑคใƒชใ‚ตใƒผใƒ่‡ชๅ‹•ๅŒ–Agent Skillsใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใงใ™ใ€‚
5
+ ใƒžใƒƒใ‚ญใƒณใ‚ผใƒผใฎใ‚ณใƒณใ‚ตใƒซใƒ†ใ‚ฃใƒณใ‚ฐๆ‰‹ๆณ•๏ผˆไปฎ่ชฌ้ง†ๅ‹•ใ€MECEใ€ใƒ”ใƒฉใƒŸใƒƒใƒ‰ๅŽŸๅ‰‡ใ€7Sใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏ็ญ‰๏ผ‰ใ‚’ๆดป็”จใ—ใŸๆทฑๅฑคใƒชใ‚ตใƒผใƒ่‡ชๅ‹•ๅŒ–Agent Skillsใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใงใ™ใ€‚GitHub Copilot CLI ใจ้€ฃๆบใ—ใ€Copilot CLI ใฎ็ต„ใฟ่พผใฟๆฉŸ่ƒฝใ‚’ๆดป็”จใ—ใคใคใ€SHIKIGAMI็‹ฌ่‡ชใฎใƒชใ‚ตใƒผใƒใƒปใ‚ณใƒณใ‚ตใƒซใƒ†ใ‚ฃใƒณใ‚ฐๆฉŸ่ƒฝใ‚’ๆไพ›ใ—ใพใ™ใ€‚
6
6
 
7
7
  ## ๐ŸŽฏ ใงใใ‚‹ใ“ใจ
8
8
 
@@ -10,8 +10,9 @@
10
10
  - **Deep Research**: WebResearcherใƒ‘ใƒฉใƒ€ใ‚คใƒ ใซๅŸบใฅใๅๅพฉ็š„ๆทฑๅฑคใƒชใ‚ตใƒผใƒ
11
11
  - **ใƒžใƒƒใ‚ญใƒณใ‚ผใƒผใƒปใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏๅˆ†ๆž**: ไปฎ่ชฌ้ง†ๅ‹•ใ€ใ‚คใ‚ทใƒฅใƒผใƒ„ใƒชใƒผใ€7Sใ€ใƒ”ใƒฉใƒŸใƒƒใƒ‰ๅŽŸๅ‰‡็ญ‰ใ‚’้ฉ็”จ
12
12
  - **้ซ˜ๅ“่ณชใƒฌใƒใƒผใƒˆ็”Ÿๆˆ**: ใƒใƒซใ‚ทใƒใƒผใ‚ทใƒงใƒณ้˜ฒๆญขใ€ใ‚ฝใƒผใ‚น่ฟฝ่ทกใ€ๅผ•็”จ็ฎก็†
13
- - **ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ‚ทใ‚นใƒ†ใƒ **: ๆคœ็ดขใƒป่จชๅ•็ตๆžœใฎใ‚ญใƒฃใƒƒใ‚ทใƒฅใซใ‚ˆใ‚‹ๅŠน็އๅŒ–
14
- - **้€ฒๆ—็ฎก็†**: ๆˆๆžœ็‰ฉใƒˆใƒฉใƒƒใ‚ญใƒณใ‚ฐใ€ใƒ€ใƒƒใ‚ทใƒฅใƒœใƒผใƒ‰ใ€ๆ•ดๅˆๆ€งใƒใ‚งใƒƒใ‚ฏ
13
+ - **ใƒžใƒซใƒใƒใƒƒใƒ—ๆŽข็ดข**: ใƒชใ‚ตใƒผใƒไธญใฎๅˆ†ๅฒ็‚นใ‚’่‡ชๅ‹•ๆคœๅ‡บใ—ใ€่ค‡ๆ•ฐใƒ‘ใ‚นใ‚’ๅŒๆ™‚ๆŽข็ดข
14
+ - **ใƒ™ใ‚ฏใƒˆใƒซๆคœ็ดข**: ้ŽๅŽปใฎใƒชใ‚ตใƒผใƒ่ณ‡็”ฃใ‚’ใ‚ปใƒžใƒณใƒ†ใ‚ฃใƒƒใ‚ฏๆคœ็ดขใงๅ†ๅˆฉ็”จ
15
+ - **ๅ“่ณชๆคœ่จผใƒซใƒผใƒ—**: Buildโ†’Typeโ†’Lintโ†’Testโ†’Securityโ†’Diff ใฎ6ใƒ•ใ‚งใƒผใ‚บๆคœ่จผ
15
16
 
16
17
  ## ๐Ÿ“ฆ ใ‚คใƒณใ‚นใƒˆใƒผใƒซ
17
18
 
@@ -22,45 +23,82 @@ npm install @nahisaho/shikigami-mck
22
23
  ใพใŸใฏใ€ใƒชใƒใ‚ธใƒˆใƒชใ‚’ใ‚ฏใƒญใƒผใƒณ:
23
24
 
24
25
  ```bash
25
- git clone https://github.com/nahisaho/SHIKIGAMI-McK.git
26
+ git clone https://github.com/nahisaho/SHIKIGAMI.git
26
27
  ```
27
28
 
28
- ## ๐Ÿ”ง Agent Skills
29
+ ## ๐Ÿ—๏ธ ใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃ
29
30
 
30
- ### shikigami-planner
31
- ๅฏพ่ฉฑ็š„็›ฎ็š„ๆŽข็ดขใƒป่จˆ็”ป็ซ‹ๆกˆใ‚นใ‚ญใƒซใ€‚
31
+ SHIKIGAMI v2.0.0 ใฏ GitHub Copilot CLI ใฎ็ต„ใฟ่พผใฟๆฉŸ่ƒฝใ‚’ๆœ€ๅคง้™ๆดป็”จใ™ใ‚‹่จญ่จˆใซ็งป่กŒใ—ใพใ—ใŸใ€‚
32
32
 
33
- - 5 Whysๅˆ†ๆžใงๆ นๆœฌ็š„ใชๅ‹•ๆฉŸใ‚’็™บ่ฆ‹
34
- - JTBD๏ผˆJobs To Be Done๏ผ‰ๅˆ†ๆž
35
- - ใƒชใ‚ตใƒผใƒ่จˆ็”ปใฎ่‡ชๅ‹•็ซ‹ๆกˆ
36
- - **ๆˆๆžœ็‰ฉ็ฎก็†ใƒป้€ฒๆ—ใƒ€ใƒƒใ‚ทใƒฅใƒœใƒผใƒ‰**
37
- - **ๆ•ดๅˆๆ€งใƒใ‚งใƒƒใ‚ฏ**
38
-
39
- ### shikigami-deep-research
40
- ๅๅพฉ็š„ๆทฑๅฑคใƒชใ‚ตใƒผใƒใ‚นใ‚ญใƒซใ€‚
41
-
42
- - Thinkโ†’Reportโ†’Action ใ‚ตใ‚คใ‚ฏใƒซ
43
- - ่ค‡ๆ•ฐๆƒ…ๅ ฑๆบใฎ็ตฑๅˆ
44
- - ใ‚ฝใƒผใ‚น่ฟฝ่ทกใƒปไบคๅทฎๆคœ่จผ
45
- - ใƒใƒซใ‚ทใƒใƒผใ‚ทใƒงใƒณ้˜ฒๆญข
46
-
47
- ### shikigami-consulting-framework
48
- ใƒžใƒƒใ‚ญใƒณใ‚ผใƒผใƒปใ‚ณใƒณใ‚ตใƒซใƒ†ใ‚ฃใƒณใ‚ฐใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏๅˆ†ๆžใ‚นใ‚ญใƒซใ€‚
49
-
50
- - **ไปฎ่ชฌ้ง†ๅ‹•ใ‚ขใƒ—ใƒญใƒผใƒ** - ไปฎ่ชฌใ‚’็ซ‹ใฆใ€ๆคœ่จผใ—ใ€็ต่ซ–ใ‚’ๅฐŽใ
51
- - **ใ‚คใ‚ทใƒฅใƒผใƒ„ใƒชใƒผ** - ๅ•้กŒใ‚’MECEใซๅˆ†่งฃ
52
- - **ใƒ”ใƒฉใƒŸใƒƒใƒ‰ๅŽŸๅ‰‡** - ็ต่ซ–ๅ…ˆ่กŒใฎ่ซ–็†ๆง‹้€ 
53
- - **ใƒžใƒƒใ‚ญใƒณใ‚ผใƒผใฎ7S** - ็ต„็น”ใฎๆ•ดๅˆๆ€งๅˆ†ๆž
54
- - **3ใคใฎๅœฐๅนณ็ทš** - ็ŸญๆœŸใƒปไธญๆœŸใƒป้•ทๆœŸใฎๆˆ้•ท็ฎก็†
55
- - MECEใƒปใƒญใ‚ธใƒƒใ‚ฏๅ“่ณชๆคœ่จผ
56
-
57
- ### shikigami-writing
58
- ใƒฌใƒใƒผใƒˆ็”Ÿๆˆใƒปๅ“่ณชไฟ่จผใ‚นใ‚ญใƒซใ€‚
33
+ ```
34
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
35
+ โ”‚ GitHub Copilot CLI โ”‚
36
+ โ”‚ web_search / web_fetch / store_memory / grep โ”‚
37
+ โ”‚ explore / research / rubber-duck agents โ”‚
38
+ โ”‚ /session / /context / /compact โ”‚
39
+ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
40
+ โ”‚ SHIKIGAMI v2.0.0 โ”‚
41
+ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
42
+ โ”‚ โ”‚ Agent Skills โ”‚ โ”‚ MCP Server (10 tools) โ”‚ โ”‚
43
+ โ”‚ โ”‚ (15 skills) โ”‚ โ”‚ embed / similarity โ”‚ โ”‚
44
+ โ”‚ โ”‚ โ”‚ โ”‚ semantic_search โ”‚ โ”‚
45
+ โ”‚ โ”‚ Research โ”‚ โ”‚ branch_detect/eval/ โ”‚ โ”‚
46
+ โ”‚ โ”‚ Consulting โ”‚ โ”‚ select โ”‚ โ”‚
47
+ โ”‚ โ”‚ Quality โ”‚ โ”‚ set/get_project โ”‚ โ”‚
48
+ โ”‚ โ”‚ MUSUBIX SDD โ”‚ โ”‚ save_prompt/research โ”‚ โ”‚
49
+ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
50
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
51
+ ```
59
52
 
60
- - ่ชฟๆŸปใƒฌใƒใƒผใƒˆใ€Qiita่จ˜ไบ‹ใƒ†ใƒณใƒ—ใƒฌใƒผใƒˆ
61
- - ใƒใƒซใ‚ทใƒใƒผใ‚ทใƒงใƒณๆคœๅ‡บ
62
- - ไธ็ขบๅฎŸๆ€งใƒžใƒผใ‚ญใƒณใ‚ฐ
63
- - ๅผ•็”จ็ฎก็†ใƒปMermaidใƒ€ใ‚คใ‚ขใ‚ฐใƒฉใƒ ็”Ÿๆˆ
53
+ ## ๐Ÿ”ง Agent Skills๏ผˆ15ใ‚นใ‚ญใƒซ๏ผ‰
54
+
55
+ ### ใƒชใ‚ตใƒผใƒใƒปใ‚ณใƒณใ‚ตใƒซใƒ†ใ‚ฃใƒณใ‚ฐ
56
+
57
+ | ใ‚นใ‚ญใƒซ | ่ชฌๆ˜Ž |
58
+ |--------|------|
59
+ | `shikigami-planner` | ๅฏพ่ฉฑ็š„็›ฎ็š„ๆŽข็ดขใƒป5 WhysใƒปJTBDใƒปใƒชใ‚ตใƒผใƒ่จˆ็”ป็ซ‹ๆกˆ |
60
+ | `shikigami-deep-research` | Thinkโ†’Reportโ†’Actionใ‚ตใ‚คใ‚ฏใƒซใฎๅๅพฉ็š„ๆทฑๅฑคใƒชใ‚ตใƒผใƒ |
61
+ | `shikigami-consulting-framework` | ใƒžใƒƒใ‚ญใƒณใ‚ผใƒผใƒปใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏๅˆ†ๆž๏ผˆไปฎ่ชฌ้ง†ๅ‹•ใƒป7Sใƒปใƒ”ใƒฉใƒŸใƒƒใƒ‰ๅŽŸๅ‰‡็ญ‰๏ผ‰ |
62
+ | `shikigami-writing` | ใƒฌใƒใƒผใƒˆ็”Ÿๆˆใƒปใƒใƒซใ‚ทใƒใƒผใ‚ทใƒงใƒณๆคœๅ‡บใƒปๅผ•็”จ็ฎก็† |
63
+
64
+ ### ๅ“่ณชใƒปๆคœ่จผ
65
+
66
+ | ใ‚นใ‚ญใƒซ | ่ชฌๆ˜Ž |
67
+ |--------|------|
68
+ | `build-fix` | ใƒ“ใƒซใƒ‰ใ‚จใƒฉใƒผใ‚’ๅˆ†้กžใƒปๅๅพฉไฟฎๆญฃ๏ผˆTypeScript/ESLint/ไพๅญ˜้–ขไฟ‚๏ผ‰ |
69
+ | `checkpoint` | ใ‚ปใƒผใƒ•ใƒใ‚คใƒณใƒˆใฎไฝœๆˆใƒปๅพฉๅ…ƒใƒปๆฏ”่ผƒ๏ผˆGit็ตฑๅˆ๏ผ‰ |
70
+ | `e2e-runner` | Playwrightใ‚’ไฝฟ็”จใ—ใŸE2Eใƒ†ใ‚นใƒˆ็”ŸๆˆใƒปๅฎŸ่กŒ |
71
+ | `eval-harness` | pass@kใƒกใƒˆใƒชใ‚ฏใ‚นใงAIใ‚ณใƒผใƒ‰็”Ÿๆˆๅ“่ณชใ‚’่ฉ•ไพก |
72
+ | `verification-loop` | Buildโ†’Typeโ†’Lintโ†’Testโ†’Securityโ†’Diff ใฎ6ใƒ•ใ‚งใƒผใ‚บๆคœ่จผ |
73
+
74
+ ### MUSUBIX SDD
75
+
76
+ | ใ‚นใ‚ญใƒซ | ่ชฌๆ˜Ž |
77
+ |--------|------|
78
+ | `musubix-sdd-workflow` | 10ๆ†ฒๆณ•ๆก้ …ใซๅพ“ใฃใŸไป•ๆง˜้ง†ๅ‹•้–‹็™บใ‚ฌใ‚คใƒ‰ |
79
+ | `musubix-domain-inference` | ่‡ชๅ‹•ใƒ‰ใƒกใ‚คใƒณๆคœๅ‡บใƒปใ‚ณใƒณใƒใƒผใƒใƒณใƒˆๆŽจ่ซ– |
80
+ | `musubix-code-generation` | ่จญ่จˆไป•ๆง˜ใ‹ใ‚‰ใฎใ‚ณใƒผใƒ‰็”Ÿๆˆ |
81
+ | `musubix-test-generation` | TDD/BDDใซใ‚ˆใ‚‹ใƒ†ใ‚นใƒˆ็”Ÿๆˆ |
82
+ | `musubix-adr-generation` | Architecture Decision Recordsไฝœๆˆ |
83
+ | `musubix-best-practices` | ๅญฆ็ฟ’ๆธˆใฟ17ใƒ™ใ‚นใƒˆใƒ—ใƒฉใ‚ฏใƒ†ใ‚ฃใ‚นใ‚ฌใ‚คใƒ‰ |
84
+ | `musubix-c4-design` | C4ใƒขใƒ‡ใƒซ่จญ่จˆใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆไฝœๆˆ |
85
+ | `musubix-technical-writing` | ๆŠ€่ก“ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆไฝœๆˆ |
86
+ | `musubix-ears-validation` | EARSๅฝขๅผ่ฆไปถใฎๆคœ่จผใƒปไฝœๆˆ |
87
+ | `musubix-traceability` | ่ฆไปถใƒป่จญ่จˆใƒปใ‚ณใƒผใƒ‰ใƒปใƒ†ใ‚นใƒˆ้–“ใฎใƒˆใƒฌใƒผใ‚ตใƒ“ใƒชใƒ†ใ‚ฃ็ฎก็† |
88
+
89
+ ## ๐Ÿ”Œ MCP Server๏ผˆ10ใƒ„ใƒผใƒซ๏ผ‰
90
+
91
+ | ใƒ„ใƒผใƒซ | ่ชฌๆ˜Ž |
92
+ |--------|------|
93
+ | `set_project` / `get_project` | ใƒชใ‚ตใƒผใƒใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎ่จญๅฎšใƒปๅ–ๅพ— |
94
+ | `save_prompt` | ใƒชใ‚ตใƒผใƒใƒ—ใƒญใƒณใƒ—ใƒˆใฎไฟๅญ˜ |
95
+ | `save_research` | ใƒชใ‚ตใƒผใƒ็ตๆžœใฎไฟๅญ˜ |
96
+ | `embed` | ใƒ†ใ‚ญใ‚นใƒˆใฎใƒ™ใ‚ฏใƒˆใƒซๅŸ‹ใ‚่พผใฟ็”Ÿๆˆ |
97
+ | `similarity` | ใƒ†ใ‚ญใ‚นใƒˆ้–“ใฎ้กžไผผๅบฆ่จˆ็ฎ— |
98
+ | `semantic_search` | ้ŽๅŽปใฎใƒชใ‚ตใƒผใƒ่ณ‡็”ฃใ‚’ใ‚ปใƒžใƒณใƒ†ใ‚ฃใƒƒใ‚ฏๆคœ็ดข |
99
+ | `branch_detect` | ใƒชใ‚ตใƒผใƒไธญใฎๅˆ†ๅฒใ‚ทใ‚ฐใƒŠใƒซๆคœๅ‡บ |
100
+ | `branch_evaluate` | ๅˆ†ๅฒใƒ‘ใ‚นใฎใ‚นใ‚ณใ‚ขใƒชใƒณใ‚ฐใƒป่ฉ•ไพก |
101
+ | `branch_select` | ๆœ€้ฉใชๆŽข็ดขใƒ‘ใ‚นใฎ้ธๆŠž |
64
102
 
65
103
  ## ๐Ÿ“ Prompts
66
104
 
@@ -138,9 +176,9 @@ flowchart TB
138
176
  ```
139
177
  ใƒฆใƒผใ‚ถใƒผ: ใ€Œๆ–ฐ่ฆไบ‹ๆฅญใฎๆ–นๅ‘ๆ€งใ‚’ๆคœ่จŽใ—ใŸใ„ใ€
140
178
 
141
- SHIKIGAMI-McK:
179
+ SHIKIGAMI:
142
180
  1. [Planner] ใ€Œๆˆ้•ทใฎ็›ฎๆจ™ใฏไฝ•ใงใ™ใ‹๏ผŸใ€โ†’ ็œŸใฎ็›ฎ็š„ใ‚’ๆŽข็ดข
143
- 2. [Deep Research] ๅธ‚ๅ ดๆƒ…ๅ ฑใ‚’ไปฎ่ชฌ้ง†ๅ‹•ใงๅŽ้›†
181
+ 2. [Deep Research] ๅธ‚ๅ ดๆƒ…ๅ ฑใ‚’ไปฎ่ชฌ้ง†ๅ‹•ใงๅŽ้›†๏ผˆweb_search / web_fetch ๆดป็”จ๏ผ‰
144
182
  3. [Framework] 3ใคใฎๅœฐๅนณ็ทšใ€ๆˆ้•ทใฎใ‚ฐใƒฉใƒ‹ใƒฅใƒฉใƒชใƒ†ใ‚ฃใ‚’้ฉ็”จ
145
183
  4. [Writing] ใƒ”ใƒฉใƒŸใƒƒใƒ‰ๅŽŸๅ‰‡ใงๆง‹้€ ๅŒ–ใ—ใŸๆ่จ€ใƒฌใƒใƒผใƒˆใ‚’็”Ÿๆˆ
146
184
  ```
@@ -150,7 +188,7 @@ SHIKIGAMI-McK:
150
188
  ```
151
189
  ใƒฆใƒผใ‚ถใƒผ: ใ€Œ็ต„็น”ใฎๅ•้กŒ็‚นใ‚’ๅˆ†ๆžใ—ใฆใ€
152
190
 
153
- SHIKIGAMI-McK:
191
+ SHIKIGAMI:
154
192
  1. [Planner] ๅค‰้ฉใฎ็›ฎ็š„ใƒปๆˆๅŠŸๅŸบๆบ–ใ‚’็ขบ่ช
155
193
  2. [Deep Research] ็ต„็น”ๆƒ…ๅ ฑใ‚’ๅŽ้›†
156
194
  3. [Framework] ใƒžใƒƒใ‚ญใƒณใ‚ผใƒผใฎ7Sใงๆ•ดๅˆๆ€งใ‚’ๅˆ†ๆž
@@ -162,7 +200,7 @@ SHIKIGAMI-McK:
162
200
  ```
163
201
  ใƒฆใƒผใ‚ถใƒผ: ใ€Œ้–“ๆŽฅ่ฒปใ‚’ๅ‰Šๆธ›ใ—ใŸใ„ใ€
164
202
 
165
- SHIKIGAMI-McK:
203
+ SHIKIGAMI:
166
204
  1. [Planner] ๅ‰Šๆธ›็›ฎๆจ™ใƒปๅˆถ็ด„ใ‚’็ขบ่ช
167
205
  2. [Deep Research] ้–“ๆŽฅ้ƒจ้–€ใฎๆฉŸ่ƒฝใƒปใ‚ณใ‚นใƒˆใ‚’่ชฟๆŸป
168
206
  3. [Framework] OVA๏ผˆ้–“ๆŽฅ่ฒปไพกๅ€คๅˆ†ๆž๏ผ‰ใ‚’้ฉ็”จ
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/shikigami-pwc-mcp-server",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "SHIKIGAMI-PwC MCP Server - Deep Research tools with PwC Consulting Frameworks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,9 +15,7 @@ import {
15
15
  type Tool,
16
16
  } from '@modelcontextprotocol/sdk/types.js';
17
17
 
18
- import { searchDuckDuckGo, type SearchResult } from './tools/search.js';
19
- import { visitPage, type PageContent } from './tools/visit.js';
20
- import { parseFile, parseFiles, parseDirectory, type ParsedFile } from './tools/file-parser.js';
18
+ // search, visit, file-parser โ€” REMOVED in v2.0.0 (Copilot CLI ใซๅง”่ญฒ)
21
19
  import {
22
20
  embed,
23
21
  embedBatch,
@@ -187,117 +185,11 @@ set_projectใงใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใ‚’่จญๅฎšใ—ใฆใ‹ใ‚‰ไฝฟ็”จใ€‚`,
187
185
  required: ['content'],
188
186
  },
189
187
  },
190
- // Search & Visit Tools
191
- {
192
- name: 'search',
193
- description: `ใƒใƒƒใƒWebๆคœ็ดขใ‚’ๅฎŸ่กŒ๏ผˆDuckDuckGoไฝฟ็”จ๏ผ‰ใ€‚
194
- ่ค‡ๆ•ฐใ‚ฏใ‚จใƒชใ‚’้…ๅˆ—ใงๆŒ‡ๅฎšๅฏใ€‚ๅ„ใ‚ฏใ‚จใƒชใฎTop10็ตๆžœใ‚’่ฟ”ๅดใ€‚
195
- Deep Researchใฎๆƒ…ๅ ฑๅŽ้›†ใƒ•ใ‚งใƒผใ‚บใงไฝฟ็”จใ€‚`,
196
- inputSchema: {
197
- type: 'object',
198
- properties: {
199
- query: {
200
- oneOf: [
201
- { type: 'string', description: 'ๅ˜ไธ€ใฎๆคœ็ดขใ‚ฏใ‚จใƒช' },
202
- {
203
- type: 'array',
204
- items: { type: 'string' },
205
- minItems: 1,
206
- description: 'ๆคœ็ดขใ‚ฏใ‚จใƒชใฎใƒชใ‚นใƒˆ๏ผˆใƒใƒƒใƒๆคœ็ดข๏ผ‰',
207
- },
208
- ],
209
- description: 'ๆคœ็ดขใ‚ฏใ‚จใƒช๏ผˆๆ–‡ๅญ—ๅˆ—ใพใŸใฏๆ–‡ๅญ—ๅˆ—้…ๅˆ—๏ผ‰',
210
- },
211
- maxResults: {
212
- type: 'number',
213
- default: 10,
214
- description: 'ๅ„ใ‚ฏใ‚จใƒชใ‚ใŸใ‚Šใฎๆœ€ๅคง็ตๆžœๆ•ฐ๏ผˆใƒ‡ใƒ•ใ‚ฉใƒซใƒˆ: 10๏ผ‰',
215
- },
216
- },
217
- required: ['query'],
218
- },
219
- },
220
- {
221
- name: 'visit',
222
- description: `Webใƒšใƒผใ‚ธใ‚’่จชๅ•ใ—ใ€ๅ†…ๅฎนใฎใƒ†ใ‚ญใ‚นใƒˆใ‚’ๆŠฝๅ‡บ๏ผˆJina AI Readerไฝฟ็”จ๏ผ‰ใ€‚
223
- LLM็”จใซๆœ€้ฉๅŒ–ใ•ใ‚ŒใŸใ‚ฏใƒชใƒผใƒณใชใƒ†ใ‚ญใ‚นใƒˆใ‚’่ฟ”ๅดใ€‚
224
- Deep Researchใฎ่ฉณ็ดฐ่ชฟๆŸปใƒ•ใ‚งใƒผใ‚บใงไฝฟ็”จใ€‚`,
225
- inputSchema: {
226
- type: 'object',
227
- properties: {
228
- url: {
229
- oneOf: [
230
- { type: 'string', description: 'ๅ˜ไธ€ใฎURL' },
231
- {
232
- type: 'array',
233
- items: { type: 'string' },
234
- description: 'URLใฎใƒชใ‚นใƒˆ๏ผˆใƒใƒƒใƒ่จชๅ•๏ผ‰',
235
- },
236
- ],
237
- description: '่จชๅ•ใ™ใ‚‹URL๏ผˆๆ–‡ๅญ—ๅˆ—ใพใŸใฏๆ–‡ๅญ—ๅˆ—้…ๅˆ—๏ผ‰',
238
- },
239
- goal: {
240
- type: 'string',
241
- description: 'ใ“ใฎใƒšใƒผใ‚ธ่จชๅ•ใฎ็›ฎ็š„๏ผˆๆŠฝๅ‡บใ™ใ‚‹ๆƒ…ๅ ฑใฎๆŒ‡้‡๏ผ‰',
242
- },
243
- },
244
- required: ['url'],
245
- },
246
- },
247
- {
248
- name: 'parse_file',
249
- description: `ใƒญใƒผใ‚ซใƒซใƒ•ใ‚กใ‚คใƒซใ‚’่งฃๆžใ—ใฆใƒ†ใ‚ญใ‚นใƒˆใ‚’ๆŠฝๅ‡บใ€‚
250
- ๅฏพๅฟœๅฝขๅผ: ใƒ†ใ‚ญใ‚นใƒˆ(txt,md,json,yaml,csv)ใ€ใ‚ณใƒผใƒ‰(ts,js,py็ญ‰)ใ€‚
251
- ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ่ชฟๆŸปใ‚„ใ‚ณใƒผใƒ‰่งฃๆžใซไฝฟ็”จใ€‚`,
252
- inputSchema: {
253
- type: 'object',
254
- properties: {
255
- path: {
256
- oneOf: [
257
- { type: 'string', description: 'ๅ˜ไธ€ใฎใƒ•ใ‚กใ‚คใƒซใƒ‘ใ‚น' },
258
- {
259
- type: 'array',
260
- items: { type: 'string' },
261
- description: 'ใƒ•ใ‚กใ‚คใƒซใƒ‘ใ‚นใฎใƒชใ‚นใƒˆ๏ผˆใƒใƒƒใƒ่งฃๆž๏ผ‰',
262
- },
263
- ],
264
- description: '่งฃๆžใ™ใ‚‹ใƒ•ใ‚กใ‚คใƒซใƒ‘ใ‚น๏ผˆๆ–‡ๅญ—ๅˆ—ใพใŸใฏๆ–‡ๅญ—ๅˆ—้…ๅˆ—๏ผ‰',
265
- },
266
- },
267
- required: ['path'],
268
- },
269
- },
270
- {
271
- name: 'parse_directory',
272
- description: `ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชๅ†…ใฎใƒ•ใ‚กใ‚คใƒซใ‚’ๅ†ๅธฐ็š„ใซ่งฃๆžใ€‚
273
- ใ‚ณใƒผใƒ‰ใƒ™ใƒผใ‚นๅ…จไฝ“ใฎ็†่งฃใ‚„ใ€ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆๆง‹้€ ใฎๆŠŠๆกใซไฝฟ็”จใ€‚
274
- node_modules, .git็ญ‰ใฏ่‡ชๅ‹•้™คๅค–ใ€‚`,
275
- inputSchema: {
276
- type: 'object',
277
- properties: {
278
- path: {
279
- type: 'string',
280
- description: '่งฃๆžใ™ใ‚‹ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใƒ‘ใ‚น',
281
- },
282
- extensions: {
283
- type: 'array',
284
- items: { type: 'string' },
285
- description: '่งฃๆžใ™ใ‚‹ๆ‹กๅผตๅญใƒชใ‚นใƒˆ๏ผˆไพ‹: [".ts", ".js"]๏ผ‰',
286
- },
287
- exclude: {
288
- type: 'array',
289
- items: { type: 'string' },
290
- description: '้™คๅค–ใƒ‘ใ‚ฟใƒผใƒณ๏ผˆใƒ‡ใƒ•ใ‚ฉใƒซใƒˆ: node_modules, .git, dist, build๏ผ‰',
291
- },
292
- maxFiles: {
293
- type: 'number',
294
- default: 100,
295
- description: 'ๆœ€ๅคงใƒ•ใ‚กใ‚คใƒซๆ•ฐ๏ผˆใƒ‡ใƒ•ใ‚ฉใƒซใƒˆ: 100๏ผ‰',
296
- },
297
- },
298
- required: ['path'],
299
- },
300
- },
188
+ // Search & Visit Tools โ€” REMOVED in v2.0.0
189
+ // search: Copilot CLI web_search ใซๅง”่ญฒ
190
+ // visit: Copilot CLI web_fetch ใซๅง”่ญฒ
191
+ // parse_file: Copilot CLI view ใซๅง”่ญฒ
192
+ // parse_directory: Copilot CLI glob + view ใซๅง”่ญฒ
301
193
  {
302
194
  name: 'embed',
303
195
  description: `ใƒ†ใ‚ญใ‚นใƒˆใฎๅŸ‹ใ‚่พผใฟใƒ™ใ‚ฏใƒˆใƒซใ‚’็”Ÿๆˆ๏ผˆOllama/OpenAIไฝฟ็”จ๏ผ‰ใ€‚
@@ -624,87 +516,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request: CallToolRequest)
624
516
  };
625
517
  }
626
518
 
627
- // Search & Visit Handlers
628
- case 'search': {
629
- const queryInput = args?.query as string | string[];
630
- const maxResults = (args?.maxResults as number) ?? 10;
631
-
632
- const queries = Array.isArray(queryInput) ? queryInput : [queryInput];
633
- const results: Record<string, SearchResult[]> = {};
634
-
635
- for (const query of queries) {
636
- results[query] = await searchDuckDuckGo(query, maxResults);
637
- }
638
-
639
- return {
640
- content: [
641
- {
642
- type: 'text',
643
- text: JSON.stringify(results, null, 2),
644
- },
645
- ],
646
- };
647
- }
648
-
649
- case 'visit': {
650
- const urlInput = args?.url as string | string[];
651
- const goal = (args?.goal as string) ?? '';
652
-
653
- const urls = Array.isArray(urlInput) ? urlInput : [urlInput];
654
- const results: PageContent[] = [];
655
-
656
- for (const url of urls) {
657
- const content = await visitPage(url, goal);
658
- results.push(content);
659
- }
660
-
661
- return {
662
- content: [
663
- {
664
- type: 'text',
665
- text: JSON.stringify(results, null, 2),
666
- },
667
- ],
668
- };
669
- }
670
-
671
- case 'parse_file': {
672
- const pathInput = args?.path as string | string[];
673
-
674
- const paths = Array.isArray(pathInput) ? pathInput : [pathInput];
675
- const results: ParsedFile[] = await parseFiles(paths);
676
-
677
- return {
678
- content: [
679
- {
680
- type: 'text',
681
- text: JSON.stringify(results, null, 2),
682
- },
683
- ],
684
- };
685
- }
686
-
687
- case 'parse_directory': {
688
- const dirPath = args?.path as string;
689
- const extensions = args?.extensions as string[] | undefined;
690
- const exclude = args?.exclude as string[] | undefined;
691
- const maxFiles = (args?.maxFiles as number) ?? 100;
692
-
693
- const results: ParsedFile[] = await parseDirectory(dirPath, {
694
- extensions,
695
- exclude,
696
- maxFiles,
697
- });
698
-
699
- return {
700
- content: [
701
- {
702
- type: 'text',
703
- text: JSON.stringify(results, null, 2),
704
- },
705
- ],
706
- };
707
- }
519
+ // search, visit, parse_file, parse_directory โ€” REMOVED in v2.0.0
520
+ // Copilot CLI ใฎ web_search, web_fetch, view, glob ใซๅง”่ญฒ
708
521
 
709
522
  case 'embed': {
710
523
  const textInput = args?.text as string | string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/shikigami",
3
- "version": "1.53.0",
3
+ "version": "2.0.0",
4
4
  "description": "GitHub Copilot Agent Skills for Deep Research & Consulting - AI-Powered Research Assistant with 50+ Consulting Frameworks",
5
5
  "keywords": [
6
6
  "github-copilot",
package/scripts/cli.js CHANGED
@@ -32,6 +32,7 @@ Usage: npx shikigami [command] [options]
32
32
  Commands:
33
33
  init Initialize SHIKIGAMI files in current directory
34
34
  upgrade, update Upgrade SHIKIGAMI files (same as init --force) (v1.23.0)
35
+ cowork [options] Set up Microsoft Copilot Cowork MCP (v2.0.0)
35
36
  new [name] Create a new research project
36
37
  find-related [keyword] Find related projects by keywords (v1.7.0)
37
38
  inherit [options] Prepare knowledge inheritance from past reports (v1.8.0)
@@ -41,6 +42,8 @@ Commands:
41
42
  Examples:
42
43
  npx shikigami init # Initialize SHIKIGAMI
43
44
  npx shikigami upgrade # Upgrade to latest version
45
+ npx shikigami cowork # Set up Copilot Cowork MCP (v2.0.0)
46
+ npx shikigami cowork --status # Check Cowork installation status
44
47
  npx shikigami new my-research # Create new project "my-research"
45
48
  npx shikigami new # Create new project with auto-numbered name
46
49
  npx shikigami find-related ใƒฌใ‚ขใ‚ขใƒผใ‚น # Find projects related to "ใƒฌใ‚ขใ‚ขใƒผใ‚น"
@@ -68,6 +71,13 @@ if (command === 'upgrade' || command === 'update') {
68
71
  process.exit(0);
69
72
  }
70
73
 
74
+ // Cowork command (v2.0.0)
75
+ if (command === 'cowork') {
76
+ const { setup } = require('./setup-cowork.js');
77
+ setup();
78
+ process.exit(0);
79
+ }
80
+
71
81
  // New project command
72
82
  if (command === 'new') {
73
83
  const projectName = args[1];
@@ -89,7 +99,7 @@ if (command === 'inherit') {
89
99
  }
90
100
 
91
101
  // Unknown command
92
- if (command !== 'find-related' && command !== 'inherit' && command !== 'upgrade' && command !== 'update') {
102
+ if (command !== 'find-related' && command !== 'inherit' && command !== 'upgrade' && command !== 'update' && command !== 'cowork') {
93
103
  console.error(`Unknown command: ${command}`);
94
104
  console.log('Run "npx shikigami --help" for usage information.');
95
105
  process.exit(1);
package/scripts/init.js CHANGED
@@ -166,6 +166,23 @@ function init() {
166
166
  console.log('');
167
167
  console.log(`๐Ÿ“Š Summary: ${copiedCount} copied, ${overwrittenCount} overwritten, ${skippedCount} skipped`);
168
168
  console.log('');
169
+
170
+ // Check Cowork MCP status
171
+ try {
172
+ const { isInstalled, isMcpConfigured } = require('./setup-cowork.js');
173
+ if (!isInstalled() || !isMcpConfigured()) {
174
+ console.log('๐Ÿค Copilot Cowork MCP (M365้€ฃๆบ):');
175
+ console.log(' ใƒกใƒผใƒซใƒปใ‚ซใƒฌใƒณใƒ€ใƒผใƒปTeamsใƒปOneDrive ใซCopilot CLIใ‹ใ‚‰ใ‚ขใ‚ฏใ‚ปใ‚นๅฏ่ƒฝใซ');
176
+ console.log(' ใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—: npx shikigami cowork');
177
+ console.log('');
178
+ } else {
179
+ console.log('๐Ÿค Copilot Cowork MCP: โœ… Configured');
180
+ console.log('');
181
+ }
182
+ } catch {
183
+ // Ignore errors from cowork check
184
+ }
185
+
169
186
  console.log('๐Ÿ“ Next steps:');
170
187
  console.log(' 1. cd mcp-server && npm install && npm run build');
171
188
  console.log(' 2. Restart VS Code to activate Agent Skills');
@@ -0,0 +1,367 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * SHIKIGAMI - Copilot Cowork MCP Setup
4
+ * Usage: npx shikigami cowork [options]
5
+ *
6
+ * Sets up Microsoft Copilot Cowork as an MCP server for GitHub Copilot CLI.
7
+ * Enables access to M365 data (Mail, Calendar, Teams, Files) from Copilot CLI.
8
+ *
9
+ * v2.0.0: Initial release
10
+ */
11
+
12
+ const fs = require('fs');
13
+ const path = require('path');
14
+ const { execSync } = require('child_process');
15
+
16
+ const COWORK_REPO = 'https://github.com/msartem/copilot_cowork_mcp.git';
17
+ const COPILOT_DIR = path.join(require('os').homedir(), '.copilot');
18
+ const PLUGINS_DIR = path.join(COPILOT_DIR, 'installed-plugins');
19
+ const COWORK_DIR = path.join(PLUGINS_DIR, 'copilot_cowork_mcp');
20
+ const MCP_CONFIG = path.join(COPILOT_DIR, '.mcp.json');
21
+
22
+ function parseArgs() {
23
+ const args = process.argv.slice(2).filter(a => a !== 'cowork');
24
+ return {
25
+ uninstall: args.includes('--uninstall'),
26
+ status: args.includes('--status'),
27
+ help: args.includes('--help') || args.includes('-h'),
28
+ };
29
+ }
30
+
31
+ function showHelp() {
32
+ console.log(`
33
+ ๐Ÿค SHIKIGAMI - Copilot Cowork Setup
34
+
35
+ Usage: npx shikigami cowork [options]
36
+
37
+ Options:
38
+ --status Check installation status
39
+ --uninstall Remove Cowork MCP configuration
40
+ -h, --help Show this help message
41
+
42
+ What is Copilot Cowork?
43
+ Microsoft Copilot Cowork MCP enables GitHub Copilot CLI to access
44
+ your M365 data: Mail, Calendar, Teams messages, and OneDrive files.
45
+
46
+ Requirements:
47
+ - Python 3.10+
48
+ - Microsoft 365 account
49
+ - First run requires browser sign-in (Edge/Chromium)
50
+
51
+ After setup:
52
+ 1. Restart Copilot CLI (or start a new session)
53
+ 2. First use will open a browser for M365 authentication
54
+ 3. After sign-in, tokens are cached for ~90 days
55
+ `);
56
+ }
57
+
58
+ function checkPython() {
59
+ try {
60
+ const version = execSync('python3 --version 2>&1', { encoding: 'utf-8' }).trim();
61
+ const match = version.match(/Python (\d+)\.(\d+)/);
62
+ if (match && (parseInt(match[1]) > 3 || (parseInt(match[1]) === 3 && parseInt(match[2]) >= 10))) {
63
+ return { ok: true, version };
64
+ }
65
+ return { ok: false, version, error: 'Python 3.10+ required' };
66
+ } catch {
67
+ return { ok: false, version: null, error: 'Python 3 not found' };
68
+ }
69
+ }
70
+
71
+ function checkGit() {
72
+ try {
73
+ execSync('git --version', { encoding: 'utf-8' });
74
+ return true;
75
+ } catch {
76
+ return false;
77
+ }
78
+ }
79
+
80
+ function isInstalled() {
81
+ return fs.existsSync(path.join(COWORK_DIR, 'server.py'));
82
+ }
83
+
84
+ function isMcpConfigured() {
85
+ if (!fs.existsSync(MCP_CONFIG)) return false;
86
+ try {
87
+ const config = JSON.parse(fs.readFileSync(MCP_CONFIG, 'utf-8'));
88
+ return !!(config.mcpServers && config.mcpServers.cowork);
89
+ } catch {
90
+ return false;
91
+ }
92
+ }
93
+
94
+ function checkDependencies() {
95
+ const deps = ['fastmcp', 'requests', 'playwright'];
96
+ const results = {};
97
+ for (const dep of deps) {
98
+ try {
99
+ execSync(`python3 -c "import ${dep}" 2>&1`, { encoding: 'utf-8' });
100
+ results[dep] = true;
101
+ } catch {
102
+ results[dep] = false;
103
+ }
104
+ }
105
+ return results;
106
+ }
107
+
108
+ function showStatus() {
109
+ console.log('');
110
+ console.log('๐Ÿค Copilot Cowork MCP Status');
111
+ console.log('โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•');
112
+ console.log('');
113
+
114
+ const python = checkPython();
115
+ console.log(` Python: ${python.ok ? `โœ… ${python.version}` : `โŒ ${python.error}`}`);
116
+
117
+ const installed = isInstalled();
118
+ console.log(` Plugin: ${installed ? 'โœ… Installed' : 'โŒ Not installed'}`);
119
+
120
+ if (installed) {
121
+ const deps = checkDependencies();
122
+ for (const [dep, ok] of Object.entries(deps)) {
123
+ console.log(` ${dep.padEnd(14)} ${ok ? 'โœ…' : 'โŒ Missing'}`);
124
+ }
125
+ }
126
+
127
+ const configured = isMcpConfigured();
128
+ console.log(` MCP Config: ${configured ? 'โœ… Configured' : 'โŒ Not configured'}`);
129
+ console.log(` Config Path: ${MCP_CONFIG}`);
130
+ console.log('');
131
+
132
+ if (installed && configured) {
133
+ console.log(' โœจ Ready to use! Restart Copilot CLI to activate.');
134
+ } else {
135
+ console.log(' Run "npx shikigami cowork" to set up.');
136
+ }
137
+ console.log('');
138
+ }
139
+
140
+ function installDependencies() {
141
+ const deps = checkDependencies();
142
+ const missing = Object.entries(deps).filter(([, ok]) => !ok).map(([dep]) => dep);
143
+
144
+ if (missing.length === 0) {
145
+ console.log(' โœ… All Python dependencies already installed');
146
+ return true;
147
+ }
148
+
149
+ console.log(` ๐Ÿ“ฆ Installing: ${missing.join(', ')}...`);
150
+ try {
151
+ // Try with --break-system-packages first (Ubuntu/Debian), fallback to without
152
+ try {
153
+ execSync(`pip install --break-system-packages ${missing.join(' ')} 2>&1`, {
154
+ encoding: 'utf-8',
155
+ stdio: 'pipe',
156
+ });
157
+ } catch {
158
+ execSync(`pip install ${missing.join(' ')} 2>&1`, {
159
+ encoding: 'utf-8',
160
+ stdio: 'pipe',
161
+ });
162
+ }
163
+
164
+ // Install Playwright browser if playwright was just installed
165
+ if (missing.includes('playwright')) {
166
+ console.log(' ๐ŸŒ Installing Playwright browser (chromium)...');
167
+ execSync('python3 -m playwright install chromium 2>&1', {
168
+ encoding: 'utf-8',
169
+ stdio: 'pipe',
170
+ });
171
+ }
172
+
173
+ console.log(' โœ… Dependencies installed');
174
+ return true;
175
+ } catch (err) {
176
+ console.error(` โŒ Failed to install dependencies: ${err.message}`);
177
+ console.log(' ๐Ÿ’ก Try manually: pip install fastmcp requests playwright');
178
+ return false;
179
+ }
180
+ }
181
+
182
+ function clonePlugin() {
183
+ if (isInstalled()) {
184
+ console.log(' โœ… Plugin already installed');
185
+ // Pull latest
186
+ try {
187
+ execSync(`git -C "${COWORK_DIR}" pull --quiet 2>&1`, {
188
+ encoding: 'utf-8',
189
+ stdio: 'pipe',
190
+ });
191
+ console.log(' ๐Ÿ”„ Updated to latest version');
192
+ } catch {
193
+ // Ignore pull errors
194
+ }
195
+ return true;
196
+ }
197
+
198
+ console.log(' ๐Ÿ“ฅ Cloning Copilot Cowork MCP...');
199
+ try {
200
+ fs.mkdirSync(PLUGINS_DIR, { recursive: true });
201
+ execSync(`git clone "${COWORK_REPO}" "${COWORK_DIR}" 2>&1`, {
202
+ encoding: 'utf-8',
203
+ stdio: 'pipe',
204
+ });
205
+ console.log(' โœ… Plugin cloned');
206
+ return true;
207
+ } catch (err) {
208
+ console.error(` โŒ Failed to clone: ${err.message}`);
209
+ return false;
210
+ }
211
+ }
212
+
213
+ function configureMcp() {
214
+ if (isMcpConfigured()) {
215
+ console.log(' โœ… MCP already configured');
216
+ return true;
217
+ }
218
+
219
+ console.log(' โš™๏ธ Configuring MCP server...');
220
+ try {
221
+ fs.mkdirSync(COPILOT_DIR, { recursive: true });
222
+
223
+ let config = { mcpServers: {} };
224
+ if (fs.existsSync(MCP_CONFIG)) {
225
+ try {
226
+ config = JSON.parse(fs.readFileSync(MCP_CONFIG, 'utf-8'));
227
+ if (!config.mcpServers) config.mcpServers = {};
228
+ } catch {
229
+ // Corrupted config, start fresh but keep backup
230
+ const backup = `${MCP_CONFIG}.bak`;
231
+ fs.copyFileSync(MCP_CONFIG, backup);
232
+ console.log(` โš ๏ธ Backed up corrupted config to ${backup}`);
233
+ }
234
+ }
235
+
236
+ config.mcpServers.cowork = {
237
+ type: 'stdio',
238
+ command: 'python3',
239
+ args: [path.join(COWORK_DIR, 'server.py')],
240
+ env: {
241
+ COWORK_SHOW_THINKING: 'false',
242
+ },
243
+ };
244
+
245
+ fs.writeFileSync(MCP_CONFIG, JSON.stringify(config, null, 2) + '\n');
246
+ console.log(' โœ… MCP configured');
247
+ return true;
248
+ } catch (err) {
249
+ console.error(` โŒ Failed to configure MCP: ${err.message}`);
250
+ return false;
251
+ }
252
+ }
253
+
254
+ function uninstall() {
255
+ console.log('');
256
+ console.log('๐Ÿค Uninstalling Copilot Cowork MCP...');
257
+ console.log('');
258
+
259
+ // Remove from MCP config
260
+ if (fs.existsSync(MCP_CONFIG)) {
261
+ try {
262
+ const config = JSON.parse(fs.readFileSync(MCP_CONFIG, 'utf-8'));
263
+ if (config.mcpServers && config.mcpServers.cowork) {
264
+ delete config.mcpServers.cowork;
265
+ fs.writeFileSync(MCP_CONFIG, JSON.stringify(config, null, 2) + '\n');
266
+ console.log(' โœ… Removed from MCP config');
267
+ } else {
268
+ console.log(' โญ๏ธ Not in MCP config');
269
+ }
270
+ } catch {
271
+ console.log(' โš ๏ธ Could not parse MCP config');
272
+ }
273
+ }
274
+
275
+ // Remove plugin directory
276
+ if (fs.existsSync(COWORK_DIR)) {
277
+ fs.rmSync(COWORK_DIR, { recursive: true, force: true });
278
+ console.log(' โœ… Removed plugin files');
279
+ } else {
280
+ console.log(' โญ๏ธ Plugin not installed');
281
+ }
282
+
283
+ console.log('');
284
+ console.log(' โœจ Uninstall complete. Restart Copilot CLI to apply.');
285
+ console.log('');
286
+ }
287
+
288
+ function setup() {
289
+ const { uninstall: doUninstall, status, help } = parseArgs();
290
+
291
+ if (help) {
292
+ showHelp();
293
+ return;
294
+ }
295
+
296
+ if (status) {
297
+ showStatus();
298
+ return;
299
+ }
300
+
301
+ if (doUninstall) {
302
+ uninstall();
303
+ return;
304
+ }
305
+
306
+ console.log('');
307
+ console.log('๐Ÿค Setting up Copilot Cowork MCP');
308
+ console.log('โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•');
309
+ console.log('');
310
+
311
+ // Step 1: Check prerequisites
312
+ console.log('Step 1/4: Checking prerequisites...');
313
+ const python = checkPython();
314
+ if (!python.ok) {
315
+ console.error(` โŒ ${python.error}`);
316
+ console.log(' ๐Ÿ’ก Install Python 3.10+: https://www.python.org/downloads/');
317
+ process.exit(1);
318
+ }
319
+ console.log(` โœ… ${python.version}`);
320
+
321
+ if (!checkGit()) {
322
+ console.error(' โŒ Git not found');
323
+ process.exit(1);
324
+ }
325
+ console.log(' โœ… Git available');
326
+ console.log('');
327
+
328
+ // Step 2: Clone plugin
329
+ console.log('Step 2/4: Installing plugin...');
330
+ if (!clonePlugin()) process.exit(1);
331
+ console.log('');
332
+
333
+ // Step 3: Install dependencies
334
+ console.log('Step 3/4: Installing dependencies...');
335
+ if (!installDependencies()) process.exit(1);
336
+ console.log('');
337
+
338
+ // Step 4: Configure MCP
339
+ console.log('Step 4/4: Configuring MCP...');
340
+ if (!configureMcp()) process.exit(1);
341
+ console.log('');
342
+
343
+ // Done
344
+ console.log('โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•');
345
+ console.log('โœจ Copilot Cowork MCP setup complete!');
346
+ console.log('');
347
+ console.log('๐Ÿ“ Next steps:');
348
+ console.log(' 1. Restart Copilot CLI (or start a new session)');
349
+ console.log(' 2. First use will open a browser for M365 sign-in');
350
+ console.log(' 3. After sign-in, tokens are cached for ~90 days');
351
+ console.log('');
352
+ console.log('๐Ÿ’ก Usage examples:');
353
+ console.log(' "ใƒกใƒผใƒซใฎๆœช่ชญใ‚’่ฆ็ด„ใ—ใฆ"');
354
+ console.log(' "ๆ˜Žๆ—ฅใฎไผš่ญฐใฏ๏ผŸ"');
355
+ console.log(' "Teamsใง่‡ชๅˆ†ใซhelloใจใƒกใƒƒใ‚ปใƒผใ‚ธ้€ใฃใฆ"');
356
+ console.log('');
357
+ console.log('๐Ÿ”ง Commands:');
358
+ console.log(' npx shikigami cowork --status # Check status');
359
+ console.log(' npx shikigami cowork --uninstall # Remove');
360
+ console.log('');
361
+ }
362
+
363
+ module.exports = { setup, showStatus, isInstalled, isMcpConfigured };
364
+
365
+ if (require.main === module) {
366
+ setup();
367
+ }