open-design/design-templates/kami-deck
Joey-nexu f1870cbf3d
chore(featured): curate Featured picks down to top 10 across categories (#1966)
* chore(featured): curate Featured picks down to top 10 across categories

The picker's Featured chip currently surfaces 64 plugins because
`isFeaturedPlugin` (apps/web/src/components/plugins-home/facets.ts)
treats any finite `od.featured` number as featured, and the field
had been adopted incrementally by 51 skills + 13 templates without
a curation step. The result is a "Featured" tab that's effectively
"everything tagged at all" — no editorial signal.

Curate down to 10 picks, allocated to keep the showcase legible:

  0.001  skills/deck-swiss-international
  0.01   skills/deck-guizang-editorial
  0.02   design-templates/magazine-poster              [add]
  0.04   skills/doc-kami-parchment
  0.10   design-templates/web-prototype-taste-brutalist [add od: block]
  0.13   skills/video-hyperframes
  0.14   skills/frame-glitch-title
  0.15   skills/vfx-text-cursor
  0.16   skills/frame-logo-outro
  0.17   skills/deck-open-slide-canvas

Selection mirrors the html-anything `recommended: 1..10` ranking
(html-anything is the upstream content source for these skills, per
the `od.upstream` field on each SKILL.md). Two of those 10 picks
weren't in the prior featured set at all — `magazine-poster` had no
`od.featured` field and `web-prototype-taste-brutalist` had no `od:`
block at all — so they get added rather than just rebalanced.

Removes `od.featured` from the other 56 files. No UI code change;
the existing `isFeaturedPlugin` logic now reads a curated set
instead of an accidental one.

* chore(featured): align baked plugin manifests with curated top 10

The picker reads `od.featured` from each plugin's
`plugins/_official/examples/<id>/open-design.json` manifest, not from
the SKILL.md frontmatter the previous commit edited. Without this
follow-up the curated set of 10 would be invisible to users — the
picker's Featured chip would still surface 27 baked plugins from the
pre-existing manifests.

Mirror the SKILL.md curation into the baked layer:

  removed `od.featured` from 19 manifests:
    article-magazine, card-xiaohongshu, data-report,
    frame-data-chart-nyt, frame-flowchart-sticky,
    frame-light-leak-cinema, frame-liquid-bg-hero,
    frame-macos-notification, guizang-ppt, html-ppt,
    kami-deck, kami-landing, mockup-device-3d,
    open-design-landing-deck, ppt-keynote, resume-modern,
    social-reddit-card, social-spotify-card, social-x-post-card

  added `od.featured` to 2 manifests:
    magazine-poster -> 0.02
    web-prototype-taste-brutalist -> 0.10

Verified locally against `daemon /api/plugins`: featured count is
now exactly 10, matching the SKILL.md source of truth from the
previous commit.
2026-05-18 12:56:26 +08:00
..
example.html feat: generic skills + split skills/design-templates + finalize-design API (#955) 2026-05-11 17:48:34 +08:00
README.md feat: generic skills + split skills/design-templates + finalize-design API (#955) 2026-05-11 17:48:34 +08:00
SKILL.md chore(featured): curate Featured picks down to top 10 across categories (#1966) 2026-05-18 12:56:26 +08:00

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.

Read first — agent contract, schema, and self-check live in SKILL.md. This README is the human quick-start.

What you get

  • N viewport-sized slides laid out horizontally on a transformed flex track.
  • Cover / chapter / end slides flip background to ink-blue (#1B365D) with ivory text. All other 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, and date.
  • Ink-blue progress bar at the bottom that fills as you advance.
  • Dot indicator near the bottom; click to jump.
  • ESC overview grid with scaled thumbnails.
  • Keyboard / wheel / touch nav — same model as guizang-ppt.
  • Multilingual stack — EN / zh-CN / ja, set on :root via the language parameter.

30-second tour

The skill is "agent-driven, no script": there's no compose.ts. The agent reads SKILL.md, gathers the brief, then writes out/index.html directly using the tokens from design-systems/kami/DESIGN.md and the layout primitives in example.html.

To preview the canonical Open Design instance:

open example.html

To start a fresh project:

  1. Open the skill in your agent (Claude · Cursor · Codex · …).
  2. Answer two rounds of brief questions (identity + content).
  3. Write the file. Done.

Files

skills/kami-deck/
├── SKILL.md      # ← agent contract (read this first)
├── README.md     # ← you are here
└── example.html  # canonical Open Design rendering (9 slides)

Boundaries

  • No second accent color. No italic. No cool blue-grays. No hard drop shadows.
  • One self-contained HTML file. No router, no external JS bundle.
  • Cover / chapter / end slides only — no other slide kind goes dark.
  • Tag fills must be solid hex (kami's print invariant), not rgba().

See also