Skip to content

Latest commit

ย 

History

History
762 lines (612 loc) ยท 79.1 KB

File metadata and controls

762 lines (612 loc) ยท 79.1 KB

Open Design โ€” Claude Design์˜ ๊ณต์‹ ์˜คํ”ˆ์†Œ์Šค ๋Œ€์•ˆ

Open Design์€ Claude Design์˜ ์˜คํ”ˆ์†Œ์Šค, ๋กœ์ปฌ ์šฐ์„  ๋Œ€์•ˆ์ž…๋‹ˆ๋‹ค. ์›น ๋ฐฐํฌ ๊ฐ€๋Šฅ, ๋ชจ๋“  ๋ ˆ์ด์–ด์—์„œ BYOK โ€” PATH์—์„œ ์ž๋™ ๊ฐ์ง€๋˜๋Š” 16๊ฐœ์˜ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ CLI(Claude Code, Codex, Devin for Terminal, Cursor Agent, Gemini CLI, OpenCode, Qwen, Qoder CLI, GitHub Copilot CLI, Hermes, Kimi, Pi, Kiro, Kilo, Mistral Vibe, DeepSeek TUI)๊ฐ€ 31๊ฐ€์ง€ ์กฐํ•ฉ ๊ฐ€๋Šฅํ•œ Skill๊ณผ 72๊ฐ€์ง€ ๋ธŒ๋žœ๋“œ๊ธ‰ ๋””์ž์ธ ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ๋™๋˜๋Š” ๋””์ž์ธ ์—”์ง„์ด ๋ฉ๋‹ˆ๋‹ค. CLI๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋‹ค? OpenAI ํ˜ธํ™˜ BYOK ํ”„๋ก์‹œ๊ฐ€ spawn๋งŒ ๋น ์ง„ ๋™์ผํ•œ ๋ฃจํ”„๋ฅผ ๋Œ๋ฆฝ๋‹ˆ๋‹ค.

Important

๐Ÿ”ฅ 0.8.0-preview๊ฐ€ ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋””์ž์ธ์˜ ์˜› ์‹œ๋Œ€๋Š” ์—ฌ๊ธฐ์„œ ๋๋‚ฉ๋‹ˆ๋‹ค.

Claude Design / Figma์˜ ์˜คํ”ˆ์†Œ์Šค ๋Œ€์•ˆ โ€” 2์ฃผ ๋งŒ์— 40k stars๋กœ ์—ฌ๊ธฐ๊นŒ์ง€ ์™”์Šต๋‹ˆ๋‹ค. ๋‚จ์€ ๊ธธ์€ ๋‹น์‹ ๊ณผ ํ•จ๊ป˜ ๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

main์—์„œ ๋น ๋ฅด๊ฒŒ ์ดํ„ฐ๋ ˆ์ด์…˜ ์ค‘ โ€” 0.8.0์€ Open Design์˜ ๋‹ค์Œ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. PR์„ ๋ณด๋‚ด๊ณ , ๊ฑฐ์นœ ์•„์ด๋””์–ด๋ฅผ ๋˜์ง€๊ณ , ๋ฒ„๊ทธ๋ฅผ ์‹ ๊ณ ํ•˜์„ธ์š” โ€” ๋‹น์‹ ์ด ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ๊ณง ์ด ๋ฌด๋ธŒ๋จผํŠธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

โ†’ ๊ณต์ง€ ์ฝ๊ธฐ ยท ์ธ์Šคํ†จ๋Ÿฌ ๋‹ค์šด๋กœ๋“œ ยท ๋ฌด๋ธŒ๋จผํŠธ์— ํ•ฉ๋ฅ˜ ยท ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ 0.7๊ณผ ๋‚˜๋ž€ํžˆ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

Open Design โ€” ๋…ธํŠธ๋ถ ์œ„์˜ ์—์ด์ „ํŠธ์™€ ํ•จ๊ป˜ ์„ค๊ณ„ํ•˜๋Š” ํ‘œ์ง€

Stars Forks Issues Pull Requests Contributors Commit activity Last commit

๋‹ค์šด๋กœ๋“œ Latest release License Agents Design systems Skills Discord Quickstart

English ยท Espaรฑol ยท Portuguรชs (Brasil) ยท Deutsch ยท Franรงais ยท ็ฎ€ไฝ“ไธญๆ–‡ ยท ็น้ซ”ไธญๆ–‡ ยท ํ•œ๊ตญ์–ด ยท ๆ—ฅๆœฌ่ชž ยท ุงู„ุนุฑุจูŠุฉ ยท ะ ัƒััะบะธะน ยท ะฃะบั€ะฐั—ะฝััŒะบะฐ ยท Tรผrkรงe


์™œ ๋งŒ๋“ค์—ˆ๋Š”๊ฐ€

Anthropic์˜ Claude Design(2026-04-17 ์ถœ์‹œ, Opus 4.7 ๊ธฐ๋ฐ˜)์€ LLM์ด ์žฅ๋ฌธ์˜ ๊ธ€์“ฐ๊ธฐ๋ฅผ ๋ฉˆ์ถ”๊ณ  ๋””์ž์ธ ์‚ฐ์ถœ๋ฌผ์„ ์ง์ ‘ ๋‚ด๋†“๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆœ์‹๊ฐ„์— ํ™”์ œ๊ฐ€ ๋˜์—ˆ์ง€๋งŒ, ์—ฌ์ „ํžˆ ํด๋กœ์ฆˆ๋“œ ์†Œ์Šค, ์œ ๋ฃŒ, ํด๋ผ์šฐ๋“œ ์ „์šฉ, Anthropic ๋ชจ๋ธ๊ณผ Anthropic ๋‚ด๋ถ€ skill์— ์ข…์†๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ฒดํฌ์•„์›ƒ๋„, ์ž๊ฐ€ ํ˜ธ์ŠคํŒ…๋„, Vercel ๋ฐฐํฌ๋„, ์—์ด์ „ํŠธ ๊ต์ฒด๋„ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Open Design(OD)์€ ๊ทธ ์˜คํ”ˆ์†Œ์Šค ๋Œ€์•ˆ์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฃจํ”„, ๋™์ผํ•œ '์•„ํ‹ฐํŒฉํŠธ ์šฐ์„ ' ์‚ฌ๊ณ ๋ฐฉ์‹, ๋ฒค๋” ์ข…์† ์—†์Œ. ์šฐ๋ฆฌ๋Š” ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค โ€” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋Š” ์ด๋ฏธ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋…ธํŠธ๋ถ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ skill ๊ธฐ๋ฐ˜ ๋””์ž์ธ ์›Œํฌํ”Œ๋กœ์— ์—ฐ๊ฒฐํ•  ๋ฟ์ž…๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ๋Š” pnpm tools-dev๋กœ ์‹คํ–‰ํ•˜๊ณ , ์›น ๋ ˆ์ด์–ด๋Š” Vercel์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ชจ๋“  ๋ ˆ์ด์–ด์—์„œ BYOK(์ž์ฒด ํ‚ค ์‚ฌ์šฉ)๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹œ๋“œ ๋ผ์šด๋“œ๋ฅผ ์œ„ํ•œ ๋งค๊ฑฐ์ง„ ์Šคํƒ€์ผ ํ”ผ์น˜๋ฑ ๋งŒ๋“ค์–ด์ค˜๋ผ๊ณ  ์ž…๋ ฅํ•˜์„ธ์š”. ๋ชจ๋ธ์ด ํ”ฝ์…€ ํ•˜๋‚˜ ๊ทธ๋ฆฌ๊ธฐ ์ „์— ์ดˆ๊ธฐํ™” ์งˆ๋ฌธ ํผ์ด ๋จผ์ € ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” 5๊ฐ€์ง€ ์—„์„ ๋œ ์‹œ๊ฐ์  ๋ฐฉํ–ฅ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ TodoWrite ๊ณ„ํš ์นด๋“œ๊ฐ€ UI์— ์ŠคํŠธ๋ฆฌ๋ฐ๋ฉ๋‹ˆ๋‹ค. Daemon์ด ๋””์Šคํฌ์— ์‹ค์ œ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, seed ํ…œํ”Œ๋ฆฟ, ๋ ˆ์ด์•„์›ƒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ž๊ฐ€ ์ ๊ฒ€ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” pre-flight ์ ๊ฒ€์„ ๋ฐ˜๋“œ์‹œ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ž์‹ ์˜ ์ถœ๋ ฅ๋ฌผ์— ๋Œ€ํ•ด 5์ฐจ์› ๊ฒ€ํ† ๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, ๋ช‡ ์ดˆ ํ›„ ์ƒŒ๋“œ๋ฐ•์Šค iframe์— ๋ Œ๋”๋ง๋˜๋Š” ๋‹จ์ผ <artifact>๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

์ด๊ฑด "AI๊ฐ€ ๋””์ž์ธ์„ ์‹œ๋„ํ•œ๋‹ค"๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ์Šคํƒ์— ์˜ํ•ด ํ›ˆ๋ จ๋œ AI๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์‹œ์Šคํ…œ, ๊ฒฐ์ •๋ก ์  ํŒ”๋ ˆํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ฒดํฌ๋ฆฌ์ŠคํŠธ ๋ฌธํ™”๋ฅผ ๊ฐ–์ถ˜ ์ˆ˜์„ ๋””์ž์ด๋„ˆ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค โ€” Claude Design์ด ์„ธ์šด ๊ธฐ์ค€ ๊ทธ๋Œ€๋กœ, ํ•˜์ง€๋งŒ ์˜คํ”ˆ์†Œ์Šค๋กœ, ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฒƒ์œผ๋กœ.

OD๋Š” ๋„ค ๊ฐœ์˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์˜ ์–ด๊นจ ์œ„์— ์„œ ์žˆ์Šต๋‹ˆ๋‹ค:

  • alchaincyf/huashu-design โ€” ๋””์ž์ธ ์ฒ ํ•™์˜ ๋‚˜์นจ๋ฐ˜. Junior-Designer ์›Œํฌํ”Œ๋กœ, 5๋‹จ๊ณ„ ๋ธŒ๋žœ๋“œ ์—์…‹ ํ”„๋กœํ† ์ฝœ, anti-AI-slop ์ฒดํฌ๋ฆฌ์ŠคํŠธ, 5์ฐจ์› ์ž๊ธฐ ๊ฒ€ํ† , ๊ทธ๋ฆฌ๊ณ  ๋ฐฉํ–ฅ ์„ ํƒ๊ธฐ ๋’ค์˜ "5๊ฐ€์ง€ ํ•™ํŒŒ ร— 20๊ฐ€์ง€ ๋””์ž์ธ ์ฒ ํ•™" ์•„์ด๋””์–ด โ€” ๋ชจ๋‘ apps/daemon/src/prompts/discovery.ts์— ๋…น์•„๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • op7418/guizang-ppt-skill โ€” ๋ฑ ๋ชจ๋“œ. skills/guizang-ppt/ ์•„๋ž˜์— ์›๋ณธ ๊ทธ๋Œ€๋กœ ๋ฒˆ๋“ค๋จ, ์› LICENSE ๋ณด์กด; ๋งค๊ฑฐ์ง„ ๋ ˆ์ด์•„์›ƒ, WebGL hero, P0/P1/P2 ์ฒดํฌ๋ฆฌ์ŠคํŠธ.
  • OpenCoworkAI/open-codesign โ€” UX์˜ ๋ถ๊ทน์„ฑ์ด์ž ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋™๋ฅ˜. ์ตœ์ดˆ์˜ ์˜คํ”ˆ์†Œ์Šค Claude-Design ๋Œ€์•ˆ. ์ŠคํŠธ๋ฆฌ๋ฐ ์•„ํ‹ฐํŒฉํŠธ ๋ฃจํ”„, ์ƒŒ๋“œ๋ฐ•์Šค iframe ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํŒจํ„ด(React 18 + Babel ๋‚ด์žฅ), ์‹ค์‹œ๊ฐ„ ์—์ด์ „ํŠธ ํŒจ๋„(todos + tool calls + ์ค‘๋‹จ ๊ฐ€๋Šฅํ•œ ์ƒ์„ฑ), 5๊ฐ€์ง€ ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹(HTML / PDF / PPTX / ZIP / Markdown)์„ ์ฐจ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํผ ํŒฉํ„ฐ์—์„œ๋Š” ์˜๋„์ ์œผ๋กœ ์ฐจ๋ณ„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค โ€” ๊ทธ์ชฝ์€ pi-ai๋ฅผ ๋ฒˆ๋“ค๋งํ•œ Electron ๋ฐ์Šคํฌํƒ‘ ์•ฑ์ด๊ณ , ์šฐ๋ฆฌ๋Š” ์—์ด์ „ํŠธ ๋Ÿฐํƒ€์ž„์„ ์ด๋ฏธ ์„ค์น˜๋œ CLI์— ์œ„์ž„ํ•˜๋Š” ์›น์•ฑ + ๋กœ์ปฌ daemon์ž…๋‹ˆ๋‹ค.
  • multica-ai/multica โ€” Daemon ๋ฐ ๋Ÿฐํƒ€์ž„ ์•„ํ‚คํ…์ฒ˜. PATH ์Šค์บ” ๋ฐฉ์‹์˜ ์—์ด์ „ํŠธ ๊ฐ์ง€, ๋‹จ์ผ ํŠน๊ถŒ ํ”„๋กœ์„ธ์Šค๋กœ์„œ์˜ ๋กœ์ปฌ daemon, ์—์ด์ „ํŠธ-๋™๋ฃŒ ์„ธ๊ณ„๊ด€.

ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

์ œ๊ณต ๋‚ด์šฉ
์ฝ”๋”ฉ ์—์ด์ „ํŠธ CLI(16๊ฐœ) Claude Code ยท Codex CLI ยท Devin for Terminal ยท Cursor Agent ยท Gemini CLI ยท OpenCode ยท Qwen Code ยท Qoder CLI ยท GitHub Copilot CLI ยท Hermes (ACP) ยท Kimi CLI (ACP) ยท Pi (RPC) ยท Kiro CLI (ACP) ยท Kilo (ACP) ยท Mistral Vibe CLI (ACP) ยท DeepSeek TUI โ€” PATH์—์„œ ์ž๋™ ๊ฐ์ง€, ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ ์ „ํ™˜
BYOK ํด๋ฐฑ OpenAI ํ˜ธํ™˜ ํ”„๋ก์‹œ /api/proxy/stream โ€” baseUrl + apiKey + model๋งŒ ๋ถ™์—ฌ ๋„ฃ์œผ๋ฉด ์–ด๋–ค ๋ฒค๋”(Anthropic-via-OpenAI ์–ด๋Œ‘ํ„ฐ, DeepSeek, Groq, MiMo, OpenRouter, ์ž์ฒด ํ˜ธ์ŠคํŒ… vLLM, ๋˜๋Š” OpenAI ํ˜ธํ™˜ ํ”„๋กœ๋ฐ”์ด๋” ๋ฌด์—‡์ด๋“ )๋“  ์—”์ง„์ด ๋ฉ๋‹ˆ๋‹ค. daemon ๊ฒฝ๊ณ„์—์„œ ๋‚ด๋ถ€ IP / SSRF๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
๋‚ด์žฅ ๋””์ž์ธ ์‹œ์Šคํ…œ 72๊ฐœ โ€” 2๊ฐœ์˜ ์ˆ˜์ž‘์—… ์Šคํƒ€ํ„ฐ + awesome-design-md์—์„œ ๊ฐ€์ ธ์˜จ 70๊ฐœ์˜ ์ œํ’ˆ ์‹œ์Šคํ…œ(Linear, Stripe, Vercel, Airbnb, Tesla, Notion, Anthropic, Apple, Cursor, Supabase, Figma, Xiaohongshu โ€ฆ)
๋‚ด์žฅ Skill 31๊ฐœ โ€” prototype ๋ชจ๋“œ 27๊ฐœ(web-prototype, saas-landing, dashboard, mobile-app, gamified-app, social-carousel, magazine-poster, dating-web, sprite-animation, motion-frames, critique, tweaks, wireframe-sketch, pm-spec, eng-runbook, finance-report, hr-onboarding, invoice, kanban-board, team-okrs โ€ฆ) + deck ๋ชจ๋“œ 4๊ฐœ(guizang-ppt ยท simple-deck ยท replit-deck ยท weekly-update). picker์—์„œ scenario๋กœ ๊ทธ๋ฃนํ™”: design / marketing / operation / engineering / product / finance / hr / sale / personal.
๋ฏธ๋””์–ด ์ƒ์„ฑ ์ด๋ฏธ์ง€ ยท ๋น„๋””์˜ค ยท ์˜ค๋””์˜ค surface๊ฐ€ ๋””์ž์ธ ๋ฃจํ”„์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. gpt-image-2(Azure / OpenAI)๋กœ ํฌ์Šคํ„ฐ, ์•„๋ฐ”ํƒ€, ์ธํฌ๊ทธ๋ž˜ํ”ฝ, ์ผ๋Ÿฌ์ŠคํŠธ ๋„์‹œ ์ง€๋„ ยท Seedance 2.0(ByteDance)๋กœ 15์ดˆ ์‹œ๋„ค๋งˆํ‹ฑ text-to-video / image-to-video ยท HyperFrames(heygen-com/hyperframes)๋กœ HTMLโ†’MP4 ๋ชจ์…˜ ๊ทธ๋ž˜ํ”ฝ(์ œํ’ˆ ๋ฆฌ๋นŒ, ํ‚ค๋„คํ‹ฑ ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ, ๋ฐ์ดํ„ฐ ์ฐจํŠธ, ์†Œ์…œ ์˜ค๋ฒ„๋ ˆ์ด, ๋กœ๊ณ  ์•„์›ƒํŠธ๋กœ). 93๊ฐœ์˜ ์ฆ‰์‹œ ๋ณต์ œ ๊ฐ€๋Šฅํ•œ prompt ๊ฐค๋Ÿฌ๋ฆฌ โ€” 43 gpt-image-2 + 39 Seedance + 11 HyperFrames โ€” ๋ชจ๋‘ prompt-templates/ ์•„๋ž˜์— ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ธ๋„ค์ผ๊ณผ ์ถœ์ฒ˜ ํ‘œ๊ธฐ์™€ ํ•จ๊ป˜ ๋ฐฐ์น˜. ์ฑ„ํŒ… ์ž…๊ตฌ๋Š” ์ฝ”๋“œ์™€ ๋™์ผ; ์‹ค์ œ .mp4 / .png์ด ํ”„๋กœ์ ํŠธ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— chip์œผ๋กœ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.
์‹œ๊ฐ์  ๋ฐฉํ–ฅ 5๊ฐ€์ง€ ์—„์„ ๋œ ํ•™ํŒŒ(Editorial Monocle ยท Modern Minimal ยท Warm Soft ยท Tech Utility ยท Brutalist Experimental) โ€” ๊ฐ๊ฐ ๊ฒฐ์ •๋ก ์  OKLch ํŒ”๋ ˆํŠธ + ํฐํŠธ ์Šคํƒ ์ œ๊ณต(apps/daemon/src/prompts/directions.ts)
๊ธฐ๊ธฐ ํ”„๋ ˆ์ž„ iPhone 15 Pro ยท Pixel ยท iPad Pro ยท MacBook ยท Browser Chrome โ€” ํ”ฝ์…€ ์ •ํ™•๋„, skill ๊ฐ„ ๊ณต์œ , assets/frames/์— ํ†ตํ•ฉ
์—์ด์ „ํŠธ ๋Ÿฐํƒ€์ž„ ๋กœ์ปฌ daemon์ด ํ”„๋กœ์ ํŠธ ํด๋”์—์„œ CLI๋ฅผ ์‹คํ–‰ โ€” ์—์ด์ „ํŠธ๊ฐ€ ์‹ค์ œ ๋””์Šคํฌ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์‹ค์ œ Read, Write, Bash, WebFetch ๋„๊ตฌ ์‚ฌ์šฉ; ๋ชจ๋“  ์–ด๋Œ‘ํ„ฐ์— Windows ENAMETOOLONG ํด๋ฐฑ(stdin / ์ž„์‹œ prompt ํŒŒ์ผ)
์ž„ํฌํŠธ Claude Design ์ต์ŠคํฌํŠธ ZIP์„ ํ™˜์˜ ๋‹ค์ด์–ผ๋กœ๊ทธ์— ๋“œ๋กญํ•˜๋ฉด POST /api/import/claude-design์ด ์ง„์งœ ํ”„๋กœ์ ํŠธ๋กœ ํ’€์–ด์ฃผ๊ณ , ๋กœ์ปฌ ์—์ด์ „ํŠธ๋Š” Anthropic์ด ๋ฉˆ์ถ˜ ์ง€์ ์—์„œ ๊ทธ๋Œ€๋กœ ํŽธ์ง‘์„ ์ด์–ด๋ฐ›์Šต๋‹ˆ๋‹ค.
์˜์†์„ฑ .od/app.sqlite์˜ SQLite: projects ยท conversations ยท messages ยท tabs ยท ์‚ฌ์šฉ์ž templates. ๋‚ด์ผ ๋‹ค์‹œ ์—ด๋ฉด todo ์นด๋“œ์™€ ์—ด๋ฆฐ ํŒŒ์ผ ๋ชจ๋‘ ์–ด์ œ ๊ทธ ์ž๋ฆฌ.
๋ผ์ดํ”„์‚ฌ์ดํด ๋‹จ์ผ ์ž…๊ตฌ pnpm tools-dev(start / stop / run / status / logs / inspect / check) โ€” ํƒ€์ž…ํ™”๋œ sidecar ์Šคํƒฌํ”„๋กœ daemon + web(+ desktop) ๊ตฌ๋™
๋ฐ์Šคํฌํƒ‘ ์„ ํƒ์  Electron ์…ธ: ์ƒŒ๋“œ๋ฐ•์Šค ๋ Œ๋”๋Ÿฌ + sidecar IPC(STATUS / EVAL / SCREENSHOT / CONSOLE / CLICK / SHUTDOWN) โ€” ๊ฐ™์€ ์ฑ„๋„์ด tools-dev inspect desktop screenshot์„ ๊ตฌ๋™ํ•ด E2E๋ฅผ ๋Œ๋ฆฝ๋‹ˆ๋‹ค
๋ฐฐํฌ ๋Œ€์ƒ ๋กœ์ปฌ (pnpm tools-dev) ยท Vercel ์›น ๋ ˆ์ด์–ด ยท macOS (Apple Silicon)์™€ Windows (x64)์šฉ ํŒจํ‚ค์ง€๋œ Electron ๋ฐ์Šคํฌํ†ฑ ์•ฑ โ€” open-design.ai ๋˜๋Š” ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์—์„œ ๋‹ค์šด๋กœ๋“œ
๋ผ์ด์„ ์Šค Apache-2.0

๋ฐ๋ชจ

01 ยท ์ง„์ž… ํ™”๋ฉด
์ง„์ž… ํ™”๋ฉด โ€” skill ์„ ํƒ, ๋””์ž์ธ ์‹œ์Šคํ…œ ์„ ํƒ, ๋ธŒ๋ฆฌํ”„ ์ž…๋ ฅ. ํ”„๋กœํ† ํƒ€์ž…, ๋ฑ, ๋ชจ๋ฐ”์ผ ์•ฑ, ๋Œ€์‹œ๋ณด๋“œ, ์—๋””ํ† ๋ฆฌ์–ผ ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค.
02 ยท Turn-1 ์ดˆ๊ธฐํ™” ํผ
Turn-1 ์ดˆ๊ธฐํ™” ํผ โ€” ๋ชจ๋ธ์ด ํ”ฝ์…€ ํ•˜๋‚˜ ๊ทธ๋ฆฌ๊ธฐ ์ „์— OD๊ฐ€ ๋ธŒ๋ฆฌํ”„๋ฅผ ํ™•์ •ํ•ฉ๋‹ˆ๋‹ค: ํ™”๋ฉด, ๋Œ€์ƒ, ํ†ค, ๋ธŒ๋žœ๋“œ ์ปจํ…์ŠคํŠธ, ๊ทœ๋ชจ. 30์ดˆ์˜ ๋ผ๋””์˜ค ๋ฒ„ํŠผ ํด๋ฆญ์ด 30๋ถ„์˜ ์ˆ˜์ • ์ž‘์—…์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.
03 ยท ๋ฐฉํ–ฅ ์„ ํƒ๊ธฐ
๋ฐฉํ–ฅ ์„ ํƒ๊ธฐ โ€” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ธŒ๋žœ๋“œ๊ฐ€ ์—†์„ ๋•Œ, ์—์ด์ „ํŠธ๊ฐ€ ๋‘ ๋ฒˆ์งธ ํผ์„ ๋„์›Œ 5๊ฐ€์ง€ ์—„์„ ๋œ ๋ฐฉํ–ฅ(Monocle / Modern Minimal / Tech Utility / Brutalist / Soft Warm)์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ผ๋””์˜ค ํ•˜๋‚˜ ํด๋ฆญ โ†’ ๊ฒฐ์ •๋ก ์  ํŒ”๋ ˆํŠธ + ํฐํŠธ ์Šคํƒ, ๋ชจ๋ธ ์ž์œ  ์žฌ๋Ÿ‰ ์—†์Œ.
04 ยท ์‹ค์‹œ๊ฐ„ ํ•  ์ผ ์ง„ํ–‰
์‹ค์‹œ๊ฐ„ ํ•  ์ผ ์ง„ํ–‰ โ€” ์—์ด์ „ํŠธ์˜ ๊ณ„ํš์ด ์‹ค์‹œ๊ฐ„ ์นด๋“œ๋กœ ์ŠคํŠธ๋ฆฌ๋ฐ๋ฉ๋‹ˆ๋‹ค. in_progress โ†’ completed ์—…๋ฐ์ดํŠธ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ์ž‘์—… ์ค‘์—๋„ ์ €๋ ดํ•œ ๋น„์šฉ์œผ๋กœ ๋ฐฉํ–ฅ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
05 ยท ์ƒŒ๋“œ๋ฐ•์Šค ๋ฏธ๋ฆฌ๋ณด๊ธฐ
์ƒŒ๋“œ๋ฐ•์Šค ๋ฏธ๋ฆฌ๋ณด๊ธฐ โ€” ๋ชจ๋“  <artifact>๊ฐ€ ๊นจ๋—ํ•œ srcdoc iframe์—์„œ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์›Œํฌ์ŠคํŽ˜์ด์Šค์—์„œ ๋ฐ”๋กœ ํŽธ์ง‘ ๊ฐ€๋Šฅ; HTML, PDF, ZIP์œผ๋กœ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅ.
06 ยท 72๊ฐœ ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
72๊ฐœ ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โ€” ๋ชจ๋“  ์ œํ’ˆ ์‹œ์Šคํ…œ์ด 4์ƒ‰ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํด๋ฆญํ•˜๋ฉด ์ „์ฒด DESIGN.md, ์ƒ‰์ƒ ๊ฒฌ๋ณธ ๊ทธ๋ฆฌ๋“œ, ๋ผ์ด๋ธŒ ์‡ผ์ผ€์ด์Šค๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
07 ยท ๋งค๊ฑฐ์ง„ ๋ฑ
๋ฑ ๋ชจ๋“œ(guizang-ppt) โ€” ๋ฒˆ๋“ค๋œ guizang-ppt-skill์ด ๊ทธ๋Œ€๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋งค๊ฑฐ์ง„ ๋ ˆ์ด์•„์›ƒ, WebGL ํžˆ์–ด๋กœ ๋ฐฐ๊ฒฝ, ๋‹จ์ผ ํŒŒ์ผ HTML ์ถœ๋ ฅ, PDF ๋‚ด๋ณด๋‚ด๊ธฐ.
08 ยท ๋ชจ๋ฐ”์ผ ํ”„๋กœํ† ํƒ€์ž…
๋ชจ๋ฐ”์ผ ํ”„๋กœํ† ํƒ€์ž… โ€” ํ”ฝ์…€ ์ •ํ™•๋„์˜ iPhone 15 Pro ํฌ๋กฌ(Dynamic Island, ์ƒํƒœ๋ฐ” SVG, ํ™ˆ ์ธ๋””์ผ€์ดํ„ฐ). ๋‹คํ™”๋ฉด ํ”„๋กœํ† ํƒ€์ž…์€ ๊ณต์œ  /frames/ ์—์…‹์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์—์ด์ „ํŠธ๊ฐ€ ํฐ์„ ๋‹ค์‹œ ๊ทธ๋ฆด ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋‚ด์žฅ Skills

31๊ฐœ์˜ skill์ด ๊ธฐ๋ณธ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ Claude Code์˜ SKILL.md ๊ทœ์•ฝ์„ ๋”ฐ๋ฅด๋Š” skills/ ์•„๋ž˜์˜ ํด๋”์ด๋ฉฐ, daemon์ด ๊ทธ๋Œ€๋กœ ํŒŒ์‹ฑํ•˜๋Š” ํ™•์žฅ๋œ od: ํ”„๋ก ํŠธ๋งคํ„ฐ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค โ€” mode, platform, scenario, preview.type, design_system.requires, default_for, featured, fidelity, speaker_notes, animations, example_prompt(apps/daemon/src/skills.ts).

๋‘ ๊ฐ€์ง€ ์ตœ์ƒ์œ„ mode๊ฐ€ ์นดํƒˆ๋กœ๊ทธ๋ฅผ ๋– ๋ฐ›์นฉ๋‹ˆ๋‹ค: prototype(27๊ฐœ โ€” ๋งค๊ฑฐ์ง„ ๋žœ๋”ฉ๋ถ€ํ„ฐ ํฐ ํ™”๋ฉด, PM ์ŠคํŽ™ ๋ฌธ์„œ๊นŒ์ง€ ๋‹จ์ผ ํŽ˜์ด์ง€ ์•„ํ‹ฐํŒฉํŠธ๋กœ ๋ Œ๋”๋ง๋˜๋Š” ๋ชจ๋“  ๊ฒƒ) ๊ทธ๋ฆฌ๊ณ  deck(4๊ฐœ โ€” ๋ฑ ํ”„๋ ˆ์ž„์›Œํฌ ํฌ๋กฌ์„ ์ž…์€ ์ˆ˜ํ‰ ์Šค์™€์ดํ”„ ํ”„๋ ˆ์  ํ…Œ์ด์…˜). picker๊ฐ€ ๊ทธ๋ฃนํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ•„๋“œ๋Š” scenario: design ยท marketing ยท operation ยท engineering ยท product ยท finance ยท hr ยท sale ยท personal.

์‡ผ์ผ€์ด์Šค ์˜ˆ์‹œ

์‹œ๊ฐ์ ์œผ๋กœ ๊ฐ€์žฅ ๋ˆˆ์— ๋„์–ด ๋จผ์ € ์‹คํ–‰ํ•ด ๋ณผ skill๋“ค์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ ์ €์žฅ์†Œ์—์„œ ๋ฐ”๋กœ ์—ด ์ˆ˜ ์žˆ๋Š” ์‹ค์ œ example.html์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค โ€” ์ธ์ฆ ์—†์ด, ์„ค์ • ์—†์ด, ์—์ด์ „ํŠธ๊ฐ€ ๋ฌด์—‡์„ ์ƒ์‚ฐํ•˜๋Š”์ง€ ๋ฏธ๋ฆฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

dating-web
dating-web ยท prototype
์†Œ๋น„์ž์šฉ ๋ฐ์ดํŒ… / ๋งค์นญ ๋Œ€์‹œ๋ณด๋“œ โ€” ์ขŒ์ธก ๋ ˆ์ผ ๋‚ด๋น„๊ฒŒ์ด์…˜, ํ‹ฐ์ปค ๋ฐ”, KPI, 30์ผ ์ƒํ˜ธ ๋งค์นญ ์ฐจํŠธ, ์—๋””ํ† ๋ฆฌ์–ผ ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ.
digital-eguide
digital-eguide ยท template
2ํŽ˜์ด์ง€ ๋””์ง€ํ„ธ e-๊ฐ€์ด๋“œ โ€” ํ‘œ์ง€(์ œ๋ชฉ, ์ €์ž, TOC ํ‹ฐ์ €) + ํ’€ ์ฟผํŠธ ๋ฐ ๋‹จ๊ณ„ ๋ชฉ๋ก์ด ์žˆ๋Š” ๋ ˆ์Šจ ์Šคํ”„๋ ˆ๋“œ. ํฌ๋ฆฌ์—์ดํ„ฐ / ๋ผ์ดํ”„์Šคํƒ€์ผ ํ†ค.
email-marketing
email-marketing ยท prototype
๋ธŒ๋žœ๋“œ ์ œํ’ˆ ์ถœ์‹œ HTML ์ด๋ฉ”์ผ โ€” ๋งˆ์ŠคํŠธํ—ค๋“œ, ํžˆ์–ด๋กœ ์ด๋ฏธ์ง€, ํ—ค๋“œ๋ผ์ธ ๋ฝ์—…, CTA, ์ŠคํŽ™ ๊ทธ๋ฆฌ๋“œ. ์ค‘์•™ ๋‹จ์ผ ์ปฌ๋Ÿผ, ํ…Œ์ด๋ธ” ํด๋ฐฑ ์•ˆ์ „.
gamified-app
gamified-app ยท prototype
๋‹คํฌ ์‡ผ์ผ€์ด์Šค ์Šคํ…Œ์ด์ง€์˜ 3ํ™”๋ฉด ๊ฒŒ์ž„ํ™” ๋ชจ๋ฐ”์ผ ์•ฑ ํ”„๋กœํ† ํƒ€์ž… โ€” ํ‘œ์ง€, ์˜ค๋Š˜์˜ ํ€˜์ŠคํŠธ(XP ๋ฆฌ๋ณธ + ๋ ˆ๋ฒจ ๋ฐ”), ํ€˜์ŠคํŠธ ์ƒ์„ธ.
mobile-onboarding
mobile-onboarding ยท prototype
3ํ™”๋ฉด ๋ชจ๋ฐ”์ผ ์˜จ๋ณด๋”ฉ ํ”Œ๋กœ์šฐ โ€” ์Šคํ”Œ๋ž˜์‹œ, ๊ฐ€์น˜ ์ œ์•ˆ, ๋กœ๊ทธ์ธ. ์ƒํƒœ๋ฐ”, ์Šค์™€์ดํ”„ ์ , ๊ธฐ๋ณธ CTA.
motion-frames
motion-frames ยท prototype
๋ฃจํ•‘ CSS ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ๋‹จ์ผ ํ”„๋ ˆ์ž„ ๋ชจ์…˜ ๋””์ž์ธ ํžˆ์–ด๋กœ โ€” ํšŒ์ „ ํƒ€์ž… ๋ง, ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ธ€๋กœ๋ธŒ, ์งธ๊น๊ฑฐ๋ฆฌ๋Š” ํƒ€์ด๋จธ. HyperFrames ํ•ธ๋“œ์˜คํ”„ ์ค€๋น„ ์™„๋ฃŒ.
social-carousel
social-carousel ยท prototype
3์žฅ์˜ 1080ร—1080 ์†Œ์…œ ๋ฏธ๋””์–ด ์บ๋Ÿฌ์…€ โ€” ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๊ฐ€๋กœ์ง€๋ฅด๋Š” ํ‘œ์‹œ ํ—ค๋“œ๋ผ์ธ์ด ์žˆ๋Š” ์˜ํ™”์  ํŒจ๋„, ๋ธŒ๋žœ๋“œ ๋งˆํฌ, ๋ฃจํ”„ ์–ดํฌ๋˜์Šค.
sprite-animation
sprite-animation ยท prototype
ํ”ฝ์…€ / 8๋น„ํŠธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์„ค๋ช… ์Šฌ๋ผ์ด๋“œ โ€” ์ „๋ฉด ํฌ๋ฆผ ์Šคํ…Œ์ด์ง€, ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ”ฝ์…€ ๋งˆ์Šค์ฝ”ํŠธ, ์—ญ๋™์ ์ธ ์ผ๋ณธ์–ด ํ‘œ์‹œ ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ, ๋ฃจํ•‘ CSS ํ‚คํ”„๋ ˆ์ž„.

๋””์ž์ธ & ๋งˆ์ผ€ํŒ… ํ‘œ๋ฉด(prototype ๋ชจ๋“œ)

Skill ํ”Œ๋žซํผ Scenario ์ƒ์‚ฐ๋ฌผ
web-prototype ๋ฐ์Šคํฌํƒ‘ design ๋‹จ์ผ ํŽ˜์ด์ง€ HTML โ€” ๋žœ๋”ฉ, ๋งˆ์ผ€ํŒ…, ํžˆ์–ด๋กœ ํŽ˜์ด์ง€(prototype ๊ธฐ๋ณธ)
saas-landing ๋ฐ์Šคํฌํƒ‘ marketing Hero / features / pricing / CTA ๋งˆ์ผ€ํŒ… ๋ ˆ์ด์•„์›ƒ
dashboard ๋ฐ์Šคํฌํƒ‘ operation ์‚ฌ์ด๋“œ๋ฐ” + ๋ฐ์ดํ„ฐ ๋ฐ€์ง‘ ๋ ˆ์ด์•„์›ƒ์˜ ์–ด๋“œ๋ฏผ / ๋ถ„์„
pricing-page ๋ฐ์Šคํฌํƒ‘ sale ๋…๋ฆฝํ˜• ๊ฐ€๊ฒฉ + ๋น„๊ต ํ…Œ์ด๋ธ”
docs-page ๋ฐ์Šคํฌํƒ‘ engineering 3์ปฌ๋Ÿผ ๋ฌธ์„œ ๋ ˆ์ด์•„์›ƒ
blog-post ๋ฐ์Šคํฌํƒ‘ marketing ์—๋””ํ† ๋ฆฌ์–ผ ์žฅ๋ฌธ
mobile-app ๋ชจ๋ฐ”์ผ design iPhone 15 Pro / Pixel ํ”„๋ ˆ์ž„ ์•ฑ ํ™”๋ฉด
mobile-onboarding ๋ชจ๋ฐ”์ผ design ๋‹ค์ค‘ ํ™”๋ฉด ๋ชจ๋ฐ”์ผ ์˜จ๋ณด๋”ฉ ํ”Œ๋กœ์šฐ(์Šคํ”Œ๋ž˜์‹œ ยท ๊ฐ€์น˜ ์ œ์•ˆ ยท ๋กœ๊ทธ์ธ)
gamified-app ๋ชจ๋ฐ”์ผ personal 3ํ™”๋ฉด ๊ฒŒ์ž„ํ™” ๋ชจ๋ฐ”์ผ ์•ฑ ํ”„๋กœํ† ํƒ€์ž…
email-marketing ๋ฐ์Šคํฌํƒ‘ marketing ๋ธŒ๋žœ๋“œ ์ œํ’ˆ ์ถœ์‹œ HTML ์ด๋ฉ”์ผ(ํ…Œ์ด๋ธ” ํด๋ฐฑ ์•ˆ์ „)
social-carousel ๋ฐ์Šคํฌํƒ‘ marketing 1080ร—1080 3์žฅ ์†Œ์…œ ์บ๋Ÿฌ์…€
magazine-poster ๋ฐ์Šคํฌํƒ‘ marketing ๋‹จ์ผ ํŽ˜์ด์ง€ ๋งค๊ฑฐ์ง„ ์Šคํƒ€์ผ ํฌ์Šคํ„ฐ
motion-frames ๋ฐ์Šคํฌํƒ‘ marketing ๋ฃจํ•‘ CSS ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ๋ชจ์…˜ ๋””์ž์ธ ํžˆ์–ด๋กœ
sprite-animation ๋ฐ์Šคํฌํƒ‘ marketing ํ”ฝ์…€ / 8๋น„ํŠธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์„ค๋ช… ์Šฌ๋ผ์ด๋“œ
dating-web ๋ฐ์Šคํฌํƒ‘ personal ์†Œ๋น„์ž์šฉ ๋ฐ์ดํŒ… ๋Œ€์‹œ๋ณด๋“œ ๋ชฉ์—…
digital-eguide ๋ฐ์Šคํฌํƒ‘ marketing 2ํŽ˜์ด์ง€ ๋””์ง€ํ„ธ e-๊ฐ€์ด๋“œ(ํ‘œ์ง€ + ๋ ˆ์Šจ)
wireframe-sketch ๋ฐ์Šคํฌํƒ‘ design ์†๊ทธ๋ฆผ ์•„์ด๋ฐ์ด์…˜ ์Šค์ผ€์น˜ โ€” "ํšŒ์ƒ‰ ๋ธ”๋ก์ด๋ผ๋„ ์ผ์ฐ ๋ณด์—ฌ์ฃผ๊ธฐ" ํŒจ์Šค๋ฅผ ์œ„ํ•œ
critique ๋ฐ์Šคํฌํƒ‘ design 5์ฐจ์› ์ž๊ธฐ ๊ฒ€ํ†  ์ ์ˆ˜ํ‘œ(Philosophy ยท Hierarchy ยท Detail ยท Function ยท Innovation)
tweaks ๋ฐ์Šคํฌํƒ‘ design AI ์†ก์ถœ tweaks ํŒจ๋„ โ€” ๋ชจ๋ธ์ด ์ง์ ‘ ์กฐ์ •ํ•  ๋งŒํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋– ์˜ฌ๋ฆผ

๋ฑ ํ‘œ๋ฉด(deck ๋ชจ๋“œ)

Skill ๊ธฐ๋ณธ ์ƒ์‚ฐ๋ฌผ
guizang-ppt ๋ฑ ๊ธฐ๋ณธ ๋งค๊ฑฐ์ง„ ์Šคํƒ€์ผ ์›น PPT โ€” op7418/guizang-ppt-skill์—์„œ ๊ทธ๋Œ€๋กœ ๋ฒˆ๋“ค๋จ, ์› LICENSE ๋ณด์กด
simple-deck โ€” ๋ฏธ๋‹ˆ๋ฉ€ ์ˆ˜ํ‰ ์Šค์™€์ดํ”„ ๋ฑ
replit-deck โ€” ์ œํ’ˆ ์›Œํฌ์Šค๋ฃจ ๋ฑ(Replit ์Šคํƒ€์ผ)
weekly-update โ€” ํŒ€ ์ฃผ๊ฐ„ ์—…๋ฐ์ดํŠธ(์ง„ํ–‰ ยท ๋ธ”๋กœ์ปค ยท ๋‹ค์Œ ๋‹จ๊ณ„)๋ฅผ ์Šค์™€์ดํ”„ ๋ฑ์œผ๋กœ

์‚ฌ๋ฌด & ์šด์˜ ํ‘œ๋ฉด(prototype ๋ชจ๋“œ, ๋ฌธ์„œ ์ง€ํ–ฅ ์‹œ๋‚˜๋ฆฌ์˜ค)

Skill Scenario ์ƒ์‚ฐ๋ฌผ
pm-spec product TOC + ์˜์‚ฌ๊ฒฐ์ • ๋กœ๊ทธ๊ฐ€ ์žˆ๋Š” PM ์ŠคํŽ™ ๋ฌธ์„œ
team-okrs product OKR ์Šค์ฝ”์–ด์‹œํŠธ
meeting-notes operation ํšŒ์˜ ์˜์‚ฌ๊ฒฐ์ • ๋กœ๊ทธ
kanban-board operation ๋ณด๋“œ ์Šค๋ƒ…์ƒท
eng-runbook engineering ์žฅ์•  ๋Ÿฐ๋ถ
finance-report finance ์ž„์› ์žฌ๋ฌด ์š”์•ฝ
invoice finance ๋‹จ์ผ ํŽ˜์ด์ง€ ์ธ๋ณด์ด์Šค
hr-onboarding hr ์—ญํ•  ์˜จ๋ณด๋”ฉ ๊ณ„ํš

skill ์ถ”๊ฐ€๋Š” ํด๋” ํ•˜๋‚˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. docs/skills-protocol.md์—์„œ ํ™•์žฅ ํ”„๋ก ํŠธ๋งคํ„ฐ๋ฅผ ์ฝ๊ณ , ๊ธฐ์กด skill์„ ํฌํฌํ•˜๊ณ , daemon์„ ์žฌ์‹œ์ž‘ํ•˜๋ฉด picker์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์นดํƒˆ๋กœ๊ทธ ์—”๋“œํฌ์ธํŠธ๋Š” GET /api/skills์ด๋ฉฐ, ์Šคํ‚ฌ๋ณ„ ์‹œ๋“œ ์กฐ๋ฆฝ(template + ์‚ฌ์ด๋“œ ํŒŒ์ผ references)์€ GET /api/skills/:id/example์— ์žˆ์Šต๋‹ˆ๋‹ค.

6๊ฐ€์ง€ ํ•ต์‹ฌ ์•„์ด๋””์–ด

1 ยท ์—์ด์ „ํŠธ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

Daemon์€ ์‹œ์ž‘ ์‹œ PATH์—์„œ claude, codex, cursor-agent, gemini, opencode, qwen, qodercli, copilot, hermes, kimi, pi๋ฅผ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค. ์ฐพ์€ ๊ฒƒ๋“ค ๋ชจ๋‘๊ฐ€ ํ›„๋ณด ๋””์ž์ธ ์—”์ง„์ด ๋ฉ๋‹ˆ๋‹ค โ€” stdio๋ฅผ ํ†ตํ•ด ๊ตฌ๋™๋˜๋ฉฐ CLI๋‹น ํ•˜๋‚˜์˜ ์–ด๋Œ‘ํ„ฐ, ๋ชจ๋ธ picker์—์„œ ์ฆ‰์‹œ ์ „ํ™˜ ๊ฐ€๋Šฅ. multica์™€ cc-switch์—์„œ ์˜๊ฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. CLI๊ฐ€ ํ•˜๋‚˜๋„ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด? POST /api/proxy/stream์ด spawn๋งŒ ์—†๋Š” ๋™์ผํ•œ ํŒŒ์ดํ”„๋ผ์ธ์ž…๋‹ˆ๋‹ค โ€” ์ž„์˜์˜ OpenAI ํ˜ธํ™˜ baseUrl + apiKey๋งŒ ๋ถ™์—ฌ ๋„ฃ์œผ๋ฉด daemon์ด SSE ์ฒญํฌ๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•˜๋ฉฐ, loopback / link-local / RFC1918 ๋ชฉ์ ์ง€๋Š” ๊ฒฝ๊ณ„์—์„œ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค.

2 ยท Skill์€ ํŒŒ์ผ์ด์ง€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์•„๋‹™๋‹ˆ๋‹ค.

Claude Code์˜ SKILL.md ๊ทœ์•ฝ์„ ๋”ฐ๋ผ ๊ฐ skill์€ SKILL.md + assets/ + references/์ž…๋‹ˆ๋‹ค. skills/์— ํด๋”๋ฅผ ๋“œ๋กญํ•˜๊ณ  daemon์„ ์žฌ์‹œ์ž‘ํ•˜๋ฉด picker์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋ฒˆ๋“ค๋œ magazine-web-ppt๋Š” op7418/guizang-ppt-skill์„ ๊ทธ๋Œ€๋กœ ์ปค๋ฐ‹ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค โ€” ์›๋ณธ ๋ผ์ด์„ ์Šค์™€ ์ €์ž‘๊ถŒ ํ‘œ์‹œ ๋ณด์กด.

3 ยท ๋””์ž์ธ ์‹œ์Šคํ…œ์€ ํ…Œ๋งˆ JSON์ด ์•„๋‹Œ ์ด์‹ ๊ฐ€๋Šฅํ•œ Markdown์ž…๋‹ˆ๋‹ค.

VoltAgent/awesome-design-md์˜ 9์„น์…˜ DESIGN.md ์Šคํ‚ค๋งˆ โ€” color, typography, spacing, layout, components, motion, voice, brand, anti-patterns. ๋ชจ๋“  ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ ํ™œ์„ฑ ์‹œ์Šคํ…œ์—์„œ ์ฝ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ „ํ™˜ โ†’ ๋‹ค์Œ ๋ Œ๋”์— ์ƒˆ ํ† ํฐ ์‚ฌ์šฉ. ๋“œ๋กญ๋‹ค์šด์—๋Š” Linear, Stripe, Vercel, Airbnb, Tesla, Notion, Apple, Anthropic, Cursor, Supabase, Figma, Resend, Raycast, Lovable, Cohere, Mistral, ElevenLabs, X.AI, Spotify, Webflow, Sanity, PostHog, Sentry, MongoDB, ClickHouse, Cal, Replicate, Clay, Composio, Xiaohongshu โ€ฆ ์ด 72๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

4 ยท ์ดˆ๊ธฐํ™” ์งˆ๋ฌธ ํผ์ด ์ˆ˜์ • ์ž‘์—…์˜ 80%๋ฅผ ๋ง‰์•„์ค๋‹ˆ๋‹ค.

OD์˜ ํ”„๋กฌํ”„ํŠธ ์Šคํƒ์—๋Š” RULE 1์ด ํ•˜๋“œ์ฝ”๋”ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค: ๋ชจ๋“  ์ƒˆ ๋””์ž์ธ ๋ธŒ๋ฆฌํ”„๋Š” ์ฝ”๋“œ ๋Œ€์‹  <question-form id="discovery">๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ™”๋ฉด ยท ๋Œ€์ƒ ยท ํ†ค ยท ๋ธŒ๋žœ๋“œ ์ปจํ…์ŠคํŠธ ยท ๊ทœ๋ชจ ยท ์ œ์•ฝ ์กฐ๊ฑด. ๊ธด ๋ธŒ๋ฆฌํ”„๋ผ๋„ ์‹œ๊ฐ์  ํ†ค, ์ƒ‰์ƒ ์ž…์žฅ, ๊ทœ๋ชจ ๊ฐ™์€ ๋””์ž์ธ ๊ฒฐ์ • ์‚ฌํ•ญ์€ ์—ฌ์ „ํžˆ ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค โ€” ํผ์ด ์ •ํ™•ํžˆ ์ด๊ฒƒ๋“ค์„ 30์ดˆ ์•ˆ์— ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ๋ฐฉํ–ฅ์˜ ๋น„์šฉ์€ ํ•œ ๋ฒˆ์˜ ์ฑ„ํŒ… ๋ผ์šด๋“œ์ด์ง€, ์™„์„ฑ๋œ ๋ฑ ํ•˜๋‚˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด huashu-design์—์„œ ์ถ”์ถœํ•œ Junior-Designer ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค: ๋ฏธ๋ฆฌ ์ผ๊ด„ ์งˆ๋ฌธํ•˜๊ณ , ์ผ์ฐ ๊ฐ€์‹œ์ ์ธ ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๋ฉฐ(์™€์ด์–ดํ”„๋ ˆ์ž„์— ํšŒ์ƒ‰ ๋ธ”๋ก์ด๋ผ๋„), ์‚ฌ์šฉ์ž๊ฐ€ ์ €๋ ดํ•œ ๋น„์šฉ์œผ๋กœ ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋žœ๋“œ ์—์…‹ ํ”„๋กœํ† ์ฝœ(์œ„์น˜ ํŒŒ์•… ยท ๋‹ค์šด๋กœ๋“œ ยท grep hex ยท brand-spec.md ์ž‘์„ฑ ยท ๋ฐœ์„ฑ)๊ณผ ๊ฒฐํ•ฉํ•˜๋ฉด, ์ถœ๋ ฅ์ด "AI ์ž์œ  ์ฐฝ์ž‘"์—์„œ "๊ทธ๋ฆฌ๊ธฐ ์ „์— ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ธ ๋””์ž์ด๋„ˆ"์ฒ˜๋Ÿผ ๋А๊ปด์ง€๊ฒŒ ๋˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ์ž…๋‹ˆ๋‹ค.

5 ยท Daemon์€ ์—์ด์ „ํŠธ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋…ธํŠธ๋ถ์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๋ผ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ์š”.

Daemon์€ ํ”„๋กœ์ ํŠธ์˜ ์•„ํ‹ฐํŒฉํŠธ ํด๋” .od/projects/<id>/๋กœ cwd๋ฅผ ์„ค์ •ํ•ด CLI๋ฅผ spawnํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์‹ค์ œ ํŒŒ์ผ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์‹ค์ œ ๋„๊ตฌ์ธ Read, Write, Bash, WebFetch๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. skill์˜ assets/template.html์„ Readํ•˜๊ณ , CSS์—์„œ hex ๊ฐ’์„ grepํ•˜๊ณ , brand-spec.md๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ , .pptx / .zip / .pdf ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” ์ด ํŒŒ์ผ๋“ค์€ ํ„ด์ด ๋๋‚  ๋•Œ ํŒŒ์ผ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ๋‹ค์šด๋กœ๋“œ ์นฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์„ธ์…˜, ๋Œ€ํ™”, ๋ฉ”์‹œ์ง€, ํƒญ์€ ๋กœ์ปฌ SQLite DB์— ์˜๊ตฌ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค โ€” ๋‚ด์ผ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ด๋ฉด ์—์ด์ „ํŠธ์˜ ํ•  ์ผ ์นด๋“œ๊ฐ€ ์–ด์ œ ๋ฉˆ์ถ˜ ๊ณณ์— ๊ทธ๋Œ€๋กœ ์žˆ์Šต๋‹ˆ๋‹ค.

6 ยท ํ”„๋กฌํ”„ํŠธ ์Šคํƒ ์ž์ฒด๊ฐ€ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค.

์ „์†ก ์‹œ ๊ตฌ์„ฑ๋˜๋Š” ๊ฒƒ์€ "system + user"๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

DISCOVERY ์ง€์‹œ๋ฌธ    (turn-1 ํผ, turn-2 ๋ธŒ๋žœ๋“œ ๋ถ„๊ธฐ, TodoWrite, 5์ฐจ์› ๊ฒ€ํ† )
  + ์‹ ์› ํ—Œ์žฅ        (OFFICIAL_DESIGNER_PROMPT, anti-AI-slop, junior-pass)
  + ํ™œ์„ฑ DESIGN.md   (72๊ฐœ ์‹œ์Šคํ…œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  + ํ™œ์„ฑ SKILL.md    (31๊ฐœ skill ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  + ํ”„๋กœ์ ํŠธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ (kind, fidelity, speakerNotes, animations, inspiration ids)
  + skill ์‚ฌ์ด๋“œ ํŒŒ์ผ (pre-flight ์ž๋™ ์ฃผ์ž…: assets/template.html + references/*.md ์ฝ๊ธฐ)
  + (๋ฑ kind, skill seed ์—†์Œ) DECK_FRAMEWORK_DIRECTIVE   (nav / counter / scroll / print)

๋ชจ๋“  ๋ ˆ์ด์–ด๋Š” ์กฐํ•ฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ ˆ์ด์–ด๋Š” ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ๊ณ„์•ฝ์„ ๋ณด๋ ค๋ฉด apps/daemon/src/prompts/system.ts์™€ apps/daemon/src/prompts/discovery.ts๋ฅผ ์ฝ์œผ์„ธ์š”.

์•„ํ‚คํ…์ฒ˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ๋ธŒ๋ผ์šฐ์ €(Next.js 16) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ์ฑ„ํŒ… ยท ํŒŒ์ผ ์›Œํฌ์ŠคํŽ˜์ด์Šค ยท iframe ๋ฏธ๋ฆฌ๋ณด๊ธฐ ยท ์„ค์ • ยท ์ž„ํฌํŠธ     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚ /api/*(dev์—์„œ rewrite)        โ”‚
               โ–ผ                                โ–ผ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   /api/proxy/stream (SSE)
   โ”‚  ๋กœ์ปฌ daemon(Express + SQLite)  โ”‚   โ”€โ†’ ์ž„์˜์˜ OpenAI ํ˜ธํ™˜
   โ”‚                                 โ”‚      ์—”๋“œํฌ์ธํŠธ(BYOK)
   โ”‚  /api/agents         /api/skillsโ”‚      SSRF ์ฐจ๋‹จ ํฌํ•จ
   โ”‚  /api/design-systems /api/projects/โ€ฆ
   โ”‚  /api/chat (SSE)     /api/proxy/stream (SSE)
   โ”‚  /api/templates      /api/import/claude-design
   โ”‚  /api/artifacts/save /api/artifacts/lint
   โ”‚  /api/upload         /api/projects/:id/filesโ€ฆ
   โ”‚  /artifacts (์ •์ )   /frames (์ •์ )
   โ”‚
   โ”‚  ์„ ํƒ์  sidecar IPC: /tmp/open-design/ipc/<ns>/<app>.sock
   โ”‚  (STATUS ยท EVAL ยท SCREENSHOT ยท CONSOLE ยท CLICK ยท SHUTDOWN)
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
             โ”‚ spawn(cli, [...], { cwd: .od/projects/<id> })
             โ–ผ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚  claude ยท codex ยท gemini ยท opencode ยท cursor-agent ยท qwen        โ”‚
   โ”‚  qoder ยท copilot ยท hermes (ACP) ยท kimi (ACP) ยท pi (RPC)                  โ”‚
   โ”‚  SKILL.md + DESIGN.md ์ฝ๊ธฐ, ๋””์Šคํฌ์— ์•„ํ‹ฐํŒฉํŠธ ์“ฐ๊ธฐ               โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
๋ ˆ์ด์–ด ์Šคํƒ
ํ”„๋ก ํŠธ์—”๋“œ Next.js 16 App Router + React 18 + TypeScript, Vercel ๋ฐฐํฌ ๊ฐ€๋Šฅ
Daemon Node 24 ยท Express ยท SSE ์ŠคํŠธ๋ฆฌ๋ฐ ยท better-sqlite3; ํ…Œ์ด๋ธ”: projects ยท conversations ยท messages ยท tabs ยท templates
์—์ด์ „ํŠธ ์ „์†ก child_process.spawn; ํƒ€์ž… ์ด๋ฒคํŠธ ํŒŒ์„œ: claude-stream-json(Claude Code), qoder-stream-json (Qoder CLI), copilot-stream-json(Copilot), json-event-stream + ๊ฐ CLI ํŒŒ์„œ(Codex / Gemini / OpenCode / Cursor Agent), acp-json-rpc(Devin / Hermes / Kimi / Kiro / Kilo / Mistral Vibe via Agent Client Protocol), pi-rpc(Pi via stdio JSON-RPC), plain(Qwen Code / DeepSeek TUI)
BYOK ํ”„๋ก์‹œ POST /api/proxy/stream โ†’ OpenAI ํ˜ธํ™˜ /v1/chat/completions, SSE ํ†ต๊ณผ; daemon ๊ฒฝ๊ณ„์—์„œ loopback / link-local / RFC1918 ํ˜ธ์ŠคํŠธ ๊ฑฐ๋ถ€
์ €์žฅ์†Œ .od/projects/<id>/์˜ ํ‰๋ฌธ ํŒŒ์ผ + .od/app.sqlite์˜ SQLite(gitignore๋จ, ์ž๋™ ์ƒ์„ฑ). ํ…Œ์ŠคํŠธ ๊ฒฉ๋ฆฌ๋ฅผ ์œ„ํ•ด OD_DATA_DIR๋กœ ๋ฃจํŠธ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
๋ฏธ๋ฆฌ๋ณด๊ธฐ srcdoc๋ฅผ ํ†ตํ•œ ์ƒŒ๋“œ๋ฐ•์Šค iframe + ์Šคํ‚ฌ๋ณ„ <artifact> ํŒŒ์„œ(apps/web/src/artifacts/parser.ts)
๋‚ด๋ณด๋‚ด๊ธฐ HTML(์ธ๋ผ์ธ ์—์…‹) ยท PDF(๋ธŒ๋ผ์šฐ์ € ์ธ์‡„, deck-aware) ยท PPTX(์—์ด์ „ํŠธ ์ฃผ๋„ + skill) ยท ZIP(archiver) ยท Markdown
๋ผ์ดํ”„์‚ฌ์ดํด pnpm tools-dev start | stop | run | status | logs | inspect | check; ํฌํŠธ๋Š” --daemon-port / --web-port, ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋Š” --namespace
๋ฐ์Šคํฌํƒ‘(์„ ํƒ) Electron ์…ธ โ€” sidecar IPC๋ฅผ ํ†ตํ•ด web URL ๋ฐœ๊ฒฌ, ํฌํŠธ ์ถ”์ธก ์—†์Œ; ๊ฐ™์€ ์ฑ„๋„(STATUS/EVAL/SCREENSHOT/CONSOLE/CLICK/SHUTDOWN)์ด tools-dev inspect desktop โ€ฆ๋กœ E2E ๊ตฌ๋™

๋น ๋ฅธ ์‹œ์ž‘

๋ฐ์Šคํฌํ†ฑ ์•ฑ ๋‹ค์šด๋กœ๋“œ (๋นŒ๋“œ ๋ถˆํ•„์š”)

Open Design์„ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ์‚ฌ์šฉํ•ด ๋ณด๋Š” ๋ฐฉ๋ฒ•์€ ์‚ฌ์ „ ๋นŒ๋“œ๋œ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ž…๋‹ˆ๋‹ค โ€” Node๋„, pnpm๋„, clone๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค:

์†Œ์Šค์—์„œ ์‹คํ–‰

git clone https://github.com/nexu-io/open-design.git
cd open-design
corepack enable
corepack pnpm --version   # 10.33.2๊ฐ€ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
pnpm install
pnpm tools-dev run web
# tools-dev๊ฐ€ ์ถœ๋ ฅํ•œ web URL์„ ์—ฌ์„ธ์š”

ํ™˜๊ฒฝ ์š”๊ตฌ์‚ฌํ•ญ: Node ~24์™€ pnpm 10.33.x. nvm / fnm์€ ์„ ํƒ์  ๋ณด์กฐ ๋„๊ตฌ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค; ์‚ฌ์šฉํ•œ๋‹ค๋ฉด pnpm install ์ „์— nvm install 24 && nvm use 24 ๋˜๋Š” fnm install 24 && fnm use 24๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

Windows ์‚ฌ์šฉ์ž๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ์„ค์น˜ ๊ฒฝ๋กœ์™€ ์ž‘์€ ๋”๋ธ” ํด๋ฆญ ๋Ÿฐ์ฒ˜์— ๋Œ€ํ•ด์„œ๋Š” docs/windows-troubleshooting.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋ฐ์Šคํฌํ†ฑ/๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹œ์ž‘, ๊ณ ์ • ํฌํŠธ ์žฌ์‹œ์ž‘, ๋ฏธ๋””์–ด ์ƒ์„ฑ dispatcher ํ™•์ธ(OD_BIN, OD_DAEMON_URL, apps/daemon/dist/cli.js)์€ QUICKSTART.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ฒซ ๋ฒˆ์งธ ๋กœ๋“œ ์‹œ:

  1. PATH์— ์–ด๋–ค ์—์ด์ „ํŠธ CLI๊ฐ€ ์žˆ๋Š”์ง€ ๊ฐ์ง€ํ•˜๊ณ  ์ž๋™์œผ๋กœ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. 31๊ฐœ์˜ skill + 72๊ฐœ์˜ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  3. Anthropic ํ‚ค๋ฅผ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ํ™˜์˜ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(BYOK ํด๋ฐฑ ๊ฒฝ๋กœ์—๋งŒ ํ•„์š”).
  4. ./.od/๋ฅผ ์ž๋™ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค โ€” SQLite ํ”„๋กœ์ ํŠธ DB, ํ”„๋กœ์ ํŠธ๋ณ„ ์•„ํ‹ฐํŒฉํŠธ, ์ €์žฅ๋œ ๋ Œ๋”๋ฅผ ์œ„ํ•œ ๋กœ์ปฌ ๋Ÿฐํƒ€์ž„ ํด๋”. od init ๋‹จ๊ณ„๋Š” ์—†์Šต๋‹ˆ๋‹ค; daemon์ด ๋ถ€ํŒ… ์‹œ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ mkdirํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ „์†ก์„ ๋ˆ„๋ฅด๋ฉด ์งˆ๋ฌธ ํผ์ด ๋„์ฐฉํ•˜๊ณ , ์ฑ„์šฐ๋ฉด ํ•  ์ผ ์นด๋“œ๊ฐ€ ์ŠคํŠธ๋ฆฌ๋ฐ๋˜๊ณ , ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ๋””์Šคํฌ์— ์ €์žฅ ํด๋ฆญ ๋˜๋Š” ํ”„๋กœ์ ํŠธ ZIP์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.

์ฒซ ์‹คํ–‰ ์ƒํƒœ(./.od/)

Daemon์€ ์ €์žฅ์†Œ ๋ฃจํŠธ์— ํ•˜๋‚˜์˜ ์ˆจ๊ฒจ์ง„ ํด๋”๋ฅผ ์†Œ์œ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์•ˆ์˜ ๋ชจ๋“  ๊ฒƒ์€ gitignore๋˜๊ณ  ๋กœ์ปฌ ๋จธ์‹  ์ „์šฉ์ž…๋‹ˆ๋‹ค โ€” ์ปค๋ฐ‹ํ•˜์ง€ ๋งˆ์„ธ์š”.

.od/
โ”œโ”€โ”€ app.sqlite                 โ† ํ”„๋กœ์ ํŠธ ยท ๋Œ€ํ™” ยท ๋ฉ”์‹œ์ง€ ยท ์—ด๋ฆฐ ํƒญ
โ”œโ”€โ”€ artifacts/                 โ† ์ผํšŒ์„ฑ "๋””์Šคํฌ์— ์ €์žฅ" ๋ Œ๋”(ํƒ€์ž„์Šคํƒฌํ”„)
โ””โ”€โ”€ projects/<id>/             โ† ํ”„๋กœ์ ํŠธ๋ณ„ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ, ์—์ด์ „ํŠธ์˜ cwd
์›ํ•˜๋Š” ์ž‘์—… ๋ฐฉ๋ฒ•
๋‚ด์šฉ ํ™•์ธ ls -la .od && sqlite3 .od/app.sqlite '.tables'
์ดˆ๊ธฐ ์ƒํƒœ๋กœ ์žฌ์„ค์ • pnpm tools-dev stop, rm -rf .od, pnpm tools-dev run web ์žฌ์‹คํ–‰
๋‹ค๋ฅธ ์œ„์น˜๋กœ ์ด๋™ ์•„์ง ์ง€์›๋˜์ง€ ์•Š์Œ โ€” ๊ฒฝ๋กœ๊ฐ€ ์ €์žฅ์†Œ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋กœ ํ•˜๋“œ์ฝ”๋”ฉ๋จ

์ „์ฒด ํŒŒ์ผ ๋งต, ์Šคํฌ๋ฆฝํŠธ, ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… โ†’ QUICKSTART.md.

์ €์žฅ์†Œ ๊ตฌ์กฐ

open-design/
โ”œโ”€โ”€ README.md                      โ† ์˜์–ด
โ”œโ”€โ”€ README.de.md                   โ† Deutsch
โ”œโ”€โ”€ README.zh-CN.md                โ† ็ฎ€ไฝ“ไธญๆ–‡
โ”œโ”€โ”€ README.ko.md                   โ† ํ•œ๊ตญ์–ด (์ด ํŒŒ์ผ)
โ”œโ”€โ”€ QUICKSTART.md                  โ† ์‹คํ–‰ / ๋นŒ๋“œ / ๋ฐฐํฌ ๊ฐ€์ด๋“œ
โ”œโ”€โ”€ package.json                   โ† pnpm ์›Œํฌ์ŠคํŽ˜์ด์Šค, ๋‹จ์ผ bin: od
โ”‚
โ”œโ”€โ”€ apps/
โ”‚   โ”œโ”€โ”€ daemon/                    โ† Node + Express, ์œ ์ผํ•œ ์„œ๋ฒ„
โ”‚   โ”‚   โ”œโ”€โ”€ src/                   โ† TypeScript daemon ์†Œ์Šค
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ cli.ts             โ† `od` bin ์†Œ์Šค, dist/cli.js๋กœ ์ปดํŒŒ์ผ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ server.ts          โ† /api/* ๋ผ์šฐํŠธ(projects, chat, files, exports)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ agents.ts          โ† PATH ์Šค์บ๋„ˆ + CLI๋ณ„ argv ๋นŒ๋”
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ claude-stream.ts   โ† Claude Code stdout ์ŠคํŠธ๋ฆฌ๋ฐ JSON ํŒŒ์„œ
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ skills.ts          โ† SKILL.md ํ”„๋ก ํŠธ๋งคํ„ฐ ๋กœ๋”
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ db.ts              โ† SQLite ์Šคํ‚ค๋งˆ(projects/messages/templates/tabs)
โ”‚   โ”‚   โ”œโ”€โ”€ sidecar/               โ† tools-dev daemon sidecar ๋ž˜ํผ
โ”‚   โ”‚   โ””โ”€โ”€ tests/                 โ† daemon ํŒจํ‚ค์ง€ ํ…Œ์ŠคํŠธ
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ web/                       โ† Next.js 16 App Router + React ํด๋ผ์ด์–ธํŠธ
โ”‚       โ”œโ”€โ”€ app/                   โ† App Router ์ง„์ž…์ 
โ”‚       โ”œโ”€โ”€ next.config.ts         โ† ๊ฐœ๋ฐœ rewrite + ํ”„๋กœ๋•์…˜ ์ •์  ๋‚ด๋ณด๋‚ด๊ธฐ to out/
โ”‚       โ””โ”€โ”€ src/                   โ† React + TypeScript ํด๋ผ์ด์–ธํŠธ ๋ชจ๋“ˆ
โ”‚           โ”œโ”€โ”€ App.tsx            โ† ๋ผ์šฐํŒ…, ๋ถ€ํŠธ์ŠคํŠธ๋žฉ, ์„ค์ •
โ”‚           โ”œโ”€โ”€ components/        โ† ์ฑ„ํŒ…, ์ž‘์„ฑ๊ธฐ, ์„ ํƒ๊ธฐ, ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ์Šค์ผ€์น˜, โ€ฆ
โ”‚           โ”œโ”€โ”€ prompts/
โ”‚           โ”‚   โ”œโ”€โ”€ system.ts      โ† composeSystemPrompt(base, skill, DS, metadata)
โ”‚           โ”‚   โ”œโ”€โ”€ discovery.ts   โ† turn-1 ํผ + turn-2 ๋ถ„๊ธฐ + 5์ฐจ์› ๊ฒ€ํ† 
โ”‚           โ”‚   โ””โ”€โ”€ directions.ts  โ† 5๊ฐ€์ง€ ์‹œ๊ฐ์  ๋ฐฉํ–ฅ ร— OKLch ํŒ”๋ ˆํŠธ + ํฐํŠธ ์Šคํƒ
โ”‚           โ”œโ”€โ”€ artifacts/         โ† ์ŠคํŠธ๋ฆฌ๋ฐ <artifact> ํŒŒ์„œ + ๋งค๋‹ˆํŽ˜์ŠคํŠธ
โ”‚           โ”œโ”€โ”€ runtime/           โ† iframe srcdoc, ๋งˆํฌ๋‹ค์šด, ๋‚ด๋ณด๋‚ด๊ธฐ ํ—ฌํผ
โ”‚           โ”œโ”€โ”€ providers/         โ† daemon SSE + BYOK API ์ „์†ก
โ”‚           โ””โ”€โ”€ state/             โ† config + ํ”„๋กœ์ ํŠธ(localStorage + daemon ๋ฐฑ์—…)
โ”‚
โ”œโ”€โ”€ e2e/                           โ† Playwright UI + ์™ธ๋ถ€ ํ†ตํ•ฉ/Vitest ํ•˜๋„ค์Šค
โ”‚
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ contracts/                 โ† ๊ณต์œ  web/daemon app contracts
โ”‚   โ”œโ”€โ”€ sidecar-proto/             โ† Open Design sidecar protocol contract
โ”‚   โ”œโ”€โ”€ sidecar/                   โ† generic sidecar runtime primitives
โ”‚   โ””โ”€โ”€ platform/                  โ† generic process/platform primitives
โ”‚
โ”œโ”€โ”€ skills/                        โ† 31๊ฐœ SKILL.md skill ๋ฒˆ๋“ค(27 prototype + 4 deck)
โ”‚   โ”œโ”€โ”€ web-prototype/             โ† prototype ๊ธฐ๋ณธ
โ”‚   โ”œโ”€โ”€ saas-landing/  dashboard/  pricing-page/  docs-page/  blog-post/
โ”‚   โ”œโ”€โ”€ mobile-app/  mobile-onboarding/  gamified-app/
โ”‚   โ”œโ”€โ”€ email-marketing/  social-carousel/  magazine-poster/
โ”‚   โ”œโ”€โ”€ motion-frames/  sprite-animation/  digital-eguide/  dating-web/
โ”‚   โ”œโ”€โ”€ critique/  tweaks/  wireframe-sketch/
โ”‚   โ”œโ”€โ”€ pm-spec/  team-okrs/  meeting-notes/  kanban-board/
โ”‚   โ”œโ”€โ”€ eng-runbook/  finance-report/  invoice/  hr-onboarding/
โ”‚   โ”œโ”€โ”€ simple-deck/  replit-deck/  weekly-update/   โ† deck ๋ชจ๋“œ
โ”‚   โ””โ”€โ”€ guizang-ppt/               โ† ๋ฒˆ๋“ค๋œ magazine-web-ppt(๋ฑ ๊ธฐ๋ณธ)
โ”‚       โ”œโ”€โ”€ SKILL.md
โ”‚       โ”œโ”€โ”€ assets/template.html   โ† seed
โ”‚       โ””โ”€โ”€ references/{themes,layouts,components,checklist}.md
โ”‚
โ”œโ”€โ”€ design-systems/                โ† 72๊ฐœ DESIGN.md ์‹œ์Šคํ…œ
โ”‚   โ”œโ”€โ”€ default/                   โ† Neutral Modern(์Šคํƒ€ํ„ฐ)
โ”‚   โ”œโ”€โ”€ warm-editorial/            โ† Warm Editorial(์Šคํƒ€ํ„ฐ)
โ”‚   โ”œโ”€โ”€ linear-app/  vercel/  stripe/  airbnb/  notion/  cursor/  apple/  โ€ฆ
โ”‚   โ””โ”€โ”€ README.md                  โ† ์นดํƒˆ๋กœ๊ทธ ๊ฐœ์š”
โ”‚
โ”œโ”€โ”€ assets/
โ”‚   โ””โ”€โ”€ frames/                    โ† ๊ณต์œ  ๊ธฐ๊ธฐ ํ”„๋ ˆ์ž„(์Šคํ‚ฌ ๊ฐ„ ์‚ฌ์šฉ)
โ”‚       โ”œโ”€โ”€ iphone-15-pro.html
โ”‚       โ”œโ”€โ”€ android-pixel.html
โ”‚       โ”œโ”€โ”€ ipad-pro.html
โ”‚       โ”œโ”€โ”€ macbook.html
โ”‚       โ””โ”€โ”€ browser-chrome.html
โ”‚
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ deck-framework.html        โ† ๋ฑ ๊ธฐ์ค€์„ (nav / counter / print)
โ”‚
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ sync-design-systems.ts     โ† ์ƒ์œ„ awesome-design-md tarball ์žฌ๊ฐ€์ ธ์˜ค๊ธฐ
โ”‚
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ spec.md                    โ† ์ œํ’ˆ ์ŠคํŽ™, ์‹œ๋‚˜๋ฆฌ์˜ค, ์ฐจ๋ณ„ํ™”
โ”‚   โ”œโ”€โ”€ architecture.md            โ† ํ† ํด๋กœ์ง€, ๋ฐ์ดํ„ฐ ํ๋ฆ„, ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ skills-protocol.md         โ† ํ™•์žฅ๋œ SKILL.md od: ํ”„๋ก ํŠธ๋งคํ„ฐ
โ”‚   โ”œโ”€โ”€ agent-adapters.md          โ† CLI๋ณ„ ๊ฐ์ง€ + ๋””์ŠคํŒจ์น˜
โ”‚   โ”œโ”€โ”€ modes.md                   โ† prototype / deck / template / design-system
โ”‚   โ”œโ”€โ”€ references.md              โ† ์žฅ๋ฌธ ์ถœ์ฒ˜
โ”‚   โ”œโ”€โ”€ roadmap.md                 โ† ๋‹จ๊ณ„๋ณ„ ๋ฐฐํฌ
โ”‚   โ”œโ”€โ”€ schemas/                   โ† JSON ์Šคํ‚ค๋งˆ
โ”‚   โ””โ”€โ”€ examples/                  โ† ํ‘œ์ค€ ์•„ํ‹ฐํŒฉํŠธ ์˜ˆ์‹œ
โ”‚
โ””โ”€โ”€ .od/                           โ† ๋Ÿฐํƒ€์ž„ ๋ฐ์ดํ„ฐ, gitignore๋จ, ์ž๋™ ์ƒ์„ฑ
    โ”œโ”€โ”€ app.sqlite                 โ† ํ”„๋กœ์ ํŠธ / ๋Œ€ํ™” / ๋ฉ”์‹œ์ง€ / ํƒญ
    โ”œโ”€โ”€ projects/<id>/             โ† ํ”„๋กœ์ ํŠธ๋ณ„ ์ž‘์—… ํด๋”(์—์ด์ „ํŠธ์˜ cwd)
    โ””โ”€โ”€ artifacts/                 โ† ์ €์žฅ๋œ ์ผํšŒ์„ฑ ๋ Œ๋”

๋””์ž์ธ ์‹œ์Šคํ…œ

72๊ฐœ ๋””์ž์ธ ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โ€” ์—๋””ํ† ๋ฆฌ์–ผ ์Šคํ”„๋ ˆ๋“œ

๊ธฐ๋ณธ ์ œ๊ณต 72๊ฐœ ์‹œ์Šคํ…œ, ๊ฐ๊ฐ ๋‹จ์ผ DESIGN.md๋กœ:

์ „์ฒด ์นดํƒˆ๋กœ๊ทธ (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)

AI & LLM โ€” claude ยท cohere ยท mistral-ai ยท minimax ยท together-ai ยท replicate ยท runwayml ยท elevenlabs ยท ollama ยท x-ai

๊ฐœ๋ฐœ์ž ๋„๊ตฌ โ€” cursor ยท vercel ยท linear-app ยท framer ยท expo ยท clickhouse ยท mongodb ยท supabase ยท hashicorp ยท posthog ยท sentry ยท warp ยท webflow ยท sanity ยท mintlify ยท lovable ยท composio ยท opencode-ai ยท voltagent

์ƒ์‚ฐ์„ฑ โ€” notion ยท figma ยท miro ยท airtable ยท superhuman ยท intercom ยท zapier ยท cal ยท clay ยท raycast

ํ•€ํ…Œํฌ โ€” stripe ยท coinbase ยท binance ยท kraken ยท mastercard ยท revolut ยท wise

์ด์ปค๋จธ์Šค โ€” shopify ยท airbnb ยท uber ยท nike ยท starbucks ยท pinterest

๋ฏธ๋””์–ด โ€” spotify ยท playstation ยท wired ยท theverge ยท meta

์ž๋™์ฐจ โ€” tesla ยท bmw ยท ferrari ยท lamborghini ยท bugatti ยท renault

๊ธฐํƒ€ โ€” apple ยท ibm ยท nvidia ยท vodafone ยท sentry ยท resend ยท spacex

์Šคํƒ€ํ„ฐ โ€” default(Neutral Modern) ยท warm-editorial

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” scripts/sync-design-systems.ts๋ฅผ ํ†ตํ•ด VoltAgent/awesome-design-md์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์žฌ์‹คํ–‰ํ•˜๋ฉด ์ƒˆ๋กœ ๊ณ ์นจ๋ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ์  ๋ฐฉํ–ฅ

์‚ฌ์šฉ์ž์—๊ฒŒ ๋ธŒ๋žœ๋“œ ์ŠคํŽ™์ด ์—†์„ ๋•Œ, ์—์ด์ „ํŠธ๊ฐ€ 5๊ฐ€์ง€ ์—„์„ ๋œ ๋ฐฉํ–ฅ์ด ์žˆ๋Š” ๋‘ ๋ฒˆ์งธ ํผ์„ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค โ€” huashu-design์˜ "5๊ฐ€์ง€ ํ•™ํŒŒ ร— 20๊ฐ€์ง€ ๋””์ž์ธ ์ฒ ํ•™" ํด๋ฐฑ์˜ OD ์ ์šฉ. ๊ฐ ๋ฐฉํ–ฅ์€ ๊ฒฐ์ •๋ก ์  ์ŠคํŽ™์ž…๋‹ˆ๋‹ค โ€” OKLch์˜ ํŒ”๋ ˆํŠธ, ํฐํŠธ ์Šคํƒ, ๋ ˆ์ด์•„์›ƒ ํฌ์Šค์ฒ˜ ๋‹จ์„œ, ์ฐธ๊ณ  ์ž๋ฃŒ โ€” ์—์ด์ „ํŠธ๊ฐ€ ์ด๋ฅผ seed ํ…œํ”Œ๋ฆฟ์˜ :root์— ๊ทธ๋Œ€๋กœ ๋ฐ”์ธ๋”ฉํ•ฉ๋‹ˆ๋‹ค. ๋ผ๋””์˜ค ํ•˜๋‚˜ ํด๋ฆญ โ†’ ์™„์ „ํžˆ ์ง€์ •๋œ ์‹œ๊ฐ ์‹œ์Šคํ…œ. ์ฆ‰ํฅ ์—†์Œ, AI-slop ์—†์Œ.

๋ฐฉํ–ฅ ๋ฌด๋“œ ์ฐธ๊ณ 
Editorial โ€” Monocle / FT ์ธ์‡„ ๋งค๊ฑฐ์ง„, ์ž‰ํฌ + ํฌ๋ฆผ + ๋”ฐ๋œปํ•œ ๋Ÿฌ์ŠคํŠธ Monocle ยท FT Weekend ยท NYT Magazine
Modern minimal โ€” Linear / Vercel ์ฟจ, ๊ตฌ์กฐ์ , ๋ฏธ๋‹ˆ๋ฉ€ ์•ก์„ผํŠธ Linear ยท Vercel ยท Stripe
Tech utility ์ •๋ณด ๋ฐ€๋„, ๋ชจ๋…ธ์ŠคํŽ˜์ด์Šค, ํ„ฐ๋ฏธ๋„ Bloomberg ยท Bauhaus ๋„๊ตฌ
Brutalist ๋‚ ๊ฒƒ, ๊ฑฐ๋Œ€ํ•œ ํƒ€์ž…, ๊ทธ๋ฆผ์ž ์—†์Œ, ๊ฐ•ํ•œ ์•ก์„ผํŠธ Bloomberg Businessweek ยท Achtung
Soft warm ์—ฌ์œ ๋กญ๊ณ , ๋‚ฎ์€ ๋Œ€๋น„, ๋ณต์ˆญ์•„ ๊ณ„์—ด ๋‰ดํŠธ๋Ÿด Notion ๋งˆ์ผ€ํŒ… ยท Apple Health

์ „์ฒด ์ŠคํŽ™ โ†’ apps/daemon/src/prompts/directions.ts.

๋ฏธ๋””์–ด ์ƒ์„ฑ

OD๋Š” ์ฝ”๋“œ์—์„œ ๋๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. <artifact> HTML์„ ๋งŒ๋“œ๋Š” ๋™์ผํ•œ ์ฑ„ํŒ… ์ž…๊ตฌ๊ฐ€ ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ์˜ค๋””์˜ค ์ƒ์„ฑ๋„ ๊ตฌ๋™ํ•ฉ๋‹ˆ๋‹ค โ€” ๋ชจ๋ธ ์–ด๋Œ‘ํ„ฐ๋Š” daemon์˜ ๋ฏธ๋””์–ด ํŒŒ์ดํ”„๋ผ์ธ(apps/daemon/src/media-models.ts, apps/web/src/media/models.ts)์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ Œ๋”๋ง์€ ํ”„๋กœ์ ํŠธ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์‹ค์ œ ํŒŒ์ผ๋กœ ๋–จ์–ด์ง€๋ฉฐ โ€” ์ด๋ฏธ์ง€๋Š” .png, ๋น„๋””์˜ค๋Š” .mp4 โ€” ํ„ด์ด ๋๋‚  ๋•Œ ๋‹ค์šด๋กœ๋“œ chip์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚  ๋ถ€ํ•˜๋ฅผ ์งŠ์–ด์ง„ ์„ธ ๋ชจ๋ธ ํŒจ๋ฐ€๋ฆฌ:

Surface ๋ชจ๋ธ ์ œ๊ณต์ž ์šฉ๋„
์ด๋ฏธ์ง€ gpt-image-2 Azure / OpenAI ํฌ์Šคํ„ฐ, ํ”„๋กœํ•„ ์•„๋ฐ”ํƒ€, ์ผ๋Ÿฌ์ŠคํŠธ ๋„์‹œ ์ง€๋„, ์ธํฌ๊ทธ๋ž˜ํ”ฝ, ๋งค๊ฑฐ์ง„ ํ’ ์†Œ์…œ ์นด๋“œ, ์‚ฌ์ง„ ๋ณต์›, ๋ถ„ํ•ด๋„ ์ œํ’ˆ ์ผ๋Ÿฌ์ŠคํŠธ
๋น„๋””์˜ค seedance-2.0 ByteDance Volcengine 15์ดˆ ์‹œ๋„ค๋งˆํ‹ฑ t2v + i2v + ์˜ค๋””์˜ค โ€” ๋‚ด๋Ÿฌํ‹ฐ๋ธŒ ์‡ผํŠธ, ์ธ๋ฌผ ํด๋กœ์ฆˆ์—…, ์ œํ’ˆ ์˜์ƒ, MV ์•ˆ๋ฌด
๋น„๋””์˜ค hyperframes-html HeyGen / OSS HTMLโ†’MP4 ๋ชจ์…˜ ๊ทธ๋ž˜ํ”ฝ โ€” ์ œํ’ˆ ๋ฆฌ๋นŒ, ํ‚ค๋„คํ‹ฑ ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ, ๋ฐ์ดํ„ฐ ์ฐจํŠธ, ์†Œ์…œ ์˜ค๋ฒ„๋ ˆ์ด, ๋กœ๊ณ  ์•„์›ƒํŠธ๋กœ, ์นด๋ผ์˜ค์ผ€ ์ž๋ง‰์„ ๋‹จ ์„ธ๋กœํ˜• TikTok

์„ฑ์žฅํ•˜๋Š” prompt ๊ฐค๋Ÿฌ๋ฆฌ๋Š” prompt-templates/์—์„œ โ€” ์ฆ‰์‹œ ๋ณต์ œ ๊ฐ€๋Šฅํ•œ 93๊ฐœ prompt ๋™๋ด‰: 43๊ฐœ ์ด๋ฏธ์ง€(prompt-templates/image/*.json), 39๊ฐœ Seedance(prompt-templates/video/*.json ์ค‘ hyperframes-* ์ œ์™ธ), 11๊ฐœ HyperFrames(prompt-templates/video/hyperframes-*.json). ๊ฐ ํ•ญ๋ชฉ์€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ธ๋„ค์ผ, ์›๋ณธ prompt ๋ณธ๋ฌธ, ๋Œ€์ƒ ๋ชจ๋ธ, ํ™”๋ฉด๋น„, ๋ผ์ด์„ ์Šค + ์ €์ž‘์ž ํ‘œ๊ธฐ๋ฅผ ๋‹ด์€ source ๋ธ”๋ก์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. daemon์€ GET /api/prompt-templates๋กœ ์„œ๋น™ํ•˜๊ณ , ์›น ์•ฑ์€ ์ง„์ž… ํ™”๋ฉด์˜ Image templates / Video templates ํƒญ์—์„œ ์นด๋“œ ๊ทธ๋ฆฌ๋“œ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค; ํ•œ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด ์ ํ•ฉํ•œ ๋ชจ๋ธ์ด ๋ฏธ๋ฆฌ ์„ ํƒ๋œ prompt๊ฐ€ composer์— ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

gpt-image-2 โ€” ์ด๋ฏธ์ง€ ๊ฐค๋Ÿฌ๋ฆฌ(43๊ฐœ ์ค‘ 5๊ฐœ)

3D Stone Staircase Evolution
3D Stone Staircase Evolution Infographic
3๋‹จ๊ณ„ ์„์žฌ ํ’ ์ธํฌ๊ทธ๋ž˜ํ”ฝ
Illustrated City Food Map
Illustrated City Food Map
ํŽธ์ง‘๊ธ‰ ์†๊ทธ๋ฆผ ์—ฌํ–‰ ํฌ์Šคํ„ฐ
Cinematic Elevator Scene
Cinematic Elevator Scene
ํŽธ์ง‘๊ธ‰ ํŒจ์…˜ ๋‹จ์ผ ํ”„๋ ˆ์ž„
Cyberpunk Anime Portrait
Cyberpunk Anime Portrait
ํ”„๋กœํ•„ ์•„๋ฐ”ํƒ€ โ€” ๋„ค์˜จ ํŽ˜์ด์Šค ํ…์ŠคํŠธ
Glamorous Woman in Black
Glamorous Woman in Black Portrait
ํŽธ์ง‘๊ธ‰ ์ŠคํŠœ๋””์˜ค ์ดˆ์ƒ

์ „์ฒด ๋ชฉ๋ก โ†’ prompt-templates/image/. ์ถœ์ฒ˜: ๋Œ€๋ถ€๋ถ„ YouMind-OpenLab/awesome-gpt-image-prompts(CC-BY-4.0)์—์„œ, ํ…œํ”Œ๋ฆฟ๋งˆ๋‹ค ์ž‘์„ฑ์ž ํ‘œ๊ธฐ๋ฅผ ๋ณด์กด.

Seedance 2.0 โ€” ๋น„๋””์˜ค ๊ฐค๋Ÿฌ๋ฆฌ(39๊ฐœ ์ค‘ 5๊ฐœ)

Music Podcast Guitar
Music Podcast & Guitar Technique
4K ์‹œ๋„ค๋งˆํ‹ฑ ์ŠคํŠœ๋””์˜ค ์˜์ƒ
Emotional Face
Emotional Face Close-up
์‹œ๋„ค๋งˆํ‹ฑ ๋ฏธ์„ธ ํ‘œ์ • ์—ฐ๊ตฌ
Luxury Supercar
Luxury Supercar Cinematic
๋‚ด๋Ÿฌํ‹ฐ๋ธŒ ์ œํ’ˆ ์˜์ƒ
Forbidden City Cat
Forbidden City Cat Satire
์Šคํƒ€์ผ๋ผ์ด์ฆˆ๋“œ ํ’์ž ์‡ผํŠธ
Japanese Romance
Japanese Romance Short Film
15์ดˆ Seedance 2.0 ๋‚ด๋Ÿฌํ‹ฐ๋ธŒ

์ธ๋„ค์ผ์„ ํด๋ฆญํ•˜๋ฉด ์‹ค์ œ ๋ Œ๋”๋œ MP4๊ฐ€ ์žฌ์ƒ๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ชฉ๋ก โ†’ prompt-templates/video/(*-seedance-* ๋ฐ Cinematic ํƒœ๊ทธ๊ฐ€ ๋ถ™์€ ํ•ญ๋ชฉ). ์ถœ์ฒ˜: YouMind-OpenLab/awesome-seedance-2-prompts(CC-BY-4.0), ์› ํŠธ์œ— ๋งํฌ์™€ ์ž‘์„ฑ์ž ํ•ธ๋“ค ๋ณด์กด.

HyperFrames โ€” HTMLโ†’MP4 ๋ชจ์…˜ ๊ทธ๋ž˜ํ”ฝ(11๊ฐœ์˜ ์ฆ‰์‹œ ๋ณต์ œ ๊ฐ€๋Šฅํ•œ ํ…œํ”Œ๋ฆฟ)

heygen-com/hyperframes๋Š” HeyGen์ด ์˜คํ”ˆ์†Œ์Šคํ™”ํ•œ ์—์ด์ „ํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ๋น„๋””์˜ค ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค โ€” ๋‹น์‹ (๋˜๋Š” ์—์ด์ „ํŠธ)์ด HTML + CSS + GSAP์„ ์ž‘์„ฑํ•˜๋ฉด HyperFrames๊ฐ€ headless Chrome + FFmpeg๋กœ ๊ฒฐ์ •๋ก ์ ์œผ๋กœ MP4๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. Open Design์€ HyperFrames๋ฅผ ์ผ๊ธ‰ ๋น„๋””์˜ค ๋ชจ๋ธ(hyperframes-html)๋กœ daemon dispatch์— ์—ฐ๊ฒฐํ•˜๊ณ , ์ถ”๊ฐ€๋กœ skills/hyperframes/ skill์„ ๋™๋ด‰ํ•ด timeline ๊ณ„์•ฝ, ์”ฌ ํŠธ๋žœ์ง€์…˜ ๊ทœ์น™, audio-reactive ํŒจํ„ด, ์ž๋ง‰/TTS, ์นดํƒˆ๋กœ๊ทธ ๋ธ”๋ก(npx hyperframes add <slug>)์„ ์—์ด์ „ํŠธ์—๊ฒŒ ๊ฐ€๋ฅด์นฉ๋‹ˆ๋‹ค.

11๊ฐœ์˜ HyperFrames prompt๊ฐ€ prompt-templates/video/hyperframes-*.json์— ๋“ค์–ด ์žˆ๊ณ , ๊ฐ๊ฐ์ด ํŠน์ • ์•„ํ‚คํƒ€์ž…์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ตฌ์ฒด์ ์ธ brief์ž…๋‹ˆ๋‹ค:

Product reveal
5์ดˆ ๋ฏธ๋‹ˆ๋ฉ€ ์ œํ’ˆ ๋ฆฌ๋นŒ ยท 16:9 ยท ํ‘ธ์‹œ์ธ ํƒ€์ดํ‹€ ์นด๋“œ + ์…ฐ์ด๋” ํŠธ๋žœ์ง€์…˜
SaaS promo
30์ดˆ SaaS ์ œํ’ˆ ํ”„๋กœ๋ชจ ยท 16:9 ยท Linear/ClickUp ํ’ + UI 3D ๋ฆฌ๋นŒ
TikTok karaoke
TikTok ์นด๋ผ์˜ค์ผ€ ํ† ํ‚นํ—ค๋“œ ยท 9:16 ยท TTS + ๋‹จ์–ด ๋™๊ธฐํ™” ์ž๋ง‰
Brand sizzle
30์ดˆ ๋ธŒ๋žœ๋“œ sizzle ๋ฆด ยท 16:9 ยท ๋น„ํŠธ ๋™๊ธฐํ™” ํ‚ค๋„คํ‹ฑ ํƒ€์ดํฌ, audio-reactive
Data chart
์• ๋‹ˆ๋ฉ”์ด์…˜ bar-chart race ยท 16:9 ยท NYT ํ’ ๋ฐ์ดํ„ฐ ์ธํฌ๊ทธ๋ž˜ํ”ฝ
Flight map
๋น„ํ–‰ ๊ฒฝ๋กœ ์ง€๋„(์ถœ๋ฐœ โ†’ ๋„์ฐฉ) ยท 16:9 ยท Apple ํ’ ์‹œ๋„ค๋งˆํ‹ฑ ๊ฒฝ๋กœ ๋ฆฌ๋นŒ
Logo outro
4์ดˆ ์‹œ๋„ค๋งˆํ‹ฑ ๋กœ๊ณ  ์•„์›ƒํŠธ๋กœ ยท 16:9 ยท ์กฐ๊ฐ๋ณ„ ์–ด์…ˆ๋ธ” + bloom
Money counter
$0 โ†’ $10K ๋จธ๋‹ˆ ์นด์šดํ„ฐ ยท 9:16 ยท Apple ํ’ hype + ๊ทธ๋ฆฐ ํ”Œ๋ž˜์‹œ + ๋ฒ„์ŠคํŠธ
App showcase
ํฐ 3๋Œ€ ์•ฑ ์‡ผ์ผ€์ด์Šค ยท 16:9 ยท ๋–  ์žˆ๋Š” ํฐ + ๊ธฐ๋Šฅ ์ฝœ์•„์›ƒ
Social overlay
์†Œ์…œ ์˜ค๋ฒ„๋ ˆ์ด ์Šคํƒ ยท 9:16 ยท X ยท Reddit ยท Spotify ยท Instagram ์ˆœ์ฐจ
Website to video
์›น์‚ฌ์ดํŠธโ†’๋น„๋””์˜ค ํŒŒ์ดํ”„๋ผ์ธ ยท 16:9 ยท 3๊ฐ€์ง€ ๋ทฐํฌํŠธ ์บก์ฒ˜ + ํŠธ๋žœ์ง€์…˜
ย 

ํŒจํ„ด์€ ๋‹ค๋ฅธ ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค: ํ…œํ”Œ๋ฆฟ์„ ๊ณ ๋ฅด๊ณ , brief๋ฅผ ํŽธ์ง‘ํ•˜๊ณ , ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ๋™๋ด‰๋œ skills/hyperframes/SKILL.md(OD ์ „์šฉ ๋ Œ๋”๋ง ์›Œํฌํ”Œ๋กœ โ€” composition ์†Œ์Šค ํŒŒ์ผ์„ .hyperframes-cache/์— ๊ฒฉ๋ฆฌํ•ด ํŒŒ์ผ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ์–ด์ง€๋Ÿฝํžˆ์ง€ ์•Š๊ณ , daemon์ด npx hyperframes render๋ฅผ ๋Œ€์‹  ์‹คํ–‰ํ•ด macOS sandbox-exec / Puppeteer ํ–‰ ํ˜„์ƒ์„ ์šฐํšŒํ•˜๊ณ , ์ตœ์ข… .mp4๋งŒ ํ”„๋กœ์ ํŠธ chip์œผ๋กœ ํ‘œ์‹œ๋˜๋„๋ก)๋ฅผ ์ฝ๊ณ , composition์„ ์ž‘์„ฑํ•˜๊ณ , MP4๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์นดํƒˆ๋กœ๊ทธ ๋ธ”๋ก ์ธ๋„ค์ผ์€ ยฉ HeyGen, ๊ทธ๋“ค์˜ CDN์—์„œ ์ œ๊ณต; OSS ํ”„๋ ˆ์ž„์›Œํฌ ์ž์ฒด๋Š” Apache-2.0์ž…๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ๋˜์—ˆ์ง€๋งŒ ์•„์ง ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋…ธ์ถœ๋˜์ง€ ์•Š์€ ๋ชจ๋ธ: Kling 2.0 / 1.6 / 1.5, Veo 3 / Veo 2, Sora 2 / Sora 2-Pro(via Fal), MiniMax video-01 โ€” ๋ชจ๋‘ VIDEO_MODELS(apps/web/src/media/models.ts)์— ์žˆ์Šต๋‹ˆ๋‹ค. Suno v5 / v4.5, Udio v2, Lyria 2(์Œ์•…)์™€ gpt-4o-mini-tts, MiniMax TTS(์Œ์„ฑ)๊ฐ€ ์˜ค๋””์˜ค surface๋ฅผ ์ปค๋ฒ„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค prompt ํ…œํ”Œ๋ฆฟ์€ ์˜คํ”ˆ ์ปจํŠธ๋ฆฌ๋ทฐ์…˜์ž…๋‹ˆ๋‹ค โ€” JSON์„ prompt-templates/video/ ๋˜๋Š” prompt-templates/audio/์— ๋–จ๊ตฌ๋ฉด picker์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ฑ„ํŒ… ๊ทธ ์ด์ƒ โ€” ๋” ๋“ค์–ด ์žˆ๋Š” ๊ฒƒ๋“ค

์ฑ„ํŒ… / ์•„ํ‹ฐํŒฉํŠธ ๋ฃจํ”„๊ฐ€ ๊ฐ€์žฅ ๋ˆˆ์— ์ž˜ ๋„์ง€๋งŒ, ์ด ์ €์žฅ์†Œ์—๋Š” ๋‹ค๋ฅธ ์ œํ’ˆ๊ณผ ๋น„๊ตํ•˜๊ธฐ ์ „์— ํ•œ๋ฒˆ์ฏค ์Šค์บ”ํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ์ž˜ ์•ˆ ๋ณด์ด๋Š” ๋Šฅ๋ ฅ๋“ค์ด ๋” ์žˆ์Šต๋‹ˆ๋‹ค:

  • Claude Design ZIP ์ž„ํฌํŠธ. claude.ai์—์„œ ์ต์ŠคํฌํŠธํ•œ ZIP์„ ํ™˜์˜ ๋‹ค์ด์–ผ๋กœ๊ทธ์— ๋“œ๋กญํ•˜์„ธ์š”. POST /api/import/claude-design์ด ๊ทธ๊ฒƒ์„ ์ง„์งœ .od/projects/<id>/๋กœ ํ’€์–ด์ฃผ๊ณ , ์—”ํŠธ๋ฆฌ ํŒŒ์ผ์„ ํƒญ์œผ๋กœ ์—ด๊ณ , ๋กœ์ปฌ ์—์ด์ „ํŠธ์—๊ฒŒ "Anthropic์ด ๋ฉˆ์ถ˜ ๊ณณ์—์„œ ๊ทธ๋Œ€๋กœ ์ด์–ด์„œ ํŽธ์ง‘ํ•ด" ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฏธ๋ฆฌ ๋ฐ•์•„๋‘ก๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋ฌป์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค, "๋ฐฉ๊ธˆ ๋งŒ๋“  ๊ฒƒ์„ ๋‹ค์‹œ ๋งŒ๋“ค์–ด์ค˜"๋„ ์•ˆ ํ•ฉ๋‹ˆ๋‹ค. (apps/daemon/src/server.ts โ€” /api/import/claude-design)
  • OpenAI ํ˜ธํ™˜ BYOK ํ”„๋ก์‹œ. POST /api/proxy/stream์€ { baseUrl, apiKey, model, messages }๋ฅผ ๋ฐ›์•„ ๊ฒฝ๋กœ๋ฅผ ์ •๊ทœํ™”(โ€ฆ/v1/chat/completions)ํ•˜๊ณ , SSE ์ฒญํฌ๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „๋‹ฌํ•˜๋ฉฐ, SSRF๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด loopback / link-local / RFC1918 ๋ชฉ์ ์ง€๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. OpenAI chat ์Šคํ‚ค๋งˆ๋ฅผ ๋งํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค โ€” Anthropic-via-OpenAI ์–ด๋Œ‘ํ„ฐ, DeepSeek, Groq, MiMo, OpenRouter, ์ž์ฒด ํ˜ธ์ŠคํŒ… vLLM. MiMo๋Š” ์ž์œ  ์ƒ์„ฑ์—์„œ tool ์Šคํ‚ค๋งˆ๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜์ง€ ์•Š์•„ ์ž๋™์œผ๋กœ tool_choice: 'none'์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ์ €์žฅ templates. ๋งˆ์Œ์— ๋“  ๋ Œ๋”๊ฐ€ ์žˆ์œผ๋ฉด POST /api/templates๊ฐ€ HTML + ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ SQLite templates ํ…Œ์ด๋ธ”์— ์Šค๋ƒ…์ƒท์œผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์˜ picker์—๋Š” "๋‚ด ํ…œํ”Œ๋ฆฟ" ํ–‰์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค โ€” ๊ธฐ๋ณธ 31๊ฐœ์™€ ๋™์ผํ•œ ํ‘œ๋ฉด, ๊ทธ๋Ÿฌ๋‚˜ ๋‹น์‹ ์˜ ๊ฒƒ.
  • ํƒญ ์˜์†์„ฑ. ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋Š” tabs ํ…Œ์ด๋ธ”์— ์ž๊ธฐ๊ฐ€ ์—ฐ ํŒŒ์ผ๋“ค๊ณผ ํ™œ์„ฑ ํƒญ์„ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. ๋‚ด์ผ ๋‹ค์‹œ ์—ด์–ด๋„ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋Š” ์–ด์ œ ๋– ๋‚œ ๊ทธ ๋ชจ์Šต ๊ทธ๋Œ€๋กœ.
  • Artifact lint API. POST /api/artifacts/lint๋Š” ์ƒ์„ฑ๋œ ์•„ํ‹ฐํŒฉํŠธ์— ๋Œ€ํ•ด ๊ตฌ์กฐ ๊ฒ€์‚ฌ(ํŒŒ๊ดด๋œ <artifact> ํ”„๋ ˆ์ž„, ๋ˆ„๋ฝ๋œ ํ•„์ˆ˜ ์‚ฌ์ด๋“œ ํŒŒ์ผ, ์˜ค๋ž˜๋œ ํŒ”๋ ˆํŠธ ํ† ํฐ)๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค์Œ ํ„ด์— ๋‹ค์‹œ ์ฝ์–ด๋“ค์ผ ์ˆ˜ ์žˆ๋Š” findings๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 5์ฐจ์› ์ž๊ธฐ ๊ฒ€ํ† ๋Š” ์ด๊ฑธ๋กœ ์ ์ˆ˜๋ฅผ vibe๊ฐ€ ์•„๋‹Œ ์‹ค์ œ ์ฆ๊ฑฐ์— ๋ฌถ์–ด๋‘ก๋‹ˆ๋‹ค.
  • Sidecar ํ”„๋กœํ† ์ฝœ + ๋ฐ์Šคํฌํƒ‘ ์ž๋™ํ™”. Daemon, web, desktop ํ”„๋กœ์„ธ์Šค ๋ชจ๋‘ ํƒ€์ž…ํ™”๋œ 5ํ•„๋“œ ์Šคํƒฌํ”„(app ยท mode ยท namespace ยท ipc ยท source)๋ฅผ ๋“ค๊ณ  ๋‹ค๋‹ˆ๋ฉฐ, JSON-RPC IPC ์ฑ„๋„์„ /tmp/open-design/ipc/<namespace>/<app>.sock์— ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. tools-dev inspect desktop status \| eval \| screenshot์ด ๊ทธ ์ฑ„๋„ ์œ„์—์„œ ๋™์ž‘ํ•˜๋ฏ€๋กœ, ํ—ค๋“œ๋ฆฌ์Šค E2E๊ฐ€ ์ง„์งœ Electron ์…ธ์„ ์ƒ๋Œ€๋กœ ์ž์ฒด ํ•˜๋„ค์Šค ์—†์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค(packages/sidecar-proto/, apps/desktop/src/main/).
  • Windows ์นœํ™”์  spawn. ๊ธด ํ•ฉ์„ฑ prompt์—์„œ CreateProcess์˜ ์•ฝ 32 KB argv ํ•œ๊ณ„๋ฅผ ๋„˜์„ ๋งŒํ•œ ๋ชจ๋“  ์–ด๋Œ‘ํ„ฐ(Codex, Gemini, OpenCode, Cursor Agent, Qwen, Qoder CLI, Pi)๋Š” prompt๋ฅผ stdin์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. Claude Code์™€ Copilot์€ -p๋ฅผ ์œ ์ง€ํ•˜๊ณ , ๊ทธ๊ฒƒ๋งˆ์ € ๋„˜์น˜๋ฉด daemon์€ ์ž„์‹œ prompt ํŒŒ์ผ๋กœ ํด๋ฐฑํ•ฉ๋‹ˆ๋‹ค.
  • ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ณ„ ๋Ÿฐํƒ€์ž„ ๋ฐ์ดํ„ฐ. OD_DATA_DIR๊ณผ --namespace๋กœ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋œ .od/-์Šคํƒ€์ผ ํŠธ๋ฆฌ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. Playwright, ๋ฒ ํƒ€ ์ฑ„๋„, ์‹ค์ œ ์ž‘์—… ํ”„๋กœ์ ํŠธ๊ฐ€ SQLite ํŒŒ์ผ์„ ๊ณต์œ ํ•˜๋Š” ์ผ์€ ์ ˆ๋Œ€ ์—†์Šต๋‹ˆ๋‹ค.

Anti-AI-slop ๋ฉ”์ปค๋‹ˆ์ฆ˜

์•„๋ž˜์˜ ๋ชจ๋“  ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ huashu-design ํ”Œ๋ ˆ์ด๋ถ์„ OD์˜ ํ”„๋กฌํ”„ํŠธ ์Šคํƒ์— ์ด์‹ํ•˜๊ณ , ์‚ฌ์ด๋“œ ํŒŒ์ผ pre-flight๋ฅผ ํ†ตํ•ด skill๋ณ„๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ๋ฌธ๊ตฌ๋Š” apps/daemon/src/prompts/discovery.ts๋ฅผ ์ฝ์œผ์„ธ์š”:

  • ์งˆ๋ฌธ ํผ ์šฐ์„ . Turn 1์€ ์˜ค์ง <question-form> โ€” ์ƒ๊ฐํ•˜๊ธฐ ์—†์Œ, ๋„๊ตฌ ์—†์Œ, ๋‚ด๋ ˆ์ด์…˜ ์—†์Œ. ์‚ฌ์šฉ์ž๋Š” ๋ผ๋””์˜ค ์†๋„๋กœ ๊ธฐ๋ณธ๊ฐ’์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ๋ธŒ๋žœ๋“œ ์ŠคํŽ™ ์ถ”์ถœ. ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋ฆฐ์ƒท์ด๋‚˜ URL์„ ์ฒจ๋ถ€ํ•˜๋ฉด, ์—์ด์ „ํŠธ๋Š” 5๋‹จ๊ณ„ ํ”„๋กœํ† ์ฝœ(์œ„์น˜ ํŒŒ์•… ยท ๋‹ค์šด๋กœ๋“œ ยท hex grep ยท brand-spec.md ์ฝ”๋“œํ™” ยท ๋ฐœ์„ฑ)์„ ์‹คํ–‰ํ•œ ํ›„ CSS๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ ˆ๋Œ€ ๊ธฐ์–ต์—์„œ ๋ธŒ๋žœ๋“œ ์ƒ‰์ƒ์„ ์ถ”์ธกํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • 5์ฐจ์› ๊ฒ€ํ† . <artifact>๋ฅผ ๋‚ด๋ณด๋‚ด๊ธฐ ์ „, ์—์ด์ „ํŠธ๊ฐ€ ์ž์‹ ์˜ ์ถœ๋ ฅ์„ ์ฒ ํ•™ / ๊ณ„์ธต / ์‹คํ–‰ / ๊ตฌ์ฒด์„ฑ / ์ ˆ์ œ 5๊ฐ€์ง€ ์ฐจ์›์—์„œ 1โ€“5์ ์œผ๋กœ ์กฐ์šฉํžˆ ์ฑ„์ ํ•ฉ๋‹ˆ๋‹ค. 3/5 ๋ฏธ๋งŒ์€ ํ‡ด๋ณด โ€” ์ˆ˜์ • ํ›„ ์žฌ์ฑ„์ . ๋‘ ๋ฒˆ์˜ ํŒจ์Šค๋Š” ์ •์ƒ์ž…๋‹ˆ๋‹ค.
  • P0/P1/P2 ์ฒดํฌ๋ฆฌ์ŠคํŠธ. ๋ชจ๋“  skill์€ ํ•˜๋“œ P0 ๊ฒŒ์ดํŠธ๊ฐ€ ์žˆ๋Š” references/checklist.md๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ๋‚ด๋ณด๋‚ด๊ธฐ ์ „์— P0๋ฅผ ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Slop ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ. ๊ณต๊ฒฉ์ ์ธ ๋ณด๋ผ์ƒ‰ ๊ทธ๋ผ๋””์–ธํŠธ, ์ผ๋ฐ˜ ์ด๋ชจ์ง€ ์•„์ด์ฝ˜, ์™ผ์ชฝ ํ…Œ๋‘๋ฆฌ ์•ก์„ผํŠธ๊ฐ€ ์žˆ๋Š” ๋‘ฅ๊ทผ ์นด๋“œ, ์†์œผ๋กœ ๊ทธ๋ฆฐ SVG ์ธ๋ฌผ, ๋””์Šคํ”Œ๋ ˆ์ด ํฐํŠธ๋กœ์„œ์˜ Inter, ํ—ˆ๊ตฌ ์ง€ํ‘œ โ€” ํ”„๋กฌํ”„ํŠธ์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค.
  • ์ •์งํ•œ ํ”Œ๋ ˆ์ด์Šคํ™€๋” > ๊ฐ€์งœ ํ†ต๊ณ„. ์‹ค์ œ ์ˆซ์ž๊ฐ€ ์—†์„ ๋•Œ ์—์ด์ „ํŠธ๋Š” โ€” ๋˜๋Š” ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” ํšŒ์ƒ‰ ๋ธ”๋ก์„ ์”๋‹ˆ๋‹ค. "10๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค"๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋น„๊ต

์ถ• Claude Design (Anthropic) Open CoDesign Open Design
๋ผ์ด์„ ์Šค ํด๋กœ์ฆˆ๋“œ MIT Apache-2.0
ํผ ํŒฉํ„ฐ ์›น(claude.ai) ๋ฐ์Šคํฌํƒ‘(Electron) ์›น์•ฑ + ๋กœ์ปฌ daemon
Vercel ๋ฐฐํฌ ๊ฐ€๋Šฅ โŒ โŒ โœ…
์—์ด์ „ํŠธ ๋Ÿฐํƒ€์ž„ ๋ฒˆ๋“ค๋จ(Opus 4.7) ๋ฒˆ๋“ค๋จ(pi-ai) ์‚ฌ์šฉ์ž ๊ธฐ์กด CLI์— ์œ„์ž„
Skill ๋…์  12๊ฐœ ์ปค์Šคํ…€ TS ๋ชจ๋“ˆ + SKILL.md 31๊ฐœ ํŒŒ์ผ ๊ธฐ๋ฐ˜ SKILL.md ๋ฒˆ๋“ค, ๋“œ๋กญ ๊ฐ€๋Šฅ
๋””์ž์ธ ์‹œ์Šคํ…œ ๋…์  DESIGN.md(v0.2 ๋กœ๋“œ๋งต) DESIGN.md ร— 72๊ฐœ ์‹œ์Šคํ…œ ๊ธฐ๋ณธ ์ œ๊ณต
ํ”„๋กœ๋ฐ”์ด๋” ์œ ์—ฐ์„ฑ Anthropic ์ „์šฉ pi-ai๋ฅผ ํ†ตํ•ด 7+ 16๊ฐœ CLI ์–ด๋Œ‘ํ„ฐ + OpenAI ํ˜ธํ™˜ BYOK ํ”„๋ก์‹œ
์ดˆ๊ธฐํ™” ์งˆ๋ฌธ ํผ โŒ โŒ โœ… ํ•˜๋“œ ๊ทœ์น™, turn 1
๋ฐฉํ–ฅ ์„ ํƒ๊ธฐ โŒ โŒ โœ… 5๊ฐ€์ง€ ๊ฒฐ์ •๋ก ์  ๋ฐฉํ–ฅ
์‹ค์‹œ๊ฐ„ ํ•  ์ผ ์ง„ํ–‰ + ๋„๊ตฌ ์ŠคํŠธ๋ฆผ โŒ โœ… โœ… (open-codesign์˜ UX ํŒจํ„ด)
์ƒŒ๋“œ๋ฐ•์Šค iframe ๋ฏธ๋ฆฌ๋ณด๊ธฐ โŒ โœ… โœ… (open-codesign์˜ ํŒจํ„ด)
Claude Design ZIP ์ž„ํฌํŠธ n/a โŒ โœ… POST /api/import/claude-design โ€” Anthropic์ด ๋ฉˆ์ถ˜ ๊ณณ์—์„œ ๊ทธ๋Œ€๋กœ ์ด์–ด์„œ
์ฝ”๋ฉ˜ํŠธ ๋ชจ๋“œ ์ˆ˜์ˆ ์  ํŽธ์ง‘ โŒ โœ… ๐Ÿšง ๋กœ๋“œ๋งต(open-codesign์—์„œ ์ด์‹)
AI ์ œ์•ˆ ํŠธ์œ… ํŒจ๋„ โŒ โœ… ๐ŸŸก ๋ถ€๋ถ„ โ€” tweaks skill ์ถœ์‹œ, ์ฑ„ํŒ… ํ†ตํ•ฉ ํŒจ๋„ UX๋Š” ๋กœ๋“œ๋งต
ํŒŒ์ผ์‹œ์Šคํ…œ๊ธ‰ ์›Œํฌ์ŠคํŽ˜์ด์Šค โŒ ๋ถ€๋ถ„(Electron ์ƒŒ๋“œ๋ฐ•์Šค) โœ… ์‹ค์ œ cwd, ์‹ค์ œ ๋„๊ตฌ, SQLite ์˜๊ตฌ ์ €์žฅ(projects ยท conversations ยท messages ยท tabs ยท templates)
5์ฐจ์› ์ž๊ธฐ ๊ฒ€ํ†  โŒ โŒ โœ… ๋‚ด๋ณด๋‚ด๊ธฐ ์ „ ๊ฒŒ์ดํŠธ
Artifact lint โŒ โŒ โœ… POST /api/artifacts/lint โ€” findings๋ฅผ ์—์ด์ „ํŠธ๋กœ ๋‹ค์‹œ ํ”ผ๋“œ
Sidecar IPC + ํ—ค๋“œ๋ฆฌ์Šค ๋ฐ์Šคํฌํƒ‘ โŒ โŒ โœ… ์Šคํƒฌํ”„๋œ ํ”„๋กœ์„ธ์Šค + tools-dev inspect desktop status | eval | screenshot
๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹ ์ œํ•œ๋จ HTML / PDF / PPTX / ZIP / Markdown HTML / PDF / PPTX(์—์ด์ „ํŠธ ์ฃผ๋„) / ZIP / Markdown
PPT skill ์žฌ์‚ฌ์šฉ N/A ๋‚ด์žฅ guizang-ppt-skill ๋“œ๋กญ์ธ(๋ฑ ๋ชจ๋“œ ๊ธฐ๋ณธ)
์ตœ์†Œ ์ฒญ๊ตฌ Pro / Max / Team BYOK BYOK โ€” ์ž„์˜์˜ OpenAI ํ˜ธํ™˜ baseUrl ๋ถ™์—ฌ๋„ฃ๊ธฐ

์ง€์›ํ•˜๋Š” ์ฝ”๋”ฉ ์—์ด์ „ํŠธ

daemon ๋ถ€ํŒ… ์‹œ PATH์—์„œ ์ž๋™ ๊ฐ์ง€๋ฉ๋‹ˆ๋‹ค. ์„ค์ • ํ•„์š” ์—†์Œ. ์ŠคํŠธ๋ฆฌ๋ฐ ๋””์ŠคํŒจ์น˜ ๋กœ์ง์€ apps/daemon/src/agents.ts์˜ AGENT_DEFS์— ์žˆ๊ณ , CLI๋ณ„ ํŒŒ์„œ๋„ ๊ฐ™์€ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ชฉ๋ก์€ <bin> --list-models / <bin> models / ACP ํ•ธ๋“œ์…ฐ์ดํฌ๋กœ ํƒ์ง€ํ•˜๊ฑฐ๋‚˜, CLI๊ฐ€ ๋ชฉ๋ก์„ ๋…ธ์ถœํ•˜์ง€ ์•Š์„ ๋•Œ ํ๋ ˆ์ด์…˜๋œ ํด๋ฐฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ŠคํŠธ๋ฆฌ๋ฐ ํ˜•์‹ argv ํ˜•ํƒœ(ํ•ฉ์„ฑ๋œ prompt ๊ฒฝ๋กœ)
Claude Code claude claude-stream-json(ํƒ€์ž… ์ด๋ฒคํŠธ) claude -p <prompt> --output-format stream-json --verbose [--include-partial-messages] [--add-dir โ€ฆ] --permission-mode bypassPermissions
Codex CLI codex json-event-stream + codex ํŒŒ์„œ codex exec --json --skip-git-repo-check --sandbox workspace-write -c sandbox_workspace_write.network_access=true [-C cwd] [--model โ€ฆ] [-c model_reasoning_effort=โ€ฆ](prompt๋Š” stdin)
Devin for Terminal devin acp-json-rpc devin --permission-mode dangerous --respect-workspace-trust false acp
Gemini CLI gemini json-event-stream + gemini ํŒŒ์„œ GEMINI_CLI_TRUST_WORKSPACE=true gemini --output-format stream-json --yolo [--model โ€ฆ](prompt๋Š” stdin)
OpenCode opencode json-event-stream + opencode ํŒŒ์„œ opencode run --format json --dangerously-skip-permissions [--model โ€ฆ] -(prompt๋Š” stdin)
Cursor Agent cursor-agent json-event-stream + cursor-agent ํŒŒ์„œ cursor-agent --print --output-format stream-json --stream-partial-output --force --trust [--workspace cwd] [--model โ€ฆ] -(prompt๋Š” stdin)
Qwen Code qwen plain(์›์‹œ stdout ์ฒญํฌ) qwen --yolo [--model โ€ฆ] -(prompt๋Š” stdin)
Qoder CLI qodercli qoder-stream-json(ํƒ€์ž… ์ด๋ฒคํŠธ) qodercli -p --output-format stream-json --permission-mode bypass_permissions [--cwd cwd] [--model โ€ฆ] [--add-dir โ€ฆ](prompt๋Š” stdin)
GitHub Copilot CLI copilot copilot-stream-json(ํƒ€์ž… ์ด๋ฒคํŠธ) copilot -p <prompt> --allow-all-tools --output-format json [--model โ€ฆ] [--add-dir โ€ฆ]
Hermes hermes acp-json-rpc(Agent Client Protocol) hermes acp --accept-hooks
Kimi CLI kimi acp-json-rpc kimi acp
Pi pi pi-rpc(stdio JSON-RPC) pi --mode rpc [--model โ€ฆ] [--thinking โ€ฆ](prompt๋Š” RPC prompt ๋ช…๋ น์œผ๋กœ ์ „์†ก)
Kiro CLI kiro-cli acp-json-rpc kiro-cli acp
Kilo kilo acp-json-rpc kilo acp
Mistral Vibe CLI vibe-acp acp-json-rpc vibe-acp
DeepSeek TUI deepseek plain(์›์‹œ stdout ์ฒญํฌ) deepseek exec --auto [--model โ€ฆ] <prompt>(prompt๋Š” ์œ„์น˜ ์ธ์ˆ˜)
๋ฉ€ํ‹ฐ ํ”„๋กœ๋ฐ”์ด๋” BYOK n/a SSE ์ •๊ทœํ™” POST /api/proxy/{anthropic,openai,azure,google}/stream โ†’ Anthropic / OpenAI ํ˜ธํ™˜ / Azure OpenAI / Gemini; loopback / link-local / RFC1918์— ๋Œ€ํ•œ SSRF ์ฐจ๋‹จ

์ƒˆ CLI ์ถ”๊ฐ€๋Š” apps/daemon/src/agents.ts์— ํ•ญ๋ชฉ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ ํ˜•์‹์€ claude-stream-json, qoder-stream-json, copilot-stream-json, json-event-stream(CLI๋ณ„ eventParser์™€ ํ•จ๊ป˜), acp-json-rpc, pi-rpc, plain ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ฐธ์กฐ ๋ฐ ๊ณ„๋ณด

์ด ์ €์žฅ์†Œ๊ฐ€ ์ฐจ์šฉํ•œ ๋ชจ๋“  ์™ธ๋ถ€ ํ”„๋กœ์ ํŠธ. ๊ฐ ๋งํฌ๋Š” ์ถœ์ฒ˜๋กœ ์ด๋™ํ•˜์—ฌ ๊ณ„๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์—ญํ• 
Claude Design ์ด ์ €์žฅ์†Œ๊ฐ€ ์˜คํ”ˆ์†Œ์Šค ๋Œ€์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ํด๋กœ์ฆˆ๋“œ ์†Œ์Šค ์ œํ’ˆ.
alchaincyf/huashu-design ๋””์ž์ธ ์ฒ ํ•™ ํ•ต์‹ฌ. Junior-Designer ์›Œํฌํ”Œ๋กœ, 5๋‹จ๊ณ„ ๋ธŒ๋žœ๋“œ ์—์…‹ ํ”„๋กœํ† ์ฝœ, anti-AI-slop ์ฒดํฌ๋ฆฌ์ŠคํŠธ, 5์ฐจ์› ์ž๊ธฐ ๊ฒ€ํ† , ๊ทธ๋ฆฌ๊ณ  ๋ฐฉํ–ฅ ์„ ํƒ๊ธฐ ๋’ค์˜ "5๊ฐ€์ง€ ํ•™ํŒŒ ร— 20๊ฐ€์ง€ ๋””์ž์ธ ์ฒ ํ•™" ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โ€” ๋ชจ๋‘ apps/daemon/src/prompts/discovery.ts์™€ apps/daemon/src/prompts/directions.ts์— ๋…น์•„๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
op7418/guizang-ppt-skill skills/guizang-ppt/ ์•„๋ž˜์— ์›๋ณธ ๊ทธ๋Œ€๋กœ ๋ฒˆ๋“ค๋œ Magazine-web-PPT skill, ์› LICENSE ๋ณด์กด. ๋ฑ ๋ชจ๋“œ ๊ธฐ๋ณธ. P0/P1/P2 ์ฒดํฌ๋ฆฌ์ŠคํŠธ ๋ฌธํ™”๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  skill์—๋„ ์ฐจ์šฉ๋ฉ๋‹ˆ๋‹ค.
multica-ai/multica Daemon + ์–ด๋Œ‘ํ„ฐ ์•„ํ‚คํ…์ฒ˜. PATH ์Šค์บ” ์—์ด์ „ํŠธ ๊ฐ์ง€, ๋‹จ์ผ ํŠน๊ถŒ ํ”„๋กœ์„ธ์Šค๋กœ์„œ์˜ ๋กœ์ปฌ daemon, ์—์ด์ „ํŠธ-๋™๋ฃŒ ์„ธ๊ณ„๊ด€. ๋ชจ๋ธ์„ ์ฑ„์šฉํ–ˆ์ง€๋งŒ ์ฝ”๋“œ๋Š” vendorํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
OpenCoworkAI/open-codesign ์ตœ์ดˆ์˜ ์˜คํ”ˆ์†Œ์Šค Claude-Design ๋Œ€์•ˆ์ด์ž ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋™๋ฅ˜. ์ฑ„ํƒ๋œ UX ํŒจํ„ด: ์ŠคํŠธ๋ฆฌ๋ฐ ์•„ํ‹ฐํŒฉํŠธ ๋ฃจํ”„, ์ƒŒ๋“œ๋ฐ•์Šค iframe ๋ฏธ๋ฆฌ๋ณด๊ธฐ(React 18 + Babel ๋‚ด์žฅ), ์‹ค์‹œ๊ฐ„ ์—์ด์ „ํŠธ ํŒจ๋„(todos + tool calls + ์ค‘๋‹จ ๊ฐ€๋Šฅ), 5๊ฐ€์ง€ ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹(HTML/PDF/PPTX/ZIP/Markdown), ๋กœ์ปฌ ์šฐ์„  designs ํ—ˆ๋ธŒ, SKILL.md ์ทจํ–ฅ ์ฃผ์ž…. ๋กœ๋“œ๋งต์˜ UX ํŒจํ„ด: ์ฝ”๋ฉ˜ํŠธ ๋ชจ๋“œ ์ˆ˜์ˆ ์  ํŽธ์ง‘, AI ์ œ์•ˆ ํŠธ์œ… ํŒจ๋„. pi-ai๋Š” ์˜๋„์ ์œผ๋กœ vendorํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค โ€” open-codesign์€ ์ด๋ฅผ ์—์ด์ „ํŠธ ๋Ÿฐํƒ€์ž„์œผ๋กœ ๋ฒˆ๋“ค๋งํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ ๊ฐ€์ง„ CLI์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค.
VoltAgent/awesome-claude-design / awesome-design-md 9์„น์…˜ DESIGN.md ์Šคํ‚ค๋งˆ์˜ ์ถœ์ฒ˜์ด์ž scripts/sync-design-systems.ts๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜จ 69๊ฐœ ์ œํ’ˆ ์‹œ์Šคํ…œ.
farion1231/cc-switch ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ CLI์— ๊ฑธ์นœ ์‹ฌ๋งํฌ ๊ธฐ๋ฐ˜ skill ๋ฐฐํฌ์˜ ์˜๊ฐ.
Claude Code skills ์›๋ณธ ๊ทธ๋Œ€๋กœ ์ฑ„ํƒ๋œ SKILL.md ๊ทœ์•ฝ โ€” ๋ชจ๋“  Claude Code skill์ด skills/์— ๋“œ๋กญ๋˜๋ฉด daemon์ด ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ๊ฐ์—์„œ ๋ฌด์—‡์„ ์ฑ„์šฉํ•˜๊ณ  ์˜๋„์ ์œผ๋กœ ์ฑ„์šฉํ•˜์ง€ ์•Š์•˜๋Š”์ง€์— ๋Œ€ํ•œ ์žฅ๋ฌธ์˜ ๊ณ„๋ณด ์ž‘์„ฑ โ†’ docs/references.md.

๋กœ๋“œ๋งต

  • Daemon + ์—์ด์ „ํŠธ ๊ฐ์ง€(16๊ฐœ CLI ์–ด๋Œ‘ํ„ฐ) + skill ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ + ๋””์ž์ธ ์‹œ์Šคํ…œ ์นดํƒˆ๋กœ๊ทธ
  • ์›น์•ฑ + ์ฑ„ํŒ… + ์งˆ๋ฌธ ํผ + 5๊ฐ€์ง€ ๋ฐฉํ–ฅ ์„ ํƒ๊ธฐ + ํ•  ์ผ ์ง„ํ–‰ + ์ƒŒ๋“œ๋ฐ•์Šค ๋ฏธ๋ฆฌ๋ณด๊ธฐ
  • 31๊ฐœ skill + 72๊ฐœ ๋””์ž์ธ ์‹œ์Šคํ…œ + 5๊ฐ€์ง€ ์‹œ๊ฐ์  ๋ฐฉํ–ฅ + 5๊ฐœ ๊ธฐ๊ธฐ ํ”„๋ ˆ์ž„
  • SQLite ๊ธฐ๋ฐ˜ projects ยท conversations ยท messages ยท tabs ยท templates
  • OpenAI ํ˜ธํ™˜ BYOK ํ”„๋ก์‹œ(/api/proxy/stream) + SSRF ์ฐจ๋‹จ
  • Claude Design ZIP ์ž„ํฌํŠธ(/api/import/claude-design)
  • Sidecar ํ”„๋กœํ† ์ฝœ + Electron ๋ฐ์Šคํฌํƒ‘ + IPC ์ž๋™ํ™”(STATUS / EVAL / SCREENSHOT / CONSOLE / CLICK / SHUTDOWN)
  • Artifact lint API + 5์ฐจ์› ์ž๊ธฐ ๊ฒ€ํ†  ๋‚ด๋ณด๋‚ด๊ธฐ ์ „ ๊ฒŒ์ดํŠธ
  • ์ฝ”๋ฉ˜ํŠธ ๋ชจ๋“œ ์ˆ˜์ˆ ์  ํŽธ์ง‘(์š”์†Œ ํด๋ฆญ โ†’ ์ง€์‹œ โ†’ ํŒจ์น˜) โ€” open-codesign์—์„œ ๊ฐ€์ ธ์˜จ ํŒจํ„ด
  • AI ์ œ์•ˆ ํŠธ์œ… ํŒจ๋„ UX โ€” ๋นŒ๋”ฉ ๋ธ”๋ก(tweaks skill)์€ ์ถœ์‹œ, ์ฑ„ํŒ… ํ†ตํ•ฉ ํŒจ๋„์€ ๋ฏธ์™„
  • Vercel + ํ„ฐ๋„ ๋ฐฐํฌ ๋ ˆ์‹œํ”ผ(Topology B)
  • DESIGN.md๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์Šค์บํด๋”ฉํ•˜๋Š” ์›ํด๋ฆญ npx od init
  • Skill ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค(od skills install <github-repo>)์™€ od skill add | list | remove | test CLI ํ‘œ๋ฉด(docs/skills-protocol.md์— ์ดˆ์•ˆ ์ž‘์„ฑ๋จ, ๊ตฌํ˜„ ๋ฏธ์™„)
  • apps/packaged/์—์„œ ํŒจํ‚ค์ง€๋œ Electron ๋นŒ๋“œ โ€” macOS (Apple Silicon) ๋ฐ Windows (x64) ๋‹ค์šด๋กœ๋“œ๋Š” open-design.ai์™€ GitHub ๋ฆด๋ฆฌ์Šค ํŽ˜์ด์ง€์—์„œ ์ œ๊ณต

๋‹จ๊ณ„๋ณ„ ๋ฐฐํฌ โ†’ docs/roadmap.md.

์ƒํƒœ

์ด๊ฒƒ์€ ์ดˆ๊ธฐ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค โ€” ๋‹ซํžŒ ๋ฃจํ”„(๊ฐ์ง€ โ†’ skill + ๋””์ž์ธ ์‹œ์Šคํ…œ ์„ ํƒ โ†’ ์ฑ„ํŒ… โ†’ <artifact> ํŒŒ์‹ฑ โ†’ ๋ฏธ๋ฆฌ๋ณด๊ธฐ โ†’ ์ €์žฅ)๊ฐ€ end-to-end๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ์Šคํƒ๊ณผ skill ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ€์น˜๊ฐ€ ์žˆ์œผ๋ฉฐ, ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ ์ˆ˜์ค€ UI๋Š” ๋งค์ผ ๋ฐฐํฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํƒ€ ์ฃผ์„ธ์š”

GitHub์—์„œ Open Design์— ์Šคํƒ€ ์ฃผ๊ธฐ โ€” github.com/nexu-io/open-design

์ด๊ฒƒ์ด 30๋ถ„์„ ์ ˆ์•ฝํ•ด์คฌ๋‹ค๋ฉด โ€” โ˜…๋ฅผ ์ฃผ์„ธ์š”. ์Šคํƒ€๊ฐ€ ์‚ฌ์šฉ๋ฃŒ๋ฅผ ๋Œ€์‹  ๋‚ด์ง€๋Š” ์•Š์ง€๋งŒ, ๋‹ค์Œ ๋””์ž์ด๋„ˆ, ์—์ด์ „ํŠธ, ๊ธฐ์—ฌ์ž์—๊ฒŒ ์ด ์‹คํ—˜์ด ๊ทธ๋“ค์˜ ๊ด€์‹ฌ์„ ๋ฐ›์„ ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ํด๋ฆญ, 3์ดˆ, ์ง„์งœ ์‹ ํ˜ธ: github.com/nexu-io/open-design.

๊ธฐ์—ฌ

์ด์Šˆ, PR, ์ƒˆ๋กœ์šด skill, ์ƒˆ๋กœ์šด ๋””์ž์ธ ์‹œ์Šคํ…œ ๋ชจ๋‘ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋ ˆ๋ฒ„๋ฆฌ์ง€๊ฐ€ ๋†’์€ ๊ธฐ์—ฌ๋Š” ๋ณดํ†ต ํด๋” ํ•˜๋‚˜, Markdown ํŒŒ์ผ ํ•˜๋‚˜, ๋˜๋Š” PR ํฌ๊ธฐ์˜ ์–ด๋Œ‘ํ„ฐ์ž…๋‹ˆ๋‹ค:

  • skill ์ถ”๊ฐ€ โ€” SKILL.md ๊ทœ์•ฝ์„ ๋”ฐ๋ฅด๋Š” ํด๋”๋ฅผ skills/์— ๋“œ๋กญํ•˜์„ธ์š”.
  • ๋””์ž์ธ ์‹œ์Šคํ…œ ์ถ”๊ฐ€ โ€” 9์„น์…˜ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ design-systems/<brand>/์— DESIGN.md๋ฅผ ๋“œ๋กญํ•˜์„ธ์š”.
  • ์ƒˆ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ CLI ์—ฐ๊ฒฐ โ€” apps/daemon/src/agents.ts์— ํ•ญ๋ชฉ ํ•˜๋‚˜ ์ถ”๊ฐ€.

์ „์ฒด ์„ค๋ช…, ๋ณ‘ํ•ฉ ๊ธฐ์ค€, ์ฝ”๋“œ ์Šคํƒ€์ผ, ๋ฐ›์ง€ ์•Š๋Š” ๊ฒƒ โ†’ CONTRIBUTING.md (Deutsch, Franรงais, ็ฎ€ไฝ“ไธญๆ–‡).

์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ

Open Design์„ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€๊ฒŒ ๋„์™€์ค€ ๋ชจ๋“  ๋ถ„๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค โ€” ์ฝ”๋“œ, ๋ฌธ์„œ, ํ”ผ๋“œ๋ฐฑ, ์ƒˆ skill, ์ƒˆ ๋””์ž์ธ ์‹œ์Šคํ…œ, ๋˜๋Š” ๋‚ ์นด๋กœ์šด ์ด์Šˆ ํ•˜๋‚˜๋ผ๋„. ๋ชจ๋“  ์ง„์งœ ๊ธฐ์—ฌ๊ฐ€ ์˜๋ฏธ ์žˆ๊ณ , ์•„๋ž˜์˜ ๋ฒฝ์ด ๊ฐ€์žฅ ์ง์ ‘์ ์ธ "๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค"์ž…๋‹ˆ๋‹ค.

Open Design ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ

์ฒซ PR์„ ๋ณด๋ƒˆ๋‹ค๋ฉด โ€” ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. good-first-issue/help-wanted ๋ ˆ์ด๋ธ”์ด ์‹œ์ž‘์ ์ž…๋‹ˆ๋‹ค.

์ €์žฅ์†Œ ํ™œ๋™

Open Design โ€” ์ €์žฅ์†Œ ์ง€ํ‘œ

์œ„์˜ SVG๋Š” .github/workflows/metrics.yml์ด lowlighter/metrics๋ฅผ ์‚ฌ์šฉํ•ด ๋งค์ผ ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์ƒˆ๋กœ ๊ณ ์น˜๋ ค๋ฉด Actions ํƒญ์—์„œ ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐํ•˜์„ธ์š”; ๋” ํ’๋ถ€ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ(traffic, follow-up time ๋“ฑ)์„ ์ผœ๋ ค๋ฉด ์ €์žฅ์†Œ secrets์— fine-grained PAT๋ฅผ METRICS_TOKEN์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

Star History

Open Design star history

๊ณก์„ ์ด ์œ„๋กœ ํœ˜๋ฉด โ€” ๊ทธ๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์ฐพ๋Š” ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค. โ˜…๋ฅผ ๋ˆŒ๋Ÿฌ ์œ„๋กœ ๋ฐ€์–ด์ฃผ์„ธ์š”.

ํฌ๋ ˆ๋”ง / Credits

๋งˆ์Šคํ„ฐ skills/html-ppt/ skill๊ณผ skills/html-ppt-*/ ์•„๋ž˜์˜ 15๊ฐœ per-template wrapper(15๊ฐœ full-deck ํ…œํ”Œ๋ฆฟ, 36๊ฐœ ํ…Œ๋งˆ, 31๊ฐœ single-page ๋ ˆ์ด์•„์›ƒ, 27๊ฐœ CSS ์• ๋‹ˆ๋ฉ”์ด์…˜ + 20๊ฐœ canvas FX, ํ‚ค๋ณด๋“œ runtime, ์ž์„์‹ ์นด๋“œ presenter mode ํฌํ•จ)๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ lewislulu/html-ppt-skill(MIT)์—์„œ ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์›๋ณธ LICENSE๋Š” skills/html-ppt/LICENSE์— ๋ณด์กด๋˜์–ด ์žˆ๊ณ  ์ €์ž‘๊ถŒ ํ‘œ์‹œ๋Š” @lewislulu์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ per-template Examples ์นด๋“œ(html-ppt-pitch-deck, html-ppt-tech-sharing, html-ppt-presenter-mode, html-ppt-xhs-post โ€ฆ)๋Š” authoring ๊ฐ€์ด๋“œ๋ฅผ ๋งˆ์Šคํ„ฐ skill์— ์œ„์ž„ํ•˜๋ฏ€๋กœ, Use this prompt ํด๋ฆญ ์‹œ ์—…์ŠคํŠธ๋ฆผ๊ณผ ๋™์ผํ•œ prompt โ†’ ์ถœ๋ ฅ ๋™์ž‘์ด ๊ทธ๋Œ€๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

skills/guizang-ppt/ ๋งค๊ฑฐ์ง„/๊ฐ€๋กœ ์Šค์™€์ดํ”„ deck flow๋Š” op7418/guizang-ppt-skill(MIT)์—์„œ ํ†ตํ•ฉ๋˜์—ˆ์œผ๋ฉฐ, ์ €์ž‘๊ถŒ ํ‘œ์‹œ๋Š” @op7418์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ผ์ด์„ ์Šค

Apache-2.0. ๋ฒˆ๋“ค๋œ skills/guizang-ppt/๋Š” ์›๋ž˜ LICENSE(MIT)์™€ op7418์— ๋Œ€ํ•œ ์ €์ž‘๊ถŒ ํ‘œ์‹œ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ฒˆ๋“ค๋œ skills/html-ppt/๋Š” ์›๋ž˜ LICENSE(MIT)์™€ lewislulu์— ๋Œ€ํ•œ ์ €์ž‘๊ถŒ ํ‘œ์‹œ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.