bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻译准备中
一个 Claude Code 技能,用于生成惊艳的 HTML 演示文稿,具备 AI 驱动的规划、样式发现和 PPTX 导出。
AI 翻译
A Claude Code skill for generating stunning HTML presentations with AI-powered planning, style discovery, and PPTX export
技能Python · HTMLGitHub @kaisersong自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
正在加载完整 README。 以下为已保存的摘录。
You have great content — but great content deserves a great presentation. AI can generate slides, but the results are inconsistent and re-rolling gets old fast. Slide-Creator gives you stable, polished output every time: pick a style that fits your audience, and let the model handle the rest. Go grab a coffee.
See the guide as a report → — this document was generated by slide-creator itself.
A skill for Claude Code and OpenClaw that generates stunning, zero-dependency HTML presentations.
See what slide-creator produces — open directly in your browser:查看完整 README ↗You have great content — but great content deserves a great presentation. AI can generate slides, but the results are inconsistent and re-rolling gets old fast. Slide-Creator separates content planning from consistent rendering: pick a style that fits your audience, then review important facts and decision conditions before presenting.
See the guide as a report → — this document was generated by slide-creator itself.
A skill for Claude Code and OpenClaw that generates stunning, zero-dependency HTML presentations.
English | 简体中文
Compact Skill runtime ZIP · Release and SHA-256 · Optimization methodology v1.0.1 ZIP
Read the cross-Skill optimization guide, including plan, evaluation and bug templates. The methodology is packaged separately to keep research documents out of the normal generation context.
See what slide-creator produces — open directly in your browser:
Click any screenshot below to open the live demo (same content, different styles):
slide-creator serves the last step of a content workflow: turning an existing argument into a usable presentation. That step often arrives after a long conversation. The architecture preserves the original material and explicit choices, gives the model a compact content contract, and delegates repeated implementation to a renderer.
flowchart LR
R["Explicit user preset"] --> V["Request and BRIEF checks"]
S["Original source"] --> M["Model organizes content"]
C["Compiled capability contract"] --> M
M --> B["BRIEF.json"]
B --> V
V --> G["Canonical renderer"]
G --> H["Pre-write gates"]
H --> O["Browser-native HTML"]
O --> Q["Review and task evaluation"]
S --> Q
Review and evaluation run according to the requested workflow; ordinary generation does not automatically invoke an independent model judge. Each layer has a distinct responsibility.
The model organizes claims, evidence, narrative, exhibit intent, local facts, the closing request and speaker notes. The program loads the complete selected style and runtime, chooses concrete layouts, implements CSS and JavaScript, assembles export DOM, and validates the output before writing.
This split reduces repeated source reads and implementation retries. A renderer defect belongs in the renderer; asking every new content task to inspect and patch runtime code would hide that defect and consume context. The generator follows render_from_brief() for native core presets, unified profile presets and supported custom themes.
Auto and Polish retain the same execution path. Auto produces a first draft; Polish adds deeper content and design review. Polish is an additional review workflow, not a guarantee of perfect source fidelity.
Original material defines the facts. Explicit user choices define the requested output. BRIEF.json is the model's structured interpretation of both, so it can still contain a mistake. A valid schema does not make its claims true.
The plan keeps each page's claim, explanation, supporting_facts, numeric evidence and visual intent together. numeric_facts is an auxiliary index for binding values, not an extra set of table rows. speaker_note carries speaking guidance separately from audience-visible copy, and desired_action preserves the scope and timing of the closing request. Old BRIEF files retain documented fallbacks.
--plan creates this executable plan. PLANNING.md remains an optional human-readable view. The same rule applies to direct prompt generation: materialize BRIEF first and use the renderer instead of hand-authoring final HTML.
SKILL.md routes the task. The generation contract comes from the existing schema, style compiler, title profiles and capability registry, so the model receives field shapes, supported layouts, tokens and content rules without repeatedly reading implementation source.
Model reads → generation-contract.md + main.py --model-context --preset <style>
Program reads → references/html-template.md + references/js-engine.md + one style file + base-css.md
Technical use → technical-language.md when the content requires it
Deeper design → relevant style/reference sections for a concrete missing decision
The complete capability stays in the program. Context reduction must preserve evidence, conditions and necessary design choices; an arbitrary reference-read limit is not a substitute for a useful contract.
When the user has not selected a style, offer suitable previews and recommendations. When a style is already explicit, preserve it instead of reopening the choice.
Save that original selection in the task's SLIDE_REQUEST.json before authoring BRIEF. --generate checks the request independently of BRIEF.style.preset; a mismatch produces PRESET MISMATCH before output is written. The caller can also supply --requested-preset or --request-file. Aliases resolve against the actual style reference, and a conflicting argument cannot override the request file.
This requires the caller to record the user's choice correctly. It is a program constraint on the supplied request, not a guarantee that natural-language interpretation is infallible. Correct BRIEF after a mismatch; do not rewrite the request to fit the model's choice. Unsupported styles are reported rather than silently substituted.
Each page should carry complete local statements. Values stay attached to their source entities and units; targets remain targets, unknowns remain explicit, and interview clues do not become proven causes. A count of customers is not automatically a count of reviews, and an AND condition cannot become a single trigger.
Layout pressure calls for reflow, suitable exhibits and removal of complete verbatim duplicates. It does not justify clipping the last fact, inventing values, or repeating items to fill a fixed card count. Deduplication protects negation, decimal values, different conditions and the labels needed to interpret a metric. Unrelated units do not share a quantitative series; sparse material can explain the next test instead.
Titles need their own source review. A short headline can contradict a correct body by dropping a condition or changing the counted entity. Readability, contrast and visual rhythm are checked on the rendered result, with enough variety to support the argument rather than decoration alone.
A theme owns its visual language and content composition. The generator owns the shared editing, notes, navigation, progress and playback contract. A starter that omits required shell elements receives them; a theme that already provides them keeps one copy. Actual Edit/Done and keyboard interaction verifies that the shell works.
The delivered HTML runs in a browser without Python or a JavaScript build step, with local font fallback when network fonts are unavailable. The generator itself requires Python 3.10+ and its documented runtime dependencies. These are separate requirements.
Capability routing distinguishes the five native core presets, the four default recommendations, contextual Chinese Chan, reference-backed profile renderers and custom themes. Profile-rendered presets are renderable through the same program-owned path. A reference file or a bundled asset alone does not prove executable rendering or historical demo parity. The current Cloudhub limitation is documented rather than described as validated support.
| Layer | Responsibility | Meaning of a pass |
|---|---|---|
| Request and BRIEF | Check the explicit preset and input structure | The supplied request and plan are compatible |
| Pre-write gate | Check canonical provenance, required visible numbers and strict HTML/runtime rules | The output may be written under these program checks |
| Real browser | Activate actual controllers; measure geometry and contrast; exercise notes, editing and playback | The tested interaction and viewport work |
| Source review | Check entities, units, conjunctions, negation, targets, unknowns and headline strength | The reviewed content preserves its source |
| Full model task | Capture the task from request through generation, checks and independent grading | The evaluated task has a recorded outcome and cost |
| Release package | Extract the actual ZIP, install minimal dependencies and compare hosted bytes | The tested download corresponds to the release runtime |
Complete execution, automated pass, source-review pass and release publication are distinct states. A high mean quality score cannot cancel a critical semantic error. Known headline issues remain documented even when automated checks pass.
The ordinary CLI checks provenance, visible required numbers and strict HTML before writing. Requested single-deck --eval reports add diagnostics after that gate; they do not themselves prove a full model-task evaluation.
Optimization uses frozen inputs and implementation snapshots, fresh task workspaces, repeated model runs, real provider usage and independent grading. The same BRIEF rendered by two program versions isolates renderer behavior; it does not show what the model will author. Full prompt-to-deck runs answer the separate task-level question.
Report input, cached input, uncached input, output and wall time, keeping QA/grading and calibration costs visible. Failed and slow samples remain in the results. Cached input is included in total tokens, so a reduction in total tokens is not directly a reduction in billed cost.
Compare paired tasks and each task type, not just an overall average. Use inexpensive reproductions, focused regressions and fixed-input experiments before a complete validation round. Record research cost separately from per-deck savings; do not assemble a passing result from different versions' best samples.
A discovered bug should identify the failed layer, preserve the original request and artifact, and become a regression input. Changes to contracts or generation behavior require appropriate task evaluation; checker defects require calibration of affected comparisons. Package-only and documentation checks must retain their narrower scope.
The Skill optimization methodology provides reusable plan, evaluation and bug templates with an update log. The efficiency evaluation guide documents the actual measurement protocol. This feedback loop improves the program and contracts without making every user task redo the research.
These commands are for a full repository checkout with evaluation dependencies and, for model runs, an authenticated runner. The compact runtime ZIP intentionally excludes test and evaluation inputs.
The current before/after protocol is documented in evals/token-efficiency/README.md: freeze the task set and runtime, run baseline and candidate arms, then compare measured cost, quality and failures. Source-review dispositions remain alongside automated results.
The older captured-run harness remains available:
python3 scripts/run-skill-evals.py --runner codex --run-live --format json --json-out .tmp-run/skill-evals/results.json
From a source checkout, validate the harness with a recorded fixture:
python3 scripts/run-skill-evals.py --runner fixture --case-id explicit-generate --normalized-trace tests/fixtures/skill-evals/explicit-generate-normalized.json --format json
The captured-run scores cover Outcome, Process, Style and Efficiency. Fixture scores validate the harness and do not constitute new model-task evidence.
Its Supervisor, Generate Worker and Style Judge labels describe evaluation roles, not mandatory agents in ordinary deck generation. Fixture runs verify the harness; they are not model-task evidence. See the captured-run architecture for that separate protocol.
For the public preset delivery matrix:
python3 scripts/preset_release_gate.py \
--suite evals/preset-surface-all/manifest.json \
--output-dir .tmp-run/release-gate \
--contract --browser-geometry --mobile-geometry --export-smoke
This checks deterministic rendering, contracts, actual geometry and export DOM. --pptx-export is a separate real-export check; --demo-parity and --promotion-gate address their separate style claims. Report which options actually ran. On a single HTML deck, scripts/browser_geometry_qa.py deck.html --mode both --laptop-window --strict checks both window and presentation surfaces.
Tell Claude: "Install https://github.com/kaisersong/slide-creator"
Or manually:
git clone https://github.com/kaisersong/slide-creator ~/.claude/skills/slide-creator
Restart Claude Code. Use as /slide-creator.
# Via ClawHub (recommended)
clawhub install kai-slide-creator
# Or manually
git clone https://github.com/kaisersong/slide-creator ~/.openclaw/skills/slide-creator
ClawHub page: https://clawhub.ai/skills/kai-slide-creator
/slide-creator --plan # Analyze content + resources/, create BRIEF.json
/slide-creator --generate # Generate HTML from BRIEF.json
/slide-creator --review # Diagnose and fix content quality issues
/slide-creator # Start from scratch (interactive style discovery)
/kai-html-export # Export to PPTX or PNG (separate skill)
/slide-creator ... is a Claude/OpenClaw slash-skill call, not a raw bash or python command.
If you are in a bare sandbox or external agent runner:
python3 main.py --validate-brief --brief BRIEF.json
python3 main.py --generate --brief BRIEF.json --output presentation.html
python3 main.py --generate --brief BRIEF.json --output presentation.html --eval
Built-in presets still load from references/ / references/style-index.md; themes/<name>/reference.md is only for custom themes.
The raw CLI renderer covers native deterministic built-ins, unified profile built-ins, and custom themes through the same BRIEF-to-HTML path, then the same strict validator before final output.
Same content switching between Auto/Polish should keep the same preset unless user explicitly requests a style change.
Interactive creation:
/slide-creator, answer four questions (purpose, length, content, images)IR-first workflow (complex content):
resources/ folder/slide-creator --plan "My AI startup pitch deck"BRIEF.json; only ask for PLANNING.md if a human review view is needed/slide-creator --generatePPT conversion:
.pptx file in current directory/slide-creator — skill auto-detects and extracts content/slide-creator --review presentation.html
Behavior:
references/review-checklist.mdPolish mode: Phase 3.5 Review runs automatically after generation. Auto mode: Skips Phase 3.5.
Expected end-to-end:
Tracked segments: plan, generate, validate, polish, total
--plan distills BRIEF.json, --generate renders from the IR--review for on-demand diagnosis; Polish auto-runs review; three rule types (hard/context-aware/advisory)F5 or click the standard 44px round ▶ control (bottom-right) for fullscreen; circular page navigation, a top progress bar, and NN / total page labels stay consistent across shared-shell themes; Esc exitsP for synced speaker window: notes, timer, slide counter, prev/next nav; height auto-adaptsE), notes bar at bottom; click title bar to collapse/expand; edits sync liveE, edit text and speaker notes in-browser, then press Ctrl+S to savereference.md in themes/your-theme/ to add a preset; starter.html is optional for complex systems, with the bundled Fantasy Rainbow theme serving as a generator-ready exampledata-export-progress="false" on <body> to hide progress bar and nav dots.pptx to web presentations| Preset | Vibe | Best For |
|---|---|---|
| Bold Signal | Confident, high-impact | Pitch decks, keynotes |
| Electric Studio | Clean, professional | Agency presentations |
| Creative Voltage | Energetic, retro-modern | Creative pitches |
| Dark Botanical | Elegant, sophisticated | Premium brands |
| Blue Sky | Airy, enterprise SaaS | Product launches, tech decks |
| Notebook Tabs | Editorial, organized | Reports, reviews |
| Pastel Geometry | Friendly, approachable | Product overviews |
| Split Pastel | Playful, modern | Creative agencies |
| Vintage Editorial | Witty, personality-driven | Personal brands |
| Neon Cyber | Futuristic, techy | Tech startups |
| Terminal Green | Developer-focused | Dev tools, APIs |
| Swiss Modern | Minimal, precise | Corporate, data |
| Paper & Ink | Literary, thoughtful | Storytelling |
| Aurora Mesh | Vibrant, premium SaaS | Product launches, VC pitch |
| Enterprise Dark | Authoritative, data-driven | B2B, investor decks, strategy |
| Glassmorphism | Light, translucent, modern | Consumer tech, brand launches |
| Neo-Brutalism | Bold, uncompromising | Indie dev, creative manifesto |
| Chinese Chan | Still, contemplative | Design philosophy, brand, culture |
| Data Story | Clear, precise, persuasive | Business review, KPI, analytics |
| Modern Newspaper |
Light sky-blue gradient (#f0f9ff → #e0f2fe) with floating glassmorphism cards and animated ambient orbs. Inspired by a real enterprise AI pitch deck (CloudHub V12 MVP). Feels like a high-altitude clear day: open, confident, premium.
Signature elements: grainy noise texture overlay · 3 animated blur orbs repositioning per slide · glassmorphism cards with backdrop-filter: blur(24px) · 40px tech grid with radial mask · spring-physics horizontal transitions · cloud hero effect on title slides.
Why Blue Sky is the starter template: It demonstrates all 10 signature visual elements pre-built. Models only fill in content — no risk of mis-implementing the design system. This pattern (reference.md + starter.html) is reusable for any complex theme.
themes/fantasy-rainbow/ is a generator-ready custom theme selected with style.preset: "custom:fantasy-rainbow". It reserves animated WebGL iridescence for the cover, uses opaque white editorial content pages with restrained blue/purple/cyan semantic accents, and closes on an opaque near-black surface. The theme stays on the standard non-Blue-Sky shared shell: 44px round Play control, circular page navigation, top progress, direct-child page labels, default-on Edit mode, speaker notes, presenter mode, reduced-motion fallback, print-safe output, and no remote runtime dependencies. Cover and closing emphasis comes from the optional narrative.slides[].title_emphasis field; older briefs use a generic title-structure fallback, never preset-specific copy matching. The legacy custom:iridescence-convergence preset remains a compatibility alias.
themes/your-theme/ directoryreference.md describing:
starter.html for complex visual systems (animated backgrounds, custom JS)Your theme appears as "Custom: your-theme" in the style picker.
Bundled custom themes: themes/fantasy-rainbow/ (generator-ready), themes/shader-hero/ (Aurora Cover), themes/molten-flow/, themes/stellar-vortex/, themes/ascii-stream/, and themes/kingdee/
All four animate only the first slide; content and closing pages stay static. A single HTML plays offline by double-clicking, with no server or extra files. Aurora Cover automatically chooses WebGL2 for local files/HTTP and prefers WebGPU on supported HTTPS origins; the other covers use WebGL. Reduced motion, unavailable graphics and PPTX/PNG export retain a detailed static cover.
| Name | Cover effect | Preview |
|---|---|---|
| Aurora Cover | Green/cyan curtains and flowing light filaments | View |
| Fantasy Rainbow | Bright, flowing iridescent bands | See showcase |
| Molten Flow | A twisting 3D gold ribbon with moving reflections | View |
| Stellar Vortex | Cyan/violet star core with spiral particles; outer motion is six times slower than the core | View |
Say “which animated covers are available? Show me previews”, “use Molten Flow for this product launch”, or “use Stellar Vortex for this technology presentation.” A request for an animated opening without another preference defaults to Aurora Cover. See the cover catalog for preset IDs and prompt examples.
| Molten Flow | Stellar Vortex |
|---|---|
Migrate existing .pptx to custom brand design — get pixel-perfect archive + editable version.
# Step 1 — re-style
/slide-creator --plan "migrate company-deck.pptx to our brand style"
/slide-creator --generate # → branded-deck.html
# Step 2 — export both modes
/kai-html-export branded-deck.html # pixel-perfect
/kai-html-export --pptx --mode native branded-deck.html # editable
The generator requires Python 3.10+ and beautifulsoup4. Generated HTML opens directly in a browser without Python or a JavaScript build step; fonts fall back locally when network fonts are unavailable.
python3 -m venv .venv
.venv/bin/python -m pip install -r scripts/requirements-runtime.txt
.venv/bin/python main.py --model-context --preset "Data Story"
Run these commands inside the extracted kai-slide-creator/ folder and use that environment’s Python for subsequent CLI commands. On Windows, use .venv\Scripts\python.exe. Browser QA and PPTX export require additional tooling beyond the ordinary generation path.
For PPTX/PNG export: clawhub install kai-html-export or pip install playwright python-pptx
presentation.html — single-file, zero dependencies, runs in browserPRESENTATION_SCRIPT.md — speaker notes (auto-generated if ≥8 slides)| Platform | Version | Install path |
|---|---|---|
| Claude Code | any | ~/.claude/skills/slide-creator/ |
| OpenClaw | ≥ 0.9 | ~/.openclaw/skills/slide-creator/ |
Download kai-slide-creator-v2.34.5-skill-runtime.zip for a compact Skill installation bundle. Release ZIPs must be strictly below 5,000,000 bytes for Lingee installation; packaging removes only verified duplicate asset archives and retains the original animations. Extract its top-level kai-slide-creator/ folder into your agent's skills directory. The archive contains only SKILL.md, main.py, scripts/, schemas/, references/, and themes/; repository README files, demos, tests, eval fixtures, design documents, and Git metadata are excluded.
Cloudhub enterprise assets are retained from the previous package, but its legacy reference lacks executable layouts and canonical generation remains blocked by the visual-variety gate; it is not claimed as a validated renderer. Kingdee generation is verified after repairing the shared editor shell.
v2.34.5 — Improves Strategy Consulting, Blue Sky, and Fantasy Rainbow content layouts and canvas-scaled typography. Last Mile becomes a corner ghost; diagram connectors use small arrowheads and fine strokes.
v2.34.2 — Includes all local structured-scene work and navigation fixes, and keeps pre-event WebGL context loss recoverable. Linux restoration diagnostics reproduced the blocked v2.34.0/v2.34.1 releases; see release verification.
v2.34.1 — Includes all v2.34.0 structured-scene changes and fixes delayed viewport notifications undoing reversed keyboard navigation. The v2.34.0 Linux regression gate blocked publication; its tag and evidence remain. See release verification.
v2.34.0 — Merge all remaining local work: 15 Fantasy Rainbow structured scene kinds, visible source-bound edges, and forbidden text/structure checks. Installed runtime validation covers every new scene and all 66 existing preset cases. See release verification.
v2.33.2 — Complete release-gate repair: includes the 17 installed profile fixes and allows borderline mixed CJK/Latin Blue Sky titles to balance across lines on Linux. All original 66 cases and thresholds remain required, with independent worker processes reducing validation time. See release verification.
v2.33.1 — Fixes all 17 installed profile presets by shipping their English and Chinese layout templates as runtime assets. Removes the dependency on repository demos and rejects incomplete packages. Asset checksums and the complete 66-case gate are required before publication. See release verification.
v2.33.0 — Source fidelity and structured relationships: integrates local work, expands BRIEF to 5–40 pages, and adds layered architecture, call graphs, interaction flows and polls to Fantasy Rainbow while preserving business bento layouts. Adds independent per-slide text and relationship checks with mandatory protected facts, repairs model-context schema discovery, and updates the runtime package. See the release verification and inherited profile limitations.
v2.32.0 — Animated cover themes and offline playback: adds Aurora Cover, Molten Flow and Stellar Vortex alongside Fantasy Rainbow, with a four-cover catalog and friendly prompt routing. New cover effects animate only the first slide, support offline single-HTML and HTTP/IP playback through WebGL2, pause on content pages and suspended states, and retain detailed static posters for graphics failure, reduced motion, print and export. Stellar Vortex keeps its 24-second core orbit, with 72-second middle and 144-second outer orbits, shorter and dimmer peripheral trails. Includes shared lifecycle controls, canonical BRIEF rendering, static export, demos and an updated runtime ZIP.
v2.31.0 — Context and quality optimization: models author BRIEF while the program loads complete styles and runtime. Adds independent user-preset constraints, complete source facts and numeric entity binding, readable body text and exact-copy deduplication. The frozen optimization implementation passed all 26 automated runs on eight fixed task types, including correct styles in all 24 positive decks. Against the original baseline, median generation tokens fell 77.57%, median generation time fell 36.59%, and mean quality rose from 77.88 to 88.54. Headlines can still change counted entities or omit conjunctive conditions; important decks need source review. These results are bounded to the evaluated tasks and local CLI, rather than a guarantee across all tasks or installations. Includes a separately downloadable Skill optimization methodology v1.0.1 with templates. Release checks additionally repair narrow-screen layouts and custom-theme notes-panel visibility.
v2.30.2 — Fantasy Rainbow playback performance fix: stop cover WebGL and CSS decorations when navigating away or suspending playback, resume a single animation loop on return, and remove per-frame slide geometry scans. Disable full-slide transform transitions while retaining the fixed presentation scale; use short opacity reveals and a complete blackout overlay. Includes 36 lifecycle regression tests and a synchronized runtime-only installation ZIP.
v2.30.1 — Fantasy Rainbow long-running animation and presentation chrome fixes: keep GPU time within its original animation cycle to prevent floating-point banding and blocks; hide the global browsing counter during presentation and restore it on exit. Templates, generated shells, and bilingual Fantasy Rainbow demos are synchronized. The runtime-only ZIP is available for enterprise installation.
v2.30.0 — Playback and short-window geometry release: play mode is now a measured surface instead of an assumption. scripts/browser_geometry_qa.py gains --mode window|present|both, a --laptop-window viewport (1440x733), and a new browser-geometry-content-clipped hard failure that catches body copy, list rows, table cells and footers cropped by the slide box — previously only titles were checked, and only in window mode at 900px-tall viewports. The release-gate desktop geometry step now runs all three window shapes in both modes. Two new strict validators encode the runtime bugs behind that gap: playback_scale_safety rejects a root font size driven by window width (play mode pins slides to a fixed 1440x900 box, so width-driven typography truncates dense slides on the projector while looking correct in the window), and canvas_visibility_guard rejects canvas buffers sized from getBoundingClientRect() without a small-rect guard (a hidden slide reports 0x0, collapsing an animated cover to a 1x1 buffer stretched into a flat gradient). Generators gained the missing short-window rhythm: the native-core shells, Swiss Modern evidence stacks, the unified profile renderer, the Blue Sky starter and the Fantasy Rainbow theme all compact at max-height: 860px instead of clipping at a real laptop window height, display numerals keep a line box tall enough for their glyphs, and long phone showcase lists fall back to two compact columns rather than losing rows. Blue Sky and Vintage Editorial production demos are fixed accordingly, and references/base-css.md plus references/impeccable-anti-patterns.md document the play-mode geometry contract, the hidden-element measurement rule, and window-mode-only verification as anti-patterns.
v2.29.3 — Fantasy Rainbow content fidelity release: the iridescence renderer no longer emits slide-creator's own product copy. The hero, fracture, brief, contract, gates, runtime, modes, and closing scenes now render the caller's BRIEF.json instead of hardcoded demo strings, and a shared label/description splitter feeds the two-part scene components. The spectrum display total is derived from the item count rather than a fixed 22, explicit supporting_facts take precedence over facts derived from claim and explanation so truncated duplicate fragments no longer appear, and brief fields emit three grid cells so body text stops wrapping inside the narrow label column. Decks longer than the twelve-scene list now cycle the middle scenes instead of repeating use-cases, which previously tripped the visual variety gate and made decks over eleven pages ungeneratable; scene mapping for the first ten content pages is unchanged.
v2.29.2 — Semantic title emphasis release: Fantasy Rainbow now reads the important cover or closing phrase from the structured title_emphasis field, removes all preset-specific title and phrase lookup tables, and falls back to generic punctuation, script, and visual-length rules for older briefs. Structural | / | separators no longer leak into rendered headlines, and multiline cover titles receive cover-only glyph clearance. The release adds arbitrary business-copy regression coverage, updates the bilingual documentation, refreshes production demo watermarks, and ships a new runtime-only Skill ZIP.
v2.29.1 — Fantasy Rainbow runtime package release: renamed the bundled custom theme from Iridescence Convergence to Fantasy Rainbow, moved its canonical preset to custom:fantasy-rainbow, retained custom:iridescence-convergence as a compatibility alias, refreshed the bilingual README and production demo watermarks, and added a runtime-only Skill ZIP release asset.
v2.29.0 — Iridescence Convergence and shared-shell consistency release: added a generator-ready custom theme with cover-only WebGL iridescence, opaque white editorial content pages, restrained semantic accents, and a dark closing surface; restored its runtime chrome to the standard 44px round Play control, circular page navigation, top progress bar, direct-child page labels, and discoverable 80px Edit hotzone; gave no-starter custom themes the required viewport shell, marked Enterprise Dark insight-pull titles with the canonical export slot, expanded strict/browser regression coverage, and refreshed current production demo watermarks for v2.29.0.
v2.28.0 — Generation quality gate release: tightened single-deck evals with hard failures for unauthorized placeholder/demo-copy residuals, corrected Paper & Ink signature scoring against the real reference demo, and improved CJK title wrapping so medium Blue Sky report titles use available horizontal space instead of splitting words like "风险" or "地图" across forced lines.
v2.27.0 — Captured-run eval architecture release: added OpenAI-style skill eval prompts, normalized trace scoring, fixture style rubrics, live Codex baselines, regression comparison, and optional release-gate integration. README and design docs now document the Supervisor / Generate Worker / Style Judge split, context isolation rules, and token accounting policy so live eval cost remains visible instead of hidden by subagents.
v2.26.0 — Blue Sky deterministic renderer and custom theme release: Blue Sky now renders through the canonical BRIEF pipeline with strict validation coverage, custom themes resolve correctly in both source and plugin layouts, and private Kingdee / Cloudhub theme assets were cleaned up, compressed, and locked with regression tests.
v2.25.0 — Strategy Consulting preset: new consulting-style design with 12 canonical layouts (exec summary, before/after, three things, funnel, framework matrix, quote + evidence, driver breakdown, etc.), white-background navy-accent visual language inspired by MBB slide decks. Preset count now 22.
v2.24.3 — Single-deck eval and production verification release: --generate / render-from-brief can now emit per-deck eval JSON via --eval or --eval-out, Data Story chart routing/label logic now fails closed on weak numeric signals instead of drawing fake charts, and production demo fixtures were revalidated and resynced to the current watermark version so core preset verification remains green.
v2.24.2 — Enterprise Dark / Chinese Chan chrome hardening: validator now rejects hidden-brand regressions for presets that must suppress #brand-mark, and watermark checks now fail stale version/preset strings so non-canonical shell output cannot pass --strict with leaked skill names or outdated credits.
v2.24.1 — Direct-route contract and pre-write gate fix: forced direct prompt generation back through BRIEF.json -> render_from_brief(), made both CLI render entrypoints run scripts/validate_html.py --strict before writing output, and tightened the SKILL/workflow/doc contracts plus regression tests so non-canonical Chinese Chan HTML can no longer slip through a current-version generation path.
v2.24.0 — Core preset hardening and quality-gate release: added preset support tiers plus manifest-driven eval/release-gate tooling, upgraded low-context BRIEF semantics and preset usage rules, repaired Chinese Chan formal contracts and production/shared runtime drift, modernized family demo runtimes, moved the canonical HTML validator to scripts/validate_html.py with a compatibility wrapper, and tightened Swiss Modern/shared shell chrome so nav dots and page-number treatments render correctly across presets.
v2.23.2 — Sandbox entrypoint and skill-surface patch: added root main.py plus slide-creator wrapper for bare-sandbox BRIEF validation/rendering, made --plan fail with a clear slash-skill boundary instead of a misleading runtime error, restored SKILL.md's user-facing style recommendation surface, and clarified that built-in presets live under references/ while themes/<name>/reference.md is only for custom themes.
v2.23.1 — Enterprise Dark runtime stability patch: fixed shared js-engine active-slide reveal toggling, hid editing chrome by default, replaced unresolved watermark tokens with real version/preset metadata, stabilized one-gesture-per-page wheel pagination for scroll-snap decks, and corrected Enterprise Dark narrative cover routing, split-title clipping, governance/table rhythm, and subtle grid overlay balance.
v2.23.0 — Title composition and low-context quality release: added a preset-aware title profile registry plus browser-level title QA, expanded low-context diagnostics/eval buckets for quality uplift checks, hardened strict gates around shared runtime and body[data-preset], and reordered SKILL.md so style enforcement, narrative arc, and title quality take priority over degradable playback/edit/watermark features.
v2.22.0 — Style reference rollout and strict quality gate hardening: all presets now pass style-reference audit, Swiss Modern plus Enterprise Dark / Data Story / Glassmorphism / Chinese Chan gain explicit canonical export contracts and user-content routing, tests/validate.py --strict is documented and tested as the --generate pre-write gate, and new regression coverage locks CSS variable resolution, layout variety, and priority preset contract checks.
v2.19.0 — IR-first release: BRIEF.json becomes the primary truth source, PLANNING.md is optional human view, late-context eval fixtures added under evals/generated-decks/, README design philosophy rewritten around prompt → BRIEF → HTML → validate → eval, and stronger regression coverage added for the new contract.
v2.18.1 — Paper & Ink style fix: restored correct editorial style reference (Cormorant Garamond headlines, Source Serif 4 body, crimson ornamental rules, drop caps); added .slide-content wrapper to slide HTML structure for proper vertical centering; Chinese text font fallback now uses system serif (宋体) instead of Noto Sans SC.
v2.18.0 — JS engine extraction (html-template.md 557→222 lines); style signature injection expanded to require all CSS classes from Typography/Components sections; neon-cyber glow effects clarified; style consistency audit tool (tests/audit_style_consistency.py).
v2.17.0 — Style reference system overhaul; contrast fix for light backgrounds; glassmorphism text theme mapping.
v2.12.0
v2.11.0 — Hard rules embedded in SKILL.md; --generate flow restructured with explicit validation.
v2.9.0 — Content Review System: 16 checkpoints (6 auto-detectable, 10 AI-advised); Phase 3.5 Review in Polish mode; --review command for on-demand diagnosis; three rule types (hard/context-aware/advisory).
v2.8.0 — Simplified planning depths (Auto / Polish); bilingual naming; timing guidance; preset-lock across depths; checked-in demo paths; regression coverage.
v2.7.1 — Zero-dependency check-doc-sync.py contract checker for SKILL.md/README/workflow.md sync; regression test integration.
v2.7.0 — Enhancement Mode guardrails for editing existing HTML decks; inline editing default-on but optional; bundled brand theme examples (themes/cloudhub/, themes/kingdee/).
v2.6.1 — Brand Style Migration workflow documentation.
v2.6.0 — Design Quality Baseline (references/design-quality.md): minimum 65% fill, multi-column balance, 90/8/2 color law, no 3 consecutive bullet slides, content-tone color calibration, pre-output self-check. Fixed aurora-mesh Inter font contradiction (Space Grotesk + DM Sans).
v2.5.0 — 21 presets with Blue Sky starter template; Show Don't Tell style discovery.
v2.0.0 — Two-stage workflow (--plan / --generate); inline editing; presenter mode.
v1.0.0 — Initial release with 10 presets.
| Punchy, authoritative, editorial |
| Business reports, thought leadership |
| Neo-Retro Dev Deck | Opinionated, technical, handmade | Dev tool launches, API docs, hackathons |
| Strategy Consulting | Structured, authoritative, clean | Consulting reports, strategy decks, due diligence |