brownfield git repository 여러 개를 하나의 통합 프로젝트로 논리적으로 재구성하는 오케스트레이터 스킬. 'repo 합쳐줘', 'monorepo로 만들어줘', 'repository 통합', '프로젝트 합치기', '여러 repo를 하나로', 'codebase consolidation' 등의 요청 시 반드시 이 스킬을 사용할 것. repo 분석, 통합 구조 설계, 사용자 피드백 루프, TDD 스타일 마이그레이션 실행, 검증 및 리포트 생성까지 전체 워크플로우를 조율한다. 단순히 git merge나 subtree를 수행하는 것이 아니라, 의존성 통합, 빌드 파이프라인 단일화, 서비스 경계 재설계, 코딩 컨벤션 통일, CLAUDE.md 생성까지 수행한다.
brownfield git repository 여러 개를 하나의 통합 프로젝트로 논리적으로 재구성한다.
Phase별로 다른 에이전트 조합이 필요하므로, 오케스트레이터가 Agent 도구로 서브 에이전트를 직접 호출한다.
모든 Agent 호출에 model: "opus" 파라미터를 명시한다.
.git이 있는 것을 repo로 식별한다._workspace/ 하위 디렉토리를 생성한다._workspace/00_index.md를 생성한다. 형식:
# Repo Merger — 작업 인덱스
- **작업일**: {yyyy-mm-dd}
- **통합 목적**: {purpose}
- **원본 repo**: {repo_paths}
- **타겟 디렉토리**: {target}
## 산출물 로그
| 시점 | 파일 | 작성자 | 설명 |
|------|------|--------|------|
1-1. Analyzer 실행:
Agent(
prompt: "analyze-repos 스킬을 읽고 실행하라. 대상 repo 경로: {repo_paths}. 분석 리포트를 {target}/_workspace/01_analyzer_report.md에 저장하라.",
agents: ["repo-merger/agents/analyzer.md"],
model: "opus"
)
Analyzer 완료 후 _workspace/01_analyzer_report.md가 생성되었는지 확인하고, 00_index.md의 산출물 로그에 행을 추가한다:
| Phase 1-1 | 01_analyzer_report.md | Analyzer | 기술 스택·의존성·구조 분석 리포트 |
1-2. Architect 실행:
Agent(
prompt: "design-integration 스킬을 읽고 실행하라. 분석 리포트: {target}/_workspace/01_analyzer_report.md. 통합 목적: {purpose}. 설계 결과를 _workspace/02_architect_*.md 파일들에 저장하라.",
agents: ["repo-merger/agents/architect.md"],
model: "opus"
)
Architect는 사용자와 피드백 루프를 돈다. 오케스트레이터는 사용자 메시지를 Architect에게 중계한다. Architect가 설계 확정을 알리면 Phase 2로 진행한다.
확정 산출물 확인:
_workspace/02_architect_design.md 존재_workspace/02_architect_claude_md.md 존재_workspace/02_architect_verification_criteria.md 존재00_index.md의 산출물 로그에 행을 추가한다:
| Phase 1-2 | 02_architect_design.md | Architect | 통합 설계서 (사용자 확정) |
| Phase 1-2 | 02_architect_claude_md.md | Architect | CLAUDE.md 초안 |
| Phase 1-2 | 02_architect_verification_criteria.md | Architect | 검증 기준 |
2-1. Verifier 검증 기준 작성:
Agent(
prompt: "verify-integration 스킬을 읽고, 검증 체크리스트를 작성하라. 설계서: {target}/_workspace/02_architect_design.md, 검증 기준: {target}/_workspace/02_architect_verification_criteria.md. 체크리스트를 {target}/_workspace/03_verifier_tests.md에 저장하라.",
agents: ["repo-merger/agents/verifier.md"],
model: "opus"
)
00_index.md의 산출물 로그에 행을 추가한다:
| Phase 2-1 | 03_verifier_tests.md | Verifier | 단계별 검증 체크리스트 (TDD) |
2-2. Step별 실행-검증 루프:
설계서의 마이그레이션 단계(Step 1~5) 각각에 대해:
# Migrator 실행
Agent(
prompt: "execute-migration 스킬을 읽고, Step {N}을 실행하라. 설계서: {target}/_workspace/02_architect_design.md. 원본 repo: {repo_paths}. 타겟: {target}.",
agents: ["repo-merger/agents/migrator.md"],
model: "opus"
)
# Verifier 검증
Agent(
prompt: "verify-integration 스킬을 읽고, Step {N}의 검증을 실행하라. 체크리스트: {target}/_workspace/03_verifier_tests.md. 타겟: {target}.",
agents: ["repo-merger/agents/verifier.md"],
model: "opus"
)
FAIL 시:
모든 Step 완료 후 00_index.md의 산출물 로그에 행을 추가한다:
| Phase 2-2 | 03_migrator_log.md | Migrator | 마이그레이션 실행 로그 |
2-3. 최종 리포트:
모든 Step 통과 후:
Agent(
prompt: "verify-integration 스킬을 읽고, 최종 리포트를 생성하라. 체크리스트: {target}/_workspace/03_verifier_tests.md. 원본 repo: {repo_paths}. 타겟: {target}. 리포트를 {target}/_workspace/04_verifier_final_report.md에 저장하라.",
agents: ["repo-merger/agents/verifier.md"],
model: "opus"
)
00_index.md의 산출물 로그에 행을 추가한다:
| Phase 2-3 | 04_verifier_final_report.md | Verifier | 최종 검증 리포트 (전후 비교 포함) |
3-1. 통합 요약서 생성:
_workspace/의 모든 산출물(01_analyzer_report.md ~ 04_verifier_final_report.md)을 읽고, _workspace/05_integration_summary.md를 생성한다. 형식:
# 통합 요약서
- **작업일**: {yyyy-mm-dd}
- **원본 repo**: {repo별 이름 + 경로}
- **타겟 디렉토리**: {target}
## 통합 개요
{통합 목적과 결과를 2~3문장으로 요약}
## 원본 repo 요약
| Repo | 기술 스택 | 주요 역할 |
|------|----------|----------|
{01_analyzer_report.md에서 추출}
## 설계 결정 사항
{02_architect_design.md에서 핵심 결정만 추출 — 타겟 구조, 서비스 경계, 의존성 전략}
## 최종 프로젝트 구조
{실제 타겟 디렉토리의 tree 출력 (depth 2~3)}
## 의존성 현황
{통합된 주요 의존성 목록, 버전 충돌 해결 내역}
## 빌드/실행 방법
{CLAUDE.md에서 추출 — 빌드, 테스트, 린트 명령어}
## 검증 결과
{04_verifier_final_report.md에서 PASS/FAIL 요약}
## 잔존 이슈
{미해결 항목, 수동 확인 필요 사항}
## 맥락 안내
이 프로젝트는 repo-merger 하네스로 생성되었다.
- `_workspace/00_index.md` — 전체 작업 인덱스
- `_workspace/` 내 파일들은 통합 과정의 감사 추적 기록이다.
- 통합 설계의 상세 근거는 `_workspace/02_architect_design.md`를 참조하라.
00_index.md의 산출물 로그에 행을 추가한다:
| Phase 3 | 05_integration_summary.md | Orchestrator | 최종 통합 요약서 |
3-2. 인덱스 마무리:
00_index.md 하단에 완료 상태를 기록한다:
## 작업 완료
- **완료 시각**: {timestamp}
- **최종 상태**: {성공/부분 성공}
- **요약**: `05_integration_summary.md` 참조
3-3. 사용자 안내:
git init을 실행할지 사용자에게 묻는다._workspace/는 보존한다 (감사 추적용). 이후 이 프로젝트를 열었을 때 _workspace/00_index.md와 05_integration_summary.md로 맥락을 파악할 수 있음을 안내한다.| 에러 유형 | 전략 |
|---|---|
| repo 경로 불존재 | 사용자에게 알리고 올바른 경로를 다시 요청 |
| Analyzer 실패 | 접근 불가 repo 건너뛰기, 리포트에 누락 명시 |
| 의존성 충돌 미해결 | 사용자에게 선택지 제시 |
| 빌드 실패 (3회 재시도 후) | 사용자에게 보고, 수동 개입 요청 |
| 테스트 실패 | 실패 목록 보고, 사용자 판단에 따라 진행/중단 |