agentleFS
penfickpenfick/skills/pptx-penfick/SKILL.md

pptx-penfick

Skill12 starsChanged 53 days agoMITView on GitHub

Generate PowerPoint decks from a structured JSON outline (page-by-page types, titles, bullets). Use when the user asks to create, build, or export a PPT/PPTX/ 演示文稿/幻灯片/deck/presentation. CLI: pptx-penfick (alias pptskill). Produces local .pptx plus structural QA. Does not invent logos or real product photos.

  • In this repositoryOne other file it gives its agents.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

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

    If you cannot inspect PNGs, still run qa --visual and say 「仅结构/几何 QA,未做像素级目检」 in the reply.

    line 23

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

pptx-penfick

Deterministic PPT renderer: JSON outline → .pptx + QA. Agent owns research and outline content; CLI owns layout, CJK fonts, and validity.

CLI command: pptx-penfick (alias pptskill if installed that way). Requires the CLI package installed (see skill README).

Iron laws (follow every deck job)

  1. Output only under the current project/workspace (cwd or the project the user named). Never %USERPROFILE% / Desktop unless the user asks.
  2. User materials first — if facts/structure/numbers are provided, do not web-search; fill gaps by asking one question or marking 示意.
  3. Never copy facts/numbers/segments/people from example outlines into another topic. Do not open examples/ during generation jobs when you already know the schema.
  4. Before render: pptx-penfick validate then pptx-penfick content-check (use --expect-pages when the user asked for N pages; --allow only if the topic truly includes a deny term).
  5. Deliver the .pptx: say PPT 已生成 + absolute path + one-line summary; call present_files (or attach) with the .pptx first if the host has it. Never end on outline/QA only.
  6. If you cannot inspect PNGs, still run qa --visual and say 「仅结构/几何 QA,未做像素级目检」 in the reply.

Workflow

  1. Clarify topic, page count, audience, language, theme (发布会→dark-keynote;汇报→light-corporate;课件→education-blue;路演→pitch-green).
  2. Output dir under the project: <project>/<slug>/ (outline, assets, qa, pptx).
  3. Research policy: materials first (Iron laws). Unverified numbers → 示意.
  4. Draft outline JSON — one thesis per slide; prefer chart/image_text/compare/kpi; every slide notes.
  5. Assets (if image_text): local files → pptx-penfick assets import … → assets check.
  6. Validate + content-check:
    pptx-penfick validate outline.json
    pptx-penfick content-check outline.json --expect-pages 15
  7. Render: pptx-penfick render outline.json -o <path>.pptx (optional --ensure-contrast).
  8. QA: pptx-penfick qa out.pptx --visual --json qa-report.json then export-png if needed; update-slide to fix.
  9. Deliver per Iron law 5.

Slide types (summary)

cover · agenda · section · title_body · two_col · timeline · data_cards · chart · image_text · compare · kpi · quote · closing

Themes: dark-keynote · light-corporate · education-blue · pitch-green · minimal-mono · finance-navy · warm-editorial

Custom theme JSON / per-slide theme / theme_tokens / logo extract / theme fix — see CLI: pptx-penfick --help, pptx-penfick themes.

CLI reference

pptx-penfick validate <outline.json>
pptx-penfick content-check <outline.json> [--expect-pages N] [--allow terms]
pptx-penfick render <outline.json> -o out.pptx [--theme …] [--ensure-contrast]
pptx-penfick qa <out.pptx> [--visual] [--json report.json]
pptx-penfick export-png <out.pptx> --out-dir qa/
pptx-penfick update-slide <outline.json> --index N --patch patch.json
pptx-penfick assets check|import …
pptx-penfick theme extract|fix …
pptx-penfick themes

Exit codes: 0 ok · 2 schema · 3 render/export · 4 QA / content-check failed.

MCP: pptskill-mcp / python -m pptskill.mcp_server.

Out of scope

  • CLI image download/generation (agent may fetch then assets import)
  • Vision auto-fix loop
  • In-place edit of existing .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.