cookyman74/my_harness

복잡한 작업을 한 개의 거대한 프롬프트로 처리하면 컨텍스트가 오염되고, 같은 맹점을 반복하고, 재사용이 안 됩니다. myharness는 그 작업을 역할이 분리된 전문 에이전트 팀 + 절차가 담긴 스킬 + 이들을 엮는 오케스트레이터로 분해해 생성합니다.

69
GitHub 스타
19
포크
HTML
언어
Apache-2.0
라이선스
2026.07.09
최근 푸시
2026.06.22
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
복잡한 AI 에이전트 기반 워크플로우를 구축하려는 프로젝트에 적합하며, 특히 Claude Code와 Codex를 함께 사용하는 환경에서 강력한 생산성 향상을 기대할 수 있습니다. 다만 초기 학습 곡선이 있으므로 문서를 꼼꼼히 읽고 설정하는 것이 중요합니다.

강점

  • 복잡한 작업을 역할 분리된 에이전트 팀과 스킬로 분해하여 컨텍스트 오염과 맹점 반복 문제를 해결
  • Claude Code와 Codex를 모두 지원하는 이중 런타임 설계로 유연성 확보
  • 2계층 품질 게이트(내부 QA + 외부 독립 리뷰)로 품질 보증 체계가 체계적
  • 6가지 팀 아키텍처 패턴을 제공하여 도메인에 맞는 최적의 구조 선택 가능
  • 한국어 우선 지원으로 한국 개발자에게 친화적

약점

  • README가 매우 길고 복잡하여 초기 진입 장벽이 높음
  • 설치 과정이 여러 단계로 나뉘어 있고 환경 변수 설정 등 추가 작업 필요
  • Codex에서 사용자 정의 슬래시 명령어를 지원하지 않아 일부 기능 제한
  • 루프 자체 평가의 자동 루프백 기능이 아직 실험적 단계

주의사항

  • 에이전트 팀 기능을 사용하려면 Claude Code 실험적 기능을 활성화해야 함
  • 외부 리뷰어 도구가 없으면 품질 게이트가 내부 QA로 축소되므로 환경 구성에 주의
  • 빌드된 하네스 업데이트 시 로컬 편집 보호 기능이 있지만 충돌 가능성 존재
  • 대규모 팬아웃 작업 시 비용이 증가할 수 있으므로 스모크 테스트 모드 활용 권장

시작 가이드

  • README의 빠른 시작 섹션을 따라 설치를 진행하고 환경 변수를 설정
  • 예제 프롬프트를 참고하여 간단한 도메인으로 하네스 생성 테스트
  • 생성된 에이전트 정의와 스킬을 검토하고 필요에 따라 수정
  • 2계층 품질 게이트를 활용하여 코드 리뷰 프로세스에 통합

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

<p align="center"> <img src="harness_banner.png" alt="myharness 배너" width="600"> </p>

myharness — 에이전트 팀 아키텍처 팩토리

English | 한국어 | 日本語

myharness는 Claude Code · Codex 이중 런타임 팩토리로, 도메인에 대한 한 문장을 에이전트 팀과 스킬로 변환합니다.

"Build a harness for this project"라고 말하기만 하면 — 도메인을 분석하고 전문화된 에이전트 정의(.claude/agents/)와 스킬(.claude/skills/)을 생성하며, 6가지 팀 아키텍처 패턴 중 적합한 것을 선택합니다.


myharness란?

복잡한 작업을 하나의 거대한 프롬프트로 처리하면 컨텍스트가 오염되고, 같은 맹점이 반복되며, 재사용이 불가능합니다. myharness는 그 작업을 역할이 분리된 전문 에이전트 팀 + 절차가 담긴 스킬 + 이들을 엮는 오케스트레이터로 분해하여 생성합니다.

  • 입력: 도메인에 대한 한 문장 (예: "심층 연구", "풀스택 웹 개발", "코드 리뷰")
  • 출력: 에이전트 정의 + 스킬 + 오케스트레이터 스킬 + 진입 포인터(CLAUDE.md/AGENTS.md)
  • 특징: 한국어 우선 · 기본적으로 슬림 (위험이 증가할 때만 게이트 강화) · Claude Code와 Codex 모두를 위한 출력

myharness 자체는 메타 스킬(플러그인)이며, 스스로를 진화하는 시스템으로 취급합니다 — 실행 피드백을 적절한 계층(스킬/에이전트/오케스트레이터)에 공급하고 변경 이력을 남깁니다.

빠른 시작

1. 설치 (하나 선택)

마켓플레이스 (권장)

/plugin marketplace add cookyman74/my_harness
/plugin install myharness@myharness-marketplace

전역 스킬로 직접 복사

cp -r skills/myharness ~/.claude/skills/myharness

Codex CLI (이중 런타임) — 저장소 루트에서:

bash install.sh
# → ~/.codex/skills/myharness  (진실 공급원에 대한 심볼릭 링크, 항상 최신)
# →.agents/skills/myharness   (신뢰할 수 있는 프로젝트용)
# → AGENTS.md                  (Codex에 의해 자동 로드)

2. 에이전트 팀 활성화 + CLI 시작 (Claude Code)

export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
claude   # Claude Code CLI 시작 (Codex의 경우 codex 명령어 사용)

3. 트리거

  • Claude Code: Build a harness for this project · /myharness · Design an agent team for this domain
  • Codex: $myharness · /skills 메뉴 · Build a harness (설명 일치). 설치 후 세션 재시작을 권장합니다. (Codex는 사용자 정의 슬래시 명령어를 지원하지 않으므로 /myharness를 사용할 수 없습니다.)

도메인별 예제 복사-붙여넣기 → 예제 프롬프트

핵심 기능

기능 세부 사항
6가지 팀 아키텍처 파이프라인 · 팬아웃/팬인 · 전문가 풀 · 생성-검증 · 감독자 · 계층적 위임. 도메인에 맞는 패턴을 선택
기본 에이전트 팀 Agent 도구로 팀원 생성, SendMessage로 직접 통신, 공유 작업 목록(TaskCreate)으로 자체 조정. 공유 발견과 의견 불일치 토론을 통해 품질 향상
자동 스킬 생성 점진적 공개(단계별 로딩: 메타데이터 → 본문 → 참조)로 컨텍스트 효율성. 트리거 설명을 적극적으로 작성
2계층 품질 게이트 내부 생성-검증 QA + 외부 독립 리뷰 루프. 아래 세부 사항 참조
독트린 주입 실제 경로를 통해 TDD(tdd-doctrine.md) 및 개발 규칙(dev-rules.md)을 코딩/편집 에이전트의 작업 원칙에 주입. 테스트를 최우선 리뷰 산출물로 포함 (RED 검증 후 GREEN; 계약/스키마/보안 테스트만 외부 교차 리뷰로 전송) 및 안전한 롤백 규율 (파괴적인 git reset --hard 제거). 위험 계층(경량/표준/심각)이 게이트 강도 조정
문서 시스템 핵심 산출물(설계 문서, 작업 계획, 작업 결과)은 docs/{project}/에 저장(내구성, 커밋된 감사 원장); 임시 작업은 _workspace/에 저장(일시적) — 2계층 분할로 결과 문서 손실 방지(RAG 지식 순환). 문서 계층(기본적으로 경량), git-staging 승격, 빠른 실패. 외부 리뷰 도구와 독립적 (없으면 내부 QA)
이중 런타임 단일 진실 공급원(skills/myharness/) + 런타임별 얇은 어댑터. CLAUDE.mdAGENTS.md 모두 출력, 오케스트레이션 분기(Claude는 Agent 팀원 생성 ↔ Codex는 네이티브 서브에이전트 / codex exec). 7단계 동기화로 드리프트 방지
빌드된 하네스 업데이트 /myharness update (Codex $myharness update) — 이미 빌드된 하네스에 팩토리 진실 공급원을 재전파하면서 로컬 편집 보호. .harness-manifest.json 해시 분류(SAME/auto/USER-MODIFIED 유지/NEW), .local. 파일로 업데이트 안전 보장
비용 및 동시성 제어 모델 라우팅(고추론 → opus, 단순 → 경량), 동시성 제한(기본 3 / 최대 5) 및 백프레셔, 외부 리뷰 예산(변경 없으면 건너뜀), 스모크/전체 테스트 모드로 대규모 팬아웃 비용 제어
루프 자체 평가 각 루프는 loop_scorecard.json 생성(정렬 · 판정 분포 · 정규화 라운드 · 비용). 현재 측정 로깅만 활성화; 제안 → 자동 루프백은 실험적. 안티-굿하트 방어(메트릭 게이밍 및 과적합 방지)

2계층 품질 게이트 (코드/설계 도메인)

내부 QA는 동일한 세션 및 동일한 컨텍스트에서 실행되므로 동일한 맹점을 공유합니다. 따라서 외부 독립 AI 리뷰가 별도 축에 배치됩니다.

  • 엔진 다양성 — 리뷰어는 실행 엔진을 제외하여 선택 (동일 엔진 = 동일 맹점). Claude Code에서 실행 시 codex+agy; Codex에서 실행 시 claude+agy. (agy = Gemini 모델)
  • 모든 항목에 대한 직접 판정 — 외부 리뷰어는 설계 결정, 확정된 계약 또는 실제 측정값을 모르므로, 오케스트레이터가 보고된 모든 이슈를 실제 코드에 대해 확인/부분/지연/거부로 판단. 합의가 답이 아니며, 판정 권한은 오케스트레이터에 유지 (위임하지 않음).
  • 수렴 루프 — K회 연속으로 새 이슈가 없을 때까지 반복 + 라운드 제한, 판정 원장(verdicts.json, 재발 방지), 수정 사항 재리뷰. 확인된 항목만 TDD로 수정.
  • 도구 없으면 건너뜀check-review-tools.sh가 실행자 제외 REVIEWERS: 목록 생성; 외부 리뷰어가 없으면 게이트가 내부 QA로 축소 (비기능적 스킬 방지).

이 README도 해당 게이트를 통해 검증되었습니다 — codex(일관성) + agy(성능 및 안정성)의 외부 감사 후 커밋.

작동 방식 — 스킬 ↔ 에이전트

생성된 하네스는 누가어떻게를 분리합니다:

  • 에이전트 = 누가 — 전문가 페르소나 + 작업 원칙. .claude/agents/{name}.md 파일로 정의 (인라인하지 않음 → 세션 간 재사용 가능). 1 에이전트 = 1 역할.
  • 스킬 = 어떻게 — 절차 + 번들 도구. skills/{name}/SKILL.md. 하나의 에이전트는 1~N개의 스킬 사용 (공유 가능).
  • 오케스트레이터 = 누가, 언제, 어떤 순서로 — 개별 에이전트/스킬을 단일 워크플로우로 엮음.
  • 데이터 전달 — 메시지(실시간 조정) + 공유 작업 목록(진행 추적) + 파일(_workspace/, 대용량 페이로드 및 감사 추적). 결과 문서는 ## Next-step reference 블록을 통해 단계 간 판단 연속성 유지.
  • 이유 우선 · DRY 포인터 — "항상/절대"를 강요하는 대신 이유를 설명 (경계 사례에 대한 판단 향상)하고 단일 소스를 참조 (중복 없음).

요약: 오케스트레이터가 누가/언제/순서를 결정하고, 에이전트는 누가이며, 스킬은 어떻게이고, 2계층 게이트가 품질을 보호합니다.

7단계 워크플로우

Phase 0  상태 감사 (기존 하네스 드리프트 확인 · 신규/확장/유지보수/업데이트 분기)
Phase 1  도메인 분석 (작업 유형 · 기존 자산과의 충돌 · 사용자 스킬 수준 감지)
Phase 2  팀 아키텍처 설계 (실행 모드 + 6가지 패턴 중 선택)
Phase 3  에이전트 정의 생성 (.claude/agents/ · 독트린 주입)
Phase 4  스킬 생성 (.claude/skills/ · 점진적 공개)
Phase 5  통합 및 오케스트레이션 (+ 2계층 품질 게이트 · 이중 런타임 출력 · CLAUDE.md 포인터)
Phase 6  검증 및 테스트 (트리거 확인 · 드라이 런 · 유/무 비교)
Phase 7  하네스 진화 (피드백 루프백 · 런타임 동기화 · 빌드된 하네스 업데이트)

먼저 읽기: skills/myharness/references/factory-map.md — 도메인/위험별 최소 경로 맵. 기본적으로 슬림 — 외부 리뷰, TDD 및 평가는 위험이 증가할 때만 활성화 (단순 하네스에 과부하 방지).

실행 모드 및 아키텍처 패턴

실행 모드 도구 최적 대상
에이전트 팀 (기본) Agent (팀원 생성) + SendMessage + TaskCreate 2명 이상 협업자, 실시간 조정 및 피드백
서브에이전트 직접 Agent 도구 호출 (runinbackground로 병렬 처리) 일회성 작업, 에이전트 간 통신 불필요
하이브리드 단계별 팀/서브 혼합 단계별 특성이 다른 경우

<p align="center"> <img src="harness_team.png" alt="myharness 에이전트 팀" width="500"> </p>

아키텍처 패턴 설명
파이프라인 순차적으로 의존적인 작업
팬아웃/팬인 병렬 독립 작업 후 병합
전문가 풀 상황별 선택적 호출
생성-검증 생성 후 품질 검사 (재시도 루프)
감독자 중앙 에이전트가 동적으로 작업 분배
계층적 위임 재귀적 상위 → 하위 위임

생성된 출력

your-project/
├──.claude/
│   ├── agents/          # 에이전트 정의 (analyst.md, builder.md, qa.md …)
│   └── skills/          # 스킬 (각 SKILL.md + references/)
├── CLAUDE.md            # Claude Code 진입 포인터
└── AGENTS.md            # Codex 진입 포인터 (이중 런타임 시)

이중 런타임 출력: Codex도 대상인 경우, .claude/ 출력과 함께 .agents/skills/<name>/.codex/agents/<name>.toml이 생성됩니다 (동일한 진실 공급원). 세부 사항: skills/myharness/references/runtime-adapters.md.

이중 런타임 (Claude Code + Codex)

진실 공급원(스킬 본문 · 참조 · 스크립트)은 런타임에 구애받지 않는 Markdown입니다. 어댑터 분기만 다릅니다:

항목 Claude Code Codex CLI
진입점 .claude-plugin/plugin.json + CLAUDE.md AGENTS.md (자동 로드)
스킬 .claude/skills/ .agents/skills/ (동일 형식)
에이전트 .claude/agents/*.md .codex/agents/*.toml + 내장 worker/explorer
오케스트레이션 Agent 팀원 생성 + SendMessage + TaskCreate 네이티브 서브에이전트 / codex exec 서브프로세스
외부 리뷰어 codex + agy (실행자 claude 제외) claude + agy (실행자 codex 제외)

agy (antigravity, Gemini 모델)는 호스트 런타임이 아닙니다 — 외부 리뷰 전용입니다. 세부 사항: skills/myharness/references/runtime-adapters.md.

원본 저장소: cookyman74/my_harness

라이선스: Apache-2.0

게재 제외를 원하시면 삭제 요청을 보내주세요.