How it works

Three steps, one prompt.

No design tool, no manual copy-paste. The pack already knows how the page is supposed to look; the agent only supplies the truth.

The short version

01 — Pick a pack

Every card is a zip: SKILL.md, a native template.pptx, a per-page slot catalogue and the fill engine. Unzip it anywhere your agent already looks for skills.

02 — Copy one prompt

The prompt names the pack, tells the agent which page carries which message, and pins the fill command. Your agent writes content.json and runs it.

03 — Get a real .pptx

The engine clones the designed page with your content in place. Overflow, leftover template sentences and numbers that came from nowhere are blocked before the file reaches you.

Install the pack

unzip gen-editorial-navy-1.0.0.zip -d ~/.claude/skills/gen-editorial-navy

Any agent host works: the pack is a folder with a SKILL.md at its root, so it drops into whichever skills directory your agent already reads.

Pick a page, write the content, fill

python3 scripts/deckkit.py fill content.json --template assets/template.pptx --catalog catalog/slides.json --out deck.pptx

Read catalog/INDEX.md first, choose one page per message, write content.json, then run the fill command.

What is inside the pack

PathWhat it is
SKILL.mdThe skill itself: how to pick a page per message, how to write content.json, and the rules the agent must not break.
assets/template.pptxThe native PowerPoint template. Every page is a real slide with real shapes and real text — no images of slides.
catalog/slides.jsonThe page catalogue: every page type, its blocks, its slot budgets and the fillable fields. This is what makes the pages typed instead of guessed.
scripts/deckkit.pyThe fill engine: clones the designed page into a new native slide, swaps in your content, and runs the gates that reject a bad deck.
LICENSE.mdThe commercial terms you buy: what you may do with the deck, what you may not do with the pack.

The zip also ships README.md, NOTICE, checksums.sha256, bench-summary.json, catalog/INDEX.md, one markdown file per page under catalog/pages/, and examples/content.example.json.

Directory layout inside the pack

PathWhat lives there
SKILL.mdHow the agent picks a page, writes content.json and what it must not break.
README.mdInstall paths and a runnable example.
assets/template.pptxThe native PowerPoint template — every page is a real slide with real shapes and real text.
catalog/INDEX.mdThe page table: page id, page type, blocks and the template headline.
catalog/slides.jsonThe machine-readable catalogue the fill engine reads: blocks, slot budgets and fillable fields.
catalog/pages/<page>.mdOne markdown file per page, listing that page's slots in reading order with their character budgets.
examples/content.example.jsonA worked example of the content.json shape.
scripts/deckkit.pyThe fill engine and the rebrand command.
LICENSE.md / LICENSEThe commercial terms — the same six clauses published on the licence page.
NOTICEFonts referenced by the template are not included; install them or let PowerPoint substitute.
checksums.sha256A checksum for every file in the zip.
bench-summary.jsonThe bench run recorded for this pack.

Fill gates — what runs on every page you fill

  • 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.

Buyer-path gates A1–A7 — what each one blocks

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.

A2 — It fills on your machine

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.

A3 — The page count is the truth

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.

A4 — Nothing is missing on the page

Rendered pages carry no missing-glyph marks and no invisible Chinese characters, and no page fails the fidelity/overflow bench.

A5 — Rebrand leaves no old brand colour

After the one-command rebrand, no colour of the original brand family is left anywhere in the file.

A6 — The checksums describe the real files

checksums.sha256 matches every file actually inside the zip, and nothing inside the zip is missing from the list.

A7 — The terms ship with the pack

A commercial pack must carry LICENSE.md with every promised clause — the page you read is the licence you get.

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.

Buyer-path gate A2

Every pack also ships its own README with the same commands, so the pack works even if this page disappears.

Next

Tell us what you need to produce.

We send the pack, the licence terms and a sample built from your own material.

How it works — unzip, write content.json, fill, export | FXpeek Business