Must be read before creating, relaying out, or repairing Oh My PPT slide layouts. Defines the per-page decision path, the named layout pattern catalog, canvas budgeting, collision avoidance, chart overpack guardrails, and title readability rules.
70
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill is the decision backbone for slide structure. Deep examples live in the references:
references/catalog.md — canonical 1600×900 zone skeletons and named layout patterns (the structure-choice layer you pick from before writing HTML).references/layout.md — collision-avoidance code comparison and height-budget walkthroughs.references/checklist.md — P0/P1/P2 structural self-check.Before writing HTML, answer these in order. The first three decide the role and density; the rest decide structure and budget.
references/catalog.md; if the page risks becoming top-heavy, also pick one canonical 1600×900 zone skeleton. Do not invent a layout from zero when a pattern fits.Then sketch the layout before writing (kept in your head, not emitted to the page). Picture the page as zones — what sits in each zone, roughly how tall, and how the zones balance across the full 1600×900. Confirm the sketch has a clear primary focus, readable whitespace, and no accidental large empty band; only then write the HTML. A quick shape for the sketch:
role: data-focus
density: medium
pattern: trend-exhibit
skeleton: chart-plus-insight-stack
zones: title/claim (~80, top) · dominant chart/visual middle (~420-500) · 1-2 metric chips or one insight band attached to chart · optional footnote — balanced, no accidental empty band
balance check: 3-second message visible, clear primary focus, readable whitespace, no crowded second support row
density check: if the source has too many facts, summarize before writing; do not turn every fact into a visible card
image policy: standard mode, no image request slotThe sketch is a thinking aid, not a template — keep the composition creative; just make sure the planned zones feel intentional and breathable before you write. The chosen pattern and skeleton are what you check against the structure recipe in catalog.md.
The catalog is advisory — patterns and skeletons are structure choices, not templates. Any pattern is re-visualized by the current style; the structure stays the same while style owns the look. Canonical 1600×900 skeletons and full four-part pattern definitions (input shape / structure recipe / budget rule / failure signs) are in references/catalog.md. Intent → pattern quick lookup:
| Intent | Patterns |
|---|---|
cover | hero-title-center · hero-title-asymmetric · hero-big-number · section-divider |
quote | hero-quote |
summary | summary-takeaways · executive-brief |
data-focus | kpi-hero · metric-band · trend-exhibit · chart-annotated |
comparison | compare-two-zone · compare-options · decision-matrix |
concept | concept-center-satellites · framework-2x2 · framework-pyramid |
process | process-linear · process-loop |
timeline | timeline-strip |
image-focus | asset-image-hero · asset-text-visual-split |
The same role and density can produce several valid patterns — pick the one whose reading path and module count best match the content.
w-full h-full; avoid fixed pixel values on the root.text-lg (18px).text-2xl (24px); this is a floor, not a fixed heading size. Use larger heading scales up to text-5xl (48px) when hierarchy calls for them.<footer>, <small>, or <figcaption> elements, or mark a non-semantic wrapper with data-ppt-text-role="auxiliary". Do not use this exemption for body copy, ordinary labels, or card descriptions.data-ppt-text-role="auxiliary"; otherwise they are ordinary labels and the 18px body floor applies.absolute / fixed only for background decoration, connectors, and non-text visual accents.gap-* on grid/flex containers. Put min-w-0 on long-text children.For code comparison of collision-prone vs reliable structures, read references/layout.md.
Total canvas: 1600px wide × 900px tall. Before writing HTML, calculate the height budget in order — you run this calc yourself per page, there is no preset module size to copy:
p-6 = 48px, p-8 = 64px)gap-4 = 16px, gap-6 = 24px)Chart frame h-[Npx] must fit within the remaining space and feel intentional. Chart.js cannot use flex-1 / h-full, so first calculate the content slot, subtract support modules, then choose a role-appropriate chart height from the chart slot: hero/main 380–560px only when the chart is the dominant module, standard 280–360px, compact support 220–280px — these mirror the chart skill, which owns the full slot calc and role guide; read it before writing a chart. The chart skill's height comment must include the dedicated marker @ppt-chart-height=N, and the h-[Npx] class must use the same number. Never write chart height = 420 and then output h-[240px]. If the total exceeds 900px or becomes too dense, change the composition and hierarchy before shrinking everything.
In side-by-side or multi-column layouts, columns share width, not height. Do not divide the vertical content slot by the number of columns (for example, no 732/2 just because the page has left metrics and a right chart). Each column starts with the same vertical content slot; subtract only the modules stacked vertically inside that same column. A metric rail beside the chart affects width and hierarchy, not the chart height calculation.
Charts, tables, timelines, and long lists must share the same budget as titles and notes. Budget the chart frame height before writing HTML. Full walkthroughs are in references/layout.md.
Do not treat the missing runtime padding as permission to add more content. The slide canvas is full height, but dense content still needs breathing room.
grid-cols-3 support row may contain at most 3 cards. If there are 4–6 facts, choose a density-appropriate structure: bento grid, metric band, compact comparison, annotated chart, or table/list.flex-1 min-h-0 main content followed by an uncapped bottom grid. Give rows explicit budgeted heights (grid-rows-[auto_1fr_auto], max-h-*) or redesign the support area as part of the main composition.For chart slides, decide the chart role before choosing layout density:
Titles are part of the reading path, not a fixed header decoration.
This section applies to content and data pages. Real PPT pages use whitespace; low-density pages — cover, big-number, quote, section-divider — use even more. The failure is not whitespace itself; the failure is accidental under-fill where a few tiny modules sit at the top and the rest of the slide feels forgotten. Two forms hit this skill:
catalog.md and redistribute the zones.Before expanding, decide whether the page is truly sparse. A full source table, a multi-indicator comparison, or a chart plus a clear takeaway is already enough content; do not add more cards or a second summary layer. In those cases, fix whitespace by hierarchy, spacing, grouping, chart/table sizing, and compact annotations — not by adding content.
When the page content is truly sparse, supplement and expand in-page from the source material with substance (not decoration), but keep the result low-to-medium density. Strategies:
Expansion is conditional and conservative. If the slide is already medium/high density, or if the source already provides enough facts for the page, the fix is not more content; it is compression and hierarchy. Turn extra facts into a short evidence rail, compact table rows, grouped bullets, chart annotations, or one key-takeaway band so the page still fits 1600x900 cleanly with breathing room.
Stay grounded: extend from the source material's theme, conclusions, and data direction. Reasonable inference, explanation, implication, and framing are allowed; do not invent unsupported specific facts, numbers, cases, quotes, or source claims.
For dense source tables or lists, preserve the source meaning by editing it into a presentation, not by mirroring the document. Choose one primary expression (timeline, table, chart, hero metric, or comparison) and avoid repeating the same fact again as equal-weight summary cards. If all rows truly matter, use a compact table/timeline or split the material across pages; do not stack full cards until the slide becomes a data archive.
These map directly onto catalog patterns (summary-takeaways, kpi-hero, compare-two-zone, concept-center-satellites, etc.).
Across a deck, vary the structure so consecutive slides feel different, not like the same template with swapped content.
Limitation: deck-level rhythm applies to the deck-generation main flow where the model writes several pages in sequence. Single-page edit does not control neighbor pages, so it only needs to fit the page it is given.
Oh My PPT separates two concerns:
The current style may include its own "layout" advice and composition tendencies; that is expected. When style and this skill interact:
When a style's "layout" section conflicts with a structural rule here, follow the structural rule and keep the style's visual treatment.
When a slide overflows, collides, exceeds the canvas, or is under-filled (a large empty band because the modules cover only part of the height):
h-[Npx]; update the height comment so the final number matches the class.For under-fill (the mirror problem), apply §7: enlarge the primary module modestly, improve spacing, or add one substantive evidence/annotation zone in-page. Do not patch an empty page with decorative filler or a pile of new cards.
For the full P0/P1/P2 self-check list, read references/checklist.md.
references/catalog.md.references/checklist.md.d2046bf
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.