PluginBench
Skill
Pass
Audit score 90

pptx-slide-specification

wshobson/agents

Author coordinate-explicit JSON specifications for editable PPTX decks with precise layout control.

What is pptx-slide-specification?

This skill enables you to create and repair PPTX slide decks by writing detailed JSON specifications that define exact coordinates, styles, and accessibility metadata. Use it when you need pixel-perfect control over slide layout without relying on automatic rendering or text shrinking.

  • Define slide layouts with absolute inch-based bounding boxes for all objects
  • Specify complete styling including fonts, colors, z-indexes, and text properties
  • Declare accessibility reading order and meaningful object classifications
  • Enforce safe margins, footer rails, and content placement rules
  • Build native text, shape, line, table, and image objects with explicit properties
  • Validate geometry and reject invalid dimensions before rendering

How to install pptx-slide-specification

npx skills add https://github.com/wshobson/agents --skill pptx-slide-specification
Prerequisites
  • Node.js environment with npx available
  • Understanding of PPTX structure and coordinate systems
  • Familiarity with JSON schema and layout specifications
Claude Code
Cursor
Windsurf
Cline

How to use pptx-slide-specification

  1. 1.Install the skill using: npx skills add https://github.com/wshobson/agents --skill pptx-slide-specification
  2. 2.Define your presentation structure with a root JSON containing summary and slides array
  3. 3.For each slide, create a layout_tree with stable IDs, groups, and coordinate-explicit objects
  4. 4.Specify every object's bbox in inches, style properties, z-index, and accessibility role
  5. 5.Ensure all content stays within safe margins and above footer rails
  6. 6.Validate all geometry is positive and non-zero before building
  7. 7.Use the layout-contract.md reference to map bboxes and set rendering properties

Use cases

Good for
  • Creating presentation decks where layout precision is critical for brand compliance
  • Repairing existing PPTX files by rewriting their coordinate specifications
  • Generating accessible presentations with explicit reading order and alt text
  • Building templated slide systems with consistent grids and spacing
  • Authoring data-driven presentations where content must fit predetermined layouts
Who it's for
  • Presentation automation engineers
  • Accessibility-focused developers
  • Technical documentation teams
  • Enterprise template builders
  • Agents authoring or modifying PPTX files programmatically

pptx-slide-specification FAQ

Can the renderer automatically adjust text size or reposition objects?

No. The specification is coordinate-explicit and final. No renderer may decide placement, shrink text, or infer layout after the audit.

What coordinate system does this use?

Bounding boxes are specified in inches using absolute positioning within the slide layout.

How do I ensure accessibility?

Every slide must declare an accessibility reading order, and every meaningful object must have a role and classification. Provide alt text for images and record source references for sourced claims.

Can background elements extend beyond the safe margin?

Yes, only background layout_design objects may be full bleed. All normal content must stay inside the safe margin and above the footer rail.

What object types are supported?

Native objects include text, shape, line, table, and image. Recreate labels and values from visuals as native objects rather than using grouped graphics.

Full instructions (SKILL.md)

Source of truth, from wshobson/agents.


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.