# Omd:harness

사용자와 단계별로 검토하는 guided design harness.

- Repository: https://github.com/kwakseongjae/oh-my-design (552 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add kwakseongjae/oh-my-design --skill omd:harness -g -a claude-code -y`
Codex: `npx skills add kwakseongjae/oh-my-design --skill omd:harness -g -a codex -y`
Cursor: `npx skills add kwakseongjae/oh-my-design --skill omd:harness -g -a cursor -y`
Gemini CLI: `npx skills add kwakseongjae/oh-my-design --skill omd:harness -g -a gemini-cli -y`

## Description

사용자와 단계별로 검토하는 guided design harness. Discovery→Wireframe→Components→Microcopy→Validation을 omd-master가 실행하고 journey/system/validation의 필수 체크포인트에서 멈춘다. '/omd-harness', '체크포인트마다 검토', '나와 단계별로 디자인', 'guided design' 요청에 사용. 질문 없이 원샷으로 새 제품을 자율 구축하는 요청은 omd:autopilot, 단일 컴포넌트 수정은 omd:apply.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

<!-- omd:installed-skill, managed by `omd install-skills`. Do not edit; rerun the command to refresh. -->


# omd:harness, Design Harness Entry

이 스킬은 **omd-master 오케스트레이터**를 호출하는 단일 진입점이다. 본 스킬은 launcher + 사전체크 + run 디렉토리 부트스트랩 책임만 가지고, phase 로직은 `agents/omd-master.md`에 있다.

Run 디렉토리 부트스트랩에는 CLI 의존이 없다. Core v2 review/compile/adoption은
설치된 provider-free `design-md` 명령 또는 byte-equivalent helper만 사용한다.

## 트리거

- `/omd-harness <task>` 명시 호출
- 사용자가 자연어로 "디자인 하네스 / 체크포인트마다 검토 / 나와 단계별로 디자인" 요청

## Step 0, task 추출

슬래시에 task 같이 적었으면 (`/omd-harness 물 음용 유도 메인 화면`) 그 자연어 부분이 task. 빈 슬래시면 한 번 묻기:

```
어떤 디자인 작업을 진행할까요?
shape: "[도메인] + [톤/스타일] + [핵심 화면]", 예: "토스 스타일 가족용 식단 앱 메인 화면"
```

task에서 delivery intent도 함께 고정한다.

- `디자인/와이어프레임/기획/시안`만 요청 → `delivery_intent: design-only`
- `구현/만들어/적용/build/implement/production-ready` 포함 → `delivery_intent: implement`

`implement`여도 mandatory checkpoint를 건너뛰지 않는다. 차이는 승인된 handoff 뒤 실제 제품 코드 통합까지 이어지는지다.

## Step 1, Channel-safe role activation + inline recovery (v1.9.0+)

먼저 Agent 도구의 사용 가능 role 목록에서 `omd-master`를 확인한다. 있으면 Step 2로 간다. 없을 때는 Markdown을 임의 폴더에 복사하지 않는다. Claude와 Codex의 role schema가 다르고, `.agents/`는 Codex에서 skill 경로이지 role 경로가 아니다.

### 1.1, 현재 채널과 설치물 검증

- 이 스킬이 `.agents/skills/omd-harness/`에서 로드됐거나 `.codex/agents/omd-master.toml`이 있으면 **Codex**다. role 파일은 `.codex/agents/omd-master.toml`이어야 하며 top-level `name`, `description`, `developer_instructions`가 모두 있어야 한다.
- 이 스킬이 `.claude/skills/omd-harness/`에서 로드됐거나 `.claude/agents/omd-master.md`가 있으면 **Claude Code**다. role 파일은 첫 줄이 `---`인 `.claude/agents/omd-master.md`여야 한다.
- 이 스킬이 `.opencode/skills/omd-harness/`에서 로드됐거나 `.opencode/agents/omd-master.md`가 있으면 **OpenCode**다. project role은 `.opencode/agents/omd-master.md`, global role은 `~/.config/opencode/agents/omd-master.md`이며 `mode: subagent`여야 한다.
- 폴더가 존재한다는 이유만으로 채널을 추측하지 않는다. 둘 다 없거나 모호하면 사용자에게 현재 coding-agent 채널 하나만 확인한다.

role 파일이 없거나 schema가 틀렸으면 해당 채널만 최신 설치기로 복구한다:

The rest: https://github.com/kwakseongjae/oh-my-design/blob/HEAD/.claude/skills/omd-harness/SKILL.md
