pptx-slide-specification
Use when authoring or repairing a coordinate-explicit JSON specification for an editable PPTX deck.
Install
npx skills add https://github.com/wshobson/agents/tree/main/plugins/pptx-deck-creation/skills/pptx-slide-specification
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install wshobson-agents@llmmart
git clone https://github.com/wshobson/agents.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole wshobson/agents collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
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
summaryandslides. - Every slide has a stable
id, a message-ledtitle, an accessibility reading order, and a completelayout_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, andz_index. - Production
summarycontains an explicitlayout_policy(safe margin, content bottom, footer top, minimum gap) and accessibility metadata.
Authoring rules
- Use stable readable IDs, absolute groups, and positive inch dimensions.
- Keep normal content inside the safe margin and above the footer rail. Only background
layout_designobjects may be full bleed. - Use native
text,shape,line,table, andimageobjects. Recreate labels and values from any supporting visual as native objects. - Give meaningful images alt text. Record
source_reffor sourced claims. - Keep content text at 9 pt or greater; shorten, resize, or split dense content before reducing type.
- 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.
Files (agents)
-
references
-
layout-contract.md 1.4 KB
# Layout Contract A generated deck uses a JSON root with `summary` and `slides`. The final tree is an audit contract, not a rendering hint. ```json { "summary": { "layout_policy": { "safe_margin": 0.5, "content_bottom": 6.7, "footer_top": 6.85, "minimum_gap": 0.12 }, "accessibility": { "language": "en-US", "presentation_title": "Quarterly operating review" } }, "slides": [{ "id": "s01_overview", "title": "Operating margin improves after the cost reset", "accessibility": { "reading_order": ["title"] }, "layout_tree": { "slide_size": { "width": 13.333, "height": 7.5 }, "root_group_id": "root", "groups": { "root": { "id": "root", "role": "slide", "layout_mode": "absolute", "object_ids": ["title"], "group_ids": [], "bbox": { "x": 0, "y": 0, "width": 13.333, "height": 7.5 } } }, "objects": { "title": { "id": "title", "kind": "text", "role": "title", "classification": "content", "content": { "text": "Operating margin improves after the cost reset" }, "style": { "font_size": 30, "color": "#111827" }, "bbox": { "x": 0.75, "y": 0.55, "width": 10.8, "height": 0.65 }, "z_index": 2 } } } }] } ``` ## Repair order 1. Move or resize bboxes, change z-order, or split a dense slide. 2. Shorten copy or enlarge the available text bbox. 3. Change type size only as a last resort; content never drops below 9 pt. 4. Rebuild and compare actual object bounds with the contract.
-
-
SKILL.md 1.9 KB
--- 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.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.