pptx-slide-specification — Claude skill: JSON PPTX specs
A skill for writing and repairing coordinate-explicit JSON specs of slides, so an editable PPTX deck builds the same way every time.
/plugin marketplace add wshobson/agents
/plugin install pptx-deck-creation@claude-code-workflowsWhat pptx-slide-specification does
The skill defines a contract for the JSON file a deck is built from. The root holds summary and slides; each slide carries a stable id, a message-led title, an accessibility reading order and a full layout_tree. That tree declares slide size, the root group, id-keyed groups and objects, final inch bboxes, styles, z-indexes and classifications.
Authoring rules are blunt. IDs stay readable and stable, dimensions stay positive, normal content sits inside the safe margin and above the footer rail, and only background layout_design objects go full bleed. Text, shapes, lines, tables and images are native objects, so labels and values from a supporting visual get rebuilt by hand. Body text stays at 9 pt or larger — shorten or split dense content instead of shrinking type. Meaningful images get alt text, sourced claims get source_ref.
Building starts from a blank slide layout, maps every bbox with Inches(...), and sets wrapping, disabled auto-size, text insets, anchors, alignment, fonts, colors and image aspect ratio explicitly. Zero or negative geometry is rejected before an object is added. Install it if you generate editable decks from data and keep fixing shifted blocks by hand. For one or two slides, skip it.
What it helps with
- build an editable PPTX from a JSON slide spec
- repair broken coordinates in an existing spec
- set safe margins and a content bottom line
- turn labels from a visual into native objects
- audit bboxes and z-index before building the deck
Example prompts for the agent
- Write a JSON spec for a 6-slide deck, coordinates in inches, content inside the safe margin
- Audit the layout_tree for zero or negative geometry and fix it
- Add alt text to meaningful images and source_ref for claims on slides
How to install pptx-slide-specification
1Plugin marketplace
/plugin marketplace add wshobson/agents/plugin install pptx-deck-creation@claude-code-workflowsThis installs the whole pptx-deck-creation plugin with all its skills
2Skills CLI (Vercel)
npx skills add wshobson/agents --skill pptx-slide-specification -a claude-code3Manually: put the files in place
~/.claude/skills/pptx-slide-specification/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/pptx-slide-specification/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill pptx-slide-specification -a codex2Manually: put the files in place
.agents/skills/pptx-slide-specification/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add wshobson/agents --skill pptx-slide-specification -a cursor2Manually: put the files in place
.cursor/skills/pptx-slide-specification/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install wshobson/agents pptx-slide-specification2Manually: put the files in place
.github/skills/pptx-slide-specification/SKILL.mdPlatform CLI
gemini skills install https://github.com/wshobson/agents --path plugins/pptx-deck-creation/skills/pptx-slide-specificationManually: put the files in place
.devin/skills/pptx-slide-specification/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set213
The whole set →Similar
Questions about pptx-slide-specification
How do I install pptx-slide-specification in Claude?
Use the marketplace: /plugin marketplace add wshobson/agents, then /plugin install pptx-deck-creation@claude-code-workflows. Or install the skill directly: npx skills add wshobson/agents --skill pptx-slide-specification -a claude-code.
What does pptx-slide-specification do?
It specifies the JSON contract for a PPTX deck: required slide fields and a layout_tree with final bboxes, styles and z-indexes. A builder then turns that spec into slides.
What do I need for the skill to work?
A JSON file with summary and slides, plus a builder that maps bboxes with Inches(...). The skill expects explicit wrapping, auto-size and inset settings, and rejects zero or negative geometry.
Source text
SKILL.md · MIT
--- name: pptx-slide-specification description: "Use when authoring or repairing a coordinate-explicit JSON specification for an editable PPTX deck." --- # PPTX Slide Specification Author final coordinates directly in `layout_tree`. No renderer may decide placement, shrink text, or infer layout after the audit. ## Required contract - The root JSON contains `summary` and `slides`. - Every slide has a stable `id`, a message-led `title`, an accessibility reading order, and a complete `layout_tree`. - A layout tree declares slide size, root group, id-keyed groups and objects, final inch bboxes, styles, z-indexes, and classifications. - Every meaningful object has `id`, `kind`, `role`, `classification`, `content`, `style`, `bbox`, and `z_index`. - Production `summary` contains an explicit `layout_policy` (safe margin, content bottom, footer top, minimum gap) and accessibility metadata. ## Authoring rules 1. Use stable readable IDs, absolute groups, and positive inch dimensions. 2. Keep normal content inside the safe margin and above the footer rail. Only background `layout_design` objects may be full bleed. 3. Use native `text`, `shape`, `line`, `table`, and `image` objects. Recreate labels and values from any supporting visual as native objects. 4. Give meaningful images alt text. Record `source_ref` for sourced claims. 5. Keep content text at 9 pt or greater; shorten, resize, or split dense content before reducing type. 6. Use shared grids, consistent gaps, explicit color, explicit font size, and an intentional z-order. ## Build contract A task-local builder starts from a blank slide layout and maps all bboxes with `Inches(...)`. Explicitly set wrapping, disabled auto-size, text insets, anchors, alignment, fonts, colors, line settings, image aspect ratio, and hidden-slide state. Reject zero or negative geometry before adding an object. See `references/layout-contract.md` for the compact schema and repair guidance.
© kimtth · MIT · wshobson/agents