v1.12.0 — ODP template ecosystem
Closes the last competitive-positioning gap with Anthropic's pptx skill.
Where pptx uses an HTML-design-loop, this release takes the other route:
curated templates the agent picks from, plus tools to inspect them per-slide
and extract new ones from any .odp/.otp/.pptx (PPTX via the v1.11
OOXML bridge).
Added
inspect_template.py— JSON inventory of master pages, slide layouts,
named styles, font declarations. The agent's per-slide layout-picking input.extract_template.py— distil any.odp/.otp/.pptxinto a reusable
template directory. Filtersoffice:automatic-stylesto keep only what
master pages reference (and parent chains); copies master-page-referenced
Pictures/; seedsLICENSE.txt/PROVENANCE.md/README.md.apply_template.py— one-call inject-styles + embed-pictures +
validate-refs. Supports--template-name <shipped>and--template PATH.- Three shipped templates in
skills/odp/templates/:dao-conference— deep-blue branded, logo bottom-right (migrated from
examples/deck/styles.xml).academic-blue— cream background, navy Lato + Source Serif.minimalist-mono— near-white, JetBrains Mono + Inter.
inspect_styles_xmlandload_styles_xmlhelpers inodp_common.
Changed
examples/deck/build_deck.pyreduced from 90-line orchestration to a thin
apply_template-based wrapper. The brandedstyles.xmland the logo
moved into the shippeddao-conferencetemplate.
Installation
Templates live inside skills/odp/, so install_skills.py includes them
in every Smithery / skills.sh / Claude Code plugin install — no extra
download or configuration.
See CHANGELOG.md for the full release notes.