Design outputs
- deckbrief.md — audience, goal, tension, success criteria.
- astoutline.md — AST map and narrative arc.
- slideplan.json — slide-by-slide plan, with per-page media: {image, diagram, video} decision and layouthint.
nexu-io/open-design
Use it for design tasks; the detail page covers purpose, installation, and practical steps.
npx skills add https://github.com/nexu-io/open-design --skill "plugins/community/humanize-ppt"Source checked Jul 28, 2026·Refresh due Oct 26, 2026
Reorganized from the pinned upstream SKILL.md
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 fir…
npx skills add https://github.com/nexu-io/open-design --skill "plugins/community/humanize-ppt"The pinned source contains enough sections and task detail for a source-grounded deep guide; automated content is still not an independent test.
1,937 source words · 9 usable sections
Design outputs
Design process
Sections are extracted automatically from the pinned SKILL.md and link back to the source.
Review the “Recommended OPC workflow (v0.6.4)” section in the pinned source before continuing.
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 Presen…
AST means Audience-State-Transfer.
For every Humanize PPT run, produce:
1. Humanize is brief-only. It writes the renderer production contract and stops. It does not open, copy, or post-process downstream templates or final HTML/PPTX. 2. Downstream renderers are 100% native. The next agent follows the downstream skill's own SKILL.md. The brief tells…
SkillSignal prompt templates
These prompts were written by SkillSignal from the source structure; they are not upstream text.
Source-grounded prompt
Use for a design task while explicitly checking the source sections.
Use humanize-ppt for this design task: [task]. Inputs and constraints: [details]. Work through these pinned SKILL.md sections: “Recommended OPC workflow (v0.6.4)”, “Positioning”, “AST theory”, “Required output contract”, “Rules”. Cite the concrete requirements that shape each step, do not invent capabilities absent from the source, and verify the result against: [acceptance criteria].
Design checklist
The source section “Recommended OPC workflow (v0.6.4)” has been checked.
The source section “Positioning” has been checked.
The source section “AST theory” has been checked.
The source section “Required output contract” has been checked.
Source output checked: deckbrief.md — audience, goal, tension, success criteria.
Source output checked: astoutline.md — AST map and narrative arc.
Static permission evidence
These are source excerpts matched by deterministic rules, not findings of malicious behavior, safety, or actual execution.
Choose a different workflow
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
A separate implementation from coreyhaines31/marketingskills; compare its source, maintenance signals, and permission requirements.
Open source detailWhen the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o
A separate implementation from coreyhaines31/marketingskills; compare its source, maintenance signals, and permission requirements.
Open source detailGrounded design brief from the adopted corpus — style, WCAG-checked color tokens, typography, layout pattern, anti-patterns. Use on ui-design-brief or any which-style/palette/font/chart decision.
A separate implementation from event4u-app/agent-config; compare its source, maintenance signals, and permission requirements.
Open source detailFAQ
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 fir…
The source record exposes this install command: npx skills add https://github.com/nexu-io/open-design --skill "plugins/community/humanize-ppt". Inspect the command and pinned source before running it.
Static rules flagged write-files in the source; the page lists the matching lines and excerpts.
Quality breakdown
Based on traceable docs and repository signals; stars are not treated as quality.
Compare before choosing
These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o
Grounded design brief from the adopted corpus — style, WCAG-checked color tokens, typography, layout pattern, anti-patterns. Use on ui-design-brief or any which-style/palette/font/chart decision.
Write and maintain DESIGN.md + PRODUCT.md — captures visual decisions and interaction patterns so design tasks stay consistent across sessions without re-scanning past work.
Use BEFORE writing or editing any non-trivial UI — inventories components, design tokens, shadcn primitives, and reusable patterns into state.ui_audit. Hard gate for the ui directive set.
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.slide_plan.json — slide-by-slide plan, with per-page media: {image, diagram, video} decision and layout_hint.speaker_intent.md — what the speaker should do on each slide. Downstream skills consume this as the source for their native speaker notes and presenter shell.asset_manifest.md — Humanize's per-page material decisions: which page needs which kind of asset (image / diagram / video) and for what purpose.video_slots.json — optional Remotion / HyperFrames / native video insertion plan.style_brief.md — visual principle for downstream production.renderer_registry.json — renderer capability snapshot for this run.router_plan.json — selected primary renderer and staged route plan.commands/*.md — bounded instructions for each downstream specialist agent.run_manifest.json — final file inventory, route status, and QA status.<renderer>-production-prompt.md — the downstream entrypoint. In addition to the HTML routes, ppt-master emits ppt-master-production-prompt.md + self-contained ppt-master-source.md and disposable outputs/ppt-master-handoff/ copies.outputs/qa/qa_report.md — first-pass QA gate (brief mode) or per-iteration QA findings (QA mode).QA mode (post-render) additionally produces per iteration:
outputs/qa/fix_prompt.md — downstream-skill-actionable fix instructions.outputs/qa/qa_iteration.json — round number, status (iterate / pass / needs-human), unresolved findings, history.Style-gallery mode (--style-gallery, pre-outline gate) instead produces and stops:
style_gallery.html plus ≥4 cover entries. PPT Master: no fake gallery HTML; style selection stays in its native Confirm UI.style_gallery_plan.json — cover candidates for HTML or mode: downstream-confirm-ui for PPT Master.commands/style-gallery/<id>.md — cover command for HTML, or ppt-master-confirm-ui.md for the native gate.O — Outline + Per-Page Media Direction
Humanize PPT: raw material → AST outline + per-page media decision
(deck_brief.md, ast_outline.md, slide_plan.json, speaker_intent.md,
asset_manifest.md, video_slots.json, style_brief.md)
P — Native Renderer Invocation (100% downstream)
zh → guizang-ppt-skill (Style A or B, native; recommended)
en → frontend-slides / beautiful-html-templates (native; recommended)
pptx → ppt-master (native DrawingML; explicit --renderer ppt-master)
other HTML-PPT skills → hot-pluggable, same brief contract
Humanize emits the production prompt and stops. The downstream
skill renders the deck. Humanize does NOT copy templates, does
NOT inject SLIDES_HERE / [必填] replacements, does NOT add
postMessage bridges to the rendered HTML.
Q — Presentation Checkup (演讲体检) on the rendered artifact
Humanize --qa-from <rendered.html|native.pptx> reads the output of P,
compares pages against the outline, scans for failure modes
(references/qa-failure-modes.md), writes qa_report.md and
fix_prompt.md, tracks iteration in qa_iteration.json.
Cap: 3 rounds. After cap with remaining findings, status
flips to needs-human.
C — Complete / Control
Downstream skill native speaker notes + presenter shell + deploy
(Humanize does not own these in v0.6.4 — the brief tells the
next agent to produce them in the downstream skill's own format)
SKILL.md. The brief tells the next agent which skill to load, which Style (A/B) to use, which layouts to pick from, and which QA gates must pass — but it does not carry template internals.needs-human. The loop does not spin forever; it hands the decision back to a human.presenter-shell.html; downstream owns the full stage. Humanize owns the semantic source (speaker_intent.md) and now also writes outputs/presenter/presenter-shell.html directly from slide_plan.json + speaker_intent.md (usable standalone, even before the downstream deck exists). The downstream skill produces the native speaker notes and fuller presenter console. Humanize does not inject postMessage bridges or ?slide= URL parameters into the rendered HTML.ppt-master-source.md, which freezes the Humanize page story and notes intent without duplicating PPT Master's visual contracts.presenter-shell.html is a functional baseline, not a replacement for native consoles.router_plan.json, run_manifest.json, bounded commands/*.md, and the per-renderer production prompt before wiring real downstream Skills.trading-team: root-level .codebuddy-plugin/plugin.json, agents/, skills/, rules/, and setting.json (plus optional avatars/, .workbuddy-plugin/, README.md, settings.json). The rules/ directory should include a scenario rule file such as rules/<plugin-name>_rules.md with frontmatter (description, alwaysApply, enabled, updatedAt, provider) and a <system_reminder> block describing available agents, skills, SOP, and usage requirements. Verify with unzip -l that the root is not index.html/assets/screenshots/source and is not folder-wrapped unless the target uploader explicitly requires a wrapper directory.media.video decision per page (see slide_plan.json schema) tells the downstream skill which pages want a Remotion clip, for what purpose, and at what duration.references/guizang-production-brief-orchestrator.md — canonical brief specification: what <renderer>-production-prompt.md must and must not contain.references/qa-failure-modes.md (+ English mirror references/qa-failure-modes.en.md) — failure-mode catalog for the presentation checkup; code-side source of truth is FAILURE_MODES in scripts/humanize_ppt_v2.py.references/style-gallery-spec.md — the --style-gallery cover-style gate.references/renderer-guidance.md — per-renderer recommended paths and the known-good checkpoint rules.references/renderer-verification.md — per-renderer verification evidence behind the frontmatter one-liners.adapters/ppt-master-bridge-notes.md — native PPTX route boundary and OOXML checkup contract.SPEC.md — engine technical specification: CLI surface, data flow, output contract, style gallery, checkup, media model, renderer registry.docs/index.md.The recommended stable entrypoint is scripts/humanize_ppt.py (versioned scripts remain as compatibility shims). Full CLI examples — brief mode, presentation checkup, native PPTX, outline preview, legacy entrypoints — live in docs/local-demo.md.
--out warning: point --out at a dedicated run directory. Brief mode rebuilds it from scratch every run, but only wipes it automatically when it is missing, empty, or already a previous Humanize PPT run (run_manifest.json / style_gallery_plan.json / outline-preview.md / preview-confirmed.json at its root) — otherwise it refuses and asks for --force.