코드리뷰리팩토링데이터·SQL디버깅보안by affaan-m
다중 모델 협력 실행
다중 모델 구현 계획을 실행하면서 Claude를 파일시스템 작성자로 유지합니다.
한 줄 평가 — 다음 사람 도와주세요
언제 쓰나
다중 모델 협력 실행이 필요한 경우에 사용합니다.
SKILL.md
Lattice 한국어 번역 · 원본 affaan-m/everything-claude-code (841beea). 복사 → 저장하면 Claude Code가 인식합니다.
---
description: Claude를 유일한 파일 시스템 작성자로 유지하면서 다중 모델 구현 계획을 실행합니다.
---
# 실행 - 다중 모델 협업 실행
다중 모델 협업 실행 - 계획에서 프로토타입 가져오기 → Claude 리팩토링 및 구현 → 다중 모델 감사 및 전달.
$ARGUMENTS
---
## 핵심 프로토콜
- **언어 프로토콜**: 도구/모델과 상호 작용할 때는 **영어**를 사용하고, 사용자 언어로 소통합니다.
- **코드 주권**: 외부 모델은 **파일 시스템 쓰기 액세스 권한이 전혀 없으며**, 모든 수정은 Claude가 수행합니다.
- **더티 프로토타입 리팩토링**: Codex/Gemini Unified Diff를 "더티 프로토타입"으로 취급하며, 프로덕션 등급 코드로 리팩토링해야 합니다.
- **손실 방지 메커니즘**: 현재 단계의 출력이 검증될 때까지 다음 단계로 진행하지 않습니다.
- **사전 조건**: `/ccg:plan` 출력에 대해 사용자가 명시적으로 "Y"라고 응답한 후에만 실행합니다 (누락된 경우 먼저 확인해야 합니다).
---
## 다중 모델 호출 사양
**호출 구문** (병렬: `run_in_background: true` 사용):
```
# 세션 재개 호출 (권장) - 구현 프로토타입
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'\nROLE_FILE: <role prompt path>\n<TASK>\nRequirement: <task description>\nContext: <plan content + target files>\n</TASK>\nOUTPUT: Unified Diff Patch ONLY. Strictly prohibit any actual modifications.\nEOF",
run_in_background: true,
timeout: 3600000,
description: "간단한 설명"
})
# 새 세션 호출 - 구현 프로토타입
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}- \"$PWD\" <<'EOF'\nROLE_FILE: <role prompt path>\n<TASK>\nRequirement: <task description>\nContext: <plan content + target files>\n</TASK>\nOUTPUT: Unified Diff Patch ONLY. Strictly prohibit any actual modifications.\nEOF",
run_in_background: true,
timeout: 3600000,
description: "간단한 설명"
})
```
**감사 호출 구문** (코드 검토 / 감사):
```
Bash({
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"$PWD\" <<'EOF'\nROLE_FILE: <role prompt path>\n<TASK>\nScope: 마지막 코드 변경 사항을 감사합니다.\nInputs:\n- 적용된 패치 (git diff / 최종 unified diff)\n- 수정된 파일 (필요시 관련 발췌본)\nConstraints:\n- 파일을 수정하지 마십시오.\n- 파일 시스템 액세스를 가정하는 도구 명령을 출력하지 마십시오.\n</TASK>\nOUTPUT:\n1) 우선순위가 지정된 문제 목록 (심각도, 파일, 근거)\n2) 구체적인 수정 사항; 코드 변경이 필요한 경우, fenced code block에 Unified Diff Patch를 포함하십시오.\nEOF",
run_in_background: true,
timeout: 3600000,
description: "간단한 설명"
})
```
**모델 매개변수 참고 사항**:
- `{{GEMINI_MODEL_FLAG}}`: `--backend gemini` 사용 시 `--gemini-model gemini-3-pro-preview` (뒤에 공백 포함)로 바꾸십시오. codex의 경우 빈 문자열을 사용합니다.
**역할 프롬프트**:
| 단계 | Codex | Gemini |
|---|---|---|
| 구현 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/frontend.md` |
| 검토 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
**세션 재사용**: `/ccg:plan`이 SESSION_ID를 제공한 경우, `resume <SESSION_ID>`를 사용하여 컨텍스트를 재사용합니다.
**백그라운드 작업 대기** (최대 타임아웃 600000ms = 10분):
```
TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
```
**중요**:
- `timeout: 600000`을 반드시 지정해야 합니다. 그렇지 않으면 기본 30초로 인해 조기 타임아웃이 발생합니다.
- 10분 후에도 완료되지 않으면 `TaskOutput`으로 계속 폴링하십시오. **절대로 프로세스를 종료하지 마십시오**.
- 타임아웃으로 인해 대기가 건너뛴 경우, **반드시 `AskUserQuestion`을 호출하여 사용자에게 계속 대기할지 또는 작업을 종료할지 물어보십시오**.
---
## 실행 워크플로우
**작업 실행**: $ARGUMENTS
### 0단계: 계획 읽기
`[모드: 준비]`
1. **입력 유형 식별**:
- 계획 파일 경로 (예: `.claude/plan/xxx.md`)
- 직접 작업 설명
2. **계획 내용 읽기**:
- 계획 파일 경로가 제공된 경우, 읽고 파싱합니다.
- 추출: 작업 유형, 구현 단계, 주요 파일, SESSION_ID
3. **실행 전 확인**:
- 입력이 "직접 작업 설명"이거나 계획에 `SESSION_ID` / 주요 파일이 누락된 경우: 먼저 사용자에게 확인합니다.
- 사용자가 계획에 "Y"라고 응답했는지 확인할 수 없는 경우: 진행하기 전에 다시 확인해야 합니다.
4. **작업 유형 라우팅**:
| 작업 유형 | 감지 | 라우트 |
|---|---|---|
| **프론트엔드** | 페이지, 컴포넌트, UI, 스타일, 레이아웃 | Gemini |
| **백엔드** | API, 인터페이스, 데이터베이스, 로직, 알고리즘 | Codex |
| **풀스택** | 프론트엔드와 백엔드 모두 포함 | Codex ∥ Gemini 병렬 |
---
### 1단계: 빠른 컨텍스트 검색
`[모드: 검색]`
**ace-tool MCP를 사용할 수 있는 경우**, 빠른 컨텍스트 검색에 사용합니다:
"주요 파일" 목록에 따라 `mcp__ace-tool__search_context` 호출:
```
mcp__ace-tool__search_context({
query: "<계획 내용, 주요 파일, 모듈, 함수 이름 포함한 의미론적 쿼리>",
project_root_path: "$PWD"
})
```
**검색 전략**:
- 계획의 "주요 파일" 테이블에서 대상 경로를 추출합니다.
- 진입 파일, 종속성 모듈, 관련 유형 정의를 포함하는 의미론적 쿼리를 구축합니다.
- 결과가 불충분하면 1~2개의 재귀적 검색을 추가합니다.
**ace-tool MCP를 사용할 수 없는 경우**, Claude Code 내장 도구를 대체로 사용합니다:
1. **Glob**: 계획의 "주요 파일" 테이블에서 대상 파일을 찾습니다 (예: `Glob("src/components/**/*.tsx")`).
2. **Grep**: 코드베이스 전체에서 주요 기호, 함수 이름, 유형 정의를 검색합니다.
3. **Read**: 발견된 파일을 읽어 전체 컨텍스트를 수집합니다.
4. **Task (탐색 에이전트)**: 더 넓은 탐색을 위해 `subagent_type: "Explore"`와 함께 `Task`를 사용합니다.
**검색 후**:
- 검색된 코드 조각을 구성합니다.
- 구현을 위한 전체 컨텍스트를 확인합니다.
- 3단계로 진행합니다.
---
### 3단계: 프로토타입 획득
`[모드: 프로토타입]`
**작업 유형에 따라 라우팅**:
#### 경로 A: 프론트엔드/UI/스타일 → Gemini
**제한**: 컨텍스트 < 32k 토큰
1. Gemini 호출 (`~/.claude/.ccg/prompts/gemini/frontend.md` 사용)
2. 입력: 계획 내용 + 검색된 컨텍스트 + 대상 파일
3. 출력: `Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
4. **Gemini는 프론트엔드 디자인 권위자이며, 해당 CSS/React/Vue 프로토타입이 최종 시각적 기준선입니다.**
5. **경고**: Gemini의 백엔드 로직 제안은 무시합니다.
6. 계획에 `GEMINI_SESSION`이 포함된 경우: `resume <GEMINI_SESSION>`을 우선 사용합니다.
#### 경로 B: 백엔드/로직/알고리즘 → Codex
1. Codex 호출 (`~/.claude/.ccg/prompts/codex/architect.md` 사용)
2. 입력: 계획 내용 + 검색된 컨텍스트 + 대상 파일
3. 출력: `Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
4. **Codex는 백엔드 로직 권위자이며, 논리적 추론 및 디버그 기능을 활용합니다.**
5. 계획에 `CODEX_SESSION`이 포함된 경우: `resume <CODEX_SESSION>`을 우선 사용합니다.
#### 경로 C: 풀스택 → 병렬 호출
1. **병렬 호출** (`run_in_background: true`):
- Gemini: 프론트엔드 부분 처리
- Codex: 백엔드 부분 처리
2. `TaskOutput`으로 두 모델의 완료된 결과 대기
3. 각 모델은 `resume`을 위해 계획에서 해당 `SESSION_ID` 사용 (누락된 경우 새 세션 생성)
**위의 `Multi-Model Call Specification`에 있는 `IMPORTANT` 지침을 따르십시오.**
---
### 4단계: 코드 구현
`[모드: 구현]`
**Claude가 코드 주권자로서 다음 단계를 실행합니다**:
1. **Diff 읽기**: Codex/Gemini가 반환한 Unified Diff Patch 파싱
2. **가상 샌드박스**:
- Diff를 대상 파일에 적용하는 것을 시뮬레이션합니다.
- 논리적 일관성을 확인합니다.
- 충돌 또는 부작용을 식별합니다.
3. **리팩토링 및 정리**:
- "더티 프로토타입"을 **매우 읽기 쉽고 유지 관리 가능하며 엔터프라이즈 등급의 코드**로 리팩토링합니다.
- 중복 코드를 제거합니다.
- 프로젝트의 기존 코드 표준 준수를 보장합니다.
- **코드는 자체 설명되어야 하므로, 주석/문서 생성을 꼭 필요한 경우가 아니면 피하십시오.**
4. **최소 범위**:
- 변경 사항은 요구 사항 범위로 제한됩니다.
- 부작용에 대한 **필수 검토**.
- 대상 수정 수행.
5. **변경 사항 적용**:
- Edit/Write 도구를 사용하여 실제 수정 사항을 실행합니다.
- **필요한 코드만 수정하고, 사용자의 다른 기존 기능에는 영향을 미치지 않습니다.**
6. **자체 검증** (강력히 권장):
- 프로젝트의 기존 lint / typecheck / 테스트 실행 (최소 관련 범위 우선).
- 실패 시: 먼저 회귀를 수정하고, 5단계로 진행합니다.
---
### 5단계: 감사 및 전달
`[모드: 감사]`
#### 5.1 자동 감사
**변경 사항이 적용된 후, 즉시 Codex와 Gemini를 병렬 호출하여 코드 검토를 수행해야 합니다**:
1. **Codex 검토** (`run_in_background: true`):
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/reviewer.md`
- 입력: 변경된 Diff + 대상 파일
- 초점: 보안, 성능, 오류 처리, 로직 정확성
2. **Gemini 검토** (`run_in_background: true`):
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/reviewer.md`
- 입력: 변경된 Diff + 대상 파일
- 초점: 접근성, 디자인 일관성, 사용자 경험
`TaskOutput`으로 두 모델의 완료된 검토 결과 대기. 컨텍스트 일관성을 위해 3단계 세션 (`resume <SESSION_ID>`) 재사용을 우선합니다.
#### 5.2 통합 및 수정
1. Codex + Gemini 검토 피드백 통합.
2. 신뢰 규칙에 따라 가중치 부여: 백엔드는 Codex를 따르고, 프론트엔드는 Gemini를 따릅니다.
3. 필요한 수정 사항 실행.
4. 필요한 경우 5.1단계 반복 (위험이 허용 가능할 때까지).
#### 5.3 전달 확인
감사가 통과된 후 사용자에게 보고합니다:
```markdown
## 실행 완료
### 변경 요약
| 파일 | 작업 | 설명 |
|---|---|---|
| path/to/file.ts | 수정됨 | 설명 |
### 감사 결과
- Codex: <통과/N개 문제 발견>
- Gemini: <통과/N개 문제 발견>
### 권장 사항
1. [ ] <제안된 테스트 단계>
2. [ ] <제안된 검증 단계>
```
---
## 주요 규칙
1. **코드 주권** – 모든 파일 수정은 Claude가 수행하며, 외부 모델은 쓰기 액세스 권한이 없습니다.
2. **더티 프로토타입 리팩토링** – Codex/Gemini의 출력은 초안으로 취급되며, 리팩토링해야 합니다.
3. **신뢰 규칙** – 백엔드는 Codex를 따르고, 프론트엔드는 Gemini를 따릅니다.
4. **최소 변경** – 필요한 코드만 수정하고, 부작용이 없습니다.
5. **필수 감사** – 변경 후 반드시 다중 모델 코드 검토를 수행해야 합니다.
---
## 사용법
```bash
# 계획 파일 실행
/ccg:execute .claude/plan/feature-name.md
# 작업 직접 실행 (컨텍스트에서 이미 논의된 계획의 경우)
/ccg:execute 이전 계획을 기반으로 사용자 인증 구현
```
---
## /ccg:plan과의 관계
1. `/ccg:plan`은 계획 + SESSION_ID를 생성합니다.
2. 사용자가 "Y"로 확인합니다.
3. `/ccg:execute`는 계획을 읽고, SESSION_ID를 재사용하며, 구현을 실행합니다.필요한 도구
호버하면 설명CC
설치 + 호출 (2단계)
Claude Code CLI 기준.
- 1
SKILL.md 저장
아래 버튼으로 복사 → 다음 경로로 저장.
~/.claude/skills/everything-claude-code-139/SKILL.md - 2
호출
Claude Code 채팅창에서 자연어로 부르면 자동 발동:
예) 다중 모델 협력 실행이 필요한 경우에 사용합니다
트리거가 안 잡히면 SKILL.md의
description줄에 더 구체적인 한국어 키워드를 추가해보세요.