evolve
하네스 진화 스킬. 사용 중인 하네스의 실행 결과에 대한 피드백을 수집·일반화하여 에이전트/스킬/오케스트레이터에 반영하고, 초기 구성 대비 델타를 포착해 변경 이력을 갱신한다. '하네스 회고', '하네스 진화', '하네스 피드백…
프로젝트에 맞는 하네스를 설계하고, 전문 에이전트와 각 에이전트가 사용할 스킬을 만든다. 사용자가 '하네스 구성해줘', '하네스 구축해줘', '하네스 설계', '하네스 엔지니어링', '에이전트 팀 만들어줘'라고 요청할 때 사용한다. 새로운 분야나 프로젝트의 자동화 체계를 구축하거나 기존 하네스를 재구성·확장할 때도 사용한다. '하네스 점검', '하네스 감사', '하네스 현황', '에이전트/스킬 동기화'처럼 기존 하네스를 운영하거나 유지 보수하는 요청에도 사용한다. 실행 결과를 회고하고 피드백을
Claude Code
$ npx -y skills add revfactory/harness --skill harness --agent claude-code
Codex
$ npx skills add revfactory/harness --skill harness -a codex -y
Cursor
$ npx skills add revfactory/harness --skill harness -a cursor -y
Gemini CLI
$ npx skills add revfactory/harness --skill harness -a gemini-cli -y
GitHub Copilot
$ npx skills add revfactory/harness --skill harness -a github-copilot -y
OpenCode
$ npx skills add revfactory/harness --skill harness -a opencode -y
Windsurf
$ npx skills add revfactory/harness --skill harness -a windsurf -y
name: harness description: "프로젝트에 맞는 하네스를 설계하고, 전문 에이전트와 각 에이전트가 사용할 스킬을 만든다. 사용자가 '하네스 구성해줘', '하네스 구축해줘', '하네스 설계', '하네스 엔지니어링', '에이전트 팀 만들어줘'라고 요청할 때 사용한다. 새로운 분야나 프로젝트의 자동화 체계를 구축하거나 기존 하네스를 재구성·확장할 때도 사용한다. '하네스 점검', '하네스 감사', '하네스 현황', '에이전트/스킬 동기화'처럼 기존 하네스를 운영하거나 유지 보수하는 요청에도 사용한다. 실행 결과를 회고하고 피드백을 반영하는 작업에는 harness:evolve 스킬을 사용한다."
프로젝트에 맞는 하네스를 설계한다. 각 에이전트의 역할을 정의하고, 에이전트가 작업할 때 따를 스킬을 만든다.
1. 에이전트 정의는 `프로젝트/.claude/agents/`에, 스킬은 `프로젝트/.claude/skills/`에 만든다. 에이전트에는 누가 일하는지를, 스킬에는 그 일을 어떻게 하는지를 적는다. 2. 작업 흐름에 따라 실행 모드를 고른다. 순서와 반복 조건을 코드로 정할 수 있으면 워크플로로 조율한다. 같은 전문가와 피드백을 주고받아야 하면 지속형 에이전트를 쓴다. 결과를 한 번만 받으면 되는 작업은 서브에이전트에 맡긴다. 자세한 선택 기준은 2단계에서 다룬다. 3. 업무의 복잡도, 작업 기간, 자율성, 응답 속도에 맞춰 모델을 고른다. 계획을 세워 장기간 자율적으로 실행해야 하는 최고 난도 업무에는 fable, 설계·코드 생성·복잡한 분석·교차 검증에는 opus, 로그 분석·형식 변환·단순 수집 같은 일상 업무에는 sonnet을 쓴다. 자세한 기준은 3단계에서 다룬다. 4. 새 세션에서도 오케스트레이터 스킬을 불러올 수 있도록 `CLAUDE.md`에 호출 조건과 변경 이력만 기록한다. 5. 실행 결과에서 배운 내용을 에이전트·스킬·`CLAUDE.md`에 계속 반영한다. 회고하고 변경 사항을 찾아내는 작업은 `harness:evolve` 스킬이 맡는다. 6. 생성하는 에이전트 정의, 스킬, 오케스트레이터, `CLAUDE.md` 기록은 사용자가 대화에 쓰는 언어로 작성한다. 이 스킬 문서와 `references/`의 템플릿이 한국어로 쓰였다는 이유로 산출물을 한국어로 쓰지 않는다. 템플릿의 제목과 예시 문구도 그 언어로 옮긴다. 사용자가 언어를 따로 정하면 그 언어를 따르고, 따로 정하지 않은 채 기존 하네스를 확장하면 기존 파일의 언어를 따른다.
하네스 스킬을 불러오면 기존 구성을 먼저 확인한다.
1. `프로젝트/.claude/agents/`, `프로젝트/.claude/skills/`, `프로젝트/CLAUDE.md`를 읽는다. 2. 현재 상태에 따라 진행할 절차를 고른다.
| 변경 내용 | 1단계 | 2단계 | 3단계 | 4단계 | 5단계 | 6단계 | | --- | --- | --- | --- | --- | --- | --- | | 에이전트 추가 | 생략하고 0단계 결과 사용 | 어떤 실행 모드에서 어느 팀과 단계에 둘지만 결정 | 필수 | 전용 스킬이 필요할 때 | 오케스트레이터 수정 | 필수 | | 스킬 추가·수정 | 생략 | 생략 | 생략 | 필수 | 연결이 바뀔 때 | 필수 | | 구조·실행 모드 변경 | 생략 | 필수 | 영향을 받는 에이전트만 | 영향을 받는 스킬만 | 필수 | 필수 |
3. 기존 오케스트레이터에 `TeamCreate`, `TeamDelete`, `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`가 있으면 v1 산출물이다. 현재 실행 환경에서는 작동하지 않으므로 v2로 옮기자고 제안한다. 자세한 방법은 `references/execution-modes.md`의 「v1에서 v2로 전환」을 따른다. 4. 실제 에이전트·스킬 목록과 `CLAUDE.md` 기록을 대조해 불일치를 찾는다. 5. 점검 결과와 실행 계획을 사용자에게 알리고 확인받는다.
1. 사용자 요청에서 프로젝트의 분야와 목표를 파악한다. 2. 생성, 검증, 편집, 분석처럼 필요한 작업의 종류를 나눈다. 3. 실행 모드를 고를 수 있도록 작업 흐름을 확인한다.
4. 0단계에서 확인한 기존 에이전트·스킬과 겹치거나 충돌하는 부분을 찾는다. 5. 코드베이스를 살펴 기술 스택, 데이터 모델, 주요 모듈을 파악한다. 6. 사용자가 쓰는 용어와 질문 수준을 보고 설명의 난이도를 맞춘다. 코딩 경험이 적은 사용자에게 검증 조건(assertion), JSON 스키마(JSON Schema) 같은 용어를 설명 없이 쓰지 않는다.
Harness v2는 Claude Code의 멀티에이전트 기능 세 가지를 사용한다. 작업 흐름에 맞춰 다음 모드 가운데 하나를 고른다.
| 실행 모드 | 사용하는 기능 | 알맞은 작업 | | --- | --- | --- | | **워크플로 조율** | `Workflow` 스크립트의 `agent()`, `pipeline()`, `parallel()`, `phase()` | 처리 목록, 검증 절차, 반복 횟수를 코드로 정할 수 있는 작업. 스키마에 맞춘 결과가 필요하거나 `Agent`를 수십 번 이상 호출해야 하는 작업 | | **지속형 에이전트 협업** | `Agent(name:)`, `SendMessage`, `TaskCreate`, `TaskUpdate` | 이름 있는 전문가가 대화 맥락을 유지하면서 피드백·협상·공동 편집을 반복해야 하는 작업 | | **서브에이전트 위임** | `Agent` 한 번 호출. 기본적으로 백그라운드에서 실행하며 병렬 호출 가능 | 에이전트끼리 대화할 필요가 없고 결과만 한 번 받으면 되는 작업 |
다음 순서로 결정한다.
1. 처리 목록, 검증 기준, 반복 조건을 미리 코드로 표현할 수 있으면 워크플로를 사용한다. 정해진 흐름을 모델의 그때그때 판단에 맡기지 않아야 같은 방식으로 다시 실행할 수 있다. 2. 코드로 정하기 어렵고, 에이전트끼리 대화하거나 이전 맥락을 기억해야 하면 지속형 에이전트를 사용한다. 3. 두 조건에 해당하지 않고 결과만 필요하면 서브에이전트에 맡긴다. 4. 단계마다 작업 성격이 다르면 혼합 모드로 구성한다. 오케스트레이터에 각 단계의 실행 모드를 적는다.
`Workflow` 도구를 쓰려면 사용자가 명시적으로 동의해야 한다. 사용자가 직접 워크플로 실행을 요청했거나, `Workflow` 호출을 지시하는 오케스트레이터 스킬을 사용자가 불러왔다면 동의한 것으로 본다. 기본 실행은 에이전트 몇 명으로 제한하고, 사용자가 "철저히", "전수"처럼 넓은 조사를 요구했을 때만 대규모로 늘린다.
> 실행 모드 비교와 동시 실행 상한, 스키마, 토큰 예산, 재개 조건은 `references/execution-modes.md`에서 확인한다.
1. 작업을 전문 분야별로 나눈다. 2. 아래 여섯 가지 방식 가운데 작업에 맞는 구성을 고른다. 자세한 기준은 `references/team-patterns.md`에 있다.
3. 산출물의 정확성이 중요하면 다음 검증 방식을 조합한다.
필요한 전문 지식, 병렬 처리 가능 여부, 유지해야 할 대화 맥락, 다시 쓸 가능성을 기준으로 에이전트를 나눈다. 자세한 표는 `references/team-patterns.md`의 「에이전트 분리 기준」에서 확인한다.
여러 세션에서 재사용할 전문 에이전트는 `프로젝트/.claude/agents/{name}.md` 파일로 정의한다. 반복해서 사용할 역할을 `Agent` 도구의 `prompt`에만 직접 넣지 않는다.
재사용할 전문가 역할은 사용자 정의 유형으로 파일에 만들고, 호출할 때 그 파일의 이름을 `subagent_type`이나 `agentType`에 지정한다. `general-purpose`, `Explore`, `Plan` 같은 기본 제공 유형을 그대로 쓰는 단발 작업에는 별도 정의 파일을 만들지 않는다.
새 에이전트 파일을 만들기 전에 `프로젝트/.claude/agents/`의 기존 에이전트와 역할이 겹치는지 확인한다. 1단계를 생략하고 에이전트만 추가할 때도 이 확인은 건너뛰지 않는다. 하네스를 여러 번 구축하거나 확장하면 같은 역할의 에이전트가 이름만 달리해 쌓일 수 있기 때문이다. 겹치면 새 이름으로 만들지 말고 기존 에이전트를 그대로 쓰거나 확장한다. 판단 기준과 예외(도메인을 의도적으로 특화한 경우)는 `references/team-patterns.md`의 「에이전트 재사용 설계」에서 확인한다.
업무의 복잡도, 작업 기간, 자율성, 응답 속도를 기준으로 에이전트마다 모델을 고른다. YAML 프론트매터(머리말)의 `model:`이나 호출 인자인 `model`, `opts.model`에 지정하고, 선택 이유를 에이전트 정의나 오케스트레이터에 주석으로 남긴다.
| 모델 | 선택 기준 | 대표 업무 | | --- | --- | --- | | **fable** | 스스로 계획하고 여러 단계를 연결해 장기간
Harness is a team-architecture factory for Claude Code. One sentence — "build a harness for this project" · "하네스 구성해줘" — and the plugin turns your domain description into an agent team and the skills they use.
하네스 진화 스킬. 사용 중인 하네스의 실행 결과에 대한 피드백을 수집·일반화하여 에이전트/스킬/오케스트레이터에 반영하고, 초기 구성 대비 델타를 포착해 변경 이력을 갱신한다. '하네스 회고', '하네스 진화', '하네스 피드백…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration