Tell your coding agent what to present. The pom-slide skill turns the request into pom XML, and pom CLI previews and builds native, editable PPTX files.
01 · Prompt
Describe the deck
02 · Agent skills
Match, design, review
03 · pom XML
Editable source of truth
04 · pom CLI
Preview and build
05 · PPTX
Native PowerPoint
Prompt → preview → PowerPoint
Install the two agent skills and pom CLI, then ask your agent for a deck. The generated slides.pom.xml stays under your control as the editable source.
1. Install skills and CLI
npx skills add hirokisakabe/pom --all
npm install -g @hirokisakabe/pom-cli2. Ask your agent
Create a three-slide quarterly sales report with a title, chart, and summary.3. Build with pom CLI
pom build slides.pom.xml -o slides.pptxRequires Node.js 22+. Agents can select installed skills automatically when your request matches their descriptions, so you do not need to name one. To onboard brand colors first, ask your agent to create a pom theme from your brand assets. If needed, use your agent's skill picker for direct invocation. If preview does not start automatically, run pom preview slides.pom.xml.
Describe the deck you want in natural language. The agent can select the installed skill when the request matches its description.
Describe slides as XML. No imperative API calls needed — just data in, PPTX out.
Flexbox-style layout with VStack / HStack, powered by yoga-layout.
20 built-in node types: charts, flowcharts, tables, timelines, org trees, and more.
Generates real editable PowerPoint shapes — not images. Recipients can modify everything.
Define headers, footers, and page numbers once — applied to all slides automatically.
Building a custom pipeline? Pass pom XML to buildPptxdirectly for full TypeScript control.
import { buildPptx } from "@hirokisakabe/pom";
const xml = `
<Slide>
<VStack w="100%" h="max" padding="48" gap="24" alignItems="start">
<Text fontSize="48" bold="true">
Presentation Title
</Text>
<Text fontSize="24" color="666666">
Generated with pom
</Text>
</VStack>
</Slide>
`;
const { pptx } = await buildPptx(xml, { w: 1280, h: 720 });
await pptx.writeFile({ fileName: "presentation.pptx" });From simple text to complex charts and diagrams — everything renders as native PowerPoint shapes.