Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .grok/skills/officecli-pptx-designmd/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,13 @@ editorial). Prefer patterns first; freeform when NL or vision asks for re-layout

**Wave 3 verticals:** `python/examples/content.{business,marketing,health,education,finance}.deck.json` — see `docs/recipe-coverage-roadmap.md`

**Wave 4 Infograpify roles:** **mindmap_branches** · **journey_stages** ·
**pestle_grid** · **raci_matrix** · **scorecard_balanced** · **hex_cluster** ·
**puzzle_pieces** · **pillar_columns** · **stairs_ascent** · **checklist_board** ·
**empathy_map_quad** · **risk_heat_matrix** · **circle_segments** ·
**mission_vision_split** — example: `python/examples/content.infograpify-roles.deck.json`
(analyze local packs with `reference` only; never commit vendor `.pptx`).

### Animation (#40)

Optional DESIGN.md frontmatter `animation: { enabled, entrance, transition, … }`.
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

All notable changes to designmd-pptx are documented here.

## [Unreleased] — Wave 4 Infograpify structural roles

### Added
- **14 recipes (Wave 4)** from re-analysis of local Infograpify 400-deck library
(filename + redacted structural scans only; no vendor bytes):
`mindmap_branches`, `journey_stages`, `pestle_grid`, `raci_matrix`,
`scorecard_balanced`, `hex_cluster`, `puzzle_pieces`, `pillar_columns`,
`stairs_ascent`, `checklist_board`, `empathy_map_quad`, `risk_heat_matrix`,
`circle_segments`, `mission_vision_split`.
- Example deck-spec: `python/examples/content.infograpify-roles.deck.json`
- Compose title keywords + `reference` family suggestions updated
- Catalog now **75** recipe builders (`WAVE4_SEQUENCE`)

## [2.1.2] — 2026-07-15

Residual fixes after Codex **re-verify** of v2.1.1 (still flagged generative body loss,
Expand Down
33 changes: 20 additions & 13 deletions docs/infograpify-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,27 @@ licensed .pptx (local)
Measured on a licensed local library of **400** decks
(`infograpify_ppt_templates/`, not in git). Filename → family heuristic only:

| Family | Count | designmd today | Premium gap (#58) |
| Family | Count (2026-07 re-catalog) | designmd recipes | Status |
|---|---:|---|---|
| other (long-tail verticals) | 273 | bullets / feature_cards | selective later |
| chart_story | 23 | chart_insight, big_number | `chart_callout_panel`, waterfall insight |
| process_flow | 21 | process, timeline | `funnel_stages`, `chevron_process` |
| timeline_roadmap | 20 | timeline | `story_timeline`, `roadmap_swimlane` |
| geo_map | 17 | image_* | defer (asset-heavy) |
| org_team | 11 | team | richer org tree (SmartArt → groups) |
| kpi_dashboard | 8 | kpi_row, big_number | **`kpi_dashboard_grid`** (priority) |
| narrative_chrome | 7 | cover, section_divider | `agenda_toc`, numbered openers |
| comparison_matrix | 7 | comparison_2col, matrix_2x2 | `quadrant_matrix_rich`, scorecard |
| pricing_table | 6 | pricing, table | multi-tier highlight column |
| hierarchy | 6 | feature_cards | `pyramid_levels` |
| device_mockup | 1 | image_text_2col | defer |
| other (long-tail) | 255 | Wave 2 + **Wave 4** (mindmap, journey, PESTLE, RACI, hex, puzzle, checklist, …) | COVERED / PARTIAL residual |
| process_flow | 30 | process, funnel, chevron, cycle, pipeline, journey, stairs | COVERED |
| chart_story | 23 | chart_insight, callout, waterfall, venn, circle_segments | COVERED |
| timeline_roadmap | 20 | timeline, story_timeline, roadmap, gantt | COVERED |
| geo_map | 17 | geo_callout + image_* (user basemap only) | DEFER basemap |
| hierarchy | 12 | pyramid, iceberg, pillar_columns | COVERED |
| org_team | 11 | team, org_tree, persona | COVERED |
| kpi_dashboard | 8 | kpi_row, kpi_dashboard_grid, big_number | COVERED |
| narrative_chrome | 7 | cover, section_*, agenda, **mission_vision_split** | COVERED |
| comparison_matrix | 7 | comparison, matrix, swot, vs_scorecard, risk_heat, raci | COVERED |
| pricing_table | 6 | pricing, table, appendix_table | COVERED |
| strategy_canvas | 3 | business_canvas, pestle_grid, scorecard_balanced | COVERED |
| device_mockup | 1 | device_frame (user screenshot) | DEFER photo packs |

**Recipe count:** 75 builders (Wave 0–4 + freeform). Re-run catalog:

```bash
python -m designmd_pptx reference infograpify_ppt_templates --catalog -o .ref-analysis
```

## Structural principles (from priority decks)

Expand Down
28 changes: 27 additions & 1 deletion docs/recipe-coverage-roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Infograpify library (local only) — **not** a 1:1 clone of 400 files.
|---|---:|
| Source decks (filename inventory) | 400 |
| Coarse families (`reference` catalog) | 12 |
| Shipped recipes today | 36 |
| Shipped recipes today | 75 (Wave 0–4 + freeform) |
| Phase 2 premium shortlist (#58) | 10 / 10 |
| Intentional non-goals (asset-heavy) | maps, device mockups, icon packs |

Expand Down Expand Up @@ -171,6 +171,32 @@ Compose routes `##` titles containing role keywords (OKR, SWOT, pipeline, …) t
| **1c** (people/strategy) | `org_tree`, `persona_card`, `business_canvas`, `fishbone_causes`, `iceberg_levels`, `framework_row` | 1a | ✅ shipped (`WAVE1_SEQUENCE`, tests) |
| **2** (long-tail roles) | icon_stat_row … device_frame (12 recipes, incl. `pipeline_stages`, `geo_callout`, `device_frame`) | 1 complete | ✅ shipped (`WAVE2_SEQUENCE`, tests) |
| **3** (verticals) | 0 recipes | wave 1–2 | ✅ shipped: 5 vertical deck-specs + finance DESIGN skin + compose title keywords |
| **4** (Infograpify long-tail) | 14 recipes | wave 1–3 | ✅ shipped: mindmap, journey, PESTLE, RACI, BSC, hex, puzzle, pillars, stairs, checklist, empathy, risk heat, circle segments, mission/vision |

### Wave 4 — additional structural roles (2026-07-15 catalog re-analysis)

Filename + redacted structural scans of the local 400-deck library surfaced
roles still only approximated by `feature_cards` / `bullets`. **Original**
recipes (no vendor geometry):

| Recipe | Infograpify signals (examples) |
|---|---|
| `mindmap_branches` | Mind Map 01–03, Mindmap-Infographic-* |
| `journey_stages` | Customer Journey V2 |
| `pestle_grid` | PESTEL |
| `raci_matrix` | RACI |
| `scorecard_balanced` | Balanced scorecard packs / matrix analysis |
| `hex_cluster` | Hexagon / honeycomb packs |
| `puzzle_pieces` | Puzzle 1–3 |
| `pillar_columns` | Pillars |
| `stairs_ascent` | Stairs / maturity language |
| `checklist_board` | Checklist |
| `empathy_map_quad` | Empathy Map |
| `risk_heat_matrix` | Risk Management |
| `circle_segments` | Circle Infographics, Analytics Circle |
| `mission_vision_split` | narrative chrome gap from Wave 0 |

Example deck-spec: `python/examples/content.infograpify-roles.deck.json`.

### Per-recipe checklist (same as premium bar)

Expand Down
18 changes: 18 additions & 0 deletions python/designmd_pptx/compose.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,24 @@
(re.compile(r"\b(finance|p&l|budget|forecast)\b", re.I), "finance_statement"),
(re.compile(r"\b(at\s+a\s+glance|stat\s+row|icon\s+stats?)\b", re.I), "icon_stat_row"),
(re.compile(r"\b(hub\s+and\s+spoke|bullseye|radial)\b", re.I), "hub_spoke"),
# Wave 4 Infograpify long-tail
(re.compile(r"\b(mind\s*map|mindmap)\b", re.I), "mindmap_branches"),
(re.compile(r"\b(customer\s+journey|user\s+journey|journey\s+map)\b", re.I),
"journey_stages"),
(re.compile(r"\b(pestle|pestel|pest\b)\b", re.I), "pestle_grid"),
(re.compile(r"\b(raci|responsibility\s+matrix)\b", re.I), "raci_matrix"),
(re.compile(r"\b(balanced\s+scorecard|bsc)\b", re.I), "scorecard_balanced"),
(re.compile(r"\b(hexagon|honeycomb|hex\s+cluster)\b", re.I), "hex_cluster"),
(re.compile(r"\b(puzzle|jigsaw)\b", re.I), "puzzle_pieces"),
(re.compile(r"\b(pillar|pillars)\b", re.I), "pillar_columns"),
(re.compile(r"\b(stair|stairs|maturity\s+model|ascent)\b", re.I), "stairs_ascent"),
(re.compile(r"\b(checklist|launch\s+readiness)\b", re.I), "checklist_board"),
(re.compile(r"\b(empathy\s+map)\b", re.I), "empathy_map_quad"),
(re.compile(r"\b(risk\s+matrix|risk\s+heat|heat\s*map\s+risk)\b", re.I),
"risk_heat_matrix"),
(re.compile(r"\b(circle\s+segment|donut\s+legend|ring\s+chart)\b", re.I),
"circle_segments"),
(re.compile(r"\b(mission|vision|purpose)\b", re.I), "mission_vision_split"),
]


Expand Down
Loading
Loading