[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M75HMG5JXMEFRDC0YRQ13SD9":3,"skill-same:01M75HMG5JXMEFRDC0YRQ13SD9":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M75HMG5JXMEFRDC0YRQ13SD9","my-harness",null,"나만의 하네스 팩토리(포크판). 도메인\u002F프로젝트에 맞는 에이전트 팀 + 스킬을 한국어 우선으로 생성하는 메타 스킬. \"내 하네스 만들어줘\", \"하네스 구성\u002F구축\u002F설계\", \"에이전트 팀 만들어줘\", \"이 도메인용 하네스\", \"하네스 확장\u002F수정\u002F점검\" 요청 시 반드시 사용. 단순 코드 작업이 아니라 '여러 전문 에이전트가 협업하는 자동화 체계'를 세울 때 트리거. 업스트림 harness 플러그인의 슬림 한국어 포크.","cookyman74\u002Fmy_harness","cookyman74","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4980033?v=4","01M75HKVD842F4H20A98BS4R1N","Justin","01M75HKVDWDRTDVQ4NSY9VRFJG",89,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmy-harness\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: my-harness\ndescription: 나만의 하네스 팩토리(포크판). 도메인\u002F프로젝트에 맞는 에이전트 팀 + 스킬을 한국어 우선으로 생성하는 메타 스킬. \"내 하네스 만들어줘\", \"하네스 구성\u002F구축\u002F설계\", \"에이전트 팀 만들어줘\", \"이 도메인용 하네스\", \"하네스 확장\u002F수정\u002F점검\" 요청 시 반드시 사용. 단순 코드 작업이 아니라 '여러 전문 에이전트가 협업하는 자동화 체계'를 세울 때 트리거. 업스트림 harness 플러그인의 슬림 한국어 포크.\n---\n\n# My Harness — 한국어 우선 슬림 팩토리\n\n업스트림 `skills\u002Fharness\u002FSKILL.md`의 핵심 워크플로우를 **보존**하되, (1) 한국어 우선, (2) 패턴 3종으로 슬림화, (3) 이 레포 전용 기본값을 프리베이크한 개인 포크.\n\n**핵심 원칙:**\n1. 에이전트 정의(`.claude\u002Fagents\u002F`) + 스킬(`.claude\u002Fskills\u002F`)을 파일로 생성한다.\n2. **에이전트 팀이 기본 실행 모드.** 2명 이상 협업이면 팀 먼저 검토.\n3. CLAUDE.md엔 **포인터(트리거 규칙) + 변경 이력**만 등록.\n4. 하네스는 진화한다 — 실행 후 피드백 반영, 지속 갱신.\n5. 모든 Agent 호출에 `model: \"opus\"` 명시.\n6. **품질 게이트 2층.** 코드\u002F설계 도메인이면 *내부* 생성-검증(같은 세션 QA) **과** *외부* 리뷰 루프(codex\u002Fgemini 독립 검증)를 **병행**한다. 같은 컨텍스트 QA는 같은 맹점을 공유하므로 외부 독립 관점이 추가 결함을 잡는다.\n7. **생성물에 교리 주입.** 생성하는 빌더\u002F수정\u002FQA 에이전트의 작업 원칙에 개발 규칙·TDD 교리를 *포인터로* 주입(복붙 금지, DRY). 서브에이전트는 글로벌 컨텍스트를 못 받으므로 명시 주입 필요.\n\n> 깊은 디테일이 필요하면 업스트림\u002F로컬 참조를 읽는다 (중복 작성 금지):\n> - 패턴\u002F분리기준\u002F재사용: `skills\u002Fharness\u002Freferences\u002Fagent-design-patterns.md`\n> - 스킬 작성: `skills\u002Fharness\u002Freferences\u002Fskill-writing-guide.md`\n> - 오케스트레이터: `skills\u002Fharness\u002Freferences\u002Forchestrator-template.md`\n> - QA: `skills\u002Fharness\u002Freferences\u002Fqa-agent-guide.md`\n> - 테스트: `skills\u002Fharness\u002Freferences\u002Fskill-testing-guide.md`\n> - 실제 예시: `skills\u002Fharness\u002Freferences\u002Fteam-examples.md`\n> - **개발 규칙(주입용)**: `references\u002Fdev-rules.md` ([[dev-rules]])\n> - **TDD 교리(주입용)**: `references\u002Ftdd-doctrine.md` ([[tdd-doctrine]])\n> - **외부 리뷰 게이트**: `external-review-loop` 스킬 (단계 산출물마다 codex\u002Fgemini 독립 검증)\n\n## 패턴 3종 (슬림)\n\n| 패턴 | 언제 | 데이터 흐름 |\n|------|------|-----------|\n| **파이프라인** | 순차 의존 작업 (A 산출물 → B 입력) | 단방향 체인 |\n| **팬아웃\u002F팬인** | 병렬 독립 수집 후 통합 | 분산 → 수집 |\n| **생성-검증** (Producer-Reviewer) | 생성 후 품질 검수 필수 | 생성 → 내부 QA 교차검증 (+ 코드\u002F설계면 외부 리뷰 루프 병행) |\n\n> 감독자\u002F전문가풀\u002F계층위임이 정말 필요하면 업스트림 `agent-design-patterns.md`로 확장. 기본은 위 3종.\n> 생성-검증을 코드\u002F설계 도메인에 쓸 땐 내부 QA 뒤에 `external-review-loop`(codex\u002Fgemini)를 단계 게이트로 붙인다.\n\n## 워크플로우 (압축)\n\n### Phase 0: 현황 감사\n`.claude\u002Fagents\u002F`, `.claude\u002Fskills\u002F`, `CLAUDE.md` 읽기 → 신규\u002F확장\u002F유지보수 분기. drift(파일 vs CLAUDE.md 이력 불일치) 감지 후 사용자에게 요약 보고.\n\n### Phase 1: 도메인 분석\n요청에서 도메인·핵심 작업유형(생성\u002F검증\u002F편집\u002F분석) 식별 → 코드베이스 탐색(기술스택·데이터모델·주요모듈) → 기존 에이전트\u002F스킬 충돌·중복 점검 → 사용자 숙련도 감지 후 톤 조절. **직전 단계 결과서(`_workspace\u002F`)의 `## 다음 단계 참조` 블록이 있으면 먼저 읽는다**(F5 연속성).\n\n### Phase 2: 팀 설계\n1. 실행모드: **팀 우선**. 결과 전달만이면 서브에이전트, Phase별 상이하면 하이브리드.\n2. 패턴 선택 (위 3종).\n3. 에이전트 분리: 전문성·병렬성·컨텍스트·재사용성 4축. 3-4명 집중 팀 > 산만한 7명.\n\n### Phase 3: 에이전트 정의\n**`프로젝트\u002F.claude\u002Fagents\u002F{name}.md` 파일 필수** (빌트인 타입이라도 파일 생성). 필수 섹션: 핵심 역할, 작업 원칙, 입출력 프로토콜, 에러 핸들링, 협업. 팀 모드면 `## 팀 통신 프로토콜` 추가.\n- **3-0 중복 검토:** 기존 에이전트와 역할 겹치면 재사용\u002F일반화.\n- **모델:** 전부 `model: \"opus\"`.\n- **QA 에이전트:** `general-purpose` 타입(검증 스크립트 실행). \"존재 확인\" 아닌 **경계면 교차 비교**. 모듈 완성 직후 점진 실행.\n- **교리 주입(코드\u002F수정 에이전트):** 빌더·수정·QA 에이전트의 `## 작업 원칙`에 **실경로** 두 줄을 넣는다. 서브에이전트는 `[[ ]]`를 해소 못 하므로 레포상대 경로 필수 — `> 개발 규칙: \\`.claude\u002Fskills\u002Fmy-harness\u002Freferences\u002Fdev-rules.md\\` 준수.` \u002F `> TDD 규율: \\`.claude\u002Fskills\u002Fmy-harness\u002Freferences\u002Ftdd-doctrine.md\\` 준수.` 본문 복붙 금지(DRY). 비코드 에이전트(문서·리서치)는 dev-rules만 선택 적용.\n\n### Phase 4: 스킬 생성\n`프로젝트\u002F.claude\u002Fskills\u002F{name}\u002FSKILL.md`. frontmatter `name`+`description` 필수.\n- **4-0 중복 검토:** 기존 스킬과 기능 겹치면 일반화\u002F통합.\n- **description은 적극적(pushy):** 하는 일 + 구체적 트리거 상황 + 후속 키워드(\"다시\u002F재실행\u002F수정\u002F업데이트\") 모두 기술.\n- **본문:** Why를 설명(강압 지시 X), 500줄 이내, 명령형, 반복코드는 `scripts\u002F`로 번들.\n- **Progressive Disclosure:** metadata(항상) → SKILL.md(트리거 시) → references\u002F(필요 시).\n\n### Phase 5: 오케스트레이션\n오케스트레이터 스킬이 팀을 엮는다. 팀 모드: `Agent`(팀원 spawn)+`TaskCreate`+`SendMessage` (구 `TeamCreate`\u002F`TeamDelete`는 v2.1.178에서 제거). 데이터 전달: 태스크(조율)+파일(산출물)+메시지(소통). 파일 산출물은 `_workspace\u002F{phase}_{agent}_{artifact}.{ext}`, 중간물 보존.\n- **결과서-RAG 연속성(F5):** 각 결과서 상단에 `## 다음 단계 참조` 블록 의무 — 미해결 이슈·핵심 결정과 이유·다음 단계 안내. 다음 단계 사전작업은 직전 결과서의 이 블록을 **먼저 읽고** 시작(판단 연속성). 비용 ~0, 맥락 단절 방지.\n- 에러: 1회 재시도 후 실패면 해당 결과 없이 진행+보고서 누락 명시. 상충 데이터는 삭제 X, 출처 병기.\n- **CLAUDE.md 포인터 등록** (5-4) + **후속 작업 키워드\u002F컨텍스트 확인 단계** (5-5).\n- **리스크 등급(게이트 강도 — 오버헤드 보정):** 무차별 게이트는 과의식이다. 단계마다 등급을 정해 게이트 강도를 맞춘다.\n\n  | 등급 | 조건 | 게이트 |\n  |------|------|--------|\n  | 경량 | 1파일·가역·테스트 無 (오타·문구·설정) | 내부 QA만 |\n  | 표준 | 다파일·기능 추가 | 내부 QA + 외부리뷰 **1회**(단계 끝) |\n  | 중대 | 계약 변경·비가역·다도메인 | **단계마다** 외부리뷰 + 승인 사다리(PRD→계획서→실행) |\n\n- **단계 마감 게이트(표준·중대 등급):** 오케스트레이터가 `external-review-loop` 호출 — codex\u002Fgemini 병렬 리뷰 → 전건 판정(확인\u002F부분\u002F이월\u002F기각) → 확인분만 `tdd-doctrine`로 수정 → 게이트 PASS. 판정 권위는 오케스트레이터(위임 금지). 설계서\u002F코드\u002F문서 어떤 산출물에도 적용.\n- **커밋 순서(F2 — 순환 제거):** 리뷰→판정→수정→게이트 PASS → **승인 관문** → 단일 커밋. (\"커밋 직후 리뷰\" 아님 — 리뷰는 커밋 *전* 작업트리\u002F스테이지 대상.)\n  - 승인 관문 기본: **사용자 승인 대기**.\n  - **자율 노브:** `_workspace\u002F.autonomous` 마커 존재(또는 사용자가 \"자율로\"·\"승인 생략\" 발화) 시 승인 자동 통과 → 커밋. (권한모드는 스킬이 못 읽으므로 마커\u002F발화로 명시. 마커가 ON이어도 external-review·판정·게이트는 그대로 — 인간 승인 한 스텝만 생략.)\n  - **push는 자율이어도 기본 대기**(외부 송출·되돌리기 어려움). `_workspace\u002F.autonomous-push` 마커 시만 자동.\n\n### Phase 6: 검증\n구조 검증(파일 위치, frontmatter, 커맨드 미생성) → 트리거 검증(should-trigger 8~10 + should-NOT near-miss 8~10) → 드라이런(데이터 dead-link 없는지) → 테스트 시나리오(정상1+에러1).\n\n### Phase 7: 진화\n실행 후 피드백 수집 → 유형별 반영(품질→스킬, 역할→에이전트정의, 순서→오케스트레이터, 트리거→description) → CLAUDE.md 변경 이력 기록.\n\n## 이 레포 전용 프리베이크 기본값\n\n이 레포(`harness` 플러그인)용 하네스를 만들 땐 아래를 기본 제안으로 사용:\n\n| 작업 | 에이전트 | 스킬 | 패턴 |\n|------|---------|------|------|\n| 3개국어 문서 동기화 (README\u002FKO\u002FJA + 뱃지) | `doc-syncer` | `doc-sync` | 파이프라인 |\n| 버전 릴리스 (plugin.json\u002Fmarketplace.json\u002FCHANGELOG\u002F태그) | `release-manager` | `release-flow` | 생성-검증 |\n| 하네스 스킬 본문 개선 (`skills\u002Fharness\u002F*`) | `skill-maintainer` | `skill-authoring` | 생성-검증 |\n| 교차 파일 정합성 검증 | `repo-qa` | (스킬리스, 에이전트 자체 + check 스크립트) | 검증 |\n\n> 이 레포의 단골 버그: 3중 버전 불일치(README 뱃지 \u002F marketplace.json \u002F plugin.json), 3개국어 문서 drift, CHANGELOG 누락. `repo-qa`가 항상 교차 검증.\n\n## 산출물 체크리스트\n- [ ] `.claude\u002Fagents\u002F` 정의 파일 (빌트인이라도 필수)\n- [ ] `.claude\u002Fskills\u002F` SKILL.md (+ references\u002Fscripts 선택)\n- [ ] 오케스트레이터 1개 (데이터흐름+에러+테스트 시나리오)\n- [ ] 실행모드 명시 \u002F 모든 Agent에 `model:\"opus\"`\n- [ ] 3-0·4-0 중복 검토 완료\n- [ ] `.claude\u002Fcommands\u002F` 아무것도 생성 안 함\n- [ ] description pushy + 후속 키워드\n- [ ] SKILL.md ≤500줄\n- [ ] CLAUDE.md 포인터 + 변경 이력\n- [ ] 코드\u002F수정 에이전트에 dev-rules·tdd-doctrine **실경로** 주입 (`[[ ]]` 금지 — 서브에이전트 미해소)\n- [ ] 단계마다 리스크 등급(경량\u002F표준\u002F중대) 판정 → 게이트 강도 매칭\n- [ ] 표준·중대 등급에 `external-review-loop` 배선 (내부 QA + 외부 리뷰 2층)\n- [ ] 커밋 순서: 리뷰→판정→수정→게이트→승인 관문→커밋. 자율 노브(`_workspace\u002F.autonomous`)·push 별도 게이트 반영\n- [ ] 결과서에 `## 다음 단계 참조` 블록 (F5 연속성)\n","# My Harness — 한국어 우선 슬림 팩토리\n\n업스트림 `skills\u002Fharness\u002FSKILL.md`의 핵심 워크플로우를 **보존**하되, (1) 한국어 우선, (2) 패턴 3종으로 슬림화, (3) 이 레포 전용 기본값을 프리베이크한 개인 포크.\n\n**핵심 원칙:**\n1. 에이전트 정의(`.claude\u002Fagents\u002F`) + 스킬(`.claude\u002Fskills\u002F`)을 파일로 생성한다.\n2. **에이전트 팀이 기본 실행 모드.** 2명 이상 협업이면 팀 먼저 검토.\n3. CLAUDE.md엔 **포인터(트리거 규칙) + 변경 이력**만 등록.\n4. 하네스는 진화한다 — 실행 후 피드백 반영, 지속 갱신.\n5. 모든 Agent 호출에 `model: \"opus\"` 명시.\n6. **품질 게이트 2층.** 코드\u002F설계 도메인이면 *내부* 생성-검증(같은 세션 QA) **과** *외부* 리뷰 루프(codex\u002Fgemini 독립 검증)를 **병행**한다. 같은 컨텍스트 QA는 같은 맹점을 공유하므로 외부 독립 관점이 추가 결함을 잡는다.\n7. **생성물에 교리 주입.** 생성하는 빌더\u002F수정\u002FQA 에이전트의 작업 원칙에 개발 규칙·TDD 교리를 *포인터로* 주입(복붙 금지, DRY). 서브에이전트는 글로벌 컨텍스트를 못 받으므로 명시 주입 필요.\n\n> 깊은 디테일이 필요하면 업스트림\u002F로컬 참조를 읽는다 (중복 작성 금지):\n> - 패턴\u002F분리기준\u002F재사용: `skills\u002Fharness\u002Freferences\u002Fagent-design-patterns.md`\n> - 스킬 작성: `skills\u002Fharness\u002Freferences\u002Fskill-writing-guide.md`\n> - 오케스트레이터: `skills\u002Fharness\u002Freferences\u002Forchestrator-template.md`\n> - QA: `skills\u002Fharness\u002Freferences\u002Fqa-agent-guide.md`\n> - 테스트: `skills\u002Fharness\u002Freferences\u002Fskill-testing-guide.md`\n> - 실제 예시: `skills\u002Fharness\u002Freferences\u002Fteam-examples.md`\n> - **개발 규칙(주입용)**: `references\u002Fdev-rules.md` ([[dev-rules]])\n> - **TDD 교리(주입용)**: `references\u002Ftdd-doctrine.md` ([[tdd-doctrine]])\n> - **외부 리뷰 게이트**: `external-review-loop` 스킬 (단계 산출물마다 codex\u002Fgemini 독립 검증)\n\n## 패턴 3종 (슬림)\n\n| 패턴 | 언제 | 데이터 흐름 |\n|------|------|-----------|\n| **파이프라인** | 순차 의존 작업 (A 산출물 → B 입력) | 단방향 체인 |\n| **팬아웃\u002F팬인** | 병렬 독립 수집 후 통합 | 분산 → 수집 |\n| **생성-검증** (Producer-Reviewer) | 생성 후 품질 검수 필수 | 생성 → 내부 QA 교차검증 (+ 코드\u002F설계면 외부 리뷰 루프 병행) |\n\n> 감독자\u002F전문가풀\u002F계층위임이 정말 필요하면 업스트림 `agent-design-patterns.md`로 확장. 기본은 위 3종.\n> 생성-검증을 코드\u002F설계 도메인에 쓸 땐 내부 QA 뒤에 `external-review-loop`(codex\u002Fgemini)를 단계 게이트로 붙인다.\n\n## 워크플로우 (압축)\n\n### Phase 0: 현황 감사\n`.claude\u002Fagents\u002F`, `.claude\u002Fskills\u002F`, `CLAUDE.md` 읽기 → 신규\u002F확장\u002F유지보수 분기. drift(파일 vs CLAUDE.md 이력 불일치) 감지 후 사용자에게 요약 보고.\n\n### Phase 1: 도메인 분석\n요청에서 도메인·핵심 작업유형(생성\u002F검증\u002F편집\u002F분석) 식별 → 코드베이스 탐색(기술스택·데이터모델·주요모듈) → 기존 에이전트\u002F스킬 충돌·중복 점검 → 사용자 숙련도 감지 후 톤 조절. **직전 단계 결과서(`_workspace\u002F`)의 `## 다음 단계 참조` 블록이 있으면 먼저 읽는다**(F5 연속성).\n\n### Phase 2: 팀 설계\n1. 실행모드: **팀 우선**. 결과 전달만이면 서브에이전트, Phase별 상이하면 하이브리드.\n2. 패턴 선택 (위 3종).\n3. 에이전트 분리: 전문성·병렬성·컨텍스트·재사용성 4축. 3-4명 집중 팀 > 산만한 7명.\n\n### Phase 3: 에이전트 정의\n**`프로젝트\u002F.claude\u002Fagents\u002F{name}.md` 파일 필수** (빌트인 타입이라도 파일 생성). 필수 섹션: 핵심 역할, 작업 원칙, 입출력 프로토콜, 에러 핸들링, 협업. 팀 모드면 `## 팀 통신 프로토콜` 추가.\n- **3-0 중복 검토:** 기존 에이전트와 역할 겹치면 재사용\u002F일반화.\n- **모델:** 전부 `model: \"opus\"`.\n- **QA 에이전트:** `general-purpose` 타입(검증 스크립트 실행). \"존재 확인\" 아닌 **경계면 교차 비교**. 모듈 완성 직후 점진 실행.\n- **교리 주입(코드\u002F수정 에이전트):** 빌더·수정·QA 에이전트의 `## 작업 원칙`에 **실경로** 두 줄을 넣는다. 서브에이전트는 `[[ ]]`를 해소 못 하므로 레포상대 경로 필수 — `> 개발 규칙: \\`.claude\u002Fskills\u002Fmy-harness\u002Freferences\u002Fdev-rules.md\\` 준수.` \u002F `> TDD 규율: \\`.claude\u002Fskills\u002Fmy-harness\u002Freferences\u002Ftdd-doctrine.md\\` 준수.` 본문 복붙 금지(DRY). 비코드 에이전트(문서·리서치)는 dev-rules만 선택 적용.\n\n### Phase 4: 스킬 생성\n`프로젝트\u002F.claude\u002Fskills\u002F{name}\u002FSKILL.md`. frontmatter `name`+`description` 필수.\n- **4-0 중복 검토:** 기존 스킬과 기능 겹치면 일반화\u002F통합.\n- **description은 적극적(pushy):** 하는 일 + 구체적 트리거 상황 + 후속 키워드(\"다시\u002F재실행\u002F수정\u002F업데이트\") 모두 기술.\n- **본문:** Why를 설명(강압 지시 X), 500줄 이내, 명령형, 반복코드는 `scripts\u002F`로 번들.\n- **Progressive Disclosure:** metadata(항상) → SKILL.md(트리거 시) → references\u002F(필요 시).\n\n### Phase 5: 오케스트레이션\n오케스트레이터 스킬이 팀을 엮는다. 팀 모드: `Agent`(팀원 spawn)+`TaskCreate`+`SendMessage` (구 `TeamCreate`\u002F`TeamDelete`는 v2.1.178에서 제거). 데이터 전달: 태스크(조율)+파일(산출물)+메시지(소통). 파일 산출물은 `_workspace\u002F{phase}_{agent}_{artifact}.{ext}`, 중간물 보존.\n- **결과서-RAG 연속성(F5):** 각 결과서 상단에 `## 다음 단계 참조` 블록 의무 — 미해결 이슈·핵심 결정과 이유·다음 단계 안내. 다음 단계 사전작업은 직전 결과서의 이 블록을 **먼저 읽고** 시작(판단 연속성). 비용 ~0, 맥락 단절 방지.\n- 에러: 1회 재시도 후 실패면 해당 결과 없이 진행+보고서 누락 명시. 상충 데이터는 삭제 X, 출처 병기.\n- **CLAUDE.md 포인터 등록** (5-4) + **후속 작업 키워드\u002F컨텍스트 확인 단계** (5-5).\n- **리스크 등급(게이트 강도 — 오버헤드 보정):** 무차별 게이트는 과의식이다. 단계마다 등급을 정해 게이트 강도를 맞춘다.\n\n  | 등급 | 조건 | 게이트 |\n  |------|------|--------|\n  | 경량 | 1파일·가역·테스트 無 (오타·문구·설정) | 내부 QA만 |\n  | 표준 | 다파일·기능 추가 | 내부 QA + 외부리뷰 **1회**(단계 끝) |\n  | 중대 | 계약 변경·비가역·다도메인 | **단계마다** 외부리뷰 + 승인 사다리(PRD→계획서→실행) |\n\n- **단계 마감 게이트(표준·중대 등급):** 오케스트레이터가 `external-review-loop` 호출 — codex\u002Fgemini 병렬 리뷰 → 전건 판정(확인\u002F부분\u002F이월\u002F기각) → 확인분만 `tdd-doctrine`로 수정 → 게이트 PASS. 판정 권위는 오케스트레이터(위임 금지). 설계서\u002F코드\u002F문서 어떤 산출물에도 적용.\n- **커밋 순서(F2 — 순환 제거):** 리뷰→판정→수정→게이트 PASS → **승인 관문** → 단일 커밋. (\"커밋 직후 리뷰\" 아님 — 리뷰는 커밋 *전* 작업트리\u002F스테이지 대상.)\n  - 승인 관문 기본: **사용자 승인 대기**.\n  - **자율 노브:** `_workspace\u002F.autonomous` 마커 존재(또는 사용자가 \"자율로\"·\"승인 생략\" 발화) 시 승인 자동 통과 → 커밋. (권한모드는 스킬이 못 읽으므로 마커\u002F발화로 명시. 마커가 ON이어도 external-review·판정·게이트는 그대로 — 인간 승인 한 스텝만 생략.)\n  - **push는 자율이어도 기본 대기**(외부 송출·되돌리기 어려움). `_workspace\u002F.autonomous-push` 마커 시만 자동.\n\n### Phase 6: 검증\n구조 검증(파일 위치, frontmatter, 커맨드 미생성) → 트리거 검증(should-trigger 8~10 + should-NOT near-miss 8~10) → 드라이런(데이터 dead-link 없는지) → 테스트 시나리오(정상1+에러1).\n\n### Phase 7: 진화\n실행 후 피드백 수집 → 유형별 반영(품질→스킬, 역할→에이전트정의, 순서→오케스트레이터, 트리거→description) → CLAUDE.md 변경 이력 기록.\n\n## 이 레포 전용 프리베이크 기본값\n\n이 레포(`harness` 플러그인)용 하네스를 만들 땐 아래를 기본 제안으로 사용:\n\n| 작업 | 에이전트 | 스킬 | 패턴 |\n|------|---------|------|------|\n| 3개국어 문서 동기화 (README\u002FKO\u002FJA + 뱃지) | `doc-syncer` | `doc-sync` | 파이프라인 |\n| 버전 릴리스 (plugin.json\u002Fmarketplace.json\u002FCHANGELOG\u002F태그) | `release-manager` | `release-flow` | 생성-검증 |\n| 하네스 스킬 본문 개선 (`skills\u002Fharness\u002F*`) | `skill-maintainer` | `skill-authoring` | 생성-검증 |\n| 교차 파일 정합성 검증 | `repo-qa` | (스킬리스, 에이전트 자체 + check 스크립트) | 검증 |\n\n> 이 레포의 단골 버그: 3중 버전 불일치(README 뱃지 \u002F marketplace.json \u002F plugin.json), 3개국어 문서 drift, CHANGELOG 누락. `repo-qa`가 항상 교차 검증.\n\n## 산출물 체크리스트\n- [ ] `.claude\u002Fagents\u002F` 정의 파일 (빌트인이라도 필수)\n- [ ] `.claude\u002Fskills\u002F` SKILL.md (+ references\u002Fscripts 선택)\n- [ ] 오케스트레이터 1개 (데이터흐름+에러+테스트 시나리오)\n- [ ] 실행모드 명시 \u002F 모든 Agent에 `model:\"opus\"`\n- [ ] 3-0·4-0 중복 검토 완료\n- [ ] `.claude\u002Fcommands\u002F` 아무것도 생성 안 함\n- [ ] description pushy + 후속 키워드\n- [ ] SKILL.md ≤500줄\n- [ ] CLAUDE.md 포인터 + 변경 이력\n- [ ] 코드\u002F수정 에이전트에 dev-rules·tdd-doctrine **실경로** 주입 (`[[ ]]` 금지 — 서브에이전트 미해소)\n- [ ] 단계마다 리스크 등급(경량\u002F표준\u002F중대) 판정 → 게이트 강도 매칭\n- [ ] 표준·중대 등급에 `external-review-loop` 배선 (내부 QA + 외부 리뷰 2층)\n- [ ] 커밋 순서: 리뷰→판정→수정→게이트→승인 관문→커밋. 자율 노브(`_workspace\u002F.autonomous`)·push 별도 게이트 반영\n- [ ] 결과서에 `## 다음 단계 참조` 블록 (F5 연속성)\n",{"name":5,"description":7},"main","2645d972206c10adcee7fdb643033219e5d1f7ca",".claude\u002Fskills\u002Fmy-harness",21,"https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness","https:\u002F\u002Fgithub.com\u002Fcookyman74","2026-10-21 13:26:50",{"source":8,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add cookyman74\u002Fmy_harness --skill my-harness",{"tool":37,"command":38},"bunx","bunx skills add cookyman74\u002Fmy_harness --skill my-harness",{"tool":40,"command":41},"pnpm","pnpm dlx skills add cookyman74\u002Fmy_harness --skill my-harness","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmy-harness\u002FSKILL.md",true,[45,51],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"references\u002Fdev-rules.md","REFERENCE","参考文档",2473,"https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmy-harness\u002Freferences\u002Fdev-rules.md",{"path":52,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":53,"sourceHtmlUrl":54},"references\u002Ftdd-doctrine.md",1973,"https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmy-harness\u002Freferences\u002Ftdd-doctrine.md",[56,63,70,76,83,90],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":19},"01M75HNDMD4PMQGVX126TTVZY3","orch1","S3 픽스처 — 결선 블록을 받는 생성 오케스트레이터(verify 대상)","https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fharness-intake\u002Fs3\u002Ftarget\u002F.claude\u002Fskills\u002Forch1\u002FSKILL.md",[],[],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":19},"01M75HNBQQGFAN4R5HPNPW3ZPF","lint-skill","s2 픽스처 스킬","https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fharness-intake\u002Fs2\u002Frepo-like\u002F.claude\u002Fskills\u002Flint-skill\u002FSKILL.md",[],[],{"skillNo":71,"name":58,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M75HNA93W76SK6BS7YFD6B0D","듀얼 런타임 .agents 복사본 — 여기에 프로파일이 생기면 안 된다","https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fharness-intake\u002Fs2\u002Frepo-like\u002F.agents\u002Fskills\u002Forch1\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M75HN90V6HMF400EACFB5JBX","skill-b","스킬 기준 키 밖 version","https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fharness-intake\u002Fproject\u002F.claude\u002Fskills\u002Fskill-b\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M75HN6P751GY53SRJ695BEX0","skill-a","기준 키만","https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fharness-intake\u002Fproject\u002F.claude\u002Fskills\u002Fskill-a\u002FSKILL.md",[],[],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":19},"01M75HN5Q5J1078Q55CY3RANYY","orch","orchestrates scalar","https:\u002F\u002Fgithub.com\u002Fcookyman74\u002Fmy_harness\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fharness-intake\u002Fproject\u002F.claude\u002Fskills\u002Forch\u002FSKILL.md",[],[]]