원클릭으로
deck-add-slide
Guide for adding a new slide to a deck project. Use this when asked to create, add, or build a new slide component.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Guide for adding a new slide to a deck project. Use this when asked to create, add, or build a new slide component.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Guide for adding progressive disclosure (step-by-step / click-to-reveal builds) to a slide. Use this when asked to make a slide reveal content one step at a time, add build steps, or fix a disclosure slide that exports blank.
Find recoverable disk space in a deck project (unused media, stale exports, generated caches) without ever silently deleting user work. Use this when asked to optimize, slim down, clean up, free space, prune, or shrink a deck.
Validate and audit a deck project for correctness. Use this when asked to validate, audit, polish, review, check, or verify slides.
Capture a screenshot of the deck app to visually inspect slides. Use this when asked to look at, see, view, inspect, check visually, or preview a slide. Works in VS Code, Copilot CLI, deck-launcher, and containers.
Port a PowerPoint, PPTX, PDF export, or slide-image deck into native DECKIO slides. Use this when asked to convert, map, rebuild, port, digitize, or translate presentation slides into DeckIO. Includes source extraction, slide classification, amplification-first redesign, data extraction, native slide rebuilding, and validation.
Sketch a slide on Whiteboard, capture the sketch, and use it as inspiration to create a new slide. Use this when the user wants to draw, sketch, or wireframe a slide before building it.
SOC 직업 분류 기준
| name | deck-add-slide |
| description | Guide for adding a new slide to a deck project. Use this when asked to create, add, or build a new slide component. |
Read .github/instructions/descriptor-resolution.instructions.md first. It tells you how to pick the right theme descriptor, how to cross-check designSystem, and which shadcn supplements to load. Follow the descriptor exactly for slide structure, CSS, tokens, decorative elements, allowed components, and anti-patterns.
Also read .github/instructions/inline-editing.instructions.md before writing slide JSX.
Editable from @deckio/deck-engine for any slide with user-facing copy.EditableList from @deckio/deck-engine when the slide renders a list of user content.BottomBar footer text in <Editable>..map() over a user-content array (cards, bullets, steps, KPIs, features) in <EditableList id="<slide>.<list>" items={…} keyOf={(i) => i.id}>. Each item MUST have a stable id field. Skip EditableList only for decorative arrays (icons, orbs, dots, glyphs).slideName.title, slideName.items.<itemId>.label, or slideName.footer.The descriptor is the source of truth. Read these sections before generating code:
Do not paraphrase the structure if the descriptor gives an exact skeleton. Start from it, then fill in real content.
deck.config.jsAfter creating the slide files:
import MyNewSlide from './src/slides/MyNewSlide.jsx'slides array at the desired position.theme, designSystem, or aurora while registering the slide.The generic App.jsx renders slides from this array and passes index automatically. You do not manage slide indices manually.
These apply regardless of theme:
content-frame content-gutterBottomBar as the last child inside <Slide>BottomBar text in <Editable as="span" id="slideName.footer">...</Editable> when the footer text is user-facing.map() calls in <EditableList> with a stable item id field, and pass a className whose CSS module rule establishes a slide-aware layout that fits within the density limits below (skip only for decorative arrays)flex: 1 on the body wrapperflex-direction: column on the slide root| Layout | Max items | Notes |
|---|---|---|
| Cards (3-col grid) | 6 (2 rows) | Reduce card padding if tight |
| Cards (2-col grid) | 4 (2 rows) | Preferred for detailed cards |
| Timeline / event list | 3–4 items | Use compact card height for 4 |
| Bullet points | 6–8 | Depends on line length |
| Full-width content blocks | 2–3 | Split across slides if it gets tight |
The <EditableList> container is where these limits become a layout: pass a className whose CSS module rule renders the items as the matching grid/flex layout (e.g. display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem for a 3-col card grid). When no className is provided the engine falls back to a responsive auto-fit minmax(220px, 1fr) grid — safe for cards/features, but compact bullet lists and timelines should always pass their own class.
After writing the slide:
descriptor-resolution.instructions.mdinline-editing.instructions.mdEditable when the slide contains user-facing textEditableList when the slide renders a user-content list, and wrapped the .map() with stable item IDsBottomBar text in <Editable> with unique semantic IDsdeck.config.jsslides arraytheme, designSystem, and aurora unchanged