Deck
Build a brand-perfect PowerPoint deck via the master-template renderer. Use when the user asks to create a deck or presentation.From its SKILL.md
npx -y skills add marsmike/feinschmiede --skill deckAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `feinschliff build.py` and 1 more.
SKILL.md
3.1 KB, 747 tokens by cl100k_base, as published. Nobody here has run it
deck — master-template renderer
Generate a brand-perfect .pptx by composing plans against a brand pack's master.pptx. The master supplies typography, colors, footers, slide-number chrome — the renderer only fills placeholders and clones bespoke shapes.
Quick Start
from pathlib import Path
from feinschliff import FillPlan, render
render(
Path("feinschliff/brands/feinschliff"),
[FillPlan(layout="Title Slide", fills={0: "Q3 update", 1: "Roadmap"})],
Path("out.pptx"),
)
Author the call in feinschliff/.debug/<topic>-<date>/build.py and run it with feinschliff build.py — the plugin's launcher execs the venv Python directly, no CLI in between.
Brand packs
Each pack ships under feinschliff/brands/<name>/ with a master.pptx (or .ref pointer) and catalog files. Built-in packs: feinschliff (default), annual-review, geometric, scientific, shapes, gs-ramspau. Corporate / private packs surface through sibling feinschliff-* plugin directories ($FEINSCHLIFF_BRAND_PATH). Run python -m feinschliff.master_template.catalog <brand_pack> to list layouts + snippets for any pack.
Mental model
A deck is a list of plans, in slide order:
FillPlan(layout, fills)— pick a layout by name (see<brand>/layouts.yaml), fill placeholders byidx. Values:str,list[str],PictureRef, orChartSpec. Charts and pictures replace the OBJECT placeholder.ClonePlan(source_idx, replacements)— XML-clone a bespoke source slide from<brand>/snippets.yaml.replacementsis a queue per old-string; repeating("Milestone", ...)consumes successive occurrences in document order.render(..., theme=Path|dict)— optional. Patches the master'stheme1.xml<a:clrScheme>from a small JSON. Onemaster.pptx, N visual variations; the file on disk is never touched.
Flow
- Interview if the brief is thin. Topic + audience are the minimum; references/storyline.md maps audience to a default slide count.
- Draft the storyline per references/storyline.md — emit the brief block + numbered slides block, pick a frame, tag each row with
roleandact, write claim-style titles. - Pick layouts per references/layouts.md. For bespoke shapes (timelines, funnels, infographics) clone from
<brand>/snippets.yaml— see references/clones.md for the text-anchor recipe. - Approval gate — show storyline + chosen layouts, ask "ok?". Don't render until approved.
- Render with the Quick Start snippet. Respect the verbosity tier when sizing fills. See references/gotchas.md for pitfalls.
- Verify and loop — convert to PDF and read the pages against the defect classes in references/verify.md. Fix and re-render until clean; the reference describes the
/loop-driven iteration.
What ships with it: 5 files
16.3 KB alongside SKILL.md
references/
- clones.md2.0 KB
- gotchas.md3.0 KB
- layouts.md3.3 KB
- storyline.md5.2 KB
- verify.md2.9 KB