powerpoint
Create designed, editable PowerPoint .pptx presentations with PptxGenJS.
Skill by the-open-agent
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/the-open-agent-powerpoint
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/powerpoint
What's inside
- Skill name
powerpoint- Description
- Create designed, editable PowerPoint .pptx presentations with PptxGenJS. Use when the user asks to create, generate, update, or inspect a deck, slide deck, presentation, or .pptx file.
- License
- Apache-2.0
- Instructions
- 87 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- pptxgenjs.md · references/
SKILL.md (first lines)
# PowerPoint
Use this skill whenever a PowerPoint deck is involved. For new decks, pass a trusted PptxGenJS build script directly to the `pptx_write` tool. For filling or editing an existing template, call `pptx_template_analyze` first and then `pptx_template_fill` with the exact IDs returned by analysis.
## Workflow
1. Decide the deck outline and choose a visual system: palette, typography, repeated motif, and slide rhythm.
2. Write JavaScript module content that exports `default async function build(pptx, ctx)` or named `build(pptx, ctx)`.
3. In the script, add slides directly with PptxGenJS. Do not generate HTML for this workflow.
4. Call `pptx_write` with `path`, `script`, optional `assets_dir`, and optional `data`.
5. Verify the result with `pptx_read`; for visual QA, convert the PPTX to images if the environment has LibreOffice and Poppler.
## Template Workflow
- Use `pptx_template_analyze` when the user provides a `.pptx` template or wants to preserve existing layouts, charts, images, tables, or SmartArt.
- Build a `template_fill_pptx_plan.v1` plan from the returned slide IDs and object IDs, then call `pptx_template_fill`.
- For SmartArt, use `smartarts[*].smartart_id` and `smartarts[*].nodes[*].node_id` in `smartart_edits`. This edits existing node text only; it does not create, delete, or relayout SmartArt nodes.
## Script Creation
- Put the complete JavaScript module in the `script` argument.
- Do not use `local_file_write` or shell commands to create a temporary `.mjs` file for this workflow.
- If revising a deck, update the `script` content and call `pptx_write` again.
## Tool Contract
```json
{
"tool": "pptx_write",
"arguments": {
"path": "deck.pptx",
"script": "export default async function build(pptx, ctx) {\\n pptx.layout = \"LAYOUT_WIDE\";\\n}",
"assets_dir": "/absolute/path/to/assets",
"data": {"title": "Quarterly Review"}
}
}
```
The worker creates the PptxGenJS instance and writes the output file. The script only adds slides and content.
```javascript
export default async function build(pptx, ctx) {
pptx.layout = "LAYOUT_WIDE";
pptx.author = "OpenAgent";
const slide = pptx.addSlide();
slide.background = { color: "FFFFFF" };
slide.addText("Title", {
x: 0.6, y: 0.4, w: 8, h: 0.6,
fontSize: 36, bold: true, color: "1F2937",
margin: 0,
});
slide.addNotes("speaker notes");
}
```
`ctx` includes:
- `ctx.data`: JSON data passed from the tool call.
- `ctx.assetsDir`: resolved asset directory.
- `ctx.outPath`: final PPTX path.
- `ctx.resolveAsset("image.png")`: absolute path under `assets_dir`.
- `ctx.imageData("image.png")`: base64 image data URL.
- `ctx.iconSvgData("check", "16A34A")`: Font Awesome solid icon as SVG data.
## Design Rules
- Avoid plain white bullet decks. Every slide should have a visual element: shape, image, chart, icon, timeline, stat callout, or diagram.
- Vary layouts across the deck: title, divider, two-column, card grid, process flow, quote/callout, and conclusion.
- Pick topic-specific colors. Use one dominant color, one or two supporting tones, and one accent.
- Use strong hierarchy: titles around 36-44 pt, section labels around 20-24 pt, body text around 14-18 pt.
- Keep at least 0.5 inch margins and consistent gaps around 0.3-0.5 inch.
- Use editable text wherever practical; use images for photos, screenshots, logos, or complex visual backgrounds.
- Add speaker notes when useful; `pptx_read` can surface them later.
## PptxGenJS Reference
For API patterns, chart examples, bullets, image sizing, icons, and common file-corruption pitfalls, load `pptxgenjs.md`.
## Required QA
- Run `pptx_read` on the generated file and check slide order, missing text, typo risk, and notes.
- Inspect generated XML or render slides when visual precision matters.
- Watch for overlap, text overflow, low contrast, cramped spacing, repeated layouts, and leftover placeholder text.
- If a visual issue is found, edit the `.mjs` script and rewrite the PPTX.From the-open-agent/openagent, Apache-2.0.
More from the-open-agent/openagent
- 0.789score
github
the-open-agent
Use when interacting with GitHub repositories, authentication, remotes, pushes, or repository creation through the GitHub CLI and related git workflows.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
node-connect
the-open-agent
Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
slack
the-open-agent
Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
things-mac
the-open-agent
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database).
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
healthcheck
the-open-agent
Host security hardening and risk-tolerance configuration for OpenClaw deployments.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.782score
wacli
the-open-agent
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.667score
1password
the-open-agent
Set up and use 1Password CLI (op).
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.662score
clawhub
the-open-agent
Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.662score
apple-notes
the-open-agent
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes).
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.662score
bluebubbles
the-open-agent
Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration).
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.662score
coding-agent
the-open-agent
Delegate coding tasks to Codex, Claude Code, or Pi agents via background process.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.656score
gifgrep
the-open-agent
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
SkillBFreshness: B★ 5.7KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 5,708
- Forks
- 669
- Open issues
- 49
- Last commit (this folder)
- Jun 18, 2026 (4 months ago)
- Last release
- Sep 1, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/the-open-agent/openagent
- Website
- openagentai.org
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from the-open-agent
- 0.789score
healthcheck
the-open-agent
Host security hardening and risk-tolerance configuration for OpenClaw deployments.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
github
the-open-agent
Use when interacting with GitHub repositories, authentication, remotes, pushes, or repository creation through the GitHub CLI and related git workflows.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
node-connect
the-open-agent
Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
slack
the-open-agent
Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.789score
things-mac
the-open-agent
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database).
SkillBFreshness: B★ 5.7KClaude Code +9 - 0.782score
wacli
the-open-agent
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI.
SkillBFreshness: B★ 5.7KClaude Code +9
Cite this page
powerpoint skill. Agent Mart. https://agentmart.dev/skills/the-open-agent-powerpoint (last updated 2026-10-24)