Install any skill in seconds. Free to start, no credit card required.
Get Started Free →nexu-io/humanize-ppt
A presentation system for agent-made PPTs — born for the talk, not just the template. It turns raw material into an AST (audience-state-transfer) outline with per-page visual-enhancement decisions (image / SVG diagram / video), hands a production brief to a downstream renderer (HTML-PPT skills or native PPTX), then runs a capped 3-round presentation checkup (演讲体检) on the rendered deck. It never renders slides itself. Use before generating PPT/HTML slides from raw material, and after rendering wh
Passed 18 of 21 test cases with the skill, and 4 of 21 without it.
and 22 more in the full report
16 fixed4 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 16 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am targetting a Chinese HTML slide output route from my presentation AST brief. Which native downstream skill is configured as the verified default route for Chinese HTML presentations in the renderer registry?
| Checked | Without skill | With skill |
|---|---|---|
| selects guizang-ppt-skill as the primary renderer for Chinese HTML presentations | Missed | Passed |
The instructions your model reads when the skill loads.
Use this skill when a user wants to turn raw material, notes, voice transcripts, documents, or links into a presentation-ready outline and per-page media decisions before delegating rendering to a downstream skill. Old PPT/PPTX files are not read directly: extract their text first (see scripts/pptx_qa.py's dump/inspect output), then feed that text in as --source. A deck Humanize PPT already rendered goes through --qa-from <rendered.pptx> instead — the presentation checkup, not brief mode.
Humanize PPT is a presentation system, born for the talk: an Outline Director (AST audience-state-transfer — every page turn moves the audience forward), a Per-Page Visual-Enhancement Director (real image / SVG diagram / Remotion video), a Production Brief Orchestrator, a Presentation Checkup Runner (演讲体检; formerly the QA loop, CLI flag still --qa-from), and a Presenter-Mode hand-off. The motivation: HTML-PPT template skills are great at concept display but blow a simple idea into a dozen pretty pages, while a real 90-minute talk is ~30 — the pretty shell outruns the content density. Humanize closes that gap: it keeps the beauty (rendered natively by the downstream template skill) and makes it presentable — a line you can stand up and deliver. Downstream template skills own "renders beautifully"; Humanize owns "it's a talk, and someone checked it."
The presentation checkup in one sentence: it does not grade beauty, it grades the outline. It compares every rendered page against its outline page, pulls out the pages that can only be looked at but not spoken from, and keeps going until every page is one the speaker can stand up and present. A failed page, in plain words: a page that holds only a few words and never finishes its point, or a page that fails the audience state transfer it promised (the listener walks out of that page in the same state they walked in). Such a page should not exist; the checkup pulls it out and generates fix instructions.
Humanize is broadly compatible with downstream renderers that can consume plain markdown + JSON. Verified routes are: Chinese HTML → guizang-ppt-skill; English HTML → frontend-slides / beautiful-html-templates; native editable PowerPoint → ppt-master. Other downstreams remain hot-pluggable; support levels live in registry/renderer_registry.json and move only on real output.
It runs before downstream PPT / HTML slide skills and around the post-render presentation checkup. It owns the AST contract, the per-page media decision (does this page need a photo, a system diagram, a 10-second process clip, nothing?), the production brief that the next agent consumes, and the checkup pass on rendered HTML/PPTX. It does not own the rendered deck itself.
There are two human review gates before rendering: the outline preview and the renderer's style gate. HTML routes use Humanize's ≥4 real-cover --style-gallery. PPT Master already owns a mandatory three-stage Confirm UI with native visual previews, so --renderer ppt-master --style-gallery delegates to that gate and writes style_gallery_plan.json + commands/style-gallery/ppt-master-confirm-ui.md rather than duplicating the catalog.
The user calls Humanize PPT once for the brief, hands the brief to a downstream skill for native rendering, then calls Humanize again with --qa-from <rendered.html|native.pptx> to run the 3-iteration presentation checkup. Each iteration writes qa_report.md, fix_prompt.md, and qa_iteration.json. After 3 rounds with remaining failures, status flips to needs-human.
Humanize PPT never copies a downstream skill's template, never injects custom sections into it, and never post-processes rendered HTML or PPTX. Fixes return to the downstream author source. See references/guizang-production-brief-orchestrator.md and adapters/ppt-master-bridge-notes.md.
For public positioning, describe Humanize PPT as a brief orchestrator that pairs with native downstream renderers. Do not frame it as a renderer itself, and do not present it as a "router" that picks the best visual style for the user — that decision lives in the brief, the downstream skill's own templates, and the human's review. When a user only wants a pretty template page, that is a rendering-skill job, not a Humanize job: state the choice, not a prohibition.
AST means Audience-State-Transfer.
Core sentence:
PPT is not an information container. PPT is an audience state-transfer artifact.
For every Humanize PPT run, produce:
deck_brief.md — audience, goal, tension, success criteria.ast_outline.md — AST map and narrative arc.test cases passed, vs 4 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.