kotonoha 0.1.2 → 0.1.4
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/CHANGELOG.md +30 -0
- package/README.md +95 -20
- package/bin/kotonoha.js +81 -13
- package/package.json +7 -3
- package/skills/presentation-planner/SKILL.md +243 -0
- package/skills/presentation-planner/assets/design-templates/data-report.yaml +97 -0
- package/skills/presentation-planner/assets/design-templates/executive-proposal.yaml +92 -0
- package/skills/presentation-planner/assets/design-templates/technical-briefing.yaml +96 -0
- package/skills/presentation-planner/assets/scenario-templates/data-report.md +47 -0
- package/skills/presentation-planner/assets/scenario-templates/executive-decision.md +43 -0
- package/skills/presentation-planner/assets/scenario-templates/technical-briefing.md +45 -0
- package/skills/presentation-planner/references/customizing-design-templates.md +160 -0
- package/skills/presentation-planner/references/design-spec-schema.md +72 -0
- package/skills/presentation-planner/references/handoff-contract.md +49 -0
- package/skills/presentation-planner/references/responsibility-boundary.md +32 -0
- package/skills/presentation-planner/references/scenario-templates.md +55 -0
- package/skills/tech-writer/SKILL.md +57 -16
- package/skills/tech-writer/assets/templates/migration-plan.md +173 -0
- package/skills/tech-writer/assets/templates/operations-runbook.md +202 -0
- package/skills/tech-writer/assets/templates/requirements-definition.md +170 -0
- package/skills/tech-writer/assets/templates/rfi.md +113 -0
- package/skills/tech-writer/assets/templates/rfp.md +180 -0
- package/skills/tech-writer/assets/templates/security-design.md +167 -0
- package/skills/tech-writer/assets/templates/system-design.md +220 -0
- package/skills/tech-writer/assets/templates/technical-proposal.md +112 -0
- package/skills/tech-writer/assets/templates/test-plan.md +153 -0
- package/skills/tech-writer/references/doctypes/migration-plan.md +63 -0
- package/skills/tech-writer/references/doctypes/operations-runbook.md +63 -0
- package/skills/tech-writer/references/doctypes/requirements-definition.md +61 -0
- package/skills/tech-writer/references/doctypes/rfi.md +43 -0
- package/skills/tech-writer/references/doctypes/rfp.md +46 -0
- package/skills/tech-writer/references/doctypes/security-design.md +71 -0
- package/skills/tech-writer/references/doctypes/system-design.md +74 -0
- package/skills/tech-writer/references/doctypes/technical-proposal.md +49 -0
- package/skills/tech-writer/references/doctypes/test-plan.md +67 -0
- package/skills/tech-writer/references/style-constitution.md +7 -6
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
id: data-report
|
|
2
|
+
base_template: null
|
|
3
|
+
intent:
|
|
4
|
+
- KPI review
|
|
5
|
+
- research findings
|
|
6
|
+
- operational report
|
|
7
|
+
- analytical recommendation
|
|
8
|
+
canvas:
|
|
9
|
+
aspect_ratio: "16:9"
|
|
10
|
+
width_in: 13.333
|
|
11
|
+
height_in: 7.5
|
|
12
|
+
safe_area_percent: 6
|
|
13
|
+
grid_columns: 12
|
|
14
|
+
max_content_blocks: 4
|
|
15
|
+
colors:
|
|
16
|
+
background: "#FFFFFF"
|
|
17
|
+
surface: "#F3F3F3"
|
|
18
|
+
text_primary: "#1B1B1B"
|
|
19
|
+
text_secondary: "#505050"
|
|
20
|
+
accent: "#005A9E"
|
|
21
|
+
accent_soft: "#E5F1FB"
|
|
22
|
+
border_neutral: "#8A8886"
|
|
23
|
+
positive: "#107C10"
|
|
24
|
+
warning: "#8A5A00"
|
|
25
|
+
critical: "#A4262C"
|
|
26
|
+
brand_red: "#F25022"
|
|
27
|
+
brand_green: "#7FBA00"
|
|
28
|
+
brand_blue: "#00A4EF"
|
|
29
|
+
brand_yellow: "#FFB900"
|
|
30
|
+
chart_sequence:
|
|
31
|
+
- "#005A9E"
|
|
32
|
+
- "#F25022"
|
|
33
|
+
- "#767676"
|
|
34
|
+
typography:
|
|
35
|
+
heading_font: "Aptos Display"
|
|
36
|
+
body_font: "Aptos"
|
|
37
|
+
numeric_font: "Aptos"
|
|
38
|
+
title_size_pt: 28
|
|
39
|
+
section_title_size_pt: 24
|
|
40
|
+
body_size_pt: 17
|
|
41
|
+
metric_size_pt: 34
|
|
42
|
+
caption_size_pt: 10
|
|
43
|
+
title_weight: 700
|
|
44
|
+
body_line_spacing: 1.12
|
|
45
|
+
spacing:
|
|
46
|
+
outer_margin_percent: 6
|
|
47
|
+
content_gap_percent: 2
|
|
48
|
+
card_padding_percent: 2
|
|
49
|
+
components:
|
|
50
|
+
cards:
|
|
51
|
+
corner_radius: medium
|
|
52
|
+
border: none
|
|
53
|
+
shadow: none
|
|
54
|
+
callouts:
|
|
55
|
+
use_accent_bar: false
|
|
56
|
+
maximum_per_slide: 1
|
|
57
|
+
tables:
|
|
58
|
+
header_fill: accent_soft
|
|
59
|
+
header_text: text_primary
|
|
60
|
+
zebra_rows: true
|
|
61
|
+
maximum_rows: 8
|
|
62
|
+
charts:
|
|
63
|
+
style: analytical
|
|
64
|
+
gridlines: minimal
|
|
65
|
+
direct_labels_required: true
|
|
66
|
+
series_outline: background
|
|
67
|
+
source_note_required: true
|
|
68
|
+
zero_baseline_required_for_bars: true
|
|
69
|
+
diagrams:
|
|
70
|
+
connector_style: simple
|
|
71
|
+
maximum_nodes: 6
|
|
72
|
+
slide_patterns:
|
|
73
|
+
- title
|
|
74
|
+
- key-findings
|
|
75
|
+
- metric-scorecard
|
|
76
|
+
- trend
|
|
77
|
+
- comparison
|
|
78
|
+
- distribution
|
|
79
|
+
- drivers
|
|
80
|
+
- implication
|
|
81
|
+
- recommendation
|
|
82
|
+
- appendix-method
|
|
83
|
+
accessibility:
|
|
84
|
+
minimum_body_size_pt: 15
|
|
85
|
+
minimum_contrast_ratio: 4.5
|
|
86
|
+
never_use_color_alone: true
|
|
87
|
+
alt_text_required: true
|
|
88
|
+
constraints:
|
|
89
|
+
- one primary message per slide
|
|
90
|
+
- assertion title required
|
|
91
|
+
- chart axes and units must be visible
|
|
92
|
+
- uncertainty and sample size must be disclosed
|
|
93
|
+
- three-dimensional charts are prohibited
|
|
94
|
+
- Microsoft logo colors are not used for small text on white
|
|
95
|
+
- brand_yellow uses a direct label and pattern or marker encoding
|
|
96
|
+
- charts with more than three series add pattern or shape encoding
|
|
97
|
+
deviations: []
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
id: executive-proposal
|
|
2
|
+
base_template: null
|
|
3
|
+
intent:
|
|
4
|
+
- executive decision
|
|
5
|
+
- investment approval
|
|
6
|
+
- transformation roadmap
|
|
7
|
+
- technical proposal
|
|
8
|
+
canvas:
|
|
9
|
+
aspect_ratio: "16:9"
|
|
10
|
+
width_in: 13.333
|
|
11
|
+
height_in: 7.5
|
|
12
|
+
safe_area_percent: 6
|
|
13
|
+
grid_columns: 12
|
|
14
|
+
max_content_blocks: 4
|
|
15
|
+
colors:
|
|
16
|
+
background: "#FFFFFF"
|
|
17
|
+
surface: "#F3F3F3"
|
|
18
|
+
text_primary: "#1B1B1B"
|
|
19
|
+
text_secondary: "#505050"
|
|
20
|
+
accent: "#005A9E"
|
|
21
|
+
accent_soft: "#E5F1FB"
|
|
22
|
+
border_neutral: "#8A8886"
|
|
23
|
+
positive: "#107C10"
|
|
24
|
+
warning: "#8A5A00"
|
|
25
|
+
critical: "#A4262C"
|
|
26
|
+
brand_red: "#F25022"
|
|
27
|
+
brand_green: "#7FBA00"
|
|
28
|
+
brand_blue: "#00A4EF"
|
|
29
|
+
brand_yellow: "#FFB900"
|
|
30
|
+
chart_sequence:
|
|
31
|
+
- "#005A9E"
|
|
32
|
+
- "#F25022"
|
|
33
|
+
- "#767676"
|
|
34
|
+
typography:
|
|
35
|
+
heading_font: "Aptos Display"
|
|
36
|
+
body_font: "Aptos"
|
|
37
|
+
title_size_pt: 30
|
|
38
|
+
section_title_size_pt: 26
|
|
39
|
+
body_size_pt: 18
|
|
40
|
+
caption_size_pt: 11
|
|
41
|
+
title_weight: 700
|
|
42
|
+
body_line_spacing: 1.15
|
|
43
|
+
spacing:
|
|
44
|
+
outer_margin_percent: 6
|
|
45
|
+
content_gap_percent: 2
|
|
46
|
+
card_padding_percent: 2
|
|
47
|
+
components:
|
|
48
|
+
cards:
|
|
49
|
+
corner_radius: medium
|
|
50
|
+
border: none
|
|
51
|
+
shadow: subtle
|
|
52
|
+
callouts:
|
|
53
|
+
use_accent_bar: true
|
|
54
|
+
maximum_per_slide: 1
|
|
55
|
+
tables:
|
|
56
|
+
header_fill: accent_soft
|
|
57
|
+
header_text: text_primary
|
|
58
|
+
zebra_rows: true
|
|
59
|
+
maximum_rows: 7
|
|
60
|
+
charts:
|
|
61
|
+
style: direct-label
|
|
62
|
+
gridlines: minimal
|
|
63
|
+
direct_labels_required: true
|
|
64
|
+
series_outline: background
|
|
65
|
+
source_note_required: true
|
|
66
|
+
diagrams:
|
|
67
|
+
connector_style: orthogonal
|
|
68
|
+
maximum_nodes: 7
|
|
69
|
+
slide_patterns:
|
|
70
|
+
- title
|
|
71
|
+
- executive-summary
|
|
72
|
+
- problem-evidence
|
|
73
|
+
- option-comparison
|
|
74
|
+
- recommendation
|
|
75
|
+
- roadmap
|
|
76
|
+
- investment-and-value
|
|
77
|
+
- risk-and-mitigation
|
|
78
|
+
- decision-request
|
|
79
|
+
accessibility:
|
|
80
|
+
minimum_body_size_pt: 16
|
|
81
|
+
minimum_contrast_ratio: 4.5
|
|
82
|
+
never_use_color_alone: true
|
|
83
|
+
alt_text_required: true
|
|
84
|
+
constraints:
|
|
85
|
+
- one primary message per slide
|
|
86
|
+
- assertion title required
|
|
87
|
+
- no more than one chart per slide
|
|
88
|
+
- no decorative stock imagery without narrative value
|
|
89
|
+
- Microsoft logo colors are not used for small text on white
|
|
90
|
+
- brand_yellow uses a direct label and pattern or marker encoding
|
|
91
|
+
- charts with more than three series add pattern or shape encoding
|
|
92
|
+
deviations: []
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
id: technical-briefing
|
|
2
|
+
base_template: null
|
|
3
|
+
intent:
|
|
4
|
+
- architecture explanation
|
|
5
|
+
- engineering review
|
|
6
|
+
- technical proposal
|
|
7
|
+
- implementation briefing
|
|
8
|
+
canvas:
|
|
9
|
+
aspect_ratio: "16:9"
|
|
10
|
+
width_in: 13.333
|
|
11
|
+
height_in: 7.5
|
|
12
|
+
safe_area_percent: 5
|
|
13
|
+
grid_columns: 12
|
|
14
|
+
max_content_blocks: 5
|
|
15
|
+
colors:
|
|
16
|
+
background: "#FFFFFF"
|
|
17
|
+
surface: "#F3F3F3"
|
|
18
|
+
text_primary: "#1B1B1B"
|
|
19
|
+
text_secondary: "#505050"
|
|
20
|
+
accent: "#005A9E"
|
|
21
|
+
accent_soft: "#E5F1FB"
|
|
22
|
+
border_neutral: "#8A8886"
|
|
23
|
+
positive: "#107C10"
|
|
24
|
+
warning: "#8A5A00"
|
|
25
|
+
critical: "#A4262C"
|
|
26
|
+
brand_red: "#F25022"
|
|
27
|
+
brand_green: "#7FBA00"
|
|
28
|
+
brand_blue: "#00A4EF"
|
|
29
|
+
brand_yellow: "#FFB900"
|
|
30
|
+
chart_sequence:
|
|
31
|
+
- "#005A9E"
|
|
32
|
+
- "#F25022"
|
|
33
|
+
- "#767676"
|
|
34
|
+
typography:
|
|
35
|
+
heading_font: "Aptos Display"
|
|
36
|
+
body_font: "Aptos"
|
|
37
|
+
code_font: "Cascadia Mono"
|
|
38
|
+
title_size_pt: 28
|
|
39
|
+
section_title_size_pt: 24
|
|
40
|
+
body_size_pt: 17
|
|
41
|
+
code_size_pt: 13
|
|
42
|
+
caption_size_pt: 10
|
|
43
|
+
title_weight: 700
|
|
44
|
+
body_line_spacing: 1.12
|
|
45
|
+
spacing:
|
|
46
|
+
outer_margin_percent: 5
|
|
47
|
+
content_gap_percent: 1.5
|
|
48
|
+
card_padding_percent: 1.5
|
|
49
|
+
components:
|
|
50
|
+
cards:
|
|
51
|
+
corner_radius: small
|
|
52
|
+
border: border_neutral
|
|
53
|
+
shadow: none
|
|
54
|
+
callouts:
|
|
55
|
+
use_accent_bar: true
|
|
56
|
+
maximum_per_slide: 2
|
|
57
|
+
tables:
|
|
58
|
+
header_fill: accent_soft
|
|
59
|
+
header_text: text_primary
|
|
60
|
+
zebra_rows: false
|
|
61
|
+
maximum_rows: 8
|
|
62
|
+
charts:
|
|
63
|
+
style: technical
|
|
64
|
+
gridlines: subtle
|
|
65
|
+
direct_labels_required: true
|
|
66
|
+
series_outline: background
|
|
67
|
+
source_note_required: true
|
|
68
|
+
diagrams:
|
|
69
|
+
connector_style: orthogonal
|
|
70
|
+
maximum_nodes: 9
|
|
71
|
+
boundary_labels_required: true
|
|
72
|
+
slide_patterns:
|
|
73
|
+
- title
|
|
74
|
+
- system-context
|
|
75
|
+
- architecture
|
|
76
|
+
- sequence-or-flow
|
|
77
|
+
- component-responsibilities
|
|
78
|
+
- interface-and-data
|
|
79
|
+
- security-boundaries
|
|
80
|
+
- implementation-plan
|
|
81
|
+
- tradeoffs
|
|
82
|
+
- decision-request
|
|
83
|
+
accessibility:
|
|
84
|
+
minimum_body_size_pt: 15
|
|
85
|
+
minimum_contrast_ratio: 4.5
|
|
86
|
+
never_use_color_alone: true
|
|
87
|
+
alt_text_required: true
|
|
88
|
+
constraints:
|
|
89
|
+
- one primary message per slide
|
|
90
|
+
- assertion title required
|
|
91
|
+
- code samples limited to twelve visible lines
|
|
92
|
+
- diagrams must identify trust or ownership boundaries
|
|
93
|
+
- Microsoft logo colors are not used for small text on white
|
|
94
|
+
- brand_yellow uses a direct label and pattern or marker encoding
|
|
95
|
+
- charts with more than three series add pattern or shape encoding
|
|
96
|
+
deviations: []
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Data report presentation scenario
|
|
2
|
+
|
|
3
|
+
Use this scenario for KPI reviews, research findings, operational analysis,
|
|
4
|
+
experiments, surveys, or evidence-led recommendations.
|
|
5
|
+
|
|
6
|
+
- Working title: <presentation title>
|
|
7
|
+
- Audience: <decision-makers or analysts>
|
|
8
|
+
- Question to answer: <one analytical question>
|
|
9
|
+
- Decision or action enabled: <outcome>
|
|
10
|
+
- Analysis period: <date range>
|
|
11
|
+
- Data sources: <systems, files, studies>
|
|
12
|
+
- Target slide count: <count or range>
|
|
13
|
+
|
|
14
|
+
## Scenario arc
|
|
15
|
+
|
|
16
|
+
| Stage | Audience question | Assertion to establish | Required evidence | Transition to next stage | Suggested slides |
|
|
17
|
+
|---|---|---|---|---|---:|
|
|
18
|
+
| Question | What decision-relevant question does the analysis answer? | <the question and success measure are unambiguous> | <business context, metric definition> | Explain whether the data can answer it credibly | 1 |
|
|
19
|
+
| Method | How reliable and comparable is the analysis? | <scope, source, sample, and method support the conclusion> | <definitions, coverage, exclusions> | Present the most decision-relevant findings first | 1 |
|
|
20
|
+
| Finding | What changed or differs materially? | <one quantified finding per slide> | <chart, table, confidence, baseline> | Move from observation to explanation | 2–4 |
|
|
21
|
+
| Interpretation | Why did it happen and what uncertainty remains? | <drivers and limitations explain the finding without overstating causality> | <segmentation, comparison, caveats> | Translate the finding into impact | 1–2 |
|
|
22
|
+
| Impact | Why does the result matter? | <finding changes cost, risk, experience, or opportunity> | <scenario, forecast, affected population> | Compare available responses | 1–2 |
|
|
23
|
+
| Recommendation | What action follows from the evidence? | <recommended action is proportional to evidence and uncertainty> | <options, expected effect, cost> | Define measurement and ownership | 1–2 |
|
|
24
|
+
| Next measure | How will we know the action worked? | <owner, metric, target, and review date close the loop> | <measurement plan> | End with the required decision or action | 1 |
|
|
25
|
+
|
|
26
|
+
## Claim and evidence register
|
|
27
|
+
|
|
28
|
+
| Claim | Metric definition | Source | Analysis period | Confidence | Caveat |
|
|
29
|
+
|---|---|---|---|---|---|
|
|
30
|
+
| <claim> | <numerator, denominator, unit> | <source> | <period> | High / Medium / Low | <limitation> |
|
|
31
|
+
|
|
32
|
+
## Analytical integrity checks
|
|
33
|
+
|
|
34
|
+
- Baseline and comparison periods: <definitions>
|
|
35
|
+
- Population, sample, and exclusions: <definitions>
|
|
36
|
+
- Missing data and outliers: <treatment>
|
|
37
|
+
- Correlation versus causation: <allowed conclusion>
|
|
38
|
+
- Statistical or practical significance: <threshold>
|
|
39
|
+
- Reproducibility: <query, notebook, report, owner>
|
|
40
|
+
|
|
41
|
+
## Scenario acceptance checks
|
|
42
|
+
|
|
43
|
+
- The analytical question and metric definitions precede the findings.
|
|
44
|
+
- Each finding slide states one quantified conclusion, unit, period, and source.
|
|
45
|
+
- Limitations and uncertainty appear before recommendations.
|
|
46
|
+
- Recommendations are proportional to the strength of the evidence.
|
|
47
|
+
- The final stage assigns an action, metric, owner, and review date.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Executive decision presentation scenario
|
|
2
|
+
|
|
3
|
+
Use this scenario when executives or accountable sponsors must approve an
|
|
4
|
+
investment, architecture, roadmap, policy, or delivery decision.
|
|
5
|
+
|
|
6
|
+
- Working title: <presentation title>
|
|
7
|
+
- Audience: <decision-makers and prior knowledge>
|
|
8
|
+
- Decision required: <one explicit approval or choice>
|
|
9
|
+
- Decision deadline: <date or meeting>
|
|
10
|
+
- Current audience position: <what they believe or question now>
|
|
11
|
+
- Intended final position: <what they should believe and do>
|
|
12
|
+
- Target slide count: <count or range>
|
|
13
|
+
|
|
14
|
+
## Scenario arc
|
|
15
|
+
|
|
16
|
+
| Stage | Audience question | Assertion to establish | Required evidence | Transition to next stage | Suggested slides |
|
|
17
|
+
|---|---|---|---|---|---:|
|
|
18
|
+
| Context | Why does this require attention now? | <change, deadline, or opportunity makes action timely> | <external change, KPI, commitment> | If action is timely, show the consequence of inaction | 1–2 |
|
|
19
|
+
| Tension | What happens if we continue as-is? | <current state creates measurable cost, risk, or delay> | <baseline, incident, trend, user impact> | Once the gap is credible, define the decision criteria | 1–2 |
|
|
20
|
+
| Criteria | How should the options be judged? | <shared cost, value, risk, and feasibility criteria> | <constraints, targets, policy> | Compare options using the agreed criteria | 1 |
|
|
21
|
+
| Options | What choices are realistically available? | <credible alternatives include the status quo> | <comparable analysis> | Identify the option that best satisfies the criteria | 1–2 |
|
|
22
|
+
| Recommendation | What should we choose and why? | <recommended option delivers the best justified outcome> | <benefits, trade-offs, TCO, evidence> | Show that execution risk is controlled | 1–2 |
|
|
23
|
+
| Plan | Can this be delivered safely? | <owners, milestones, controls, and rollback make delivery feasible> | <roadmap, staffing, risk controls> | Convert confidence into a precise decision | 1–2 |
|
|
24
|
+
| Decision | What exactly must be approved today? | <specific approval, funding, owner, and next checkpoint> | <decision wording and consequences> | End with the requested action | 1 |
|
|
25
|
+
|
|
26
|
+
## Evidence gaps and assumptions
|
|
27
|
+
|
|
28
|
+
| Claim needed by the scenario | Source | Status | Assumption or follow-up |
|
|
29
|
+
|---|---|---|---|
|
|
30
|
+
| <claim> | <file, URL, owner> | Verified / Assumption / Missing | <action> |
|
|
31
|
+
|
|
32
|
+
## Objections to resolve
|
|
33
|
+
|
|
34
|
+
| Likely objection | Where it is answered | Evidence or concession |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| <cost, risk, timing, alternative> | <scenario stage> | <response> |
|
|
37
|
+
|
|
38
|
+
## Scenario acceptance checks
|
|
39
|
+
|
|
40
|
+
- Reading only the assertions forms a complete decision argument.
|
|
41
|
+
- The status quo and at least one alternative use the same evaluation axes.
|
|
42
|
+
- Benefits, cost, risks, and delivery controls are evidence-based.
|
|
43
|
+
- The final stage asks for one explicit decision with an owner and deadline.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Technical briefing presentation scenario
|
|
2
|
+
|
|
3
|
+
Use this scenario to explain an architecture, engineering change, technical
|
|
4
|
+
proposal, system behavior, or implementation approach to a technical audience.
|
|
5
|
+
|
|
6
|
+
- Working title: <presentation title>
|
|
7
|
+
- Audience: <engineers, architects, operators, reviewers>
|
|
8
|
+
- Prior-knowledge floor: <what can be assumed>
|
|
9
|
+
- Understanding or decision required: <outcome>
|
|
10
|
+
- Technical depth: Overview / Working knowledge / Review-ready
|
|
11
|
+
- Target slide count: <count or range>
|
|
12
|
+
|
|
13
|
+
## Scenario arc
|
|
14
|
+
|
|
15
|
+
| Stage | Audience question | Assertion to establish | Required evidence | Transition to next stage | Suggested slides |
|
|
16
|
+
|---|---|---|---|---|---:|
|
|
17
|
+
| Context | What system and constraint are we discussing? | <boundary, users, and constraints define the problem> | <context diagram, requirements> | Show where the current design fails or must change | 1–2 |
|
|
18
|
+
| Problem | What technical problem must be solved? | <specific quality or delivery gap requires a design response> | <failure mode, measurement, limitation> | State the design drivers used to judge solutions | 1–2 |
|
|
19
|
+
| Drivers | What properties matter most? | <requirements and quality attributes determine the design> | <NFRs, constraints, priorities> | Introduce the architecture that satisfies them | 1 |
|
|
20
|
+
| Architecture | How is the solution structured? | <components and boundaries assign clear responsibilities> | <context, container, deployment diagrams> | Walk through the critical behavior | 2–3 |
|
|
21
|
+
| Flow | What happens in the important scenarios? | <data and control flow meet functional and failure requirements> | <sequence, state, data flow> | Examine trade-offs and failure behavior | 1–3 |
|
|
22
|
+
| Trade-offs | Why this design instead of alternatives? | <accepted costs are justified by the design drivers> | <alternatives, benchmarks, risks> | Show that the design can be operated and evolved | 1–2 |
|
|
23
|
+
| Operations | How will it be secured, observed, scaled, and recovered? | <operational controls make the design production-ready> | <SLO, threat controls, runbook, capacity> | Close with implementation or review actions | 1–2 |
|
|
24
|
+
| Next step | What must the audience do next? | <review decision, implementation step, or open issue is explicit> | <owners, dates, unresolved decisions> | End with the required action | 1 |
|
|
25
|
+
|
|
26
|
+
## Technical evidence map
|
|
27
|
+
|
|
28
|
+
| Assertion | Requirement or decision ID | Source artifact | Confidence | Missing validation |
|
|
29
|
+
|---|---|---|---|---|
|
|
30
|
+
| <assertion> | <FR/NFR/ADR/Issue> | <file or URL> | High / Medium / Low | <test or review> |
|
|
31
|
+
|
|
32
|
+
## Complexity controls
|
|
33
|
+
|
|
34
|
+
- Terms requiring definition: <terms>
|
|
35
|
+
- Details delegated to appendix: <schemas, exhaustive tables, code>
|
|
36
|
+
- Diagrams required: <context, sequence, data, deployment>
|
|
37
|
+
- Known limitations: <unsupported or deferred behavior>
|
|
38
|
+
|
|
39
|
+
## Scenario acceptance checks
|
|
40
|
+
|
|
41
|
+
- The system boundary and design drivers appear before component detail.
|
|
42
|
+
- Architecture diagrams and processing flows carry the primary explanation.
|
|
43
|
+
- Alternatives and accepted trade-offs are explicit.
|
|
44
|
+
- Security, operation, failure, and recovery behavior are not deferred silently.
|
|
45
|
+
- The final stage identifies a review decision or implementation action.
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Customizing presentation design templates
|
|
2
|
+
|
|
3
|
+
Use this guide to adapt a packaged design for one presentation or to add a
|
|
4
|
+
new reusable design to kotonoha. Design templates are YAML specifications;
|
|
5
|
+
they are not `.pptx` theme files and do not replace the host's PPTX creation
|
|
6
|
+
skill.
|
|
7
|
+
|
|
8
|
+
## Choose between a deck override and a packaged template
|
|
9
|
+
|
|
10
|
+
Use a **deck override** when one presentation needs different colors, type,
|
|
11
|
+
spacing, or component behavior. Copy a packaged design into:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
.presentation/<deck-slug>/design-spec.yaml
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Use a **new packaged template** only when the design will be reused across
|
|
18
|
+
multiple presentations or teams. Add it under:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
skills/presentation-planner/assets/design-templates/<template-id>.yaml
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Do not edit a packaged template merely to customize one deck; that changes
|
|
25
|
+
future presentations and makes upgrades harder to compare.
|
|
26
|
+
|
|
27
|
+
## Copy and identify an adapted design
|
|
28
|
+
|
|
29
|
+
1. Copy the closest packaged YAML file to the deck directory.
|
|
30
|
+
2. Set `base_template` to the packaged template's original `id`.
|
|
31
|
+
3. Change `id` to a deck-specific value such as
|
|
32
|
+
`<deck-slug>:<base-template>`.
|
|
33
|
+
4. Keep every documented top-level key from
|
|
34
|
+
`design-spec-schema.md`.
|
|
35
|
+
5. Record intentional changes under `deviations`.
|
|
36
|
+
|
|
37
|
+
Example:
|
|
38
|
+
|
|
39
|
+
```yaml
|
|
40
|
+
id: migration-proposal:executive-proposal
|
|
41
|
+
base_template: executive-proposal
|
|
42
|
+
deviations:
|
|
43
|
+
- "Use the customer-approved heading font."
|
|
44
|
+
- "Increase the table row limit from 7 to 9 for the appendix."
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Change colors by semantic role
|
|
48
|
+
|
|
49
|
+
Change the meaning-bearing token rather than replacing colors wherever they
|
|
50
|
+
appear.
|
|
51
|
+
|
|
52
|
+
```yaml
|
|
53
|
+
colors:
|
|
54
|
+
background: "#FFFFFF"
|
|
55
|
+
surface: "#F3F3F3"
|
|
56
|
+
text_primary: "#1B1B1B"
|
|
57
|
+
text_secondary: "#505050"
|
|
58
|
+
accent: "#005A9E"
|
|
59
|
+
accent_soft: "#E5F1FB"
|
|
60
|
+
border_neutral: "#8A8886"
|
|
61
|
+
positive: "#107C10"
|
|
62
|
+
warning: "#8A5A00"
|
|
63
|
+
critical: "#A4262C"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The packaged designs expose Microsoft's corporate logo colors as brand
|
|
67
|
+
tokens:
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
brand_red: "#F25022"
|
|
71
|
+
brand_green: "#7FBA00"
|
|
72
|
+
brand_blue: "#00A4EF"
|
|
73
|
+
brand_yellow: "#FFB900"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Keep the following rules when changing the palette:
|
|
77
|
+
|
|
78
|
+
- Keep `background` white unless the presentation requirement explicitly
|
|
79
|
+
overrides the packaged visual direction.
|
|
80
|
+
- Maintain at least the declared `minimum_contrast_ratio` for text.
|
|
81
|
+
- Do not use the four logo colors for small text on white without checking
|
|
82
|
+
the actual contrast.
|
|
83
|
+
- Give `brand_yellow` and other low-contrast chart series a direct label plus
|
|
84
|
+
pattern or marker encoding.
|
|
85
|
+
- Never use color as the only way to communicate status or series identity.
|
|
86
|
+
- Keep categorical charts to the packaged three-series sequence where
|
|
87
|
+
possible; use pattern, marker, or shape encoding for additional series.
|
|
88
|
+
|
|
89
|
+
## Change typography and spacing
|
|
90
|
+
|
|
91
|
+
Update font families only when the target environment has them or the PPTX
|
|
92
|
+
skill can embed or substitute them predictably.
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
typography:
|
|
96
|
+
heading_font: "Aptos Display"
|
|
97
|
+
body_font: "Aptos"
|
|
98
|
+
title_size_pt: 30
|
|
99
|
+
body_size_pt: 18
|
|
100
|
+
|
|
101
|
+
spacing:
|
|
102
|
+
outer_margin_percent: 6
|
|
103
|
+
content_gap_percent: 2
|
|
104
|
+
card_padding_percent: 2
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- Keep body text at or above `accessibility.minimum_body_size_pt`.
|
|
108
|
+
- Use percentages for margins and gaps instead of absolute object
|
|
109
|
+
coordinates.
|
|
110
|
+
- Record required font substitutions in `deviations`.
|
|
111
|
+
|
|
112
|
+
## Change components and slide patterns
|
|
113
|
+
|
|
114
|
+
Use only values documented in `design-spec-schema.md`.
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
components:
|
|
118
|
+
tables:
|
|
119
|
+
header_fill: accent_soft
|
|
120
|
+
header_text: text_primary
|
|
121
|
+
maximum_rows: 7
|
|
122
|
+
charts:
|
|
123
|
+
style: direct-label
|
|
124
|
+
gridlines: minimal
|
|
125
|
+
direct_labels_required: true
|
|
126
|
+
series_outline: background
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
`slide_patterns` declares supported presentation intents, not PowerPoint
|
|
130
|
+
layout names or coordinates. Add a pattern only when the handoff can describe
|
|
131
|
+
its information structure and the PPTX skill can render it without
|
|
132
|
+
template-specific code in `presentation-planner`.
|
|
133
|
+
|
|
134
|
+
## Validate an adapted design before handoff
|
|
135
|
+
|
|
136
|
+
Check all of the following:
|
|
137
|
+
|
|
138
|
+
- The YAML parses successfully.
|
|
139
|
+
- All top-level keys from `design-spec-schema.md` remain present.
|
|
140
|
+
- Every token reference resolves to a key under `colors`.
|
|
141
|
+
- Text and table-header foreground/background pairs meet the contrast floor.
|
|
142
|
+
- Chart series remain distinguishable without color alone.
|
|
143
|
+
- `id`, `base_template`, and `deviations` describe the adaptation accurately.
|
|
144
|
+
- The PPTX handoff points to the adapted file, not the packaged base file.
|
|
145
|
+
|
|
146
|
+
If the renderer cannot implement a token or component value, update the
|
|
147
|
+
design spec with an explicit fallback. Do not add PPTX generation code to
|
|
148
|
+
this skill.
|
|
149
|
+
|
|
150
|
+
## Add a reusable packaged template
|
|
151
|
+
|
|
152
|
+
When adding a new base template:
|
|
153
|
+
|
|
154
|
+
1. Add `<template-id>.yaml` under `assets/design-templates/`.
|
|
155
|
+
2. Add the template to the selection table in `SKILL.md`.
|
|
156
|
+
3. Document its intended and unsuitable use cases.
|
|
157
|
+
4. Add the filename to the packed-artifact test in `test/install.test.js`.
|
|
158
|
+
5. Update `CHANGELOG.md`.
|
|
159
|
+
6. Run the repository tests, Markdown lint, YAML schema checks, and contrast
|
|
160
|
+
checks before committing.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Design specification schema
|
|
2
|
+
|
|
3
|
+
Each packaged YAML design uses the following stable top-level keys.
|
|
4
|
+
|
|
5
|
+
| Key | Purpose |
|
|
6
|
+
|---|---|
|
|
7
|
+
| `id` | Unique specification identifier; change it for an adapted deck |
|
|
8
|
+
| `base_template` | Packaged template ID from which the spec was adapted |
|
|
9
|
+
| `intent` | Presentations this design supports |
|
|
10
|
+
| `canvas` | Aspect ratio, dimensions, safe area, and grid |
|
|
11
|
+
| `colors` | Semantic color tokens and chart sequence |
|
|
12
|
+
| `typography` | Font families, sizes, weights, and line spacing |
|
|
13
|
+
| `spacing` | Margins, gaps, and density limits |
|
|
14
|
+
| `components` | Cards, callouts, tables, charts, and diagrams |
|
|
15
|
+
| `slide_patterns` | Supported layout intents, not binary PPTX layouts |
|
|
16
|
+
| `accessibility` | Contrast, minimum type, alt text, and color-use rules |
|
|
17
|
+
| `constraints` | Rules the PPTX skill must not violate |
|
|
18
|
+
| `deviations` | Deliberate differences from the packaged base template |
|
|
19
|
+
|
|
20
|
+
## Portable component vocabulary
|
|
21
|
+
|
|
22
|
+
Use only these renderer-independent values unless a deviation explains the
|
|
23
|
+
fallback:
|
|
24
|
+
|
|
25
|
+
| Field | Allowed values |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `corner_radius` | `none`, `small`, `medium`, `large` |
|
|
28
|
+
| `shadow` | `none`, `subtle`, `medium` |
|
|
29
|
+
| `charts.style` | `direct-label`, `technical`, `analytical` |
|
|
30
|
+
| `charts.gridlines` | `none`, `subtle`, `minimal` |
|
|
31
|
+
| `charts.series_outline` | `none` or an exact key under `colors` |
|
|
32
|
+
| `charts.direct_labels_required` | `true` or `false` |
|
|
33
|
+
| `connector_style` | `simple`, `orthogonal`, `curved` |
|
|
34
|
+
| `cards.border` | `none` or an exact key under `colors` |
|
|
35
|
+
| `tables.header_fill` | `none` or an exact key under `colors` |
|
|
36
|
+
| `tables.header_text` | an exact key under `colors` |
|
|
37
|
+
|
|
38
|
+
Values that reference a color token must exactly match a key under `colors`,
|
|
39
|
+
for example `accent_soft`, not a display label such as `accent-soft`.
|
|
40
|
+
Do not assume that `accent` text is readable on `accent_soft`; validate the
|
|
41
|
+
actual foreground/background pair against `minimum_contrast_ratio`.
|
|
42
|
+
|
|
43
|
+
The packaged designs expose Microsoft's four corporate logo colors as
|
|
44
|
+
`brand_red`, `brand_green`, `brand_blue`, and `brand_yellow`. Treat them as
|
|
45
|
+
brand or decorative tokens, not as an automatic categorical chart palette.
|
|
46
|
+
Do not use them for small text on white unless the actual pair passes the
|
|
47
|
+
contrast threshold; `brand_yellow` requires a direct label plus pattern or
|
|
48
|
+
marker encoding on a white canvas.
|
|
49
|
+
|
|
50
|
+
The packaged categorical `chart_sequence` is intentionally capped at three
|
|
51
|
+
well-separated series: dark Microsoft blue, Microsoft red, and neutral gray.
|
|
52
|
+
When a chart needs more than three series, add pattern, marker, or shape
|
|
53
|
+
encoding instead of appending the remaining logo colors.
|
|
54
|
+
|
|
55
|
+
`charts.series_outline: background` separates adjacent stacked, pie, or area
|
|
56
|
+
segments; it does not make a light fill visible against the canvas. Use
|
|
57
|
+
direct labels and pattern or marker encoding for light series.
|
|
58
|
+
|
|
59
|
+
Nested typography and component keys may be omitted when irrelevant. A
|
|
60
|
+
renderer must use its documented defaults for missing optional keys rather
|
|
61
|
+
than treating every packaged template as an identical nested schema.
|
|
62
|
+
|
|
63
|
+
## Adaptation rules
|
|
64
|
+
|
|
65
|
+
- Keep the documented top-level keys stable. Optional nested keys may vary by
|
|
66
|
+
presentation intent.
|
|
67
|
+
- Use brand colors only after assigning semantic roles such as `accent`,
|
|
68
|
+
`positive`, `warning`, and `critical`.
|
|
69
|
+
- Do not specify absolute object coordinates. Layout engines differ; use
|
|
70
|
+
proportions, alignment, safe areas, and maximum element counts.
|
|
71
|
+
- Prefer one dominant visual hierarchy per slide.
|
|
72
|
+
- Record all changes from the packaged template under `deviations`.
|