A1 — One clean package
The zip unpacks to exactly one top-level folder named after the skill, with every required member inside — no half-delivered pack.
Support
Most problems are one of four things: a missing dependency, a slot that overflows, a page type that does not match the message, or a font that is not installed.
| Code | What it means |
|---|---|
| SLOT_OVERFLOW | Rejects text that does not fit the slot, and tells you the per-line budget. |
| LEAK | Rejects a page where a template sample sentence survived — you cannot ship the template’s filler. |
| TABLE_UNFILLED / CHART_UNFILLED | A table or chart left empty is an error, so no figure can appear that you did not supply. |
| EMPTY_TITLE | A page without a title is rejected; headlines in this system are full-sentence takeaways. |
| CONTENT_SCHEMA | The shape of content.json is wrong at the path the error names — usually a missing key or the wrong type for a slot. |
| UNKNOWN_* | A page id or slot id in content.json does not exist in the catalogue. |
| SLOT_SHRUNK | Informational: the font was reduced to fit the slot. It still passes, but shorter copy is better. |
Every page type has a fixed number of blocks. A page built for four points will look wrong with one point in it, and a page built for one statement will look worse with four.
The catalogue tells you the block count before you write anything: catalog/INDEX.md lists each page with its blocks, and catalog/pages/<page>.md lists that page's slots in reading order with their character budgets. Pick a page whose block count matches your content, and reuse a page if you need the same shape twice.
If no page fits, say so. Page types are added per pack, and licence holders receive them while their update window is open.
The pack does not ship font files. The NOTICE in the pack says which fonts the template references; install them, or let PowerPoint substitute. A substituted font changes line widths, so a page that fit exactly in the template can overflow with a substitute — shorten the copy or install the font.
The zip unpacks to exactly one top-level folder named after the skill, with every required member inside — no half-delivered pack.
The README command runs against the delivered zip on a bare python-pptx interpreter, with zero error-level issues: no overflow, no leftover template sentence, no empty title.
The template renders exactly as many pages as the catalogue claims, and a filled deck renders exactly as many pages as your content asked for.
Rendered pages carry no missing-glyph marks and no invisible Chinese characters, and no page fails the fidelity/overflow bench.
After the one-command rebrand, no colour of the original brand family is left anywhere in the file.
checksums.sha256 matches every file actually inside the zip, and nothing inside the zip is missing from the list.
A commercial pack must carry LICENSE.md with every promised clause — the page you read is the licence you get.
Still stuck: the contact page has the request form, and if you already bought the pack, the order page (session id + email) is faster because it already knows what you bought.
One case is a refund rather than a support ticket: the pack cannot fill a page on your machine while you followed the instructions in the pack. That is spelled out on the refunds page.
Next
We send the pack, the licence terms and a sample built from your own material.