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
@@ -0,0 +1,58 @@
1
+ # Analysis brief: <analysis title>
2
+
3
+ <State what decision this analysis supports and what the decision-maker will
4
+ be able to decide after reading it.>
5
+
6
+ - Analysis owner: <person or team>
7
+ - Decision-maker: <role or forum>
8
+ - Decision deadline: <YYYY-MM-DD>
9
+ - Destination: Analysis / Blueprint / White Paper / Proposal / Presentation
10
+ - Status: Draft / In Analysis / Ready for Handoff / Blocked
11
+
12
+ ## Decision question
13
+
14
+ <Write one question naming the actor, choice or problem, scope, and time
15
+ horizon.>
16
+
17
+ ## Intended outcome
18
+
19
+ <State the decision or action this analysis must enable and how success will
20
+ be measured.>
21
+
22
+ ## Scope and exclusions
23
+
24
+ ### In scope
25
+
26
+ - <Scope item>
27
+
28
+ ### Out of scope
29
+
30
+ - <Excluded item and where it will be handled>
31
+
32
+ ## Constraints
33
+
34
+ | Constraint ID | Constraint | Source | Consequence |
35
+ |---|---|---|---|
36
+ | CON-001 | <Constraint> | <Source> | <Impact on analysis or options> |
37
+
38
+ ## Available evidence
39
+
40
+ | Source ID | Source | Statement type | Date | Owner | Known limitation |
41
+ |---|---|---|---|---|---|
42
+ | SRC-001 | <File, data set, interview, or URL> | Fact source / Estimate source / Context | <Date> | <Owner> | <Limitation> |
43
+
44
+ ## Decision-critical unknowns
45
+
46
+ | Unknown ID | Question | Why it matters | Collection method | Owner | Deadline |
47
+ |---|---|---|---|---|---|
48
+ | UNK-001 | <Unknown> | <Decision impact> | <Method> | <Owner> | <Date> |
49
+
50
+ ## Framework selection
51
+
52
+ | Framework | Decision need | Expected output | Reason selected |
53
+ |---|---|---|---|
54
+ | <Framework> | <Need> | <Artifact field> | <Reason> |
55
+
56
+ ## Frozen requirements
57
+
58
+ - <Facts, definitions, criteria, deadlines, or constraints that may not change>
@@ -0,0 +1,62 @@
1
+ # Decision analysis
2
+
3
+ Use the Current–Target–Gap section, the option-comparison section, or both
4
+ only when they are required by the decision.
5
+
6
+ ## Current–Target–Gap
7
+
8
+ | Dimension | Current state and evidence | Target state and measure | Gap ID | Intervention ID | Required intervention | Dependency | Owner |
9
+ |---|---|---|---|---|---|---|---|
10
+ | <Capability, process, data, technology, governance, people, or operations> | <State and EVD IDs> | <State and target> | GAP-001 | INT-001 | <Intervention> | <Dependency> | <Owner> |
11
+
12
+ ### Transition risks
13
+
14
+ | Risk ID | Gap or intervention IDs | Risk | Trigger | Mitigation | Decision owner |
15
+ |---|---|---|---|---|---|
16
+ | RSK-001 | GAP-001 / INT-001 | <Risk> | <Trigger> | <Mitigation> | <Owner> |
17
+
18
+ ## Option criteria
19
+
20
+ Define criteria and weights before scoring options.
21
+
22
+ | Criterion ID | Criterion | Definition | Direction | Weight | Scoring anchors | Mandatory threshold |
23
+ |---|---|---|---|---:|---|---|
24
+ | CRT-001 | <Criterion> | <Definition> | Higher / Lower is better | <Percent> | 1=<anchor>, 3=<anchor>, 5=<anchor> | <Threshold or none> |
25
+
26
+ The weights must sum to 100%. Record and resolve any exception before scoring.
27
+
28
+ ## Option score details
29
+
30
+ Use one row per option and criterion so every score has its own evidence.
31
+
32
+ | Option | Criterion ID | Score | Weight | Weighted score | Evidence | Rationale and caveat |
33
+ |---|---|---:|---:|---:|---|---|
34
+ | <Option> | CRT-001 | <1–5> | <Percent> | <Score × weight> | <EVD IDs> | <Why this anchor applies> |
35
+
36
+ ## Option summary
37
+
38
+ | Option | Weighted total | Mandatory threshold result | Disqualified | Rank | Material caveat |
39
+ |---|---:|---|---|---:|---|
40
+ | <Option> | <Total> | Pass / Fail | Yes / No | <Rank> | <Caveat> |
41
+
42
+ ## Sensitivity analysis
43
+
44
+ At minimum, test:
45
+
46
+ 1. Equal weights across all criteria
47
+ 2. A one-anchor increase and decrease for the top-weighted criterion scores
48
+ 3. A plausible weight shift away from the highest-weighted criterion
49
+ 4. Every case where a change causes a rank flip or threshold failure
50
+
51
+ | Scenario | Exact perturbation | Recalculated ranking | Rank or threshold change | Decision impact |
52
+ |---|---|---|---|
53
+ | Base case | None | <Ranking> | None | <Impact> |
54
+ | Equal weights | <Weights> | <Ranking> | <Change> | <Whether recommendation changes> |
55
+ | Score stress | <Option, criterion, ±1 anchor> | <Ranking> | <Change> | <Impact> |
56
+ | Weight stress | <Criterion and weight change> | <Ranking> | <Change> | <Impact> |
57
+
58
+ ## Decision interpretation
59
+
60
+ - Recommended option or intervention set: <Answer>
61
+ - Why the arithmetic supports but does not determine the judgment: <Reason>
62
+ - Conditions that would change the ranking: <Conditions>
@@ -0,0 +1,48 @@
1
+ # Hypothesis and evidence ledger
2
+
3
+ <State which decision question these hypotheses test and how the ledger will
4
+ prevent unsupported conclusions.>
5
+
6
+ ## Hypotheses
7
+
8
+ | Hypothesis ID | Issue ID | Falsifiable proposition | Rationale, not proof | Confidence | Decision if true | Decision if false |
9
+ |---|---|---|---|---|---|---|
10
+ | HYP-001 | Q1.1 | <Proposition> | <Why plausible> | High / Medium / Low | <Consequence> | <Consequence> |
11
+
12
+ ## Evidence
13
+
14
+ Use one evidence row per hypothesis pairing, or explicitly list multiple HYP
15
+ IDs when direction and limitations apply equally to all of them. If they
16
+ differ, use separate rows with the same EVD ID; repeated evidence is not
17
+ independent corroboration.
18
+
19
+ Preserve interpretations as `Interpretation` rows linked to their underlying
20
+ EVD IDs. Interpretations do not count as supporting evidence.
21
+
22
+ | Evidence ID | Hypothesis IDs | Direction | Statement type | Source ID and date | Finding or interpretation and underlying EVD IDs | Quality | Limitation |
23
+ |---|---|---|---|---|---|---|---|
24
+ | EVD-001 | HYP-001, <other applicable HYP IDs> | Supports / Weakens / Neutral | Fact / Estimate / Interpretation | SRC-001, <date> | <Finding, or interpretation with underlying EVD IDs> | High / Medium / Low | <Limitation> |
25
+
26
+ ## Assumption register
27
+
28
+ Assumptions may guide analysis but do not count as supporting evidence.
29
+
30
+ | Assumption ID | Related issue or hypothesis | Assumption | Impact if false | Validation method | Owner | Deadline |
31
+ |---|---|---|---|---|---|---|
32
+ | ASM-001 | Q1.1 / HYP-001 | <Unverified condition> | <Impact> | <Method> | <Owner> | <Date> |
33
+
34
+ ## Hypothesis decisions
35
+
36
+ A `Supported` hypothesis must cite at least one `Fact` or `Estimate` EVD row
37
+ whose direction is `Supports` for that hypothesis. Assumptions and
38
+ interpretations alone cannot establish `Supported` status.
39
+
40
+ | Hypothesis ID | Status | Reason | Remaining uncertainty | Next evidence action | Owner | Deadline |
41
+ |---|---|---|---|---|---|---|
42
+ | HYP-001 | Supported / Weakened / Rejected / Open | <Reason with EVD IDs; Supported requires at least one Fact or Estimate> | <Uncertainty> | <Action> | <Owner> | <Date> |
43
+
44
+ ## Contradictions and alternative explanations
45
+
46
+ | ID | Related hypothesis | Counterevidence or alternative | Materiality | Resolution |
47
+ |---|---|---|---|---|
48
+ | ALT-001 | HYP-001 | <Alternative> | High / Medium / Low | <How handled> |
@@ -0,0 +1,35 @@
1
+ # Issue tree: <root decision question>
2
+
3
+ <State how this tree decomposes the root question and which decision it is
4
+ intended to support.>
5
+
6
+ ## Decomposition logic
7
+
8
+ - Logic used at level 1: <Causes / Options / Capabilities / Lifecycle / Economics>
9
+ - Reason: <Why this logic is collectively sufficient for the root>
10
+ - Known overlap or omission: <Residual limitation>
11
+
12
+ ## Tree
13
+
14
+ ```text
15
+ Q0 <Root decision question>
16
+ ├── Q1 <Branch>
17
+ │ ├── Q1.1 <Priority leaf>
18
+ │ └── Q1.2 <Supporting leaf>
19
+ └── Q2 <Branch>
20
+ ├── Q2.1 <Priority leaf>
21
+ └── Q2.2 <Out-of-scope leaf>
22
+ ```
23
+
24
+ ## Leaf register
25
+
26
+ | Issue ID | Parent | Question | Status | Priority | Evidence needed | Decision consequence |
27
+ |---|---|---|---|---|---|---|
28
+ | Q1.1 | Q1 | <Answerable question> | Open / Answered / Unknown / Out of scope | High / Medium / Low | <Evidence> | <Why the answer matters> |
29
+
30
+ ## MECE review
31
+
32
+ - Material overlap: <Overlap and resolution>
33
+ - Missing branch risk: <Possible omission>
34
+ - Scope boundary: <Why excluded branches do not block the decision>
35
+ - Review owner: <Person or role>
@@ -0,0 +1,68 @@
1
+ # Synthesis and handoff: <analysis title>
2
+
3
+ <State the decision this handoff enables and what the receiving writing or
4
+ presentation skill must communicate.>
5
+
6
+ - Decision-maker: <Role or forum>
7
+ - Decision question: <Question>
8
+ - Decision deadline: <YYYY-MM-DD>
9
+ - Current answer: <Recommendation, conclusion, or explicit unknown>
10
+ - Confidence: High / Medium / Low
11
+ - Destination: <Skill and target doctype or presentation purpose>
12
+ - Analysis status: Completed / Incomplete
13
+ - Omitted artifacts and reason: <Artifact: reason, or none>
14
+
15
+ ## Answer first
16
+
17
+ <State the current best answer and the action it implies.>
18
+
19
+ ## Supporting findings
20
+
21
+ | Finding ID | Issue IDs | Hypothesis IDs | Finding | Evidence | Related Gap, Intervention, or Criterion IDs | Confidence | So what |
22
+ |---|---|---|---|---|---|---|---|
23
+ | FND-001 | <Q IDs> | <HYP IDs> | <Finding> | <EVD IDs> | <GAP / INT / CRT IDs, or N/A with reason> | High / Medium / Low | <Decision implication> |
24
+
25
+ ## Recommended actions
26
+
27
+ | Action ID | Supporting Finding IDs | Related Issue and Hypothesis IDs | Gap, Intervention, or Criterion IDs | Action | Owner | Timing | Success measure | Validation checkpoint |
28
+ |---|---|---|---|---|---|---|---|---|
29
+ | ACT-001 | <FND IDs> | <Q / HYP IDs> | <GAP / INT / CRT IDs, or N/A with reason> | <Action> | <Owner> | <Date or phase> | <Measure> | <Checkpoint> |
30
+
31
+ Preserve the Q / HYP → FND / EVD → GAP / INT / CRT → ACT chain where
32
+ applicable. Use only IDs defined in the analysis; mark inapplicable links
33
+ `N/A` with a reason rather than inventing gaps, interventions, or criteria.
34
+
35
+ ## Options or transformation path
36
+
37
+ - Selected option or target state: <Option, capability, or intervention>
38
+ - Criteria, Gap, or Intervention IDs: <CRT / GAP / INT IDs, as applicable>
39
+ - Rejected alternatives and reasons: <Options and reasons>
40
+ - Sensitivity or sequencing conditions: <Conditions>
41
+
42
+ ## Assumptions, counterevidence, and uncertainty
43
+
44
+ | ID | Type | Statement | Decision impact | Validation or response |
45
+ |---|---|---|---|---|
46
+ | UNC-001 | Assumption / Estimate / Counterevidence / Unknown | <Statement> | <Impact> | <Action> |
47
+
48
+ ## Evidence gaps
49
+
50
+ | Gap ID | Missing evidence | Decision blocked or conditional | Owner | Deadline |
51
+ |---|---|---|---|---|
52
+ | EGP-001 | <Evidence> | <Impact> | <Owner> | <Date> |
53
+
54
+ ## Communication handoff
55
+
56
+ - Target audience and prior knowledge: <Audience>
57
+ - Target doctype or scenario: <Doctype or presentation purpose>
58
+ - Required conclusion or call to action: <Outcome>
59
+ - Evidence that must appear: <FND and EVD IDs>
60
+ - Material caveats that must appear: <UNC IDs>
61
+ - Frozen criteria, weights, scores, confidence, and wording: <Items>
62
+ - Sections or slides that are optional: <Items>
63
+ - Questions to return to consulting-analyst: <Return conditions>
64
+
65
+ If `Analysis status` is `Incomplete`, the receiving skill must either return
66
+ the decision-critical gaps to `consulting-analyst` or preserve the incomplete
67
+ status, evidence gaps, confidence, and conditional wording visibly in the
68
+ output.
@@ -0,0 +1,80 @@
1
+ # Evidence and hypothesis discipline
2
+
3
+ The analysis must preserve the difference between what is known, estimated,
4
+ assumed, interpreted, and recommended.
5
+
6
+ ## Statement types
7
+
8
+ | Type | Meaning | Required handling |
9
+ |---|---|---|
10
+ | Fact | Directly supported by a traceable source | Record source, date, scope, and limitations |
11
+ | Estimate | Quantified approximation | Record method, range, sensitivity, and owner |
12
+ | Assumption | Unverified condition used to proceed | Record validation plan and impact if false |
13
+ | Interpretation | Meaning inferred from facts or estimates | Show the reasoning and alternatives |
14
+ | Recommendation | Proposed action | Trace to findings, constraints, and decision criteria |
15
+
16
+ ## Hypothesis record
17
+
18
+ A useful hypothesis includes:
19
+
20
+ - A specific proposition
21
+ - The issue-tree leaf it answers
22
+ - Why it is plausible
23
+ - Supporting evidence expected
24
+ - Disconfirming evidence expected
25
+ - A confidence level
26
+ - A decision consequence if true or false
27
+
28
+ Do not write confidence as a percentage unless it comes from a defined model
29
+ or elicitation method. Use `High`, `Medium`, or `Low` with a short rationale.
30
+
31
+ ## Evidence quality
32
+
33
+ Assess evidence by:
34
+
35
+ - Directness: does it measure the claimed phenomenon?
36
+ - Reliability: can the source and method be trusted?
37
+ - Recency: is it current enough for the decision?
38
+ - Representativeness: does it cover the relevant population and context?
39
+ - Independence: does it corroborate rather than repeat another source?
40
+ - Materiality: could it change the conclusion or action?
41
+
42
+ Record contradictory evidence beside supporting evidence. Do not relegate it
43
+ to an appendix that the synthesis ignores.
44
+
45
+ Use one evidence row per hypothesis pairing, or explicitly list multiple HYP
46
+ IDs if the direction and limitations are the same for each hypothesis. Where
47
+ they differ, reuse the EVD ID in separate pairing rows; this does not create
48
+ independent corroboration.
49
+
50
+ Preserve interpretations as `Interpretation` rows with links to underlying
51
+ EVD IDs and alternative explanations. Interpretations do not count as
52
+ supporting evidence. A `Supported` hypothesis requires at least one `Fact` or
53
+ `Estimate` EVD row marked `Supports` for that hypothesis; assumptions and
54
+ interpretations alone are insufficient.
55
+
56
+ ## Causal claims
57
+
58
+ Before stating that one factor caused another, check:
59
+
60
+ - Temporal order
61
+ - Plausible mechanism
62
+ - Alternative explanations
63
+ - Selection and measurement bias
64
+ - Whether an intervention changed the outcome
65
+
66
+ When these conditions are not met, use association or contribution language
67
+ instead of causation.
68
+
69
+ ## Evidence gaps
70
+
71
+ For every decision-critical gap, record:
72
+
73
+ - Missing evidence
74
+ - Why it matters
75
+ - Best available collection method
76
+ - Owner
77
+ - Deadline
78
+ - Decision that must wait or proceed conditionally
79
+
80
+ An explicit unknown is better than a fabricated conclusion.
@@ -0,0 +1,84 @@
1
+ # Framework selection
2
+
3
+ Choose frameworks from the decision need, not from familiarity or prestige.
4
+ The smallest sufficient set is usually one analytical framework and one
5
+ communication framework.
6
+
7
+ ## Selection sequence
8
+
9
+ 1. Name the actor and decision.
10
+ 2. Identify the uncertainty blocking that decision.
11
+ 3. Choose the framework that exposes or reduces that uncertainty.
12
+ 4. Define the artifact or decision field the framework must populate.
13
+ 5. Remove the framework if its output will not change the decision.
14
+
15
+ ## Primary frameworks
16
+
17
+ ### Issue Tree
18
+
19
+ Use when the root question is too broad to answer directly. Select one
20
+ decomposition logic per level. Good branches are answerable and decision
21
+ relevant.
22
+
23
+ Avoid mixing causes, solutions, departments, and project phases as siblings.
24
+ That structure creates overlap without revealing what is missing.
25
+
26
+ ### Hypothesis–Evidence–Falsification
27
+
28
+ Use when an explanation, forecast, or proposed solution must be tested.
29
+ Define what would make the hypothesis less likely before collecting only
30
+ supporting evidence.
31
+
32
+ Avoid hypotheses that cannot fail, such as "improving quality may help".
33
+
34
+ ### Causal tree and 5 Whys
35
+
36
+ Use for a specific observed outcome when the causal mechanism matters. Each
37
+ link requires evidence; asking "why" repeatedly does not establish causality.
38
+
39
+ Avoid forcing one root cause when several interacting causes fit the evidence.
40
+
41
+ ### Current–Target–Gap
42
+
43
+ Use for Blueprint, transformation, capability, operating-model, or roadmap
44
+ work. Describe current and target states with comparable dimensions before
45
+ identifying gaps and interventions.
46
+
47
+ Avoid target states made only of product names or aspirational adjectives.
48
+
49
+ ### Weighted decision matrix
50
+
51
+ Use when several viable alternatives must be compared across competing
52
+ criteria. Define scoring anchors and disqualifiers before assigning scores.
53
+
54
+ Avoid false precision. Run sensitivity analysis when small weight changes can
55
+ reverse the ranking.
56
+
57
+ ### Pyramid Principle
58
+
59
+ Use to communicate a supported conclusion. Start with the answer, group
60
+ mutually distinct reasons, then show evidence.
61
+
62
+ Avoid using the pyramid to hide uncertainty or omit contradictory evidence.
63
+
64
+ ### SCQA
65
+
66
+ Use when the audience needs a short path from shared context to a decision
67
+ question. Keep the complication factual and proportional.
68
+
69
+ Avoid manufacturing urgency or conflict that the evidence does not support.
70
+
71
+ ## Supporting lenses
72
+
73
+ Use these only when their outputs feed a hypothesis, criterion, gap, or
74
+ action:
75
+
76
+ - PESTLE for external conditions
77
+ - Five Forces for industry economics
78
+ - 3C for customer, competitor, and company fit
79
+ - SWOT for summarizing evidenced internal and external conditions
80
+ - Capability Map for future-state abilities and ownership
81
+ - Impact/Effort Matrix for sequencing already defined interventions
82
+
83
+ Never stack several lenses to make an analysis look comprehensive. Coverage
84
+ comes from the issue tree and evidence, not the number of framework names.
@@ -0,0 +1,90 @@
1
+ # Analysis handoff contract
2
+
3
+ The handoff transfers reasoning and evidence without transferring ownership
4
+ of final prose or presentation design.
5
+
6
+ ## Required fields
7
+
8
+ `synthesis-handoff.md` must include:
9
+
10
+ - Decision-maker and decision question
11
+ - Intended outcome and deadline
12
+ - Recommended answer and confidence
13
+ - Supporting issue, hypothesis, finding, source, and evidence IDs
14
+ - Assumptions and estimates
15
+ - Counterevidence and alternative interpretations
16
+ - Options, criteria, weights, and sensitivity when applicable
17
+ - Current, target, gap, intervention, and action IDs when applicable
18
+ - Risks, unresolved questions, and evidence-gathering actions
19
+ - Required destination and target doctype or presentation purpose
20
+ - Frozen items the receiving skill must preserve
21
+
22
+ ## ID semantics and traceability
23
+
24
+ - `Q` identifies an issue; `HYP` a hypothesis; `FND` a synthesized finding.
25
+ - `SRC` identifies a source record; `EVD` an analysis evidence record linked
26
+ to its source. Never rename a source record to `EVD` or overwrite analysis
27
+ evidence with a source citation.
28
+ - `GAP` identifies a current-to-target gap; `INT` an intervention defined in
29
+ Current–Target–Gap; `CRT` an option criterion; `ACT` a recommended action.
30
+ - Findings preserve their Q / HYP and EVD links and reference relevant
31
+ GAP / INT / CRT IDs. Actions link to supporting FND IDs, related Q / HYP
32
+ IDs, and applicable GAP / INT / CRT IDs. Transition risks reference the
33
+ affected GAP / INT IDs.
34
+ - Preserve this chain in destination documents. Blueprint traceability keeps
35
+ relevant Q / HYP / FND / EVD and GAP / INT / CRT alongside its driver,
36
+ principle, capability, workstream, and KPI IDs. White Paper claims link
37
+ relevant HYP / FND / EVD IDs, while source records remain SRC IDs.
38
+ - Use only defined, relevant IDs. Mark inapplicable links `N/A` with a reason;
39
+ do not require consulting IDs when no consulting handoff exists.
40
+
41
+ If `Analysis status` is `Incomplete`, the receiving skill must either return
42
+ the decision-critical gaps for further analysis or visibly preserve the
43
+ incomplete status, evidence gaps, confidence, and conditional nature of every
44
+ affected conclusion. It must not convert an incomplete handoff into an
45
+ unqualified recommendation.
46
+
47
+ ## Handoff to tech-writer
48
+
49
+ `tech-writer` owns document structure, doctype completeness, Markdown, and
50
+ reader-facing prose. It may:
51
+
52
+ - Reorder analysis to fit the doctype
53
+ - Rename headings
54
+ - Condense repeated evidence
55
+ - Add doctype-required metadata and controls
56
+
57
+ It must not:
58
+
59
+ - Change evidence IDs or source meaning
60
+ - Present assumptions as facts
61
+ - Remove counterevidence that affects the conclusion
62
+ - Change criteria, weights, scores, confidence, or recommendation without
63
+ returning the change to analysis
64
+
65
+ ## Handoff to presentation-planner
66
+
67
+ `presentation-planner` owns audience reasoning, scenario, slide order, and
68
+ visual handoff. It may:
69
+
70
+ - Select the shortest evidence set that supports the audience decision
71
+ - Split findings across slides
72
+ - Adapt the order for the audience's prior knowledge
73
+
74
+ It must preserve:
75
+
76
+ - The decision question and requested action
77
+ - Evidence status and confidence
78
+ - Material caveats and counterevidence
79
+ - Option-comparison logic
80
+ - Conditions that would change the recommendation
81
+
82
+ ## Return conditions
83
+
84
+ Return the handoff to `consulting-analyst` when:
85
+
86
+ - A new conclusion is required
87
+ - New evidence changes confidence or ranking
88
+ - The audience asks a different decision question
89
+ - Criteria or target-state dimensions change
90
+ - Communication edits expose a contradiction in the analysis
@@ -0,0 +1,17 @@
1
+ # GiNZA dependency notice
2
+
3
+ This skill is an original kotonoha implementation and does not include source
4
+ code from `coji/natural-japanese`.
5
+
6
+ Morphological and syntactic analysis uses
7
+ [GiNZA](https://github.com/megagonlabs/ginza), its `ja_ginza` model, and
8
+ spaCy. These dependencies are resolved by `uv` when a diagnostic script is
9
+ run. GiNZA and its Japanese Universal Dependencies models are distributed
10
+ under the MIT License. spaCy is distributed under the MIT License.
11
+ SudachiPy and SudachiDict are distributed under the Apache License 2.0.
12
+ GiNZA documents the licenses of its remaining dependencies and training
13
+ datasets.
14
+
15
+ The implementation targets GiNZA 5.2.x and uses token surface forms, lemmas,
16
+ universal part-of-speech tags, dependency relationships, sentence boundaries,
17
+ and named-entity labels.
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: japanese-prose
3
+ description: >-
4
+ Improves Japanese prose in technical and business documents using
5
+ kotonoha's original GiNZA-based diagnostics. Use when writing, rewriting,
6
+ reviewing, or scoring Japanese prose; when the user asks for more natural,
7
+ readable, concise, or less AI-like Japanese; or when tech-writer delegates
8
+ its sentence-level quality pass. Owns wording, sentence rhythm, reading
9
+ load, terminology review, and formulaic-expression detection. Does not own
10
+ technical-document structure or presentation storylines.
11
+ license: MIT
12
+ argument-hint: "[write|review|score] [quick|full] <target file or request>"
13
+ ---
14
+
15
+ # japanese-prose
16
+
17
+ Improves Japanese wording without changing approved facts, obligations,
18
+ identifiers, evidence, code, or document structure. This is an original
19
+ kotonoha implementation. It uses
20
+ [GiNZA](https://github.com/megagonlabs/ginza) for tokenization, part-of-speech
21
+ tagging, dependency parsing, lemmatization, and named-entity recognition.
22
+
23
+ ## Responsibility boundary
24
+
25
+ - `tech-writer` owns doctype selection, section structure, completeness,
26
+ traceability, and Markdown organization.
27
+ - `presentation-planner` owns audience strategy, scenarios, slide order, and
28
+ design specifications.
29
+ - `japanese-prose` owns sentence-level Japanese: clarity, rhythm, reading
30
+ load, terminology, repeated patterns, and contextual rewriting.
31
+
32
+ Never move, add, or remove sections unless the calling skill explicitly
33
+ authorizes it. Never alter requirement IDs, risk IDs, control IDs, numbers,
34
+ units, dates, proper nouns, citations, URLs, commands, tables, schemas,
35
+ acceptance criteria, approval states, or normative force.
36
+
37
+ ## Modes
38
+
39
+ - `write`: write or rewrite Japanese prose. Use `quick` unless the document
40
+ is external-facing, high-risk, or longer than roughly 10,000 Japanese
41
+ characters.
42
+ - `review`: report problems and proposed corrections without editing.
43
+ - `score`: run diagnostics and report the 0–100 score without rewriting.
44
+ - `quick`: run prose lint once, review findings in context, edit, and rerun
45
+ until no new actionable findings appear.
46
+ - `full`: run prose lint, reading-load lint, outline extraction, and
47
+ terminology extraction; then review the whole document against
48
+ `references/review-workflow.md`.
49
+
50
+ ## Workflow
51
+
52
+ 1. Read the target, audience, intended outcome, and calling skill's frozen
53
+ invariants.
54
+ 2. Read `references/writing-guidelines.md` before generating or rewriting
55
+ prose.
56
+ 3. Run the GiNZA prose diagnostic:
57
+
58
+ ```bash
59
+ uv run scripts/lint.py <target-file> --genre tech --json > <workdir>/prose-baseline.json
60
+ ```
61
+
62
+ 4. For `full` mode, also run:
63
+
64
+ ```bash
65
+ uv run scripts/lint.py <target-file> --genre tech --reading-load --json
66
+ uv run scripts/outline.py <target-file>
67
+ uv run scripts/terms.py <target-file> --json
68
+ ```
69
+
70
+ 5. Classify each finding as `fix` or `keep`. A detector identifies a review
71
+ target; it does not authorize blind replacement.
72
+ 6. Apply only fixes that improve the intended reader's understanding while
73
+ preserving the frozen invariants.
74
+ 7. Rerun the prose diagnostic with
75
+ `--baseline <workdir>/prose-baseline.json` to classify new, persisting,
76
+ and resolved findings. Replace the baseline only after recording the
77
+ decisions for the current round.
78
+ 8. Stop when every finding has a decision, no new actionable finding appears,
79
+ and the document passes the checks in `references/review-workflow.md`.
80
+
81
+ Allow at most three edit-and-diagnose rounds per invocation. If actionable
82
+ findings or invariant violations remain, report that the optimization did not
83
+ converge and list the unresolved items.
84
+
85
+ ## Markdown emphasis
86
+
87
+ When strong emphasis touches surrounding prose, put half-width spaces outside
88
+ the delimiters: `これは **重要** です`, not `これは**重要**です`. Spaces are
89
+ unnecessary at line boundaries or next to punctuation, and must not be placed
90
+ inside `**`. Use ASCII spaces (`U+0020`), never full-width spaces (`U+3000`),
91
+ tabs, or non-breaking spaces, immediately before and after emphasis embedded
92
+ in prose. Write `これは **「重要」** と説明する`, not
93
+ `これは **「重要」** と説明する`.
94
+
95
+ ## Diagnostic interpretation
96
+
97
+ The score is a triage aid, not a quality certificate. Read
98
+ `references/scoring.md` before presenting it. GiNZA provides linguistic
99
+ observations; the agent remains responsible for deciding whether a change is
100
+ correct in context.
101
+
102
+ ## Completion report
103
+
104
+ Report:
105
+
106
+ - mode and diagnostics executed
107
+ - initial and final scores
108
+ - findings fixed and findings deliberately kept
109
+ - any skipped diagnostic and its reason
110
+ - invariant verification result
111
+ - `completed` or `did not converge`