本文へ移動
cccskills
無料GitHub で公開

pakco-html

Creates HTML decks, webpages, and social cards with pakco.html templates. Use for slides, PPT-style reports, visual web pages, or the style picker.

インストール方法を見る

含まれるファイル(200)

  • SKILL.md19.0 KB
  • .clawscan-allow624 B
  • .gitignore494 B
  • assets/animations/animations.css7.9 KB
  • assets/animations/fx-runtime.js3.1 KB
  • assets/animations/fx/_util.js1.9 KB
  • assets/animations/fx/chain-react.js1.4 KB
  • assets/animations/fx/confetti-cannon.js1.5 KB
  • assets/animations/fx/constellation.js1.3 KB
  • assets/animations/fx/counter-explosion.js2.3 KB
  • assets/animations/fx/data-stream.js1.5 KB
  • assets/animations/fx/firework.js1.6 KB
  • assets/animations/fx/galaxy-swirl.js1.0 KB
  • assets/animations/fx/gradient-blob.js1.4 KB
  • assets/animations/fx/knowledge-graph.js2.4 KB
  • assets/animations/fx/letter-explode.js2.0 KB
  • assets/animations/fx/magnetic-field.js1.3 KB
  • assets/animations/fx/matrix-rain.js1.1 KB
  • assets/animations/fx/neural-net.js2.6 KB
  • assets/animations/fx/orbit-ring.js1.3 KB
  • assets/animations/fx/particle-burst.js1.2 KB
  • assets/animations/fx/shockwave.js1.3 KB
  • assets/animations/fx/sparkle-trail.js1.9 KB
  • assets/animations/fx/starfield.js990 B
  • assets/animations/fx/typewriter-multi.js2.1 KB
  • assets/animations/fx/word-cascade.js1.6 KB
  • assets/base.css12.0 KB
  • assets/fonts.css889 B
  • assets/runtime.js45.0 KB
  • assets/themes/academic-paper.css1.2 KB
  • assets/themes/arctic-cool.css673 B
  • assets/themes/aurora.css1.1 KB
  • assets/themes/bauhaus.css719 B
  • assets/themes/blueprint.css956 B
  • assets/themes/catppuccin-latte.css663 B
  • assets/themes/catppuccin-mocha.css660 B
  • assets/themes/corporate-clean.css949 B
  • assets/themes/cyberpunk-neon.css1.3 KB
  • assets/themes/dracula.css650 B
  • assets/themes/editorial-serif.css863 B
  • assets/themes/engineering-whiteprint.css1.3 KB
  • assets/themes/glassmorphism.css1.1 KB
  • assets/themes/gruvbox-dark.css635 B
  • assets/themes/japanese-minimal.css1004 B
  • assets/themes/magazine-bold.css1.1 KB
  • assets/themes/memphis-pop.css967 B
  • assets/themes/midcentury.css920 B
  • assets/themes/minimal-white.css760 B
  • assets/themes/neo-brutalism.css792 B
  • assets/themes/news-broadcast.css1.1 KB
  • assets/themes/nord.css628 B
  • assets/themes/pitch-deck-vc.css1.2 KB
  • assets/themes/rainbow-gradient.css839 B
  • assets/themes/retro-tv.css1.2 KB
  • assets/themes/rose-pine.css634 B
  • assets/themes/sharp-mono.css739 B
  • assets/themes/soft-pastel.css665 B
  • assets/themes/solarized-light.css645 B
  • assets/themes/sunset-warm.css675 B
  • assets/themes/swiss-grid.css929 B
  • assets/themes/terminal-green.css836 B
  • assets/themes/tokyo-night.css635 B
  • assets/themes/vaporwave.css1.2 KB
  • assets/themes/xiaohongshu-white.css757 B
  • assets/themes/y2k-chrome.css1.3 KB
  • CONTRIBUTING.md4.9 KB
  • docs/readme/_theme-cell.html2.6 KB
  • docs/readme/animations.png600.1 KB
  • docs/readme/flow-en.svg8.2 KB
  • docs/readme/flow-zh.svg8.4 KB
  • docs/readme/hero.gif2.3 MB
  • docs/readme/layouts-live.gif555.8 KB
  • docs/readme/layouts.png114.7 KB
  • docs/readme/montage-animations.html4.6 KB
  • docs/readme/montage-layouts.html3.1 KB
  • docs/readme/montage-templates.html3.2 KB
  • docs/readme/montage-themes.html2.9 KB
  • docs/readme/presenter-mode.png503.3 KB
  • docs/readme/templates.png289.7 KB
  • docs/readme/themes.png245.3 KB
  • docs/readme/webui/01-themes.png1.1 MB
  • docs/readme/webui/02-templates.png1.6 MB
  • docs/readme/webui/03-layouts.png508.4 KB
  • examples/demo-deck/index.html8.7 KB
  • LICENSE1.1 KB
  • README.md3.9 KB
  • README.zh-CN.md3.9 KB
  • references/animations.md7.5 KB
  • references/authoring-guide.md5.0 KB
  • references/full-decks.md8.4 KB
  • references/layouts.md3.9 KB
  • references/presenter-mode.md9.7 KB
  • references/themes.md5.1 KB
  • scripts/install-agent.sh3.1 KB
  • scripts/install-codex.sh445 B
  • scripts/new-deck.sh1.3 KB
  • scripts/render.sh1.7 KB
  • scripts/update.sh1.2 KB
  • scripts/verify-output/animation-showcase/animation-showcase_01.png68.5 KB
  • scripts/verify-output/animation-showcase/animation-showcase_02.png59.4 KB
  • scripts/verify-output/animation-showcase/animation-showcase_03.png50.5 KB
  • scripts/verify-output/animation-showcase/animation-showcase_04.png63.9 KB
  • scripts/verify-output/animation-showcase/animation-showcase_05.png315.8 KB
  • scripts/verify-output/animation-showcase/animation-showcase_06.png120.2 KB
  • scripts/verify-output/animation-showcase/animation-showcase_07.png140.5 KB
  • scripts/verify-output/animation-showcase/animation-showcase_08.png207.3 KB
  • scripts/verify-output/animation-showcase/animation-showcase_09.png115.3 KB
  • scripts/verify-output/animation-showcase/animation-showcase_10.png88.3 KB
  • scripts/verify-output/animation-showcase/animation-showcase_11.png62.9 KB
  • scripts/verify-output/animation-showcase/animation-showcase_12.png59.8 KB
  • scripts/verify-output/animation-showcase/animation-showcase_13.png69.0 KB
  • scripts/verify-output/animation-showcase/animation-showcase_14.png80.3 KB
  • scripts/verify-output/animation-showcase/animation-showcase_15.png170.1 KB
  • scripts/verify-output/animation-showcase/animation-showcase_16.png248.1 KB
  • scripts/verify-output/animation-showcase/animation-showcase_17.png64.2 KB
  • scripts/verify-output/animation-showcase/animation-showcase_18.png189.7 KB
  • scripts/verify-output/animation-showcase/animation-showcase_19.png70.5 KB
  • scripts/verify-output/animation-showcase/animation-showcase_20.png89.3 KB
  • scripts/verify-output/theme-showcase/theme-showcase_01.png78.6 KB
  • scripts/verify-output/theme-showcase/theme-showcase_02.png94.6 KB
  • scripts/verify-output/theme-showcase/theme-showcase_03.png91.1 KB
  • scripts/verify-output/theme-showcase/theme-showcase_04.png67.5 KB
  • scripts/verify-output/theme-showcase/theme-showcase_05.png84.4 KB
  • scripts/verify-output/theme-showcase/theme-showcase_06.png87.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_07.png82.3 KB
  • scripts/verify-output/theme-showcase/theme-showcase_08.png87.1 KB
  • scripts/verify-output/theme-showcase/theme-showcase_09.png75.8 KB
  • scripts/verify-output/theme-showcase/theme-showcase_10.png81.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_11.png78.1 KB
  • scripts/verify-output/theme-showcase/theme-showcase_12.png80.0 KB
  • scripts/verify-output/theme-showcase/theme-showcase_13.png79.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_14.png79.6 KB
  • scripts/verify-output/theme-showcase/theme-showcase_15.png68.8 KB
  • scripts/verify-output/theme-showcase/theme-showcase_16.png88.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_17.png72.5 KB
  • scripts/verify-output/theme-showcase/theme-showcase_18.png69.5 KB
  • scripts/verify-output/theme-showcase/theme-showcase_19.png119.3 KB
  • scripts/verify-output/theme-showcase/theme-showcase_20.png82.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_21.png81.9 KB
  • scripts/verify-output/theme-showcase/theme-showcase_22.png82.5 KB
  • scripts/verify-output/theme-showcase/theme-showcase_23.png80.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_24.png69.7 KB
  • scripts/verify-output/theme-showcase/theme-showcase_25.png152.3 KB
  • scripts/verify-output/theme-showcase/theme-showcase_26.png94.6 KB
  • scripts/verify-output/theme-showcase/theme-showcase_27.png90.9 KB
  • scripts/verify-output/theme-showcase/theme-showcase_28.png77.4 KB
  • scripts/verify-output/theme-showcase/theme-showcase_29.png120.0 KB
  • scripts/verify-output/theme-showcase/theme-showcase_30.png80.0 KB
  • scripts/verify-output/theme-showcase/theme-showcase_31.png81.7 KB
  • scripts/verify-output/theme-showcase/theme-showcase_32.png73.7 KB
  • scripts/verify-output/theme-showcase/theme-showcase_33.png77.4 KB
  • scripts/verify-output/theme-showcase/theme-showcase_34.png83.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_35.png102.2 KB
  • scripts/verify-output/theme-showcase/theme-showcase_36.png78.1 KB
  • skills-lock.json281 B
  • taste-banner.png1.5 MB
  • templates/animation-showcase.html7.5 KB
  • templates/deck.html3.2 KB
  • templates/full-decks-index.html4.4 KB
  • templates/full-decks/course-module/index.html9.8 KB
  • templates/full-decks/course-module/README.md627 B
  • templates/full-decks/course-module/style.css4.3 KB
  • templates/full-decks/dir-key-nav-minimal/index.html6.0 KB
  • templates/full-decks/dir-key-nav-minimal/README.md1021 B
  • templates/full-decks/dir-key-nav-minimal/style.css4.7 KB
  • templates/full-decks/graphify-dark-graph/index.html10.9 KB
  • templates/full-decks/graphify-dark-graph/README.md937 B
  • templates/full-decks/graphify-dark-graph/style.css5.0 KB
  • templates/full-decks/guizang-magazine/assets/motion.min.js62.7 KB
  • templates/full-decks/guizang-magazine/index.html46.0 KB
  • templates/full-decks/guizang-magazine/README.md482 B
  • templates/full-decks/guizang-magazine/style.css0 B
  • templates/full-decks/guizang-swiss/assets/motion.min.js62.7 KB
  • templates/full-decks/guizang-swiss/index.html106.2 KB
  • templates/full-decks/guizang-swiss/README.md480 B
  • templates/full-decks/guizang-swiss/style.css0 B
  • templates/full-decks/hermes-cyber-terminal/index.html11.5 KB
  • templates/full-decks/hermes-cyber-terminal/README.md1016 B
  • templates/full-decks/hermes-cyber-terminal/style.css5.7 KB
  • templates/full-decks/knowledge-arch-blueprint/index.html11.5 KB
  • templates/full-decks/knowledge-arch-blueprint/README.md933 B
  • templates/full-decks/knowledge-arch-blueprint/style.css4.9 KB
  • templates/full-decks/obsidian-claude-gradient/index.html7.5 KB
  • templates/full-decks/obsidian-claude-gradient/README.md901 B
  • templates/full-decks/obsidian-claude-gradient/style.css6.0 KB
  • templates/full-decks/pitch-deck/index.html7.9 KB
  • templates/full-decks/pitch-deck/README.md524 B
  • templates/full-decks/pitch-deck/style.css3.5 KB
  • templates/full-decks/presenter-mode-reveal/index.html13.8 KB
  • templates/full-decks/presenter-mode-reveal/README.md3.9 KB
  • templates/full-decks/presenter-mode-reveal/style.css5.5 KB
  • templates/full-decks/product-launch/index.html6.4 KB
  • templates/full-decks/product-launch/README.md545 B
  • templates/full-decks/product-launch/style.css3.9 KB
  • templates/full-decks/tech-sharing/index.html8.9 KB
  • templates/full-decks/tech-sharing/README.md522 B
  • templates/full-decks/tech-sharing/style.css3.8 KB
  • templates/full-decks/testing-safety-alert/index.html11.1 KB
  • templates/full-decks/testing-safety-alert/README.md967 B
  • templates/full-decks/testing-safety-alert/style.css6.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

pakco.html

pakco.html is a local-first visual taste menu for AI-generated decks. It helps users stop describing taste from scratch: browse visible styles, copy an executable prompt, and let Claude Code / Codex / Hermes / WorkBuddy / TRAE Work generate the deck with stable visual constraints.

The underlying skill still authors professional HTML presentations as static files, with themes, full-deck taste cards, layouts, animations, and prompts. One theme file = one look. One layout file = one page type. One animation class = one entry effect. All pages share a token-based design system in assets/base.css.

Install

Codex

Ask Codex to install the GitHub skill from the repo root:

Install this skill from GitHub: https://github.com/pakco77/pakco-html
Use the repo root as the skill path and install it as pakco-html.

Terminal fallback:

curl -fsSL https://raw.githubusercontent.com/pakco77/pakco-html/refs/heads/main/scripts/install-codex.sh | bash

Restart Codex after installation so it reloads ~/.codex/skills/pakco-html.

Claude Code / AgentSkill CLI

npx skills add https://github.com/pakco77/pakco-html

WorkBuddy

Install into WorkBuddy's user Skill directory:

curl -fsSL https://raw.githubusercontent.com/pakco77/pakco-html/refs/heads/main/scripts/install-agent.sh | bash -s -- workbuddy

Restart WorkBuddy or refresh Skills after installation.

TRAE Work / TRAE SOLO

Use the AgentSkill CLI target that matches the installed edition:

npx skills add https://github.com/pakco77/pakco-html --agent trae-cn -g
# International edition:
npx skills add https://github.com/pakco77/pakco-html --agent trae -g

Terminal fallback for TRAE Work CN:

curl -fsSL https://raw.githubusercontent.com/pakco77/pakco-html/refs/heads/main/scripts/install-agent.sh | bash -s -- trae-work

Restart TRAE Work or refresh Skills after installation.

Other AgentSkill agents

For supported agents, use the skills CLI agent target:

npx skills add https://github.com/pakco77/pakco-html --agent kimi-code-cli
npx skills add https://github.com/pakco77/pakco-html --agent qwen-code
npx skills add https://github.com/pakco77/pakco-html --agent gemini-cli

For any other agent that reads a local SKILL.md folder, use the generic installer:

curl -fsSL https://raw.githubusercontent.com/pakco77/pakco-html/refs/heads/main/scripts/install-agent.sh | bash -s -- ~/.some-agent/skills/pakco-html

No build. Pure static HTML/CSS/JS with only CDN webfonts.

What the skill gives you

  • 36 themes (assets/themes/*.css) — minimal-white, editorial-serif, soft-pastel, sharp-mono, arctic-cool, sunset-warm, catppuccin-latte/mocha, dracula, tokyo-night, nord, solarized-light, gruvbox-dark, rose-pine, neo-brutalism, glassmorphism, bauhaus, swiss-grid, terminal-green, xiaohongshu-white, rainbow-gradient, aurora, blueprint, memphis-pop, cyberpunk-neon, y2k-chrome, retro-tv, japanese-minimal, vaporwave, midcentury, corporate-clean, academic-paper, news-broadcast, pitch-deck-vc, magazine-bold, engineering-whiteprint
  • 24 deck taste cards (templates/full-decks/<name>/ + Guizang variants) — 15 native complete multi-slide decks with scoped .tpl-<name> CSS, plus 9 Guizang color variants. Native templates include 8 extracted looks (xhs-white-editorial, graphify-dark-graph, knowledge-arch-blueprint, hermes-cyber-terminal, obsidian-claude-gradient, testing-safety-alert, xhs-pastel-card, dir-key-nav-minimal) and 7 scenario scaffolds (pitch-deck, product-launch, tech-sharing, weekly-report, xhs-post 3:4, course-module, presenter-mode-reveal — 演讲者模式专用)
  • 31 layouts (templates/single-page/*.html) with realistic demo data
  • 27 CSS animations (assets/animations/animations.css) via data-anim
  • 20 canvas FX animations (assets/animations/fx/*.js) via data-fx — particle-burst, confetti-cannon, firework, starfield, matrix-rain, knowledge-graph (force-directed), neural-net (pulses), constellation, orbit-ring, galaxy-swirl, word-cascade, letter-explode, chain-react, magnetic-field, data-stream, gradient-blob, sparkle-trail, shockwave, typewriter-multi, counter-explosion
  • Keyboard runtime (assets/runtime.js) — arrows, T (theme), A (anim), F/O, S (presenter mode: magnetic-card popup with CURRENT / NEXT / SCRIPT / TIMER cards), N (notes drawer), R (reset timer in presenter)
  • FX runtime (assets/animations/fx-runtime.js) — auto-inits [data-fx] on slide enter, cleans up on leave
  • Showcase decks for themes / layouts / animations / full-decks gallery
  • Headless Chrome render script for PNG export

Opening the style picker

When the user asks to open/browse the style menu (e.g. "html来", "打开风格菜单", "打开 pakco-html", "打开html风格", "看看有什么风格", "open the picker"), treat the directory containing this SKILL.md as SKILL_ROOT. Start a local server from that directory and open the picker in the host's browser or HTML preview:

cd "$SKILL_ROOT" && python3 -m http.server 8000 &
# then open: http://localhost:8000/templates/style-picker.html

Common roots are ~/.codex/skills/pakco-html, ~/.claude/skills/pakco-html, ~/.workbuddy/skills/pakco-html, ~/.trae/skills/pakco-html, and ~/.trae-cn/skills/pakco-html. Check the actual loaded Skill path instead of assuming one of them.

The picker shows 60+ live previews across 4 tabs (Skins / Templates / UI Taste / Social Cards). The user clicks a card to copy the prompt, then pastes it back to you.

When to use

Use when the user asks for any kind of slide-based output or wants to turn text/notes into a presentable deck. Prefer this over building from scratch.

🎤 Presenter Mode (演讲者模式 + 逐字稿)

If the user mentions any of: 演讲 / 分享 / 讲稿 / 逐字稿 / speaker notes / presenter view / 演讲者视图 / 提词器, or says things like "我要去给团队讲 xxx", "要做一场技术分享", "怕讲不流畅", "想要一份带逐字稿的 PPT" — use the presenter-mode-reveal full-deck template and write 150–300 words of 逐字稿 in each slide's <aside class="notes">.

See references/presenter-mode.md for the full authoring guide including the 3 rules of speaker script writing:

  1. 不是讲稿,是提示信号 — 加粗核心词 + 过渡句独立成段
  2. 每页 150–300 字 — 2–3 分钟/页的节奏
  3. 用口语,不用书面语 — "因此"→"所以","该方案"→"这个方案"

All full-deck templates support the S key presenter mode (it's built into runtime.js). S opens a new popup window with 4 magnetic cards:

  • 🔵 CURRENT — pixel-perfect iframe preview of the current slide
  • 🟣 NEXT — pixel-perfect iframe preview of the next slide
  • 🟠 SPEAKER SCRIPT — large-font 逐字稿 (scrollable)
  • 🟢 TIMER — elapsed time + slide counter + prev/next/reset buttons

Each card is draggable by its header and resizable by the bottom-right corner handle. Card positions/sizes persist to localStorage per deck. A "Reset layout" button restores the default arrangement.

Why the previews are pixel-perfect: each preview is an <iframe> that loads the actual deck HTML with a ?preview=N query param; runtime.js detects this and renders only slide N with no chrome. So the preview uses the same CSS, theme, fonts, and viewport as the audience view — colors and layout are guaranteed identical.

Smooth navigation: on slide change, the presenter window sends postMessage({type:'preview-goto', idx:N}) to each iframe. The iframe just toggles .is-active between slides — no reload, no flicker. The two windows also stay in sync via BroadcastChannel.

Only presenter-mode-reveal is designed from the ground up around the feature with proper example 逐字稿 on every slide.

Keyboard in presenter window: ← → navigate (syncs audience) · R reset timer · Esc close popup. Keyboard in audience window: S open presenter · T cycle theme · ← → navigate (syncs presenter) · F fullscreen · O overview.

📱 网页模式(Webpage Mode)

If the user says any of: 网页 / 网页版 / 网页形态 / 做个网页 / 生成网页 / web page / webpage / 长页面 / 上下滑 / 手机看的 / 发链接给别人看, or the content is meant for 阅读、传播、存档 rather than live presentation — use the webpage template instead of a deck.

Webpage mode produces a vertically scrolling HTML page with no slide boundaries. Key differences from deck:

DeckWebpage
交互键盘/手势翻页浏览器原生滚动
布局全屏 16:9 slide720px 居中自适应
JS需要 runtime.js不需要
body class(none)webpage
结构.deck > .slide.page > section
适合演讲、分享会、Keynote阅读、传播、发链接

How to scaffold:

<body class="webpage">
<div class="page">
  <section class="hero">...</section>
  <div class="section-break"></div>
  <section>...</section>
  ...
  <div class="page-footer">...</div>
</div>
</body>

Starter template: templates/webpage.html. Copy it to start a new webpage. All design tokens (themes, .card, .grid, .pill, .gradient-text, etc.) work in both modes. Do NOT include runtime.js in webpage mode — it's not needed.

Before you author anything — ALWAYS ask or recommend

Do not start writing slides until you understand three things. Either ask the user directly, or — if they already handed you rich content — propose a tasteful default and confirm.

  1. Content & audience. What's the deck about, how many slides, who's watching (engineers / execs / 小红书读者 / 学生 / VC)?
  2. Style / theme. Which of the 36 themes fits? If unsure, recommend 2-3 candidates based on tone:
    • Business / investor pitch → pitch-deck-vc, corporate-clean, swiss-grid
    • Tech sharing / engineering → tokyo-night, dracula, catppuccin-mocha, terminal-green, blueprint
    • 小红书图文 → xiaohongshu-white, soft-pastel, rainbow-gradient, magazine-bold
    • Academic / report → academic-paper, editorial-serif, minimal-white
    • Edgy / cyber / launch → cyberpunk-neon, vaporwave, y2k-chrome, neo-brutalism
  3. Starting point. One of the 15 native full-deck templates, 9 Guizang variants, or scratch? Point to the closest templates/full-decks/<name>/ and ask if it fits. If the user's content suggests something obvious (e.g. "我要做产品发布会" → product-launch), propose it confidently instead of asking blindly.

A good opening message looks like:

我可以给你做这份 PPT!先确认三件事:

  1. 大致内容 / 页数 / 观众是谁?
  2. 风格偏好?我建议从这 3 个主题里选一个:tokyo-night(技术分享默认好看)、xiaohongshu-white(小红书风)、corporate-clean(正式汇报)。
  3. 要不要用我现成的 tech-sharing 全 deck 模板打底?

Only after those are clear, scaffold the deck and start writing.

Update (更新)

When the user says "更新 pakco-html", "update pakco-html", "升级", or "拉最新版", use the directory containing this SKILL.md as SKILL_ROOT, then run:

bash "$SKILL_ROOT/scripts/update.sh"

If scripts/update.sh doesn't exist yet (old install), run the equivalent inline:

TMP=$(mktemp -d) && git clone --depth 1 https://github.com/pakco77/pakco-html.git "$TMP/r" 2>/dev/null && cp -r "$TMP/r/assets" "$TMP/r/templates" "$TMP/r/references" "$TMP/r/scripts" "$SKILL_ROOT/" && cp "$TMP/r/SKILL.md" "$SKILL_ROOT/" && rm -rf "$TMP" && echo "✅ 更新完成"

All existing decks that reference assets/ via relative paths will automatically get the latest features (themes, layouts, mobile support, bug fixes) — no HTML changes needed.

Quick start

  1. Scaffold a new deck. From the repo root:
    ./scripts/new-deck.sh my-talk
    open examples/my-talk/index.html
    
  2. Pick a theme. Open the deck and press T to cycle. Or hard-code it:
    <link rel="stylesheet" id="theme-link" href="../assets/themes/aurora.css">
    
    Catalog in references/themes.md.
  3. Pick layouts. Copy <section class="slide">...</section> blocks out of files in templates/single-page/ into your deck. Replace the demo data. Catalog in references/layouts.md.
  4. Add animations. Put data-anim="fade-up" (or class="anim-fade-up") on any element. On <ul>/grids, use anim-stagger-list for sequenced reveals. For canvas FX, use <div data-fx="knowledge-graph">...</div> and include <script src="../assets/animations/fx-runtime.js"></script>. Catalog in references/animations.md.
  5. Use a full-deck template. Copy templates/full-decks/<name>/ into examples/my-talk/ as a starting point. Each folder is self-contained with scoped CSS. Catalog in references/full-decks.md and gallery at templates/full-decks-index.html.
  6. Render to PNG.
    ./scripts/render.sh templates/theme-showcase.html       # one shot
    ./scripts/render.sh examples/my-talk/index.html 12      # 12 slides
    

Authoring rules (important)

  • Always start from a template. Don't author slides from scratch — copy the closest layout from templates/single-page/ first, then replace content.
  • Use tokens, not literal colors. Every color, radius, shadow should come from CSS variables defined in assets/base.css and overridden by a theme. Good: color: var(--text-1). Bad: color: #111.
  • Don't invent new layout files. Prefer composing existing ones. Only add a new templates/single-page/*.html if none of the 31 fit.
  • Respect chrome slots. .deck-header, .deck-footer, .slide-number and the progress bar are provided by assets/base.css + runtime.js.
  • Keyboard-first. Always include <script src="../assets/runtime.js"></script> so the deck supports ← → / T / A / F / S / O / hash deep-links.
  • One .slide per logical page. runtime.js makes .slide.is-active visible; all others are hidden.
  • Supply notes. Wrap speaker notes in <div class="notes">…</div> inside each slide. Press S to open the overlay.
  • NEVER put presenter-only text on the slide itself. Descriptive text like "这一页展示了……" or "Speaker: 这里可以补充……" or small explanatory captions aimed at the presenter MUST go inside <div class="notes">, NOT as visible <p> / <span> elements on the slide. The .notes class is display:none by default — it only appears in the S overlay. Slides should contain ONLY audience-facing content (titles, bullet points, data, charts, images).

Writing guide

See references/authoring-guide.md for a step-by-step walkthrough: file structure, naming, how to transform an outline into a deck, how to choose layouts and themes per audience, how to do a Chinese + English deck, and how to export.

Catalogs (load when needed)

File structure

pakco-html/
├── SKILL.md                 (this file)
├── references/              (detailed catalogs, load as needed)
├── assets/
│   ├── base.css             (tokens + primitives — do not edit per deck)
│   ├── fonts.css            (webfont imports)
│   ├── runtime.js           (keyboard + presenter + overview + theme cycle)
│   ├── themes/*.css         (36 token overrides, one per theme)
│   └── animations/
│       ├── animations.css   (27 named CSS entry animations)
│       ├── fx-runtime.js    (auto-init [data-fx] on slide enter)
│       └── fx/*.js          (20 canvas FX modules: particles/graph/fireworks…)
├── templates/
│   ├── deck.html                  (minimal 6-slide starter)
│   ├── webpage.html               (webpage mode starter — vertical scroll, no slides)
│   ├── theme-showcase.html        (36 slides, iframe-isolated per theme)
│   ├── layout-showcase.html       (iframe tour of all 31 layouts)
│   ├── animation-showcase.html    (20 FX + 27 CSS animation slides)
│   ├── full-decks-index.html      (gallery of all 15 native full-deck templates)
│   ├── full-decks/<name>/         (17 deck folders: 15 native + 2 Guizang bases)
│   └── single-page/*.html         (31 layout files with demo data)
├── scripts/
│   ├── new-deck.sh                (scaffold a deck from deck.html)
│   └── render.sh                  (headless Chrome → PNG)
└── examples/demo-deck/            (complete working deck)

Rendering to PNG

scripts/render.sh wraps headless Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome. For multi-slide capture, runtime.js exposes #/N deep-links, and render.sh iterates 1..N.

./scripts/render.sh templates/single-page/kpi-grid.html        # single page
./scripts/render.sh examples/demo-deck/index.html 8 out-dir    # 8 slides, custom dir

Keyboard cheat sheet

←  →  Space  PgUp  PgDn  Home  End    navigate
F                                       fullscreen
S                                       open presenter window (magnetic cards: current/next/script/timer)
N                                       quick notes drawer (bottom overlay)
R                                       reset timer (in presenter window)
?preview=N                              URL param — force preview-only mode (single slide, no chrome)
O                                       slide overview grid
T                                       cycle themes (reads data-themes attr)
A                                       cycle demo animation on current slide
#/N in URL                              deep-link to slide N
Esc                                     close all overlays

License & author

MIT. Copyright (c) 2026 lewis <sudolewis@gmail.com>.

This is a fork of lewislulu/html-ppt-skill. Fork maintainer: @pakco77 — adds an interactive style-picker WebUI, Guizang deck variant integration, and presenter-mode stability fixes on top of the upstream work.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

このスキルの問題を報告する