slidewright

Solid

Build interactive presentation websites — slide decks projected to a room, controlled by one presenter. Use this skill WHENEVER the user wants to create, build, or design a presentation, slide deck, talk, or "bài thuyết trình / slide / trình chiếu", and also when they ask to add/edit slides, restyle a deck, scaffold a new presentation project, reuse their presentation setup in another repo, or export slides to PDF — even if they don't say the word "slide" but clearly need projected talk visuals (e.g. "I'm giving a talk next week and need visuals", "dựng deck cho buổi chia sẻ", "làm mấy trang chiếu cho hội thảo"). Supports two tracks: a zero-build single HTML file, or a Vite + React project. Do NOT use it for printable documents, normal web apps, or dashboards meant for individual users to interact with.

Web & Frontend 72 stars 29 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 84/100

Stars 20%
62
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Interactive presentation builder Build slide decks that run as a website and are **projected to a room**. The deck is the visual half of a talk; the presenter does the talking. Two ways to build, one shared design language. ## First, the mental model (read before writing any code) There is **one operator** (the presenter) on **one machine**. Slides go on a big screen; the audience only **looks** — they never click, type, or interact. Everything below follows from this. Three failure modes to avoid: - **Text too small.** Slides are read from across a room, not on a laptop. Never use web-reading sizes (`text-sm`, `16px`) or fixed Tailwind text classes (`text-4xl`). Always use fluid `clamp()` so text scales with the screen. Honour the typography floor (body ≥ ~40px on a 1080p canvas). See `references/design-system.md`. - **Content hugging an edge.** Padding is a two-layer contract. Slide content must stay inside the viewport safe area, and content inside a card, panel, callout, bordered box, or other visible container must stay inset from that container's own edge. A parent slide's padding does not protect a nested container; `gap` and child margins are not a substitute for the container's own padding. Both scaffolds provide safe-area padding and a `.slide-surface` inset helper. Even `fullBleed` slides keep text content inset. - **Building an app.** No input fields, no "Submit", no login, no data collection — there is no backend and nowhere for data to go...

Details

Author
tronghieu
Repository
tronghieu/agent-skills
Created
6 months ago
Last Updated
4 days ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category