Worked example: slide deck (talk archetype)¶
Generated by
skills/slide-deck-author. Demonstrates the canonical talk-deck outline — message-led titles, one visual per slide, speaker notes.
Meta¶
- Type: talk deck
- Topic: "Why design tokens matter — and how to ship them"
- Length: 20-min conference talk + 5-min Q&A
- Audience: senior designers + frontend engineers (~200 attendees, FEKR-style conference)
- Brand: design-ai
- Locale: Korean (Hangul slides, English code, presented in Korean)
Slide outline¶
1. Title slide¶
- Visual: design-ai logo + Korean tagline
- Body text:
- Speaker notes:
"안녕하세요, 김민지입니다. design-ai 프로젝트의 메인테이너이고, 오늘은 디자인 토큰을 어떻게 설계하고 출시까지 가져가는지 이야기하겠습니다."
2. Hook — the problem¶
- Title: 디자이너와 개발자가 다른 색을 본다
- Visual: side-by-side image
- Left: Figma swatch panel showing
#7C3AED - Right: VS Code showing
#8B5CF6hardcoded in CSS - Bold red border around both — they should match, they don't
- Body text: none — image speaks
- Speaker notes:
"이 슬라이드를 보세요. 왼쪽은 Figma의 컬러 변수, 오른쪽은 실제 코드의 hex 값. 두 값이 다릅니다. 1년 전에 다른 디자이너가 hex를 직접 입력했고, 아무도 모르게 어긋났어요. 이게 디자인 토큰이 없는 팀에서 매주 일어나는 일입니다."
3. The cost — quantified¶
- Title: 매주 4시간이 토큰 정렬에 사라진다
- Visual: bar chart showing rework hours per week
- Before tokens: 4.2 hours
- After tokens: 0.7 hours
- Highlight the gap with arrow + "−83%"
- Body text: small caption — "Source: 2025 internal study, n=12 teams"
- Speaker notes:
"정량적으로 측정해 봤어요. 토큰 시스템이 없는 팀은 일주일에 평균 4시간을 디자인-개발 정렬에 씁니다. 토큰 도입 후엔 1시간 미만으로 줄었어요. 83% 절약. 12개 팀 표본입니다."
4. Section divider¶
- Visual: minimal — just text on solid teal background
- Body text:
5. What a token is¶
- Title: 토큰은 의미와 값을 분리한다
- Visual: diagram
- Body text: "각 층은 다음 층에 의해 참조됩니다"
- Speaker notes:
"토큰의 핵심 개념은 layering입니다. 가장 아래는 hex 값, 그 위에 primitive 토큰 이름, 그 위에 의미 별칭, 그 위에 컴포넌트별 토큰. 각 층은 위 층의 참조를 받지, 직접 hex를 가지진 않아요. 이게 시스템성의 출발입니다."
6. Three-tier architecture¶
- Title: 세 개의 층을 분리하라
- Visual: 3 stacked colored boxes labeled
- tier 1: primitive (color.brand.primary.{50..950})
- tier 2: semantic (color.semantic.primary)
- tier 3: component (button.primary.bg)
- Body text: "Tier 1은 거의 안 바뀝니다. Tier 2와 3는 자주 바뀝니다."
- Speaker notes:
"Layered architecture를 한 번 더 강조할게요. Tier 1은 hue/value pairs. 한 번 정하면 거의 안 바뀝니다. Tier 2는 의미, Tier 3는 컴포넌트별. 다크모드를 도입할 때, brand color를 바꿀 때 — 어디만 바꾸면 되는지 명확합니다."
7. Section divider¶
- Body text:
8. OKLCH vs HSL¶
- Title: HSL은 거짓말한다 — OKLCH가 답
- Visual:
- Two color ramps side-by-side
- HSL ramp showing yellow at L=50% appearing brighter than blue at L=50%
- OKLCH ramp showing all hues at L=0.5 reading equally bright
- Label "HSL: visual brightness varies" / "OKLCH: visual brightness uniform"
- Speaker notes:
"HSL은 1978년에 정의된 모델인데, 인간의 시각과 안 맞아요. 같은 lightness 50%인데, 노랑은 밝아 보이고, 파랑은 어두워 보입니다. OKLCH는 perceptually uniform — 같은 L 값이면 시각적으로도 같은 밝기. Tailwind v4가 OKLCH로 옮긴 이유입니다."
9. WCAG validation — non-negotiable¶
- Title: 모든 색은 WCAG 4.5:1을 통과해야 한다
- Visual: contrast matrix table
- Rows: text-primary, primary-default, error, success
- Columns: bg-default (white), bg-elevated, bg-subtle
- Cells: ratio (e.g., 18.7:1) + ✓/✗
- Body text: "✓ = AA body text · 빨간 ✗는 절대 ship 안 됨"
- Speaker notes:
"토큰 만들 때 contrast matrix를 먼저 그립니다. 본문 텍스트는 4.5:1, UI는 3:1 — WCAG AA 기준입니다. design-ai가 만드는 팔레트는 모든 cell이 통과해야 하고, ✗가 하나라도 있으면 ship 안 합니다."
10. Section divider¶
- Body text:
11. Style Dictionary architecture¶
- Title: 한 source.json에서 모든 플랫폼 출력
- Visual:
- Body text: "단일 source. CI에서 자동 생성."
- Speaker notes:
"Source는 하나, output은 여러 개입니다. Style Dictionary가 platform별로 변환해 줍니다. CSS, Tailwind config, iOS Swift, Android XML — 같은 토큰. CI에 build를 걸어 두면 source만 commit하면 모든 플랫폼이 자동 갱신됩니다."
12. Drift detection¶
- Title: Drift는 자동으로 잡는다
- Visual: GitHub Actions YAML snippet (small but readable)
- Body text: "Stylelint + Figma sync diff + visual regression. PR마다 실행."
- Speaker notes:
"토큰 시스템 만들고 끝이 아니라, drift를 잡는 자동화가 중요합니다. PR마다 stylelint로 raw hex를 거부하고, Figma 토큰과 코드 토큰을 비교하고, visual regression으로 컴포넌트 외관 변화를 잡습니다. 빌드 한 번 통과하면 디자인 시스템 컴플라이언스도 통과한 거예요."
13. Section divider¶
- Body text:
14. Korean stock convention¶
- Title: 한국에서는 빨강이 상승, 파랑이 하락
- Visual: stock chart with red candles for gains, blue for losses
- Body text: "Western 컨벤션과 반대 — 토큰 이름까지 분리해야 합니다"
- Speaker notes:
"한국 시장 특화의 한 예. Stock app은 빨강이 상승, 파랑이 하락이에요. Western 앱은 반대. 같은 'positive trend'라도 한국은 red가 맞습니다. 토큰 이름은
color-money-positive같은 의미 기반으로 두고, 값을 한국에서만 빨강으로 mapping하는 layer를 추가합니다."
15. Korean fintech custom components¶
- Title: 토큰만으로 부족 — 한국 특화 컴포넌트도 필요
- Visual: 4-up grid showing
- AmountInput (KRW formatter)
- AddressInput (Daum Postcode)
- PaymentMethodSelector (KakaoPay/NaverPay/Toss)
- BiometricGate (Face ID)
- Body text: "design-ai에 모든 spec 포함"
- Speaker notes:
"토큰은 시스템의 베이스. 그 위에 한국 시장 특화 컴포넌트가 필요합니다. AmountInput, AddressInput, PaymentMethodSelector, BiometricGate — 한국 fintech의 가장 많이 쓰는 4 종이고, design-ai 안에 모두 spec 있습니다."
16. Conclusion — what to do tomorrow¶
- Title: 내일 시작할 수 있는 3가지
- Visual: 3 numbered cards
- Body text: "각 단계 1시간 이내"
- Speaker notes:
"정리하겠습니다. 내일 출근해서 할 수 있는 세 가지. 토큰 source 파일 하나 만들기, stylelint 룰 추가, design-ai의 design-from-brief 한 번 돌려보기. 각 1시간 이내, 누적 효과는 큽니다. 고맙습니다."
17. Q&A / closing¶
- Visual: design-ai logo + GitHub URL + 김민지 SNS handle
- Body text: "github.com/your-org/design-ai"
- Speaker notes:
"질문 받겠습니다."
Total: 17 slides for 20-min talk¶
Average ~70 seconds per slide. Tight pace, but talk decks should be tight.
Keyboard and focus notes¶
- Presenters can advance with keyboard arrows, Space, or a clicker; every embedded demo link keeps a visible focus state.
- If exported to an interactive web deck, tab order follows slide order first, then links inside the active slide; hidden slides are removed from focus order.
- Screen reader users get slide number, title, and speaker-note availability through
aria-label/aria-describedbyon the active slide container. - Responsive checks cover the projector viewport, laptop presenter view, and mobile PDF preview.
- Speaker notes are not keyboard-focusable during audience presentation, so they do not interrupt the talk flow.
Render-ready (reveal.js / Slidev format)¶
Optional output if user wants the actual deck file:
---
theme: default
title: 디자인 토큰
author: 김민지
---
# 디자인 토큰
설계부터 출시까지
---
# 디자이너와 개발자가 다른 색을 본다
[image: side-by-side-mismatch.png]
<!-- speaker:
이 슬라이드를 보세요...
-->
(Continues for all slides.)
Why this is a good talk-deck example¶
- 17 slides for 20 min — tight pace, message-led.
- Every title is a message, not a topic ("디자이너와 개발자가 다른 색을 본다", not "문제").
- One visual per slide — chart, diagram, image, code snippet.
- Speaker notes for every slide — what the speaker says, not what's on the slide.
- Section dividers at part boundaries — gives audience cognitive break.
- Korean voice consistent (~합니다 tone for conference talk — formal but conversational).
- Conclusion lands on action — "내일 시작할 수 있는 3가지" not abstract takeaway.
Cite knowledge/patterns/slide-deck-design.md for talk-deck rules.