agentleFS
the-open-agentthe-open-agent/openagent/skills/powerpoint/SKILL.md

powerpoint

Skill5.7k starsChanged 37 days agoApache-2.0View on GitHub

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.

28 other projects use a version of this.

Trending

Quiet since September.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 1 mentionMay 2026: 15 mentionsJun 2026: 3 mentionsJul 2026: 5 mentionsAug 2026: 3 mentionsSep 2026: 3 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the the-open-agent/openagent repository that our weekly crawl found. There is no adoption data for this file yet.

Most recently taken up by

Who's talking about the-open-agent/openagent

The biggest 5 of 30 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 30

Talked about on GitHub and Bluesky (30 times).

On GitHub · 26

21 more on GitHub

On Bluesky · 4

Used with

Projects with it also use teams-meeting-pipeline, songwriting-and-ai-music and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • john-data-chenSkill

    teams-meeting-pipeline

    Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.

    Also in 8 projects that use this

  • Tommy-ywSkill

    songwriting-and-ai-music

    Songwriting craft, AI music generation prompts (Suno focus), parody/adaptation techniques, phonetic tricks, and lessons learned. These are tools and ideas, not rules. Break any of them when the art calls for it.

    Also in 10 projects that use this

  • john-data-chenSkill

    touchdesigner-mcp

    Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.

    Also in 5 projects that use this

  • aivrarSkill

    competitor-news-monitor

    Watch named companies for material news; cited digests.

    Also in 5 projects that use this

  • aivrarSkill

    blocked-page-recovery

    Recover blocked/paywalled/WAF'd pages via fallbacks.

    Also in 5 projects that use this

  • mae616Skill

    p5js

    p5.js(クリエイティブコーディング)のProcessing由来「コードでスケッチ」思想を軸に、setup/drawループ・座標系・インタラクション・パフォーマンス最適化を整理する。p5.js、Processing、クリエイティブコーディング、ジェネラティブアート、インタラクティブ表現、ビジュアルプログラミング、Canvas描画、パーティクル、フラクタル、ノイズ表現に関する相談で必ず使うこと。ユーザーが「コードでアート」「動くビジュアル」「インタラクティブな描画」と言った場合にも適用する。

    Also in 9 projects that use this

  • +3 more from aivrar

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 4 are distinctive, and 11 are very specific to this project.

  • 0

    Common

    Most of the 26 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this skill whenever a PowerPoint deck is involved.

    line 8
  2. Very specific:

    Write JavaScript module content that exports default async function build(pptx, ctx) or named build(pptx, ctx).

    line 13
  3. Very specific:

    Call pptx_write with path, script, optional assets_dir, and optional data.

    line 15
  4. Very specific:

    Verify the result with pptx_read.

    line 16
  5. Very specific:

    Use pptx_template_analyze when the user provides a .pptx template or wants to preserve existing layouts, charts, images, tables, or …

    line 20
  6. Very specific:

    Put the complete JavaScript module in the script argument.

    line 26
  7. Very specific:

    Do not use local_file_write or shell commands to create a temporary .mjs file for this workflow.

    line 27
  8. Very specific:

    If revising a deck, update the script content and call pptx_write again.

    line 28
  9. Distinctive:

    Avoid plain white bullet decks.

    line 73
  10. Distinctive:

    Use strong hierarchy: titles around 36-44 pt, section labels around 20-24 pt, body text around 14-18 pt.

    line 76
  11. Distinctive:

    Keep at least 0.5 inch margins and consistent gaps around 0.3-0.5 inch.

    line 77
  12. Distinctive:

    Use editable text wherever practical.

    line 78
  13. Very specific:

    Add speaker notes when useful.

    line 79
  14. Very specific:

    Run pptx_read on the generated file and check slide order, missing text, typo risk, and notes.

    line 87
  15. Very specific:

    If a visual issue is found, edit the .mjs script and rewrite the PPTX.

    line 90

“Common” is measured: kept by at least 6 in 10 of the 26 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

{
  "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.

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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.