open-design/skills/replit-deck
Joey-nexu eff0764f93
Feat: add replit-deck skill with 8 themes from replit.com/slides (#74)
* Feat: add replit-deck skill with 8 themes captured from replit.com/slides

- New deck skill modeled on the Replit Slides landing-page template gallery.
- Eight self-contained themes selectable via <body data-theme=...>: helix,
  holm, vance, bevel, world-dark, world-mint, atlas, bluehouse. Each ships
  a complete visual system — palette, font stack, display weight, accent
  rules — sampled directly from the original PNGs with ImageMagick.
- Seed template.html reuses the proven iframe-safe nav script from
  simple-deck (five-rule scroller/keyboard/focus/scroll-into-view pattern).
- references/: themes.md (when-to-pick + do/don't per theme), layouts.md
  (ten paste-ready <section> blocks cross-referenced to theme fits),
  components.md (shared primitives), checklist.md (P0/P1/P2 + 5-dim
  critique gate).
- examples/: four reference decks showing the most contrasting themes in
  action (helix / holm / atlas / bluehouse). The four remaining themes
  are covered by themes.md + template.html tokens.
- Registers as mode:deck, previewType:html. Discovered by the daemon's
  skill registry on next scan — no other wiring needed.

* Fix: replit-deck review feedback — atlas display-face, theme lock-in, docs gaps

Addresses review feedback on #74:

P2 bugs (Codex):
- SKILL.md: atlas uses serif display (not sans). The Hard Rules list
  contradicted the --font-display token in template.html and would
  mis-generate atlas decks.
- themes.md: remove the world-dark/world-mint 'alternating slides'
  escape hatch that conflicted with the P0 theme-lock gate. Replaced
  with 'still one theme per file' guidance; world-mint is a companion
  standalone deck, not a mid-deck swap. Ripple fix in components.md.

Doc gaps (lefarcen):
- Scope & provenance: eight themes = full replit.com/slides gallery
  at snapshot date 2026-04-29, not a curated subset.
- Maintenance: one-time snapshot, not auto-tracked; drift reporting
  goes through a repo issue.
- Browser support: Chrome 110+ / Safari 16+ / Firefox 115+, explicit
  about color-mix/scroll-snap/text-wrap:balance baseline.
- When-to-use table comparing replit-deck to simple-deck and
  magazine-web-ppt (not guizang-ppt; the registered name is
  magazine-web-ppt with guizang-ppt-skill as upstream).
- Verification section with real curl output against the running
  daemon on localhost:7456.
- themes.md: 'Contributing a new theme' with the exact ImageMagick
  sampling procedure and the 6-token mapping contract.

P3 nits (lefarcen):
- slide_count frontmatter comment: 6 is a board baseline, memos
  usually run 3–4.
- template.html: expanded the 'do not rewrite' comment to name all
  five iframe-nav bugs the script solves.
- SKILL.md workflow Step 5: one-liner pointing to the checklist's
  P0 gates + five-dimension critique.

* Fix: namespace replit-deck persisted slide position by pathname

Codex caught that the nav script claimed 'keyed by pathname' in its
comment but actually used a single global localStorage key
('od-deck-pos'), so two decks served from the same origin would
overwrite each other's saved slide index. Opening a second deck after
a long first one could land the user mid-deck on an unrelated file.

Fix: namespace KEY with location.pathname in template.html and in the
four ship-along example decks. Also corrected the comment to say
localStorage (not sessionStorage) to match the actual implementation.

(Same pattern exists in skills/simple-deck — filed as a separate
concern, not in the scope of this PR.)

---------

Co-authored-by: joey <joey@joeydeMacBook-Air.local>
2026-04-30 11:19:52 +08:00
..
assets Feat: add replit-deck skill with 8 themes from replit.com/slides (#74) 2026-04-30 11:19:52 +08:00
examples Feat: add replit-deck skill with 8 themes from replit.com/slides (#74) 2026-04-30 11:19:52 +08:00
references Feat: add replit-deck skill with 8 themes from replit.com/slides (#74) 2026-04-30 11:19:52 +08:00
SKILL.md Feat: add replit-deck skill with 8 themes from replit.com/slides (#74) 2026-04-30 11:19:52 +08:00