with one click
omd-lab-02-design-harness
OmD Lab
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
OmD Lab
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
๋์์ธยทํ๋ก ํธ ์ ๊ณ๊ฐ '๊ฐ'์ผ๋ก ์ฐ๋ ์ธํฐํ์ด์ค ๋ํ ์ผ์ ์์นํํ ๊ท์น์ผ๋ก ์ ์ฉ(APPLY)ํ๊ฑฐ๋ ๊ฐ์ฌ(AUDIT)ํ๋ค. Jakub Krehel์ make-interfaces-feel-better ์ฒ ํ์ ๊ณ์น + HIG/Material/WCAG/DS ํ ํฐ/์ค๋ฌด์ ๋ฆฌ์์น๋ก ํ์ฅํ 17์ถยท113๊ท์น(provenance ๋ฑ๊ธ๋ณ). ๋ชจ์ ํ์ด๋ฐยท์ด์งยท๋์ฌ์ radiusยทtabular-numsยท44px ํ๊นยทfocus ringยทprefers-reduced-motion ๋ฑ. 'feel ์ข๊ฒ ๋ค๋ฌ์ด์ค', '์ธํฐํ์ด์ค ๋ํ ์ผ ์ ์ฉ', 'feel ์ ๊ฒ', '๋ง์ดํฌ๋ก ์ธํฐ๋์ ์๋ด์ค', 'make this feel better', 'polish the interactions', ใใคใณใฟใผใใงใผในใฎ็ดฐ้จใ่ฉฐใใฆใ, ใไป้ข็ดฐ็ฏๆ็ฃจใ ๋ฅ์ ํธ๋ฆฌ๊ฑฐ. ๋ธ๋๋ ํ ํฐ์ DESIGN.md(omd:apply)๊ฐ ์ฐ์ .
ํ๋ฉด ์ ์ฒด๋ ์ ๊ท surface๋ฅผ ์ฒ์๋ถํฐ ๋์์ธํ ๋์ ์ง์ ์ โ DiscoveryโWireframeโComponentsโMicrocopyโValidation ํ์ดํ๋ผ์ธ์ omd-master ์ค์ผ์คํธ๋ ์ดํฐ๋ก ์คํ. ํธ๋ฆฌ๊ฑฐ: '๋๋ฉํ์ด์ง', '๋๋ฉ ํ์ด์ง', '๋๋ฉ ๋ง๋ค์ด์ค', 'ํ ํ๋ฉด', '์ฒซ ํ๋ฉด', 'ํ๋กํ ํ์ ', '๊ทธ๋ด์ธํ', '๊ตฌ์ ๊ฐ์ถฐ', 'first screen', 'first impression', 'landing page', 'landing', 'prototype', 'MVP UI', 'home', 'production-ready', 'wireframe to production', '๋๋ฉ ์ฒ์๋ถํฐ', 'production-ready', 'ไธใใใใถใคใณ', 'ๅพ้ ญ่จญ่จ'. ์์ฐ์ด ๋ฐํ('๊ทธ๋ด์ธํ ๋๋ฉ ๋ง๋ค์ด์ค', 'MVP UI ์ก์์ค', 'ํ๋กํ ํ์ ์ด๋ผ๋ ๊ตฌ์ ๊ฐ์ถฐ์')์๋ ์๋ ํธ๋ฆฌ๊ฑฐ. ๋จ์ผ ์ปดํฌ๋ํธ ์์ ์ omd:apply.
ํ๋ก์ ํธ ๋ฃจํธ์ DESIGN.md๋ฅผ ๋ถํธ์คํธ๋ฉ โ ์ค์ ๊ธฐ์ ๋ ํผ๋ฐ์ค ์ค ์ปจํ ์คํธ ๋งค์นญ์ผ๋ก ์ถ์ฒํ๊ณ ์ ํ๋ ๋ ํผ๋ฐ์ค์ ํค&๋งค๋๋ฅผ ๋ณด์กดํ variation์ ์์ฑ. DESIGN.md ๋ถ์ฌ ์ํ์์์ UI ์์ ๋๋ '๋์์ธ ์์คํ ์ธํ ', 'set up our design system', ใใใถใคใณใทในใใ ใไฝใฃใฆใ, ใๅปบ็ซ่จญ่จ็ณป็ตฑใ๋ฅ์ ์์ฒญ์ ํธ๋ฆฌ๊ฑฐ. CLAUDE.md / AGENTS.md / Cursor rule shim๋ ํจ๊ป ์ค์น.
์ ํ๋ reference brand์ ๋ผ์ด๋ธ ์ฌ์ดํธ์์ ๋์์ธ ์ปจํ ์คํธ(ํ ํฐยท๊ตฌ์กฐยทvisual reference)๋ฅผ ์บก์ณ. brand homepage ํจ์นญ, ์ปดํจํฐ๋ ์คํ์ผ inspect, ๋ก๊ณ /์คํฌ๋ฆฐ์ท์ assets/_reference/<id>/ ๋ก ๊ฐ์ ธ์ attribution.md + LICENSE-NOTE.md์ ํจ๊ป ์ ์ฅ. '๋ฑ ํฌ์๋ฌ๋ ์์ ๊ฐ์ ธ์์ค', 'X ์ฌ์ดํธ ํจ์นญ', 'X reference ์บก์ณ', 'X ๋ผ์ด๋ธ ์คํ์ผ ์ถ์ถ', '๋ธ๋๋ ์๋ฃ ๋ฐ์์' ๋ฅ ์์ฒญ์ ํธ๋ฆฌ๊ฑฐ. omd:init ์งํ ๋๋ omd:harness ์ค๊ฐ์ ํธ์ถ ๊ฐ๋ฅ. DESIGN.md๋ ์ด ์คํฌ์ด ๋ง๋ค์ง ์์ (omd:init ์ฑ ์).
URL ๋๋ brand id ์ ๋ ฅ โ 3-tier ๊ฒ์ฆ ํ์ดํ๋ผ์ธ(Tier 1 ๋ผ์ด๋ธ + Tier 2 getdesign/refero + Tier 3 reconcile)์ผ๋ก references/<id>/DESIGN.md๋ฅผ ์ ๊ท ์์ฑ(CREATE)ํ๊ฑฐ๋ ๊ธฐ์กด ์น์ ์ ๊ฒ์ฆยท๊ฐฑ์ (UPDATE). '๋ ํผ๋ฐ์ค ์ถ๊ฐ/์์ ', 'X DS ๊ฒ์ฆ', 'X ์ปดํฌ๋ํธ ๋ค์ ๋ฝ์์ค' ๋ฅ์ ํธ๋ฆฌ๊ฑฐ.
10๊ฐ brand ์ผ๊ด reference ์ถ๊ฐ + ๋ฌธ์ ์นด์ดํธ sync + hyperframes ๊ธฐ๋ฐ promo MP4 ์์ฑ. '10๊ฐ์ฉ ์ถ์ฒํด์ค', 'ํ๊ตญ IT 10๊ฐ ์ถ๊ฐํ๊ณ ์์๊น์ง', 'batch-launch', 'X ์นดํ ๊ณ ๋ฆฌ์์ 10๊ฐ ๋' ๋ฅ ํธ๋ฆฌ๊ฑฐ. ๋งค ํ reference count +10, gitignored promo video 1ํธ.
| name | omd-lab-02-design-harness |
| description | OmD Lab |
omd:harness์ ์ ๊ตํ ์์
์ ์ํ ์คํ์ค. ๋์ผํ design task๋ฅผ ์๋ก ๋ค๋ฅธ ํ๋ค์ค ์ค์ (v1, v2, v3, ...)์ผ๋ก ๋๋ ค์ ํ์งยท๋น์ฉยท์คํจ๋ชจ๋๋ฅผ ๋น๊ตํ๋ค.
Lab #01์ด "DESIGN.md ์ ๋ฌด"์ ์ํฅ์ ๋ดค๋ค๋ฉด, Lab #02๋ ํ๋ค์ค ์์ฒด์ ์ค์ (prompt ๋ณํ, persona pool, eval rubric, asset ์ ์ฑ ๋ฑ)์ด ์ฐ์ถ๋ฌผ์ ๋ฏธ์น๋ ์ํฅ์ ๋ณธ๋ค.
skills/omd-lab-02-design-harness/
โโโ SKILL.md (this file)
โโโ playbooks/
โ โโโ v1.md (ํ์ฌ baseline โ first full implementation)
โ โโโ v2.md (๋ค์ ์คํ ๊ฐ์ค)
โ โโโ ...
โโโ runs/
โ โโโ v1-run-<ts>-<slug>/ โ omd:harness๊ฐ v1 ์ค์ ์ผ๋ก ๋๋ฆฐ ์ฐ์ถ๋ฌผ ์ ์ฒด
โ โโโ v2-run-<ts>-<slug>/
โ โโโ ...
โโโ compare/
โ โโโ README.md (์ด๋ค task๋ก ์ด๋ค v๋ฅผ ๋น๊ตํ๋๊ฐ)
โ โโโ <task-id>/
โ โโโ index.html (v1 vs v2 vs v3 ๋์ ๋น๊ต ๋ทฐ)
โ โโโ metrics.json (์ง๊ณ ๋น๊ต ์งํ)
โโโ postmortem-aggregate.md (์ v ๋์ ํ์ต)
playbooks/v<N>.md ์์ฑ. ๊ฐ์ค์ ํ ์ค๋ก:
## Hypothesis
v2 raises persona ABANDON budget from 3s โ 5s, expecting fewer false-abandon and more useful friction signal.
playbooks/v<N>/agents-overrides/*.md๋ก patch ๋ณด๊ด.# ์ด์์๊ฐ ์๋ ์คํ
omd harness "<task>" --lab v2
# ๋๋ ์ฌ์ฉ์๊ฐ ์์ฐ์ด:
# "์ด task๋ฅผ lab v2 ์ค์ ์ผ๋ก๋ ๋๋ ค์ v1๊ณผ ๋น๊ตํด์ค"
--lab v<N>์ด ๋ค์ด์ค๋ฉด:
runs/v<N>-run-<ts>-<slug>/ ๋๋ ํ ๋ฆฌ์ ์ฐ์ถ๋ฌผ ์ ์ฌ.claude/agents/์ ๋ฎ์ด์์ด ์ฑ ์คํ (run ์ข
๋ฃ ์ ์๋ณต)lab_version: v<N> ๊ธฐ๋ก์ด์์๊ฐ ๋์ผ task์ ๋ํด v1, v2, ..., vN์ run์ ๋๋ด๋ฉด:
omd lab compare --task "<task-slug>" --versions v1,v2,v3
์ด๊ฒ compare/<task-slug>/index.html์ ๋ง๋ ๋ค. 4-ํจ๋ (๋๋ N-ํจ๋) ๋น๊ต:
{
"task": "ํ ์ค ์คํ์ผ ๊ฐ์กฑ ์๋จ ์ฑ ๋ฉ์ธ",
"versions": {
"v1": {
"iterations": 2,
"total_tokens_estimated": 320000,
"persona_abandon_rate": 0.5,
"deterministic_pass_rate": 1.0,
"jury_score_normalized": 0.72,
"time_to_handoff_min": 18,
"user_satisfied": "?"
},
"v2": { ... }
},
"delta_v1_v2": "v2 reduced persona_abandon_rate by 0.25 but raised total_tokens by 12% โ net win on signal quality"
}
| v | hypothesis | status |
|---|---|---|
| v1 | First full implementation โ 8 agents, 10 phases, 3 user checkpoints | active baseline |
| v2 | (TBD) | pending |
| v3 | (TBD) | pending |
playbooks/v1.md๊ฐ baseline ์ ์. ์ด์์๋ ๋งค ํ ์ ๊ฐ์ค๋ก v.md๋ฅผ ์ถ๊ฐํ๋ค.
๋งค lab run ์ข
๋ฃ ์, run์ postmortem.md์์ cross-version-relevant ์ ํธ๋ง ๋ฐ์ทํด postmortem-aggregate.md์ ๋์ :
์ด๊ฒ ๋ค์ v์ ๊ฐ์ค์ ๋ง๋ค์ด๋ธ๋ค.
์ฌ์ฉ์: "ํ ์ค ์คํ์ผ ๊ฒฐ์ ํ๋ฉด โ Lab #02๋ก v1, v2 ๋น๊ต"
โ Claude: omd harness "..." --lab v1 ์คํ โ v1-run ์ ์ฌ
โ (์ฌ์ฉ์ ์ฒดํฌํฌ์ธํธ ์งํ, ship ๊ฒฐ์ )
โ Claude: omd harness "..." --lab v2 ์คํ (๋์ผ brief ์ฌ์ฌ์ฉ ๊ฐ๋ฅ)
โ omd lab compare --task <slug> --versions v1,v2
โ compare/<slug>/index.html ๊ฒฐ๊ณผ ์ ์