Deck
A family of branded-media plugins for Claude Code — decks, images & 2D, video, and audio, coupled by CLI capabilities (never file paths) over one shared engine.
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.
One thing 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.
What its author says it does
Copied from the file, not written here
Build a brand-perfect PowerPoint deck via the master-template renderer. Use when the user asks to create a deck or presentation.
SKILL.md
3.1 KB, 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.