kotonoha 0.1.6-dev.0 → 0.3.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README-ja.md +307 -0
  3. package/README.md +161 -59
  4. package/package.json +11 -4
  5. package/skills/consulting-analyst/SKILL.md +241 -0
  6. package/skills/consulting-analyst/assets/templates/analysis-brief.md +58 -0
  7. package/skills/consulting-analyst/assets/templates/decision-analysis.md +62 -0
  8. package/skills/consulting-analyst/assets/templates/hypothesis-evidence-ledger.md +48 -0
  9. package/skills/consulting-analyst/assets/templates/issue-tree.md +35 -0
  10. package/skills/consulting-analyst/assets/templates/synthesis-handoff.md +68 -0
  11. package/skills/consulting-analyst/references/evidence-and-hypotheses.md +80 -0
  12. package/skills/consulting-analyst/references/framework-selection.md +84 -0
  13. package/skills/consulting-analyst/references/handoff-contract.md +90 -0
  14. package/skills/japanese-prose/NOTICE.md +17 -0
  15. package/skills/japanese-prose/SKILL.md +111 -0
  16. package/skills/japanese-prose/references/review-workflow.md +50 -0
  17. package/skills/japanese-prose/references/scoring.md +24 -0
  18. package/skills/japanese-prose/references/writing-guidelines.md +60 -0
  19. package/skills/japanese-prose/scripts/core.py +192 -0
  20. package/skills/japanese-prose/scripts/fixtures/natural.md +5 -0
  21. package/skills/japanese-prose/scripts/fixtures/unnatural.md +5 -0
  22. package/skills/japanese-prose/scripts/lint.py +378 -0
  23. package/skills/japanese-prose/scripts/outline.py +68 -0
  24. package/skills/japanese-prose/scripts/terms.py +112 -0
  25. package/skills/japanese-prose/scripts/test_engine.py +117 -0
  26. package/skills/presentation-planner/SKILL.md +14 -0
  27. package/skills/tech-writer/SKILL.md +79 -51
  28. package/skills/tech-writer/assets/templates/blueprint.md +187 -0
  29. package/skills/tech-writer/assets/templates/white-paper.md +192 -0
  30. package/skills/tech-writer/references/doctypes/blueprint.md +81 -0
  31. package/skills/tech-writer/references/doctypes/white-paper.md +84 -0
  32. package/skills/tech-writer/references/japanese-prose-optimization.md +23 -23
  33. package/skills/tech-writer/references/style-constitution.md +11 -5
  34. package/skills/tech-writer/scripts/lint.py +11 -6
package/README.md CHANGED
@@ -1,38 +1,65 @@
1
1
  # kotonoha
2
2
 
3
- kotonoha provides GitHub Copilot CLI skills for technical documents and
4
- presentation planning. `tech-writer` helps structure and polish README, design
5
- docs/ADRs, API reference, PR descriptions/commit messages/issue reports,
6
- release notes, user manuals/how-to guides, code comments, requirements
7
- definitions, system designs, test plans, operations runbooks, migration plans,
8
- security designs, technical proposals, RFI/RFP procurement documents, and
9
- Qiita/Zenn articles,
10
- structured so readers never get lost. `presentation-planner` turns source
11
- material into a reusable presentation scenario, slide outline, design
3
+ kotonoha provides GitHub Copilot CLI skills for consulting analysis, technical
4
+ documents, Japanese prose, and presentation planning. `consulting-analyst`
5
+ structures ambiguous problems into issue trees, hypotheses, evidence, option
6
+ comparisons, and recommendations. `tech-writer` turns that reasoning into
7
+ README, design documents, Blueprints, White Papers, proposals, and other
8
+ technical documents without losing the reader. `japanese-prose` improves
9
+ Japanese wording with GiNZA-based diagnostics. `presentation-planner` turns
10
+ source material into a reusable presentation scenario, slide outline, design
12
11
  specification, and handoff for a dedicated PPTX creation skill.
13
12
 
13
+ [English](./README.md) | [日本語](./README-ja.md)
14
+
15
+ ## Why the name kotonoha
16
+
17
+ `kotonoha` comes from the Japanese expression 言の葉 (*kotonoha*), a
18
+ classical and poetic name for words, language, and verse. The name reflects
19
+ this project's purpose: helping a reader's intent grow into clear,
20
+ well-structured words.
21
+
22
+ Its connection to the *Man'yoshu* needs one qualification. One traditional
23
+ interpretation reads the anthology's title as "countless words or poems,"
24
+ but the title's etymology is not settled. The famous explicit image,
25
+ "Japanese poetry takes the human heart as its seed and grows into myriad
26
+ leaves of words," is from the
27
+ [*Kokin Wakashu* Kana Preface](https://ja.wikisource.org/wiki/%E5%8F%A4%E4%BB%8A%E5%92%8C%E6%AD%8C%E9%9B%86%E4%BB%AE%E5%90%8D%E5%BA%8F),
28
+ not the *Man'yoshu*. The earlier *Man'yoshu* expresses a related belief in
29
+ the power of language through *kotodama*, including poems
30
+ [894](https://manyo-hyakka.pref.nara.jp/db/detailLink?cls=db_manyo&pkey=894)
31
+ and
32
+ [3254](https://manyo-hyakka.pref.nara.jp/db/detailLink?cls=db_manyo&pkey=3254).
33
+ The broader historical meaning of 言の葉 is summarized by
34
+ [Kotobank](https://kotobank.jp/word/%E8%A8%80%E3%81%AE%E8%91%89-503155).
35
+
14
36
  ## What tech-writer solves
15
37
 
16
38
  Technical documents tend to have two separate problems: "is the prose
17
39
  natural" and "does the structure have the right amount of information".
18
- `tech-writer` specializes in the latter and delegates the former
19
- (sentence-level naturalness, reading load, terminology, and removing
20
- "AI smell") to a prose-polishing skill such as
21
- [natural-japanese](https://github.com/coji/natural-japanese). With both
22
- installed, kotonoha locks the structure and technical invariants, invokes the
23
- Japanese prose pass, then rechecks the structure before rubber-duck review.
40
+ Kotonoha includes both layers. `tech-writer` owns structure and completeness;
41
+ the original bundled `japanese-prose` skill uses
42
+ [GiNZA](https://github.com/megagonlabs/ginza) to check sentence-level
43
+ naturalness, reading load, terminology, dependency depth, and repeated
44
+ AI-like patterns. Kotonoha locks the structure and technical invariants, runs
45
+ the Japanese prose pass, then rechecks the structure before rubber-duck
46
+ review.
24
47
 
25
48
  ## What it does
26
49
 
50
+ - Structure ambiguous business and technical problems with issue trees,
51
+ hypotheses, evidence ledgers, Current–Target–Gap analysis, transparent
52
+ decision matrices, and Pyramid Principle synthesis
27
53
  - Create/review README, design docs/ADRs, API reference, PR
28
54
  descriptions/commit messages/issue reports, release notes, user manuals,
29
55
  code comments, requirements definitions, system designs, test plans,
30
56
  operations runbooks, migration plans, security designs, technical proposals,
31
- RFI/RFP procurement documents, and Qiita/Zenn articles
57
+ Blueprints, White Papers, RFI/RFP procurement documents, and Qiita/Zenn
58
+ articles
32
59
  - Doctype-specific structure and checklists to guide writing
33
- - Optional `natural-japanese` integration for Japanese phrase lint,
34
- reading-load review, terminology checks, and iterative prose optimization
35
- without changing IDs, facts, tables, code, or acceptance criteria
60
+ - Original GiNZA-based `japanese-prose` lint, reading-load review, terminology
61
+ checks, and iterative prose optimization without changing IDs, facts,
62
+ tables, code, or acceptance criteria
36
63
  - Iterative rubber-duck review after document creation, with fixes and
37
64
  re-review until no actionable findings remain; unavailable reviews are
38
65
  reported as `review not performed`, while unresolved review loops are
@@ -64,6 +91,8 @@ Japanese prose pass, then rechecks the structure before rubber-duck review.
64
91
  | User guidance | User manual, how-to guide, tutorial | `user-manual` |
65
92
  | Source documentation | Code comments, docstrings | `code-comments` |
66
93
  | Internal technical proposal | Architecture, investment, and delivery proposal | `technical-proposal` |
94
+ | Future-state blueprint | Business, operating-model, data, and technology transformation blueprint | `blueprint` |
95
+ | Evidence-led publication | Technical or business White Paper | `white-paper` |
67
96
  | Request for information | RFI | `rfi` |
68
97
  | Request for proposal | RFP | `rfp` |
69
98
  | Technical article | Zenn article | `zenn` |
@@ -72,10 +101,41 @@ Japanese prose pass, then rechecks the structure before rubber-duck review.
72
101
  Reusable templates are included for README, design decisions, user manuals,
73
102
  PR descriptions, requirements definitions, system designs, test plans,
74
103
  operations runbooks, migration plans, security designs, technical proposals,
75
- RFI, RFP, and Qiita articles. Every supported doctype includes dedicated
76
- structure guidance and a review checklist under
104
+ Blueprints, White Papers, RFI, RFP, and Qiita articles. Every supported
105
+ doctype includes dedicated structure guidance and a review checklist under
77
106
  `skills/tech-writer/references/doctypes/`.
78
107
 
108
+ ## What consulting-analyst does
109
+
110
+ - Defines the decision-maker, decision question, outcome, scope, and evidence
111
+ gaps before a document or presentation is written
112
+ - Selects the smallest useful framework set instead of filling frameworks
113
+ mechanically
114
+ - Builds an issue tree and testable hypothesis/evidence ledger
115
+ - Supports Current–Target–Gap analysis and weighted option comparison with
116
+ scoring anchors and sensitivity analysis
117
+ - Separates facts, estimates, assumptions, interpretations, and
118
+ recommendations
119
+ - Produces a traceable synthesis handoff for `tech-writer` and
120
+ `presentation-planner`
121
+
122
+ Example requests:
123
+
124
+ ```text
125
+ Structure this business problem as an issue tree and identify the evidence
126
+ needed to answer each priority issue.
127
+ ```
128
+
129
+ ```text
130
+ Analyze the current and target states, identify the gaps, and prepare the
131
+ analysis for a Blueprint.
132
+ ```
133
+
134
+ ```text
135
+ Compare these alternatives using explicit criteria and prepare a White Paper
136
+ handoff without inventing missing evidence.
137
+ ```
138
+
79
139
  ## What presentation-planner does
80
140
 
81
141
  - Defines the audience, decision, call to action, and presentation constraints
@@ -94,10 +154,10 @@ structure guidance and a review checklist under
94
154
  ### Prerequisites
95
155
 
96
156
  - GitHub Copilot CLI installed
97
- - Python 3.9+ if you want to run the lint script (standard library only,
98
- no extra install needed)
99
- - `uv` when using `natural-japanese` diagnostics such as phrase lint,
100
- reading-load analysis, outline extraction, and terminology checks
157
+ - Python 3.9+ for tech-writer's structural lint
158
+ - Python 3.10+ and `uv` for the bundled GiNZA diagnostics such as prose lint,
159
+ reading-load analysis, outline extraction, and terminology checks; `uv`
160
+ resolves GiNZA, `ja_ginza`, and spaCy on first use
101
161
 
102
162
  ### Install from npm
103
163
 
@@ -109,11 +169,11 @@ npm install --save-dev kotonoha
109
169
  npx kotonoha install
110
170
  ```
111
171
 
112
- ### Install tech-writer and presentation-planner together
172
+ ### Install all bundled skills together
113
173
 
114
174
  `kotonoha install` installs every packaged skill that is not already present.
115
- The following commands install both `tech-writer` and
116
- `presentation-planner` into `.github/skills/`:
175
+ The following commands install `consulting-analyst`, `tech-writer`,
176
+ `japanese-prose`, and `presentation-planner` into `.github/skills/`:
117
177
 
118
178
  ```bash
119
179
  npm install --save-dev kotonoha
@@ -121,45 +181,68 @@ npx kotonoha install --skill all
121
181
  ```
122
182
 
123
183
  `--skill all` is the default, so `npx kotonoha install` has the same behavior.
124
- Confirm that both skills were installed:
184
+ Confirm that all four skills were installed:
125
185
 
126
186
  ```bash
187
+ test -f .github/skills/consulting-analyst/SKILL.md
127
188
  test -f .github/skills/tech-writer/SKILL.md
189
+ test -f .github/skills/japanese-prose/SKILL.md
128
190
  test -f .github/skills/presentation-planner/SKILL.md
129
191
  ```
130
192
 
131
- If either directory already exists, the default command preserves it and
132
- installs only the missing skill. To replace and update both installed skills
133
- at once, review or back up local customizations first, then run:
193
+ If a directory already exists, the default command preserves it and installs
194
+ only the missing skills. To replace and update all installed skills at once,
195
+ review or back up local customizations first, then run:
134
196
 
135
197
  ```bash
136
198
  npx kotonoha install --skill all --force
137
199
  ```
138
200
 
139
- For Japanese sentence-level optimization, also install
140
- `natural-japanese` using one of its supported installation methods:
201
+ ### Built-in Japanese prose optimization
141
202
 
142
- ```bash
143
- npx skills add coji/natural-japanese
203
+ Kotonoha includes its own `japanese-prose` skill, so no separate prose skill
204
+ installation is required. `npx kotonoha install` places it beside
205
+ `tech-writer`, allowing the writing workflow to run GiNZA-based prose lint,
206
+ reading-load checks, terminology extraction, outline inspection, and
207
+ iterative prose review locally. The implementation was developed from
208
+ scratch for kotonoha and does not include `natural-japanese` source code.
209
+ GiNZA dependency and license information is recorded in
210
+ `skills/japanese-prose/NOTICE.md`.
211
+
212
+ You do not need to name GiNZA explicitly in a natural-language request.
213
+ Requests to make a Japanese document more natural, readable, concise, or less
214
+ formulaic invoke the bundled prose-optimization workflow. For example:
215
+
216
+ ```text
217
+ Rewrite README-ja.md in natural, readable Japanese.
144
218
  ```
145
219
 
146
- Ensure the installed skill is visible to Copilot CLI in the same registered
147
- skill root used by this project, such as
148
- `.github/skills/natural-japanese` or
149
- `~/.copilot/skills/natural-japanese`. If the command installs it for a
150
- different host, follow the upstream alternative installation instructions
151
- and place or link the skill into a Copilot-visible skill directory.
220
+ ```text
221
+ Review this design document for unnatural Japanese, overly long sentences,
222
+ and repetitive AI-like phrasing, then fix the findings.
223
+ ```
224
+
225
+ You can specify the intended mode more precisely:
226
+
227
+ - Edit the file: `Optimize the Japanese prose in README-ja.md.`
228
+ - Review without editing: `Review the Japanese in README-ja.md, but do not modify the file.`
229
+ - Score only: `Score the Japanese prose in README-ja.md out of 100.`
230
+ - Run every diagnostic: `Run the full Japanese prose optimization workflow on README-ja.md.`
231
+ - Request GiNZA explicitly: `Analyze README-ja.md with GiNZA and improve dependency depth and reading load.`
152
232
 
153
- If no compatible Japanese prose-polishing skill is registered, kotonoha
154
- finishes the structural workflow and reports
155
- `Japanese prose optimization not performed` instead of claiming that the
156
- prose was optimized.
233
+ When creating a new Japanese document, asking `Create a Japanese README for
234
+ this repository` lets `tech-writer` create and structurally review the draft,
235
+ then run the GiNZA-based prose pass before rubber-duck review. To require the
236
+ pass unambiguously, ask: `Create or revise <file> as a technical document and
237
+ run GiNZA-based Japanese prose optimization.`
157
238
 
158
- The default destinations are `.github/skills/tech-writer` and
159
- `.github/skills/presentation-planner` in the current project. To install
160
- only one skill, or use another supported skill directory:
239
+ The default destinations are `.github/skills/consulting-analyst`,
240
+ `.github/skills/tech-writer`, `.github/skills/japanese-prose`, and
241
+ `.github/skills/presentation-planner` in the current project. To install only
242
+ one skill, or use another supported skill directory:
161
243
 
162
244
  ```bash
245
+ npx kotonoha install --skill consulting-analyst
163
246
  npx kotonoha install --skill presentation-planner
164
247
  npx kotonoha install --target .claude/skills
165
248
  npx kotonoha install --target ~/.copilot/skills
@@ -180,6 +263,8 @@ installation safe:
180
263
  ```bash
181
264
  npx kotonoha install
182
265
  # Skipped tech-writer (...)
266
+ # Installed consulting-analyst (...)
267
+ # Installed japanese-prose (...)
183
268
  # Installed presentation-planner (...)
184
269
  ```
185
270
 
@@ -211,7 +296,9 @@ npx kotonoha install --force
211
296
  To update only one skill:
212
297
 
213
298
  ```bash
299
+ npx kotonoha install --skill consulting-analyst --force
214
300
  npx kotonoha install --skill tech-writer --force
301
+ npx kotonoha install --skill japanese-prose --force
215
302
  npx kotonoha install --skill presentation-planner --force
216
303
  ```
217
304
 
@@ -243,7 +330,9 @@ into that repository's `.github/skills/`, `.claude/skills/`, or your global
243
330
  `~/.copilot/skills/`.
244
331
 
245
332
  ```bash
333
+ cp -r skills/consulting-analyst /path/to/your-repo/.github/skills/consulting-analyst
246
334
  cp -r skills/tech-writer /path/to/your-repo/.github/skills/tech-writer
335
+ cp -r skills/japanese-prose /path/to/your-repo/.github/skills/japanese-prose
247
336
  cp -r skills/presentation-planner /path/to/your-repo/.github/skills/presentation-planner
248
337
  ```
249
338
 
@@ -271,27 +360,40 @@ works too (standard library only).
271
360
  ## Repository layout
272
361
 
273
362
  ```text
363
+ skills/consulting-analyst/ # problem structuring and evidence-led analysis skill
364
+ SKILL.md # analysis workflow, safeguards, and handoff
365
+ references/ # framework selection, evidence discipline, handoff contract
366
+ assets/templates/ # brief, issue tree, evidence, decision, and synthesis artifacts
274
367
  skills/tech-writer/ # the skill itself
275
368
  SKILL.md # skill definition
276
369
  references/ # structure constitution + doctype rules/checklists
277
- references/doctypes/ # README, requirements/design/test/operations/migration/security, API docs, PR/issue, release notes, proposals, RFI/RFP, Qiita/Zenn
370
+ references/doctypes/ # README, requirements/design/test/operations/migration/security, API docs, PR/issue, release notes, proposals, Blueprints, White Papers, RFI/RFP, Qiita/Zenn
278
371
  scripts/lint.py # structural lint script
279
- assets/templates/ # doctype skeletons including requirements, design, test, operations, migration, security, and procurement
372
+ assets/templates/ # doctype skeletons including requirements, design, test, operations, migration, security, strategy, evidence-led publications, and procurement
373
+ skills/japanese-prose/ # original GiNZA-based prose optimization skill
374
+ SKILL.md # writing, lint, review, and convergence workflow
375
+ references/ # writing guidelines, review workflow, and scoring
376
+ scripts/ # prose lint, reading-load, outline, and terminology diagnostics
377
+ NOTICE.md # GiNZA dependency and license information
280
378
  skills/presentation-planner/ # storyline, design-spec, and PPTX handoff skill
281
379
  SKILL.md
282
380
  references/ # boundary, scenario/design guidance, customization, handoff contract
283
381
  assets/scenario-templates/ # executive, technical, and data-report narrative scenarios
284
382
  assets/design-templates/ # executive, technical, and data-report YAML designs
285
383
  .github/skills/tech-writer # symlink to skills/tech-writer (where Copilot CLI reads it)
384
+ .github/skills/consulting-analyst
385
+ .github/skills/japanese-prose
286
386
  .github/skills/presentation-planner
287
387
  ```
288
388
 
289
389
  ## Known limitations
290
390
 
291
- - `scripts/lint.py` only detects structural issues (headings, code blocks,
292
- placeholders, links); it does not detect prose naturalness, vocabulary,
293
- or rhythm by itself. Those checks require a registered prose-polishing
294
- skill such as `natural-japanese`.
391
+ - `consulting-analyst` structures supplied or verified evidence but does not
392
+ manufacture market data, customer facts, estimates, or citations.
393
+ - `skills/tech-writer/scripts/lint.py` detects structural and Markdown
394
+ rendering issues. Prose naturalness, vocabulary, rhythm, and reading load
395
+ are handled by the separately invoked but bundled
396
+ `skills/japanese-prose` workflow and GiNZA diagnostics.
295
397
  - The doctypes are written mainly with Japanese technical-writing
296
398
  conventions in mind; most of the guidance (especially the commit-message
297
399
  imperative-mood rule) applies directly to English documents as well.
@@ -302,10 +404,10 @@ skills/presentation-planner/ # storyline, design-spec, and PPTX handoff skill
302
404
 
303
405
  ## Acknowledgment
304
406
 
305
- - [natural-japanese](https://github.com/coji/natural-japanese) (MIT
306
- License) — the design principle "machines detect, humans (or agents)
307
- judge" and "prevent at generation time rather than fix afterward"
308
- informed this project's design.
407
+ - [GiNZA](https://github.com/megagonlabs/ginza) (MIT License) — provides
408
+ tokenization, part-of-speech tagging, dependency parsing, lemmatization,
409
+ sentence boundaries, and named-entity recognition for kotonoha's original
410
+ Japanese prose diagnostics.
309
411
 
310
412
  ## License
311
413
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kotonoha",
3
- "version": "0.1.6-dev.0",
4
- "description": "GitHub Copilot CLI skills for technical writing and PPTX presentation planning.",
3
+ "version": "0.3.0",
4
+ "description": "GitHub Copilot CLI skills for consulting analysis, technical writing, Japanese prose, and PPTX planning.",
5
5
  "license": "MIT",
6
6
  "author": "nahisaho",
7
7
  "repository": {
@@ -16,7 +16,8 @@
16
16
  "kotonoha": "bin/kotonoha.js"
17
17
  },
18
18
  "scripts": {
19
- "test": "node --test"
19
+ "test": "node --test",
20
+ "test:ginza": "uv run skills/japanese-prose/scripts/test_engine.py"
20
21
  },
21
22
  "engines": {
22
23
  "node": ">=18"
@@ -26,6 +27,9 @@
26
27
  "github-copilot",
27
28
  "skill",
28
29
  "technical-writing",
30
+ "consulting",
31
+ "analysis",
32
+ "strategy",
29
33
  "documentation",
30
34
  "markdown",
31
35
  "presentation",
@@ -35,7 +39,10 @@
35
39
  ],
36
40
  "files": [
37
41
  "CHANGELOG.md",
42
+ "README-ja.md",
38
43
  "bin/",
39
- "skills/"
44
+ "skills/",
45
+ "!skills/**/__pycache__/",
46
+ "!skills/**/*.pyc"
40
47
  ]
41
48
  }
@@ -0,0 +1,241 @@
1
+ ---
2
+ name: consulting-analyst
3
+ description: >-
4
+ Structures ambiguous business and technical problems before writing or
5
+ presentation design. Uses consulting frameworks selectively—not
6
+ mechanically—to define the decision question, build issue trees, form and
7
+ test hypotheses, compare current and target states, evaluate alternatives,
8
+ and synthesize evidence into an actionable recommendation. Use for requests
9
+ like "structure this problem", "build an issue tree", "analyze the root
10
+ cause", "compare these options", "create a transformation roadmap",
11
+ "prepare the analysis for a Blueprint or White Paper",
12
+ 「課題を構造化して」「論点を整理して」「仮説を検証して」
13
+ 「現状と目標のGapを分析して」「選択肢を比較して」
14
+ 「BlueprintやWhite Paperの分析を準備して」. Produces analysis artifacts
15
+ and handoff inputs for tech-writer and presentation-planner. Does not own
16
+ final document prose, slide design, implementation design, or factual
17
+ research that has not been supplied or independently verified.
18
+ license: MIT
19
+ argument-hint: "[analyze|review|handoff] <problem, decision, or source files>"
20
+ ---
21
+
22
+ # consulting-analyst
23
+
24
+ Turns an ambiguous problem into a defensible chain from question to evidence,
25
+ conclusion, and action. Frameworks are tools for reducing uncertainty, not
26
+ formats that must be filled.
27
+
28
+ ## Responsibility boundary
29
+
30
+ This skill owns:
31
+
32
+ - Decision-question and success-condition definition
33
+ - Issue decomposition and MECE review
34
+ - Hypotheses, evidence needs, confidence, and falsification conditions
35
+ - Current-state, target-state, and gap analysis
36
+ - Explicit option criteria, weighting, scoring, and sensitivity analysis
37
+ - Synthesis into findings, implications, recommendations, and next actions
38
+ - Structured handoff to `tech-writer` or `presentation-planner`
39
+
40
+ This skill does not:
41
+
42
+ - Invent facts, customer evidence, market data, estimates, or citations
43
+ - Treat assumptions as verified findings
44
+ - Write the final technical document when `tech-writer` is available
45
+ - Design slide narratives or visual systems when `presentation-planner` is
46
+ available
47
+ - Replace requirements, system design, project planning, financial modeling,
48
+ legal review, or domain-expert judgment
49
+
50
+ When the user asks directly for a Blueprint, White Paper, proposal, or
51
+ presentation and the underlying analysis is incomplete, complete this
52
+ analysis pass first, then hand the result to the owning writing or
53
+ presentation skill.
54
+
55
+ ## Modes
56
+
57
+ - `analyze` (default): create or revise the analysis artifacts and produce a
58
+ synthesis handoff.
59
+ - `review`: challenge an existing analysis for missing branches, unsupported
60
+ claims, hidden assumptions, biased criteria, weak evidence, and conclusions
61
+ that do not follow.
62
+ - `handoff`: normalize existing analysis into the handoff contract without
63
+ repeating completed work.
64
+
65
+ ## 1. Gather context one question at a time
66
+
67
+ Ask only the single most informative missing question, then wait. Stop when
68
+ the following are known or explicitly recorded as unknown:
69
+
70
+ 1. The decision-maker or actor who will use the analysis
71
+ 2. The exact decision, problem, or question to resolve
72
+ 3. The measurable outcome or decision deadline
73
+ 4. Scope, constraints, and excluded topics
74
+ 5. Available evidence, source files, and known data gaps
75
+ 6. Required destination: analysis only, document, Blueprint, White Paper,
76
+ proposal, or presentation
77
+
78
+ Do not ask the user which framework to use unless they have a mandatory
79
+ method. Select the smallest framework set that resolves the question.
80
+
81
+ ## 2. Create the analysis workspace
82
+
83
+ Write artifacts under `.consulting/<analysis-slug>/` unless the user specifies
84
+ another directory. Use a stable, filesystem-safe slug so separate analyses do
85
+ not overwrite one another.
86
+
87
+ In `analyze` mode, create:
88
+
89
+ 1. `analysis-brief.md`
90
+ 2. `issue-tree.md`
91
+ 3. `hypothesis-evidence-ledger.md`
92
+ 4. `synthesis-handoff.md`
93
+
94
+ Start from the matching files under `assets/templates/`.
95
+ The packaged templates use English canonical field names. Translate headings
96
+ and instructions into the requested output language while preserving artifact
97
+ filenames, IDs, statement types, status values, and table semantics.
98
+
99
+ Create `decision-analysis.md` only when Current–Target–Gap analysis or option
100
+ comparison is in scope. Record omitted artifacts and the reason in
101
+ `synthesis-handoff.md`. In `review` mode, update only artifacts affected by
102
+ the findings. In `handoff` mode, normalize the supplied analysis without
103
+ creating empty framework artifacts.
104
+
105
+ ## 3. Select frameworks by decision need
106
+
107
+ Read `references/framework-selection.md`. Use no more than three primary
108
+ frameworks in one analysis unless the user explicitly requests a broader
109
+ study.
110
+
111
+ | Decision need | Primary framework |
112
+ |---|---|
113
+ | Decompose an ambiguous question | Issue Tree / logic tree |
114
+ | Test an explanation or proposed answer | Hypothesis–Evidence–Falsification |
115
+ | Explain cause rather than symptoms | Causal tree / 5 Whys with evidence |
116
+ | Define a future state and transformation path | Current–Target–Gap |
117
+ | Compare alternatives transparently | Weighted decision matrix |
118
+ | Communicate the final reasoning | Pyramid Principle / SCQA |
119
+
120
+ SWOT, 3C, PESTLE, Five Forces, capability maps, and impact/effort matrices
121
+ may be supporting lenses. Do not use them unless each field changes a
122
+ decision, hypothesis, criterion, or action.
123
+
124
+ ## 4. Build a testable issue tree
125
+
126
+ Use `references/evidence-and-hypotheses.md`.
127
+
128
+ 1. Write one decision question at the root.
129
+ 2. Decompose by one explicit logic at each level, such as causes, options,
130
+ capabilities, lifecycle stages, or economics.
131
+ 3. Make sibling branches collectively sufficient for the parent question and
132
+ remove material overlap.
133
+ 4. Mark branches as `priority`, `supporting`, `out of scope`, or `unknown`.
134
+ 5. Define what evidence would answer every priority leaf.
135
+
136
+ Do not claim perfect MECE when the domain is uncertain. Record residual
137
+ overlap and known omissions.
138
+
139
+ ## 5. Form hypotheses and manage evidence
140
+
141
+ For each priority issue:
142
+
143
+ - State the hypothesis as a falsifiable proposition
144
+ - Record why it is plausible without presenting that rationale as proof
145
+ - Define evidence that supports and weakens it
146
+ - Identify source, date, owner, and confidence
147
+ - Separate `fact`, `estimate`, `assumption`, `interpretation`, and
148
+ `recommendation`
149
+ - Set the next evidence-gathering action and owner
150
+
151
+ Never upgrade an assumption to a finding because it appears in several
152
+ frameworks. Repetition is not corroboration.
153
+
154
+ ## 6. Analyze gaps or alternatives
155
+
156
+ Use the path that fits the decision:
157
+
158
+ ### Current–Target–Gap
159
+
160
+ Describe current and target states with the same dimensions and evidence
161
+ standard. Map each material gap to an intervention, dependency, owner,
162
+ measure, and transition risk. Do not jump directly from aspiration to a
163
+ roadmap.
164
+
165
+ ### Weighted decision matrix
166
+
167
+ Define criteria before scoring options. State:
168
+
169
+ - Criterion definition and direction
170
+ - Weight and rationale
171
+ - Scoring scale with anchors
172
+ - Evidence behind each score
173
+ - Mandatory thresholds or disqualifiers
174
+ - Sensitivity to plausible changes in weights or scores
175
+
176
+ The arithmetic supports judgment; it does not replace it.
177
+
178
+ ## 7. Synthesize without overclaiming
179
+
180
+ Build the synthesis in this order:
181
+
182
+ 1. **Answer**: the current best answer to the decision question
183
+ 2. **Because**: two to four mutually distinct supporting findings
184
+ 3. **Evidence**: traceable sources and confidence for each finding
185
+ 4. **So what**: implication for the decision-maker
186
+ 5. **Now what**: action, owner, timing, and validation checkpoint
187
+ 6. **Uncertainty**: assumptions, counterevidence, and conditions that would
188
+ change the recommendation
189
+
190
+ Use the Pyramid Principle for the final reasoning structure. Use SCQA only
191
+ when it clarifies the audience's path to the question; do not manufacture
192
+ dramatic tension.
193
+
194
+ ## 8. Handoff to the owning skill
195
+
196
+ Read `references/handoff-contract.md`.
197
+
198
+ - For a technical or business document, pass `synthesis-handoff.md` to
199
+ `tech-writer`, including the target doctype.
200
+ - For a presentation, pass it to `presentation-planner`, including the exact
201
+ audience decision and evidence status.
202
+ - When both are requested, write the source document first unless the user
203
+ explicitly prioritizes the presentation.
204
+
205
+ The receiving skill may restructure the communication, but it must preserve
206
+ evidence IDs, confidence, assumptions, disconfirming evidence, decision
207
+ criteria, and unresolved questions.
208
+
209
+ ## 9. Quality gate
210
+
211
+ Before reporting completion, confirm:
212
+
213
+ - The root question names an actor and decision
214
+ - Every recommendation traces to findings and evidence
215
+ - Every priority issue has an answer, explicit unknown, or next action
216
+ - Facts, estimates, assumptions, and interpretations remain distinguishable
217
+ - A hypothesis marked `Supported` cites at least one `Fact` or `Estimate`;
218
+ that evidence must support the specific hypothesis. Assumptions and
219
+ interpretations may guide analysis but never count as supporting evidence
220
+ - Criteria and weights were defined before option scoring
221
+ - Decision-matrix weights sum to 100%, and sensitivity checks follow the
222
+ minimum procedure in `decision-analysis.md`
223
+ - Current and target states use comparable dimensions
224
+ - Counterevidence and uncertainty are visible
225
+ - No framework section exists only because a template contained it
226
+ - Every omitted artifact is named with the reason it was unnecessary
227
+ - The handoff identifies what the next skill may and may not change
228
+
229
+ If evidence is insufficient, report `analysis incomplete` with the unresolved
230
+ decision-critical gaps. Do not create a success-shaped recommendation.
231
+
232
+ ## Completion report
233
+
234
+ Report:
235
+
236
+ - Mode and selected frameworks with reasons
237
+ - Artifacts created or reviewed
238
+ - Decision question and current answer
239
+ - Confirmed findings, assumptions, and unresolved evidence gaps
240
+ - Handoff destination, if any
241
+ - `analysis completed` or `analysis incomplete`