Builds a deck from an outline inside your company template, using its own layouts.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Build a NEW PowerPoint from a short outline INSIDE the company's own template in ONE command, with the DeckCraft engine: the template's layouts (title, section, bullets, two columns, comparison), colours, fonts, footer and slide numbers are used, so the deck looks like the company's other decks from the first slide; speaker notes included; the first slides rendered to PNG. Use for: a deck in our template from these points, board deck on our slides, turn this outline into a presentation that matches our brand, lav en præsentation i vores skabelon. For a deck without a template use deck-builder; to restyle an existing deck use deck-restyle. Triggers: in our template, on our slides, our brand, company deck, skabelon, from outline, from these bullet points.
Write the outline, run one script, hand back the file. python3 /skills/deck-from-template/scripts/from_template.py OUTLINE TEMPLATE.pptx OUT.pptx [options]
wraps deckcraft-cli, a native engine that writes real .pptx without PowerPoint. It prints one
OK … line or one ERROR … line. The template the person uploaded is in /work/in; write the
outline to /work/outline.json (or .md) and results to /work/out.
| Need | Command |
|---|---|
| Deck from a JSON outline in the template, with previews | from_template.py /work/outline.json /work/in/template.pptx /work/out/deck.pptx --preview /work/out/preview |
| From a Markdown outline | from_template.py /work/outline.md /work/in/template.pptx /work/out/deck.pptx |
| Footer and slide numbers | add --footer "Nordisk Widgets · Q3 2026" --numbers |
| Keep the template's own sample slides in front | add --keep-template-slides |
JSON (/work/outline.json):
{
"title": "Q3 2026 board meeting", "subtitle": "Nordisk Widgets ApS", "notes": "Welcome.",
"slides": [
{"type": "section", "title": "Results"},
{"type": "bullets", "title": "Revenue up 12 %", "bullets": ["48.2 MDKK", "EBITDA 6.1 MDKK"], "notes": "Excludes the one-off credit."},
{"type": "two-column", "title": "Customers", "left": ["312 customers", "+24 net new"], "right": ["Churn 4.1 %", "NPS 47"]},
{"type": "comparison", "title": "Two risks", "left_title": "Lead times", "left": ["26 weeks"], "right_title": "Price pressure", "right": ["-8 % list"]},
{"type": "title-only", "title": "Questions?"},
{"type": "closing", "title": "Thank you", "body": "board@nordiskwidgets.dk"}
]
}
Slide types: section, bullets (3–6 bullets, each under 14 words), two-column, comparison,
title-only, blank, closing. Every slide may carry "notes". The first slide is made from
title/subtitle. Markdown works too: the first # Heading is the title slide (next plain line
the subtitle), ## Heading a section, every later # Heading a bullet slide with its - items,
Notes: … the speaker notes.
Afterwards look at the previews (read the PNGs) and give the person the links to the deck and the previews.
SKILL.mdgate.jsonscripts/__pycache__/from_template.cpython-313.pycscripts/from_template.pyWritten by Percerno, MIT licence.