kami-deck
Sister skill to kami-landing. Produces a single
self-contained HTML file: a horizontal magazine-style swipe deck in
the kami (紙 / 纸) design system — print rhythm, ink-blue accent,
serif at one weight, no italic, no cool grays.
The navigation model is intentionally borrowed from the
guizang-ppt skill — ←/→ arrow keys, wheel /
swipe, ESC for the overview grid. The aesthetic stays kami: parchment
content slides, ink-blue cover and chapter slides, serif everywhere.
Design system source of truth:
design-systems/kami/DESIGN.md.
Read it before shipping. Tokens, type rules, and forbidden colors
all live there. Slide-specific scale ratios (macro × 1.6,
letter-spacing × 0.6 vs. print) are documented in §3 "Hierarchy"
and §5 "Layout Principles · Slides".
What you get
- N viewport-sized slides (6-15 is the sweet spot) laid out
horizontally on one transformed flex track.
- Cover and chapter slides flip background to ink-blue
(
#1B365D) with ivory text — the only place dark theme is used.
- Content / stats / quote / CTA slides stay on parchment
(
#f5f4ed) with serif at weight 500.
- Per-slide chrome strip: brand mark · deck title · live slide
counter (
01 / 09).
- Tabular-nums on every counter, metric, page number.
- Coral-free — kami's accent is ink-blue. Progress bar and dot
nav are ink-blue too.
- Keyboard / wheel / touch nav, ESC overview grid, dot indicator.
- Multilingual stack — EN / zh-CN / ja, set on
:root via
the language parameter.
Slide types
| Kind |
Background |
Use it for |
cover |
ink-blue |
Title plate at the start. Centered serif title + tagline. |
chapter |
ink-blue |
Roman/Arabic numeral chapter divider. |
content |
parchment |
Section number + title + body + optional bullets. |
stats |
parchment |
3-4 metric cells (value · label · sub). |
quote |
parchment |
Pull quote with ink-blue left rule + author signature. |
cta |
parchment |
Closing pitch + 1-2 buttons. |
end |
ink-blue |
Mega serif kicker word + colophon footer. |
A typical 11-slide deck:
1. cover — ink-blue title plate
2. chapter — "01 / Why now"
3. content — manifesto
4. content — capabilities + bullets
5. stats — 4 numbers
6. chapter — "02 / How it feels"
7. content — method
8. content — selected work
9. quote — testimonial
10. cta — primary action
11. end — ink-blue kicker
Workflow
1. Gather the brief
Ask in two rounds (don't dump the whole list at once):
- Identity round — name, mark, tagline, location, edition, language.
- Content round — for each slide, kind + the typed fields.
2. Pick the language stack
Same as kami-landing:
EN → Charter, zh-CN → TsangerJinKai02 / Source Han Serif, ja →
YuMincho. JA also overrides --olive to #4d4c48 because YuMincho
strokes are thinner.
3. Write index.html
Output a single file with all CSS inline. Mirror the structure of
example.html. Use only the tokens from
design-systems/kami/DESIGN.md.
The runtime script (keyboard / wheel / touch nav, dot indicator,
progress bar, ESC overview) should match the model documented in
open-design-landing-deck/scripts/compose.ts.
Do not reuse the open-design-landing-deck CSS; the visual
language is different.
4. Self-check
Boundaries
- Do not introduce a second accent color. Pick ink-blue or
pick nothing.
- Do not use italic anywhere — emphasis swaps to ink-blue.
- Do not use
rgba() for tag fills; pre-blend over parchment
and use solid hex from the table in
design-systems/kami/DESIGN.md §2.
- Do not add a router. This is a single-file artifact.
- Do not reuse Atelier Zero collage imagery (the open-design-landing
visual system). Kami is gradient-free, image-light, and hierarchy
is carried by type.
See also
1---2name: kami-deck3description: Create print-grade slide decks in a warm paper design system with restrained ink accents and keyboard navigation. Produce a print-grade slide deck in the kami (紙 / 纸) design system — warm parchment background (or ink-blue for cover / chapter slides), serif at one weight, ink-blue accent ≤ 5% per slide, no italic. Horizontal magazine swipe pagination (←/→ · wheel · swipe · ESC overview). One self-contained HTML file, zero dependencies beyond Google Fonts.4---56# kami-deck78Sister skill to [`kami-landing`](../kami-landing/). Produces a single9self-contained HTML file: a horizontal magazine-style swipe deck in10the **kami (紙 / 纸)** design system — print rhythm, ink-blue accent,11serif at one weight, no italic, no cool grays.1213The navigation model is intentionally borrowed from the14[`guizang-ppt`](../guizang-ppt/) skill — `←/→` arrow keys, wheel /15swipe, ESC for the overview grid. The aesthetic stays kami: parchment16content slides, ink-blue cover and chapter slides, serif everywhere.1718> **Design system source of truth:**19> [`design-systems/kami/DESIGN.md`](../../design-systems/kami/DESIGN.md).20> Read it before shipping. Tokens, type rules, and forbidden colors21> all live there. Slide-specific scale ratios (macro × 1.6,22> letter-spacing × 0.6 vs. print) are documented in §3 "Hierarchy"23> and §5 "Layout Principles · Slides".2425## What you get2627- N viewport-sized slides (6-15 is the sweet spot) laid out28 horizontally on one transformed flex track.29- **Cover and chapter slides** flip background to ink-blue30 (`#1B365D`) with ivory text — the only place dark theme is used.31- **Content / stats / quote / CTA slides** stay on parchment32 (`#f5f4ed`) with serif at weight 500.33- **Per-slide chrome strip**: brand mark · deck title · live slide34 counter (`01 / 09`).35- **Tabular-nums** on every counter, metric, page number.36- **Coral-free** — kami's accent is ink-blue. Progress bar and dot37 nav are ink-blue too.38- **Keyboard / wheel / touch nav**, ESC overview grid, dot indicator.39- **Multilingual stack** — EN / zh-CN / ja, set on `:root` via40 the `language` parameter.4142## Slide types4344| Kind | Background | Use it for |45| :---------- | :--------- | :-------------------------------------------------------- |46| `cover` | ink-blue | Title plate at the start. Centered serif title + tagline. |47| `chapter` | ink-blue | Roman/Arabic numeral chapter divider. |48| `content` | parchment | Section number + title + body + optional bullets. |49| `stats` | parchment | 3-4 metric cells (value · label · sub). |50| `quote` | parchment | Pull quote with ink-blue left rule + author signature. |51| `cta` | parchment | Closing pitch + 1-2 buttons. |52| `end` | ink-blue | Mega serif kicker word + colophon footer. |5354A typical 11-slide deck:5556```571. cover — ink-blue title plate582. chapter — "01 / Why now"593. content — manifesto604. content — capabilities + bullets615. stats — 4 numbers626. chapter — "02 / How it feels"637. content — method648. content — selected work659. quote — testimonial6610. cta — primary action6711. end — ink-blue kicker68```6970## Workflow7172### 1. Gather the brief7374Ask in two rounds (don't dump the whole list at once):75761. Identity round — name, mark, tagline, location, edition, language.772. Content round — for each slide, kind + the typed fields.7879### 2. Pick the language stack8081Same as [`kami-landing`](../kami-landing/SKILL.md#2-pick-the-language-stack):82EN → Charter, zh-CN → TsangerJinKai02 / Source Han Serif, ja →83YuMincho. JA also overrides `--olive` to `#4d4c48` because YuMincho84strokes are thinner.8586### 3. Write `index.html`8788Output a single file with all CSS inline. Mirror the structure of89[`example.html`](./example.html). Use only the tokens from90`design-systems/kami/DESIGN.md`.9192The runtime script (keyboard / wheel / touch nav, dot indicator,93progress bar, ESC overview) should match the model documented in94[`open-design-landing-deck/scripts/compose.ts`](../open-design-landing-deck/scripts/compose.ts).95Do **not** reuse the open-design-landing-deck CSS; the visual96language is different.9798### 4. Self-check99100- [ ] All cover / chapter / end slides use ink-blue background101 (`#1B365D`) with ivory text. All other slides are on102 parchment.103- [ ] Ink-blue covers ≤ 5% of any parchment slide's surface.104- [ ] Slide titles use serif weight 500 only. No italic.105- [ ] All numeric stacks (counter, metrics, page numbers) carry106 `font-variant-numeric: tabular-nums`.107- [ ] Press `→` / `Space` / scroll. Smoothly slides one viewport108 to the right; dot nav advances; the ink-blue progress bar109 ticks forward.110- [ ] Press `Esc`. Overview grid appears with scaled thumbnails.111- [ ] Resize to 1080px and 640px. Cover / content collapse to a112 single column; dot nav still works.113- [ ] Lighthouse: contrast AA, font-display swap, no layout shift.114115## Boundaries116117- **Do not** introduce a second accent color. Pick ink-blue or118 pick nothing.119- **Do not** use italic anywhere — emphasis swaps to ink-blue.120- **Do not** use `rgba()` for tag fills; pre-blend over parchment121 and use solid hex from the table in122 `design-systems/kami/DESIGN.md` §2.123- **Do not** add a router. This is a single-file artifact.124- **Do not** reuse Atelier Zero collage imagery (the open-design-landing125 visual system). Kami is gradient-free, image-light, and hierarchy126 is carried by type.127128## See also129130- [`kami-landing`](../kami-landing/) — long-form one-pager sister skill.131- [`design-systems/kami/DESIGN.md`](../../design-systems/kami/DESIGN.md) — token spec.132- [`open-design-landing-deck`](../open-design-landing-deck/) — same133 horizontal swipe nav model, different visual language (Atelier Zero).134- Upstream: [`tw93/kami`](https://github.com/tw93/kami) — original135 Claude skill (MIT). Kami's slides.py template documents the macro136 × 1.6 / micro × 0.6 ratios this skill applies.137