jupytermind 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 (193) hide show
  1. package/.github/skills/ai-chemistry-scientist/SKILL.md +97 -0
  2. package/.github/skills/ai-chemistry-scientist/manifest.json +156 -0
  3. package/.github/skills/ai-data-scientist/SKILL.md +330 -0
  4. package/.github/skills/ai-genomics-scientist/SKILL.md +98 -0
  5. package/.github/skills/ai-genomics-scientist/manifest.json +93 -0
  6. package/.github/skills/ai-materials-scientist/SKILL.md +51 -0
  7. package/.github/skills/ai-materials-scientist/manifest.json +58 -0
  8. package/.github/skills/ai-scientist/SKILL.md +69 -0
  9. package/.github/skills/ai-scientist/manifest.json +61 -0
  10. package/.github/skills/ai-structural-biology-scientist/SKILL.md +67 -0
  11. package/.github/skills/ai-structural-biology-scientist/manifest.json +72 -0
  12. package/.github/skills/japanese-prose/NOTICE.md +17 -0
  13. package/.github/skills/japanese-prose/SKILL.md +111 -0
  14. package/.github/skills/japanese-prose/references/review-workflow.md +50 -0
  15. package/.github/skills/japanese-prose/references/scoring.md +24 -0
  16. package/.github/skills/japanese-prose/references/writing-guidelines.md +60 -0
  17. package/.github/skills/japanese-prose/scripts/core.py +192 -0
  18. package/.github/skills/japanese-prose/scripts/fixtures/natural.md +5 -0
  19. package/.github/skills/japanese-prose/scripts/fixtures/unnatural.md +5 -0
  20. package/.github/skills/japanese-prose/scripts/lint.py +378 -0
  21. package/.github/skills/japanese-prose/scripts/outline.py +68 -0
  22. package/.github/skills/japanese-prose/scripts/terms.py +112 -0
  23. package/.github/skills/japanese-prose/scripts/test_engine.py +117 -0
  24. package/.github/skills/presentation-planner/SKILL.md +257 -0
  25. package/.github/skills/presentation-planner/assets/design-templates/data-report.yaml +97 -0
  26. package/.github/skills/presentation-planner/assets/design-templates/executive-proposal.yaml +92 -0
  27. package/.github/skills/presentation-planner/assets/design-templates/technical-briefing.yaml +96 -0
  28. package/.github/skills/presentation-planner/assets/scenario-templates/data-report.md +47 -0
  29. package/.github/skills/presentation-planner/assets/scenario-templates/executive-decision.md +43 -0
  30. package/.github/skills/presentation-planner/assets/scenario-templates/technical-briefing.md +45 -0
  31. package/.github/skills/presentation-planner/references/customizing-design-templates.md +160 -0
  32. package/.github/skills/presentation-planner/references/design-spec-schema.md +72 -0
  33. package/.github/skills/presentation-planner/references/handoff-contract.md +49 -0
  34. package/.github/skills/presentation-planner/references/responsibility-boundary.md +32 -0
  35. package/.github/skills/presentation-planner/references/scenario-templates.md +55 -0
  36. package/.github/skills/tech-writer/SKILL.md +434 -0
  37. package/.github/skills/tech-writer/assets/templates/blueprint.md +187 -0
  38. package/.github/skills/tech-writer/assets/templates/design-doc.md +29 -0
  39. package/.github/skills/tech-writer/assets/templates/migration-plan.md +173 -0
  40. package/.github/skills/tech-writer/assets/templates/operations-runbook.md +202 -0
  41. package/.github/skills/tech-writer/assets/templates/pr-description.md +23 -0
  42. package/.github/skills/tech-writer/assets/templates/qiita.md +44 -0
  43. package/.github/skills/tech-writer/assets/templates/readme.md +38 -0
  44. package/.github/skills/tech-writer/assets/templates/requirements-definition.md +170 -0
  45. package/.github/skills/tech-writer/assets/templates/rfi.md +113 -0
  46. package/.github/skills/tech-writer/assets/templates/rfp.md +180 -0
  47. package/.github/skills/tech-writer/assets/templates/security-design.md +167 -0
  48. package/.github/skills/tech-writer/assets/templates/system-design.md +220 -0
  49. package/.github/skills/tech-writer/assets/templates/technical-proposal.md +112 -0
  50. package/.github/skills/tech-writer/assets/templates/test-plan.md +153 -0
  51. package/.github/skills/tech-writer/assets/templates/user-manual.md +22 -0
  52. package/.github/skills/tech-writer/assets/templates/white-paper.md +192 -0
  53. package/.github/skills/tech-writer/references/doctypes/api-docs.md +33 -0
  54. package/.github/skills/tech-writer/references/doctypes/blueprint.md +81 -0
  55. package/.github/skills/tech-writer/references/doctypes/code-comments.md +39 -0
  56. package/.github/skills/tech-writer/references/doctypes/design-doc.md +42 -0
  57. package/.github/skills/tech-writer/references/doctypes/migration-plan.md +63 -0
  58. package/.github/skills/tech-writer/references/doctypes/operations-runbook.md +63 -0
  59. package/.github/skills/tech-writer/references/doctypes/pr-commit.md +82 -0
  60. package/.github/skills/tech-writer/references/doctypes/qiita.md +75 -0
  61. package/.github/skills/tech-writer/references/doctypes/readme.md +43 -0
  62. package/.github/skills/tech-writer/references/doctypes/release-notes.md +30 -0
  63. package/.github/skills/tech-writer/references/doctypes/requirements-definition.md +61 -0
  64. package/.github/skills/tech-writer/references/doctypes/rfi.md +43 -0
  65. package/.github/skills/tech-writer/references/doctypes/rfp.md +46 -0
  66. package/.github/skills/tech-writer/references/doctypes/security-design.md +71 -0
  67. package/.github/skills/tech-writer/references/doctypes/system-design.md +74 -0
  68. package/.github/skills/tech-writer/references/doctypes/technical-proposal.md +49 -0
  69. package/.github/skills/tech-writer/references/doctypes/test-plan.md +67 -0
  70. package/.github/skills/tech-writer/references/doctypes/user-manual.md +58 -0
  71. package/.github/skills/tech-writer/references/doctypes/white-paper.md +84 -0
  72. package/.github/skills/tech-writer/references/doctypes/zenn.md +66 -0
  73. package/.github/skills/tech-writer/references/japanese-prose-optimization.md +110 -0
  74. package/.github/skills/tech-writer/references/style-constitution.md +104 -0
  75. package/.github/skills/tech-writer/scripts/lint.py +412 -0
  76. package/LICENSE +21 -0
  77. package/README.md +92 -0
  78. package/bin/ai-data-scientist.js +123 -0
  79. package/package.json +41 -0
  80. package/pyproject.toml +45 -0
  81. package/src/ai_chemistry_scientist/__init__.py +0 -0
  82. package/src/ai_chemistry_scientist/admet_prediction.py +71 -0
  83. package/src/ai_chemistry_scientist/bioactivity_classification.py +73 -0
  84. package/src/ai_chemistry_scientist/data/sample_molecules.csv +21 -0
  85. package/src/ai_chemistry_scientist/dispatch.py +369 -0
  86. package/src/ai_chemistry_scientist/docking_score.py +97 -0
  87. package/src/ai_chemistry_scientist/drug_likeness_rules.py +84 -0
  88. package/src/ai_chemistry_scientist/evidence.py +41 -0
  89. package/src/ai_chemistry_scientist/molecular_descriptors.py +97 -0
  90. package/src/ai_chemistry_scientist/molecular_formula_mass.py +40 -0
  91. package/src/ai_chemistry_scientist/molecular_similarity.py +78 -0
  92. package/src/ai_chemistry_scientist/qsar_modeling.py +105 -0
  93. package/src/ai_chemistry_scientist/salt_standardization.py +81 -0
  94. package/src/ai_chemistry_scientist/structural_alerts.py +76 -0
  95. package/src/ai_chemistry_scientist/structure_format_conversion.py +84 -0
  96. package/src/ai_chemistry_scientist/validation.py +70 -0
  97. package/src/ai_data_scientist/__init__.py +0 -0
  98. package/src/ai_data_scientist/analysis_assumptions.py +121 -0
  99. package/src/ai_data_scientist/anomaly_detection.py +39 -0
  100. package/src/ai_data_scientist/automl.py +109 -0
  101. package/src/ai_data_scientist/cleaning.py +56 -0
  102. package/src/ai_data_scientist/cli.py +90 -0
  103. package/src/ai_data_scientist/clustering.py +54 -0
  104. package/src/ai_data_scientist/dashboard.py +33 -0
  105. package/src/ai_data_scientist/data_definition.py +100 -0
  106. package/src/ai_data_scientist/data_quality.py +164 -0
  107. package/src/ai_data_scientist/dataset_validation.py +135 -0
  108. package/src/ai_data_scientist/dependency_pins.py +60 -0
  109. package/src/ai_data_scientist/eda.py +82 -0
  110. package/src/ai_data_scientist/experiment_evaluation.py +635 -0
  111. package/src/ai_data_scientist/explainability.py +340 -0
  112. package/src/ai_data_scientist/feature_engineering.py +163 -0
  113. package/src/ai_data_scientist/gate_config.py +32 -0
  114. package/src/ai_data_scientist/ingestion.py +127 -0
  115. package/src/ai_data_scientist/insight_engine.py +180 -0
  116. package/src/ai_data_scientist/japanese_nlp.py +43 -0
  117. package/src/ai_data_scientist/jupyter_launcher.py +137 -0
  118. package/src/ai_data_scientist/jupyter_mcp_client.py +94 -0
  119. package/src/ai_data_scientist/language_router.py +28 -0
  120. package/src/ai_data_scientist/lifecycle.py +221 -0
  121. package/src/ai_data_scientist/mcp_gateway.py +113 -0
  122. package/src/ai_data_scientist/mcp_runtime.py +194 -0
  123. package/src/ai_data_scientist/mcp_transport.py +53 -0
  124. package/src/ai_data_scientist/ml_modeling.py +451 -0
  125. package/src/ai_data_scientist/model_tuning.py +104 -0
  126. package/src/ai_data_scientist/notebook_audit.py +574 -0
  127. package/src/ai_data_scientist/project_manager.py +243 -0
  128. package/src/ai_data_scientist/report_export.py +73 -0
  129. package/src/ai_data_scientist/sensitivity.py +445 -0
  130. package/src/ai_data_scientist/signal_analysis.py +201 -0
  131. package/src/ai_data_scientist/skill_packaging.py +40 -0
  132. package/src/ai_data_scientist/stats_analysis.py +88 -0
  133. package/src/ai_data_scientist/text_nlp.py +44 -0
  134. package/src/ai_data_scientist/timeseries.py +68 -0
  135. package/src/ai_data_scientist/visualization.py +708 -0
  136. package/src/ai_genomics_scientist/__init__.py +1 -0
  137. package/src/ai_genomics_scientist/differential_expression.py +147 -0
  138. package/src/ai_genomics_scientist/dispatch.py +267 -0
  139. package/src/ai_genomics_scientist/evidence.py +45 -0
  140. package/src/ai_genomics_scientist/gene_set_enrichment.py +76 -0
  141. package/src/ai_genomics_scientist/sequence_alignment.py +97 -0
  142. package/src/ai_genomics_scientist/sequence_features.py +111 -0
  143. package/src/ai_genomics_scientist/splice_site_scoring.py +66 -0
  144. package/src/ai_genomics_scientist/validation.py +83 -0
  145. package/src/ai_genomics_scientist/variant_effect.py +147 -0
  146. package/src/ai_genomics_scientist/variant_pathogenicity.py +125 -0
  147. package/src/ai_materials_scientist/__init__.py +0 -0
  148. package/src/ai_materials_scientist/calphad.py +117 -0
  149. package/src/ai_materials_scientist/classical_monte_carlo.py +165 -0
  150. package/src/ai_materials_scientist/crystal_plasticity.py +184 -0
  151. package/src/ai_materials_scientist/dispatch.py +100 -0
  152. package/src/ai_materials_scientist/evidence.py +84 -0
  153. package/src/ai_materials_scientist/fem.py +279 -0
  154. package/src/ai_materials_scientist/kinetic_monte_carlo.py +145 -0
  155. package/src/ai_materials_scientist/molecular_dynamics.py +240 -0
  156. package/src/ai_materials_scientist/phase_field.py +167 -0
  157. package/src/ai_materials_scientist/validation.py +70 -0
  158. package/src/ai_scientist/__init__.py +1 -0
  159. package/src/ai_scientist/completion_gate.py +15 -0
  160. package/src/ai_scientist/data_analysis.py +46 -0
  161. package/src/ai_scientist/evidence_registry.py +99 -0
  162. package/src/ai_scientist/experimental_design.py +20 -0
  163. package/src/ai_scientist/language.py +14 -0
  164. package/src/ai_scientist/latex_renderer.py +41 -0
  165. package/src/ai_scientist/literature_review.py +37 -0
  166. package/src/ai_scientist/manifest.py +87 -0
  167. package/src/ai_scientist/manuscript.py +94 -0
  168. package/src/ai_scientist/mcp_config.py +76 -0
  169. package/src/ai_scientist/mcp_external.py +42 -0
  170. package/src/ai_scientist/mcp_failures.py +23 -0
  171. package/src/ai_scientist/mcp_gateway.py +38 -0
  172. package/src/ai_scientist/mcp_managed.py +180 -0
  173. package/src/ai_scientist/npm_packaging.py +49 -0
  174. package/src/ai_scientist/orchestrator.py +133 -0
  175. package/src/ai_scientist/peer_review.py +60 -0
  176. package/src/ai_scientist/phase_gate.py +74 -0
  177. package/src/ai_scientist/phase_state.py +230 -0
  178. package/src/ai_scientist/presentation.py +56 -0
  179. package/src/ai_scientist/project_config.py +31 -0
  180. package/src/ai_scientist/project_handle.py +74 -0
  181. package/src/ai_scientist/reproducibility.py +20 -0
  182. package/src/ai_scientist/research_planning.py +20 -0
  183. package/src/ai_scientist/skill_invocation.py +21 -0
  184. package/src/ai_scientist/tdd_gate.py +99 -0
  185. package/src/ai_structural_biology_scientist/__init__.py +0 -0
  186. package/src/ai_structural_biology_scientist/contact_map.py +87 -0
  187. package/src/ai_structural_biology_scientist/dispatch.py +269 -0
  188. package/src/ai_structural_biology_scientist/evidence.py +43 -0
  189. package/src/ai_structural_biology_scientist/hydrophobicity.py +101 -0
  190. package/src/ai_structural_biology_scientist/protein_docking_score.py +104 -0
  191. package/src/ai_structural_biology_scientist/secondary_structure.py +95 -0
  192. package/src/ai_structural_biology_scientist/structural_similarity.py +74 -0
  193. package/src/ai_structural_biology_scientist/validation.py +100 -0
@@ -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`.
@@ -0,0 +1,49 @@
1
+ # PPTX handoff contract
2
+
3
+ Use this structure for
4
+ `.presentation/<deck-slug>/pptx-handoff.md`.
5
+
6
+ ## Inputs
7
+
8
+ - Brief: `<path>/presentation-brief.md`
9
+ - Scenario: `<path>/presentation-scenario.md`
10
+ - Slide outline: `<path>/slide-outline.md`
11
+ - Design specification: `<path>/design-spec.yaml`
12
+ - Source materials: `<paths>`
13
+
14
+ ## Output
15
+
16
+ - PPTX path: `<path>/<filename>.pptx`
17
+ - Aspect ratio: `<16:9 / 4:3 / custom>`
18
+ - Expected slide count: `<count or range>`
19
+
20
+ ## Rendering requirements
21
+
22
+ - Preserve slide order and assertion titles.
23
+ - Preserve the approved scenario stages and audience reasoning journey.
24
+ - Require every slide to map to at least one scenario stage; preserve
25
+ multi-stage mappings recorded with ` / ` in the outline.
26
+ - Treat evidence and citation fields as content requirements.
27
+ - Apply semantic design tokens from `design-spec.yaml`.
28
+ - Add speaker notes where specified.
29
+ - Add alt text or an equivalent description for informative visuals.
30
+ - Do not invent quantitative claims or citations.
31
+
32
+ ## Required visual QA
33
+
34
+ - Render every slide to an image or thumbnail.
35
+ - Check clipping, overlap, off-canvas objects, font substitution, and
36
+ unreadable contrast.
37
+ - Check charts for legible labels, units, legends, and source notes.
38
+ - Check diagrams for readable flow direction and connector attachment.
39
+ - Report every deviation from the outline or design specification.
40
+
41
+ ## Completion report
42
+
43
+ Return:
44
+
45
+ 1. Output path and final slide count
46
+ 2. Visual QA result
47
+ 3. Missing or substituted assets/fonts
48
+ 4. Deviations from the scenario, outline, or design and their reasons
49
+ 5. Remaining manual-review items
@@ -0,0 +1,32 @@
1
+ # Responsibility boundary with the PPTX creation skill
2
+
3
+ `presentation-planner` and the host's PPTX skill are complementary.
4
+
5
+ | Concern | presentation-planner | PPTX creation skill |
6
+ |---|---:|---:|
7
+ | Audience, outcome, and decision | Owns | Consumes |
8
+ | Scenario and audience reasoning journey | Owns | Preserves |
9
+ | Storyline and slide sequence | Owns | Preserves |
10
+ | Assertion titles and evidence mapping | Owns | Renders |
11
+ | Design tokens and layout intent | Owns | Implements |
12
+ | `.pptx` binary creation and editing | Never | Owns |
13
+ | python-pptx/PptxGenJS/COM code | Never | Owns |
14
+ | Theme/layout extraction from an existing PPTX | Requests and consumes summary | Owns |
15
+ | Rendering and thumbnails | Never | Owns |
16
+ | Overlap, clipping, and font checks | Defines acceptance criteria | Executes |
17
+ | Speaker notes insertion | Specifies content | Implements |
18
+
19
+ ## Conflict rule
20
+
21
+ If both skills could act, `presentation-planner` runs first and creates the
22
+ handoff package. The PPTX skill starts only after the planning artifacts are
23
+ complete. For a simple mechanical edit to an existing presentation where
24
+ the storyline and design are unchanged, skip `presentation-planner` and use
25
+ the PPTX skill directly.
26
+
27
+ ## Failure rule
28
+
29
+ If the PPTX skill cannot implement a requested visual instruction, it must
30
+ report the constraint and proposed fallback. The planning skill may update
31
+ the design spec or slide outline, but it must not work around the constraint
32
+ by manipulating the PPTX binary itself.
@@ -0,0 +1,55 @@
1
+ # Presentation scenario templates
2
+
3
+ A presentation scenario defines the audience's reasoning journey between the
4
+ brief and the slide-by-slide outline. It is not a script and does not repeat
5
+ all slide content. It records the assertions, evidence, transitions,
6
+ objections, and final action that make the deck persuasive and coherent.
7
+
8
+ ## Artifact boundary
9
+
10
+ | Artifact | Question it answers |
11
+ |---|---|
12
+ | `presentation-brief.md` | Who is the audience, and what outcome is required? |
13
+ | `presentation-scenario.md` | What reasoning journey moves them to that outcome? |
14
+ | `slide-outline.md` | Which slides deliver each assertion and piece of evidence? |
15
+ | `design-spec.yaml` | Which visual system expresses the content? |
16
+ | `pptx-handoff.md` | How must the PPTX skill generate and validate the deck? |
17
+
18
+ Do not use the scenario as a second slide outline. A scenario stage may span
19
+ several slides, or two stages may share one slide when the argument remains
20
+ clear.
21
+
22
+ ## Choose a template
23
+
24
+ | Template | Use when | Avoid when |
25
+ |---|---|---|
26
+ | `executive-decision.md` | The audience must approve an option, investment, roadmap, or policy | The goal is purely educational |
27
+ | `technical-briefing.md` | The audience must understand or review architecture and technical behavior | The deck is primarily KPI analysis |
28
+ | `data-report.md` | Findings, trends, research, or experiments must support an action | Credible data is unavailable |
29
+
30
+ Copy the closest template to
31
+ `.presentation/<deck-slug>/presentation-scenario.md`, then remove stages that
32
+ do not advance the required outcome. Do not add stages or slides merely to
33
+ match the template.
34
+
35
+ If none fits, create `presentation-scenario.md` from the generic fallback in
36
+ `SKILL.md`, preserving the same stage, audience-question, assertion, evidence,
37
+ transition, and suggested-slide-range fields used by packaged templates.
38
+
39
+ ## Adaptation rules
40
+
41
+ - Express each stage as an assertion the audience must accept.
42
+ - Record the audience question answered by each stage.
43
+ - Map factual claims to sources or mark them as assumptions.
44
+ - State the transition: why accepting one stage makes the next relevant.
45
+ - Include objections, uncertainty, and trade-offs before the final action.
46
+ - Keep the final decision or call to action singular and testable.
47
+ - Set suggested slide counts only as planning ranges, never quotas.
48
+
49
+ ## Validation
50
+
51
+ - Reading only stage assertions reconstructs the argument.
52
+ - Every stage changes what the audience knows, believes, or is ready to do.
53
+ - Evidence strength matches the certainty of the assertion.
54
+ - The slide outline maps every slide to a scenario stage.
55
+ - No slide introduces a new conclusion absent from the approved scenario.