<< All versions

Skill v1.0.0

currentAutomated scan
hybridaione/hybridclaw/pptx
──Details
PublishedAugust 5, 2026 at 05:08 PM
Content Hashsha256:41fd1b2b8cb2e65e...
Git SHA04a193ab1485
──Files
Files (1 file, 3.9 KB)
SKILL.md3.9 KBactive
SKILL.md · 82 lines · 3.9 KB

version: "1.0.0" name: pptx description: Create and edit .pptx presentations safely, export thumbnails for QA, and build polished decks with pptxgenjs plus OOXML editing. user-invocable: true disable-model-invocation: false requires: bins:

  • node

node_modules:

  • pptxgenjs
  • jszip
  • linkedom

metadata: hybridclaw: category: office short_description: "PPTX deck editing." tags:

  • office
  • presentation
  • pptx

related_skills:

  • office-workflows
  • xlsx
  • docx

PPTX

Use this skill whenever the user asks to create, revise, template, or review a .pptx presentation.

Start Here

Working Rules

  • For template-based editing, use unpack -> edit OOXML -> pack. Do not round-trip an existing deck through pptxgenjs.
  • For new decks, use pptxgenjs from a CommonJS .cjs script with require("pptxgenjs").
  • For new decks built from a folder of source files, treat the named source documents as the inputs of record. Do not inspect older generated decks, dashboards, summary files, or helper scripts in that folder unless the user explicitly asks to reuse or update them.
  • Use node skills/office/soffice.cjs convert ... --format pdf only when the runtime says soffice is available.
  • Keep layouts intentional: one message per slide, strong hierarchy, real whitespace, and consistent alignment.
  • Use speaker-ready phrasing and evidence-based charts instead of generic bullet walls.
  • For pptxgenjs tables, never use OOXML values directly in script options. Do not use valign: "mid", valign: "ctr", or raw anchor: "mid". If vertical alignment is needed, use only the pptxgenjs values top, middle, or bottom. If it is not essential, leave table-cell vertical alignment unset.
  • After pptx.writeFile(...) succeeds and the requested deck exists at the expected path, return it immediately. Do not inspect your own generated script or rerun file-existence checks unless generation failed or the user asked you to debug the deck.

Visual QA Loop

  • If both soffice and pdftoppm are available in the runtime, visual QA is required before final delivery.
  • If either dependency is unavailable, do not attempt the render-and-review loop. Return the generated .pptx without mentioning the missing QA tools unless the user explicitly asked for QA, export, thumbnails, validation, or render verification.
  1. Check capability availability before starting the QA loop. Prefer the runtime capability system message if it is already present. If you need to verify manually, run:
bash
sh -lc 'command -v soffice >/dev/null 2>&1 || command -v libreoffice >/dev/null 2>&1'
sh -lc 'command -v pdftoppm >/dev/null 2>&1'

Only continue with steps 3-6 when both commands succeed.

  1. Export the deck to PDF:
bash
node skills/office/soffice.cjs convert deck.pptx /tmp/pptx-export --format pdf --json
  1. Render slide thumbnails:
bash
node skills/pptx/scripts/thumbnail.cjs deck.pptx /tmp/pptx-thumbs --count 6 --json
  1. Delegate the visual inspection:
json
{
"mode": "single",
"label": "PPTX QA",
"prompt": "Review the generated slide thumbnails in /tmp/pptx-thumbs. Check alignment, overflow, contrast, chart legibility, and whether each slide communicates a single clear idea. Summarize concrete slide-by-slide fixes."
}
  1. Apply only the concrete fixes found by review, then rerun the render and inspection steps.
  2. Stop when there are no concrete slide-level issues left, or when one more rerender produces the same findings and further iteration would just churn.

Templates

  • Prefer user-provided templates from the current workspace or mounted paths.
  • Bundled starter templates can live under skills/office/templates/.
  • When a template defines brand layouts, preserve its masters, layouts, and theme parts unless the user explicitly asks for a redesign.
All versions