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.
- package/.github/skills/ai-chemistry-scientist/SKILL.md +97 -0
- package/.github/skills/ai-chemistry-scientist/manifest.json +156 -0
- package/.github/skills/ai-data-scientist/SKILL.md +330 -0
- package/.github/skills/ai-genomics-scientist/SKILL.md +98 -0
- package/.github/skills/ai-genomics-scientist/manifest.json +93 -0
- package/.github/skills/ai-materials-scientist/SKILL.md +51 -0
- package/.github/skills/ai-materials-scientist/manifest.json +58 -0
- package/.github/skills/ai-scientist/SKILL.md +69 -0
- package/.github/skills/ai-scientist/manifest.json +61 -0
- package/.github/skills/ai-structural-biology-scientist/SKILL.md +67 -0
- package/.github/skills/ai-structural-biology-scientist/manifest.json +72 -0
- package/.github/skills/japanese-prose/NOTICE.md +17 -0
- package/.github/skills/japanese-prose/SKILL.md +111 -0
- package/.github/skills/japanese-prose/references/review-workflow.md +50 -0
- package/.github/skills/japanese-prose/references/scoring.md +24 -0
- package/.github/skills/japanese-prose/references/writing-guidelines.md +60 -0
- package/.github/skills/japanese-prose/scripts/core.py +192 -0
- package/.github/skills/japanese-prose/scripts/fixtures/natural.md +5 -0
- package/.github/skills/japanese-prose/scripts/fixtures/unnatural.md +5 -0
- package/.github/skills/japanese-prose/scripts/lint.py +378 -0
- package/.github/skills/japanese-prose/scripts/outline.py +68 -0
- package/.github/skills/japanese-prose/scripts/terms.py +112 -0
- package/.github/skills/japanese-prose/scripts/test_engine.py +117 -0
- package/.github/skills/presentation-planner/SKILL.md +257 -0
- package/.github/skills/presentation-planner/assets/design-templates/data-report.yaml +97 -0
- package/.github/skills/presentation-planner/assets/design-templates/executive-proposal.yaml +92 -0
- package/.github/skills/presentation-planner/assets/design-templates/technical-briefing.yaml +96 -0
- package/.github/skills/presentation-planner/assets/scenario-templates/data-report.md +47 -0
- package/.github/skills/presentation-planner/assets/scenario-templates/executive-decision.md +43 -0
- package/.github/skills/presentation-planner/assets/scenario-templates/technical-briefing.md +45 -0
- package/.github/skills/presentation-planner/references/customizing-design-templates.md +160 -0
- package/.github/skills/presentation-planner/references/design-spec-schema.md +72 -0
- package/.github/skills/presentation-planner/references/handoff-contract.md +49 -0
- package/.github/skills/presentation-planner/references/responsibility-boundary.md +32 -0
- package/.github/skills/presentation-planner/references/scenario-templates.md +55 -0
- package/.github/skills/tech-writer/SKILL.md +434 -0
- package/.github/skills/tech-writer/assets/templates/blueprint.md +187 -0
- package/.github/skills/tech-writer/assets/templates/design-doc.md +29 -0
- package/.github/skills/tech-writer/assets/templates/migration-plan.md +173 -0
- package/.github/skills/tech-writer/assets/templates/operations-runbook.md +202 -0
- package/.github/skills/tech-writer/assets/templates/pr-description.md +23 -0
- package/.github/skills/tech-writer/assets/templates/qiita.md +44 -0
- package/.github/skills/tech-writer/assets/templates/readme.md +38 -0
- package/.github/skills/tech-writer/assets/templates/requirements-definition.md +170 -0
- package/.github/skills/tech-writer/assets/templates/rfi.md +113 -0
- package/.github/skills/tech-writer/assets/templates/rfp.md +180 -0
- package/.github/skills/tech-writer/assets/templates/security-design.md +167 -0
- package/.github/skills/tech-writer/assets/templates/system-design.md +220 -0
- package/.github/skills/tech-writer/assets/templates/technical-proposal.md +112 -0
- package/.github/skills/tech-writer/assets/templates/test-plan.md +153 -0
- package/.github/skills/tech-writer/assets/templates/user-manual.md +22 -0
- package/.github/skills/tech-writer/assets/templates/white-paper.md +192 -0
- package/.github/skills/tech-writer/references/doctypes/api-docs.md +33 -0
- package/.github/skills/tech-writer/references/doctypes/blueprint.md +81 -0
- package/.github/skills/tech-writer/references/doctypes/code-comments.md +39 -0
- package/.github/skills/tech-writer/references/doctypes/design-doc.md +42 -0
- package/.github/skills/tech-writer/references/doctypes/migration-plan.md +63 -0
- package/.github/skills/tech-writer/references/doctypes/operations-runbook.md +63 -0
- package/.github/skills/tech-writer/references/doctypes/pr-commit.md +82 -0
- package/.github/skills/tech-writer/references/doctypes/qiita.md +75 -0
- package/.github/skills/tech-writer/references/doctypes/readme.md +43 -0
- package/.github/skills/tech-writer/references/doctypes/release-notes.md +30 -0
- package/.github/skills/tech-writer/references/doctypes/requirements-definition.md +61 -0
- package/.github/skills/tech-writer/references/doctypes/rfi.md +43 -0
- package/.github/skills/tech-writer/references/doctypes/rfp.md +46 -0
- package/.github/skills/tech-writer/references/doctypes/security-design.md +71 -0
- package/.github/skills/tech-writer/references/doctypes/system-design.md +74 -0
- package/.github/skills/tech-writer/references/doctypes/technical-proposal.md +49 -0
- package/.github/skills/tech-writer/references/doctypes/test-plan.md +67 -0
- package/.github/skills/tech-writer/references/doctypes/user-manual.md +58 -0
- package/.github/skills/tech-writer/references/doctypes/white-paper.md +84 -0
- package/.github/skills/tech-writer/references/doctypes/zenn.md +66 -0
- package/.github/skills/tech-writer/references/japanese-prose-optimization.md +110 -0
- package/.github/skills/tech-writer/references/style-constitution.md +104 -0
- package/.github/skills/tech-writer/scripts/lint.py +412 -0
- package/LICENSE +21 -0
- package/README.md +92 -0
- package/bin/ai-data-scientist.js +123 -0
- package/package.json +41 -0
- package/pyproject.toml +45 -0
- package/src/ai_chemistry_scientist/__init__.py +0 -0
- package/src/ai_chemistry_scientist/admet_prediction.py +71 -0
- package/src/ai_chemistry_scientist/bioactivity_classification.py +73 -0
- package/src/ai_chemistry_scientist/data/sample_molecules.csv +21 -0
- package/src/ai_chemistry_scientist/dispatch.py +369 -0
- package/src/ai_chemistry_scientist/docking_score.py +97 -0
- package/src/ai_chemistry_scientist/drug_likeness_rules.py +84 -0
- package/src/ai_chemistry_scientist/evidence.py +41 -0
- package/src/ai_chemistry_scientist/molecular_descriptors.py +97 -0
- package/src/ai_chemistry_scientist/molecular_formula_mass.py +40 -0
- package/src/ai_chemistry_scientist/molecular_similarity.py +78 -0
- package/src/ai_chemistry_scientist/qsar_modeling.py +105 -0
- package/src/ai_chemistry_scientist/salt_standardization.py +81 -0
- package/src/ai_chemistry_scientist/structural_alerts.py +76 -0
- package/src/ai_chemistry_scientist/structure_format_conversion.py +84 -0
- package/src/ai_chemistry_scientist/validation.py +70 -0
- package/src/ai_data_scientist/__init__.py +0 -0
- package/src/ai_data_scientist/analysis_assumptions.py +121 -0
- package/src/ai_data_scientist/anomaly_detection.py +39 -0
- package/src/ai_data_scientist/automl.py +109 -0
- package/src/ai_data_scientist/cleaning.py +56 -0
- package/src/ai_data_scientist/cli.py +90 -0
- package/src/ai_data_scientist/clustering.py +54 -0
- package/src/ai_data_scientist/dashboard.py +33 -0
- package/src/ai_data_scientist/data_definition.py +100 -0
- package/src/ai_data_scientist/data_quality.py +164 -0
- package/src/ai_data_scientist/dataset_validation.py +135 -0
- package/src/ai_data_scientist/dependency_pins.py +60 -0
- package/src/ai_data_scientist/eda.py +82 -0
- package/src/ai_data_scientist/experiment_evaluation.py +635 -0
- package/src/ai_data_scientist/explainability.py +340 -0
- package/src/ai_data_scientist/feature_engineering.py +163 -0
- package/src/ai_data_scientist/gate_config.py +32 -0
- package/src/ai_data_scientist/ingestion.py +127 -0
- package/src/ai_data_scientist/insight_engine.py +180 -0
- package/src/ai_data_scientist/japanese_nlp.py +43 -0
- package/src/ai_data_scientist/jupyter_launcher.py +137 -0
- package/src/ai_data_scientist/jupyter_mcp_client.py +94 -0
- package/src/ai_data_scientist/language_router.py +28 -0
- package/src/ai_data_scientist/lifecycle.py +221 -0
- package/src/ai_data_scientist/mcp_gateway.py +113 -0
- package/src/ai_data_scientist/mcp_runtime.py +194 -0
- package/src/ai_data_scientist/mcp_transport.py +53 -0
- package/src/ai_data_scientist/ml_modeling.py +451 -0
- package/src/ai_data_scientist/model_tuning.py +104 -0
- package/src/ai_data_scientist/notebook_audit.py +574 -0
- package/src/ai_data_scientist/project_manager.py +243 -0
- package/src/ai_data_scientist/report_export.py +73 -0
- package/src/ai_data_scientist/sensitivity.py +445 -0
- package/src/ai_data_scientist/signal_analysis.py +201 -0
- package/src/ai_data_scientist/skill_packaging.py +40 -0
- package/src/ai_data_scientist/stats_analysis.py +88 -0
- package/src/ai_data_scientist/text_nlp.py +44 -0
- package/src/ai_data_scientist/timeseries.py +68 -0
- package/src/ai_data_scientist/visualization.py +708 -0
- package/src/ai_genomics_scientist/__init__.py +1 -0
- package/src/ai_genomics_scientist/differential_expression.py +147 -0
- package/src/ai_genomics_scientist/dispatch.py +267 -0
- package/src/ai_genomics_scientist/evidence.py +45 -0
- package/src/ai_genomics_scientist/gene_set_enrichment.py +76 -0
- package/src/ai_genomics_scientist/sequence_alignment.py +97 -0
- package/src/ai_genomics_scientist/sequence_features.py +111 -0
- package/src/ai_genomics_scientist/splice_site_scoring.py +66 -0
- package/src/ai_genomics_scientist/validation.py +83 -0
- package/src/ai_genomics_scientist/variant_effect.py +147 -0
- package/src/ai_genomics_scientist/variant_pathogenicity.py +125 -0
- package/src/ai_materials_scientist/__init__.py +0 -0
- package/src/ai_materials_scientist/calphad.py +117 -0
- package/src/ai_materials_scientist/classical_monte_carlo.py +165 -0
- package/src/ai_materials_scientist/crystal_plasticity.py +184 -0
- package/src/ai_materials_scientist/dispatch.py +100 -0
- package/src/ai_materials_scientist/evidence.py +84 -0
- package/src/ai_materials_scientist/fem.py +279 -0
- package/src/ai_materials_scientist/kinetic_monte_carlo.py +145 -0
- package/src/ai_materials_scientist/molecular_dynamics.py +240 -0
- package/src/ai_materials_scientist/phase_field.py +167 -0
- package/src/ai_materials_scientist/validation.py +70 -0
- package/src/ai_scientist/__init__.py +1 -0
- package/src/ai_scientist/completion_gate.py +15 -0
- package/src/ai_scientist/data_analysis.py +46 -0
- package/src/ai_scientist/evidence_registry.py +99 -0
- package/src/ai_scientist/experimental_design.py +20 -0
- package/src/ai_scientist/language.py +14 -0
- package/src/ai_scientist/latex_renderer.py +41 -0
- package/src/ai_scientist/literature_review.py +37 -0
- package/src/ai_scientist/manifest.py +87 -0
- package/src/ai_scientist/manuscript.py +94 -0
- package/src/ai_scientist/mcp_config.py +76 -0
- package/src/ai_scientist/mcp_external.py +42 -0
- package/src/ai_scientist/mcp_failures.py +23 -0
- package/src/ai_scientist/mcp_gateway.py +38 -0
- package/src/ai_scientist/mcp_managed.py +180 -0
- package/src/ai_scientist/npm_packaging.py +49 -0
- package/src/ai_scientist/orchestrator.py +133 -0
- package/src/ai_scientist/peer_review.py +60 -0
- package/src/ai_scientist/phase_gate.py +74 -0
- package/src/ai_scientist/phase_state.py +230 -0
- package/src/ai_scientist/presentation.py +56 -0
- package/src/ai_scientist/project_config.py +31 -0
- package/src/ai_scientist/project_handle.py +74 -0
- package/src/ai_scientist/reproducibility.py +20 -0
- package/src/ai_scientist/research_planning.py +20 -0
- package/src/ai_scientist/skill_invocation.py +21 -0
- package/src/ai_scientist/tdd_gate.py +99 -0
- package/src/ai_structural_biology_scientist/__init__.py +0 -0
- package/src/ai_structural_biology_scientist/contact_map.py +87 -0
- package/src/ai_structural_biology_scientist/dispatch.py +269 -0
- package/src/ai_structural_biology_scientist/evidence.py +43 -0
- package/src/ai_structural_biology_scientist/hydrophobicity.py +101 -0
- package/src/ai_structural_biology_scientist/protein_docking_score.py +104 -0
- package/src/ai_structural_biology_scientist/secondary_structure.py +95 -0
- package/src/ai_structural_biology_scientist/structural_similarity.py +74 -0
- 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.
|