claude-design
현재 코드베이스(또는 폴더)를 분석해 "디자인 컨텍스트 브리프"(스택/디자인 토큰/컴포넌트/ 라우트/실제 UI 카피/큐레이션된 에셋/레포 링크)를 합성하고, 그걸…
.omd/preferences.md의 status:pending 항목을 Core v2 System Graph에 합쳐 DESIGN.md를 재생성하고 status를 applied로 플립. '프리퍼런스 정리해줘', 'fold preferences', 'apply all corrections', 「好みをDESIGN.mdに反映」, 「套用偏好」류의 요청에 트리거. 단발성 교정 기록은 omd:remember.
$ npx -y skills add kwakseongjae/oh-my-design --skill omd-learn --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/omd-learnContext preview
The summary Claude sees to decide when to auto-load this skill.
.omd/preferences.md의 status:pending 항목을 Core v2 System Graph에 합쳐 DESIGN.md를 재생성하고 status를 applied로 플립. '프리퍼런스 정리해줘', 'fold preferences', 'apply all corrections', 「好みをDESIGN.mdに反映」, 「套用偏好」류의 요청에 트리거. 단발성 교정 기록은 omd:remember.
name: omd:learn description: ".omd/preferences.md의 status:pending 항목을 Core v2 System Graph에 합쳐 DESIGN.md를 재생성하고 status를 applied로 플립. '프리퍼런스 정리해줘', 'fold preferences', 'apply all corrections', 「好みをDESIGN.mdに反映」, 「套用偏好」류의 요청에 트리거. 단발성 교정 기록은 omd:remember."
`.omd/preferences.md`에 누적된 `status: pending` 교정사항을 Core v2 System Graph에 반영하고, 그 graph에서 중립적인 root `DESIGN.md`를 재생성한 뒤 반영된 엔트리의 상태를 `applied`로 플립한다. `DESIGN.md`를 직접 섹션 편집하는 스킬이 아니다.
`Read .omd/preferences.md` → frontmatter + 엔트리들 파싱:
scope별로 그룹화해서 사용자에게 요약:
components.button (3 pending): - CTAs never uppercase (pref_xxx, pref_yyy) - primary fill should be brand-500 not 600 (pref_zzz) spacing (1 pending): - 8pt grid, not 4pt (pref_aaa)
엔트리당 한 줄이 아니라 **scope당 2-3줄로 의도 정리**.
"이 교정들을 디자인 시스템에 반영할까요?" 묻기. 동의 → Phase 3.
거부 → 어떤 scope를 reject할지 묻고 Phase 4 reject 분기로.
1. root `DESIGN.md`를 읽고 `.omd/system/manifest.json` + `graph.json`의 존재와 exact hash binding을 확인한다. 2. 유효한 `profile: portable-core` Bound Core v2이면 `graph.json`이 canonical이다. `migration-candidate`는 source DESIGN.md authority를 유지한다. visible Markdown의 heading이나 표를 직접 편집하지 않는다. 3. Portable-only Core, legacy 13/15/16-section, unmarked 문서이면 설치된 provider-free migrator로 별도 fresh staging directory에 migration을 실행한다. public CLI가 있으면 `omd design-md migrate DESIGN.md --out-dir <fresh-migration-dir>`를 사용한다. helper가 없으면 직접 편집으로 우회하지 말고 stale install을 보고한다. 4. report의 `dropped_segments=0`, `synthetic_product_values_added=0`, `projection_roundtrip_equal=true`, `source_reconstruction_equal=true`, `opaque_extension_preserved=true`가 모두 확인되어야 계속한다. `unsupported_claims_review_required=true`이므로 staging 결과는 `migration-candidate`인 non-authoritative observation이다. 곧바로 canonical authority로 승격하지 않는다. 이해하지 못한 원본은 `extensions["dev.oh-my-design.migration"]`에 보존한다. 5. staging에서만 수정하고 원본 bytes, source hash, migration report를 content-addressed rollback artifact로 남긴다. 실패 시 root 파일을 건드리지 않는다.
scope별 pending을 묶어 **하나의 coherent graph edit**로 합친다. 엔트리당 개별 diff를 만들지 않는다.
| preference scope | canonical graph/portable anchor | |---|---| | `visualTheme`, product direction | `experience` / stable anchor id `experience` | | `color`, `spacing`, `radius`, `elevation`, `motion` | `foundations` / `foundations` | | `typography`, `font`, `asset`, `icon`, `logo` | `typography_assets` / `typography-assets` | | `components.*`, `states.*` | `components_states` / `components-states` | | `layout`, `responsive`, `platform` | `layout_platforms` / `layout-platforms` | | `voice`, `copy`, `locale` | `content_locales` / `content-locales` | | `governance`, exception | `governance` / `governance` |
1. user correction은 `prompt-fact`로 provenance에 연결하되, 사용자가 말하지 않은 수치·font·persona·platform 규칙을 보완하지 않는다. 2. 이전 graph의 알 수 없는 extension key/value를 그대로 보존한다. 3. voice/내러티브 수정은 기존 문체·register를 유지하고 명시된 교정만 `content_locales` 또는 `experience`에 반영한다. 4. 기존 canonical graph를 run-scoped `graph.draft.json`으로 복사해 draft만 수정하고 기존 `projection` binding은 제거한다. compiler가 `projection.sha256` placeholder/precompute/zero seed를 요구하면 fail-close한다. **Never hand-write or patch `DESIGN.md`, section anchors, claim markers, claim-end delimiters, manifest, or binding hashes.** 일곱 `design-md:claim` 선언과 각 `design-md:claim-end`는 canonical compiler-owned output이다. 5. graph/provenance/coverage draft가 schema와 evidence gate를 통과하면 프로젝트 밖 fresh review directory에 exact preview를 먼저 만든다.
omd design-md prepare-review <graph> --provenance <provenance> --coverage <coverage> --out-dir <review> [--migration-report <report>]
`<review>/DESIGN.md`와 request hash에 대한 Phase 2 실제 사용자 승인을 받은 뒤 provider-free tool로 승인 영수증과 final package를 만든다. agent가 승인하지 않는다.
omd design-md approve-review <review>/review-request.json --reviewer <project-owner-id> --out <approval> --authority-transition-approved omd design-md compile <review>/input-graph.json --provenance <review>/provenance.json --coverage <review>/coverage.json --review-receipt <approval> [--migration-report <review>/migration-report.json] --out-dir <fresh> --adopt
public CLI가 없으면 설치 bundle의 exact-equivalent `prepare-design-md-core-review.cjs`, `compile-design-md-core.cjs`, `adopt-design-md-core.cjs` helpers만 허용한다. renderer나 hash 계산을 재구현하지 않는다. 6. compiled stage를 read back해 Portable declaration conformance와 exact binding을 다시 검사한다. compiler PASS는 factual accuracy, provenance truth, font/asset license, locale behavior, accessibility, visual quality proof가 아니다. 기존 opaque extension 보존, provenance/coverage의 resolvable evidence, installed final project-system validator까지 모두 통과해야 한다. 필요한 binding을 helper가 만들 수 없으면 수동 hash patch 대신 fail-close한다. 7. 통과한 fresh stage의 exact bytes만 아래 receipt-gated atomic transaction으로 채택한다.
omd design-md prepare-checkpoint <fresh> --reviewer <project-owner-id> --out <checkpoint> --authority-transition-approved omd design-md adopt <fresh> --project-root <project-root> --checkpoint-receipt <checkpoint>
atomic package adopter가 없으면 stage를 보존하고 fail-close하며 파일별 복사로 우회하지 않는다.
반영한 엔트리: **Phase 3 atomic project adoption이 성공한 뒤에만** 해당 엔트리의 omd-meta 블록을 Edit 툴로:
성공한 adopted package manifest의 `artifacts.design_md.sha256` exact value만 복사한다.
거부한 엔트리:
상위 엔트리가 누적된 작은 교정을 통합·대체했으면:
한 문단:
Give your AI coding agent a design system. One command installs 500+ quality-graded company DESIGN.md references + skills into Claude Code, Codex, Cursor, and OpenCode. Free, MIT, zero AI calls.
Repo: kwakseongjae/oh-my-design
현재 코드베이스(또는 폴더)를 분석해 "디자인 컨텍스트 브리프"(스택/디자인 토큰/컴포넌트/ 라우트/실제 UI 카피/큐레이션된 에셋/레포 링크)를 합성하고, 그걸…
Reference catalog authoring compatibility gate. Core v2 cutover가 끝나기 전에는 신규 legacy DESIGN.md…
Maximum-craft one-page landing — the wow bar. omd:landing 의 구조 위에 마감(서체 조달·그레인·깊이·색보정·스크롤…
프로젝트 DESIGN.md를 UI/시각 작업의 brand context로 적용. 컴포넌트·색상·폰트·레이아웃 수정 같은 구체적 요청과 톤·분위기 표현 — KR '좀 더…
사용자 product UI 생성 시 placeholder 자리를 generic SVG가 아닌 **실제 free-license CDN 자산**으로 채운다.…
One-prompt autonomous product design and implementation. Use automatically for broad…