@kood/claude-code 0.7.9 → 0.7.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +549 -34
- package/package.json +1 -1
- package/templates/.claude/agents/codex.md +58 -248
- package/templates/.claude/commands/cancel-ralph.md +18 -0
- package/templates/.claude/commands/git-merge.md +67 -0
- package/templates/.claude/commands/ralph-loop.md +18 -0
- package/templates/.claude/hooks/ralph-stop-hook.sh +124 -0
- package/templates/.claude/scripts/git/git-merge.sh +73 -0
- package/templates/.claude/scripts/setup-ralph-loop.sh +161 -0
- package/templates/.claude/skills/codex/SKILL.md +110 -458
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: codex
|
|
3
|
-
description: Claude와 OpenAI Codex 페어 프로그래밍.
|
|
3
|
+
description: Claude와 OpenAI Codex 페어 프로그래밍. 자체 codex-mcp 서버로 자유 협업. Claude(창의적) + Codex(꼼꼼함) 강점 활용.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -13,22 +13,20 @@ user-invocable: true
|
|
|
13
13
|
|
|
14
14
|
# Codex Pair Programming Skill
|
|
15
15
|
|
|
16
|
-
> Claude
|
|
16
|
+
> Claude + codex-mcp 페어 프로그래밍. Claude(설계/창의) + Codex(구현/검증) 역할 분담.
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
20
|
<overview>
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
**codex-mcp 서버:** Rust MCP 바이너리 → OpenAI Responses API 직접 호출
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
- 분업 처리: 의견 다를 때만 사용자 선택
|
|
31
|
-
- Agent Teams: 복잡한 작업 시 팀 구성
|
|
24
|
+
| 특성 | 상세 |
|
|
25
|
+
|------|------|
|
|
26
|
+
| **인증** | Codex CLI OAuth (`~/.codex/auth.json`), 토큰 자동 갱신, 401시 강제 갱신+재시도 |
|
|
27
|
+
| **에이전트 루프** | `read_file`, `write_file`, `list_files`, `shell_exec` 자율 실행 |
|
|
28
|
+
| **세션** | `thread_id` 기반 컨텍스트 유지, 모델 세션간 자동 보존 |
|
|
29
|
+
| **보안** | 경로순회 방지, 프로세스그룹 격리, 동시요청 방지 |
|
|
32
30
|
|
|
33
31
|
</overview>
|
|
34
32
|
|
|
@@ -38,526 +36,180 @@ user-invocable: true
|
|
|
38
36
|
|
|
39
37
|
## 사전 요구사항
|
|
40
38
|
|
|
41
|
-
### Codex MCP 설정 필수
|
|
42
|
-
|
|
43
39
|
```bash
|
|
44
|
-
# Codex CLI
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
# Claude Code에 MCP 서버 추가
|
|
48
|
-
claude mcp add codex -- codex mcp-server
|
|
49
|
-
|
|
50
|
-
# 또는 ~/.claude.json에 직접 추가:
|
|
51
|
-
{
|
|
52
|
-
"mcpServers": {
|
|
53
|
-
"codex": {
|
|
54
|
-
"type": "stdio",
|
|
55
|
-
"command": "codex",
|
|
56
|
-
"args": ["mcp-server"]
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**MCP 미설정 시:** 스킬 실행 전 설정 안내 후 중단
|
|
63
|
-
|
|
64
|
-
</prerequisites>
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
<when_to_use>
|
|
69
|
-
|
|
70
|
-
## 사용 시점
|
|
71
|
-
|
|
72
|
-
| 상황 | 예시 |
|
|
73
|
-
|------|------|
|
|
74
|
-
| **복잡한 기능 구현** | "결제 시스템 리팩토링" |
|
|
75
|
-
| **코드 리뷰 + 개선** | "이 PR 리뷰하고 개선해줘" |
|
|
76
|
-
| **설계 + 구현 분리** | "아키텍처 설계 후 구현" |
|
|
77
|
-
| **병렬 작업** | "프론트/백엔드 동시 작업" |
|
|
78
|
-
| **세컨드 오피니언** | "이 접근법 괜찮은지 검토" |
|
|
79
|
-
| **엣지케이스 검증** | "이 코드 빈틈 찾아줘" |
|
|
80
|
-
|
|
81
|
-
## 호출 방법
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
/codex 사용자 인증 시스템 구현
|
|
85
|
-
|
|
86
|
-
/codex --review 최근 커밋 리뷰
|
|
40
|
+
# 1. Codex CLI OAuth 로그인
|
|
41
|
+
codex auth login
|
|
87
42
|
|
|
88
|
-
|
|
43
|
+
# 2. 빌드 + Claude Code 등록
|
|
44
|
+
cargo build -p codex-mcp --release
|
|
45
|
+
claude mcp add -s user codex -- /path/to/target/release/codex-mcp
|
|
89
46
|
```
|
|
90
47
|
|
|
91
|
-
|
|
48
|
+
또는 앱 설정 → **OpenAI / Codex** 탭 → **등록** 버튼.
|
|
92
49
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
<collaboration_modes>
|
|
96
|
-
|
|
97
|
-
## 협업 모드
|
|
98
|
-
|
|
99
|
-
| 모드 | 트리거 | Claude 역할 | Codex 역할 |
|
|
100
|
-
|------|--------|-------------|------------|
|
|
101
|
-
| **Solo+Review** | 단순 작업, 빠른 수정 | 전체 구현 | 최종 리뷰 |
|
|
102
|
-
| **Sequential** | 설계→구현 필요 | 아키텍처, 설계 | 구현, 테스트 |
|
|
103
|
-
| **Parallel** | 독립 작업 가능 | 창의적 부분 (A) | 꼼꼼한 부분 (B) |
|
|
104
|
-
| **Discussion** | 의견 필요, 트레이드오프 | 관점 A 제시 | 관점 B 제시 |
|
|
105
|
-
| **Teams** | 복잡한 멀티태스크 | 팀원으로 참여 | **Team Lead** |
|
|
106
|
-
|
|
107
|
-
### Codex Team Lead 원칙
|
|
108
|
-
|
|
109
|
-
> **Agent Teams 모드에서 Codex가 Team Lead 역할 담당**
|
|
50
|
+
**인증:** `~/.codex/auth.json` (OAuth 토큰, 자동 갱신)
|
|
110
51
|
|
|
111
|
-
|
|
112
|
-
|------|------|------|
|
|
113
|
-
| **Team Lead** | Codex | 꼼꼼한 태스크 관리, 품질 검증, 일정 조율 |
|
|
114
|
-
| **Teammates** | Claude, 기타 에이전트 | 창의적 설계, 구현, 문서화 |
|
|
115
|
-
|
|
116
|
-
**Codex Lead 강점:**
|
|
117
|
-
- 태스크 분해 및 추적 정밀
|
|
118
|
-
- 엣지케이스 누락 방지
|
|
119
|
-
- 코드 품질 게이트키핑
|
|
120
|
-
- 병합 충돌 사전 감지
|
|
121
|
-
|
|
122
|
-
### 자동 모드 선택
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
복잡도 판단 (Sequential Thinking)
|
|
126
|
-
│
|
|
127
|
-
├─ 단순 (1-2 파일) ────────→ Solo+Review
|
|
128
|
-
│
|
|
129
|
-
├─ 보통 (3-5 파일) ────────→ Sequential 또는 Parallel
|
|
130
|
-
│
|
|
131
|
-
├─ 복잡 (6+ 파일) ─────────→ Teams
|
|
132
|
-
│
|
|
133
|
-
└─ 의견 분기 ──────────────→ Discussion → 사용자 선택
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
</collaboration_modes>
|
|
52
|
+
</prerequisites>
|
|
137
53
|
|
|
138
54
|
---
|
|
139
55
|
|
|
140
|
-
<
|
|
141
|
-
|
|
142
|
-
## 실행 흐름
|
|
56
|
+
<codex_mcp_tools>
|
|
143
57
|
|
|
144
|
-
|
|
145
|
-
|-------|------|------|
|
|
146
|
-
| **0** | MCP 확인 + 복잡도 분석 | ToolSearch, sequentialthinking |
|
|
147
|
-
| **1** | 협업 모드 결정 | sequentialthinking |
|
|
148
|
-
| **2** | 역할 분담 + 작업 배분 | TodoWrite |
|
|
149
|
-
| **3** | 협업 실행 | Task (codex agent) + 직접 작업 |
|
|
150
|
-
| **4** | 결과 통합 + 충돌 해소 | 필요 시 AskUserQuestion |
|
|
151
|
-
| **5** | 최종 검증 + 커밋 | code-reviewer, git |
|
|
58
|
+
## MCP 도구
|
|
152
59
|
|
|
153
|
-
###
|
|
60
|
+
### mcp__codex__codex — 새 태스크
|
|
154
61
|
|
|
155
62
|
```typescript
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
// 복잡도 분석
|
|
162
|
-
sequentialthinking({
|
|
163
|
-
thought: "작업 복잡도 판단: 파일 수, 모듈 범위, 아키텍처 변경 여부"
|
|
63
|
+
mcp__codex__codex({
|
|
64
|
+
prompt: "작업 지시",
|
|
65
|
+
working_directory: "/path/to/project",
|
|
66
|
+
model: "gpt-5.3-codex high" // 선택 (세션에 저장, 생략 시 Codex CLI 기본값)
|
|
164
67
|
})
|
|
68
|
+
// → JSON { thread_id, result }
|
|
165
69
|
```
|
|
166
70
|
|
|
167
|
-
###
|
|
71
|
+
### mcp__codex__codex_reply — 세션 이어가기
|
|
168
72
|
|
|
169
73
|
```typescript
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
- 단순 (1-2 파일): Solo+Review
|
|
174
|
-
- 설계 필요: Sequential (Claude 설계 → Codex 구현)
|
|
175
|
-
- 독립 작업: Parallel (동시 진행)
|
|
176
|
-
- 트레이드오프: Discussion (양쪽 의견 → 사용자 선택)
|
|
177
|
-
- 복잡 (6+ 파일, 팀 소통): Teams
|
|
178
|
-
`
|
|
74
|
+
mcp__codex__codex_reply({
|
|
75
|
+
thread_id: "이전 thread_id",
|
|
76
|
+
prompt: "후속 지시 또는 리뷰 요청"
|
|
179
77
|
})
|
|
78
|
+
// → JSON { thread_id, result }
|
|
79
|
+
// 세션 모델 자동 유지
|
|
180
80
|
```
|
|
181
81
|
|
|
182
|
-
###
|
|
82
|
+
### 리뷰 패턴 (2단계)
|
|
183
83
|
|
|
184
|
-
**Solo+Review 모드:**
|
|
185
84
|
```typescript
|
|
186
|
-
//
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
Task({
|
|
191
|
-
subagent_type: 'codex',
|
|
192
|
-
prompt: `
|
|
193
|
-
리뷰 대상: [변경된 파일들]
|
|
194
|
-
검토 항목:
|
|
195
|
-
- 엣지케이스 누락
|
|
196
|
-
- 버그 가능성
|
|
197
|
-
- 성능 이슈
|
|
198
|
-
- 보안 취약점
|
|
199
|
-
`
|
|
85
|
+
// 1단계: 분석
|
|
86
|
+
const r = mcp__codex__codex({
|
|
87
|
+
prompt: "src/auth/ 코드 읽고 분석해줘",
|
|
88
|
+
working_directory: cwd
|
|
200
89
|
})
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
// Phase A: Claude 설계
|
|
206
|
-
sequentialthinking → 아키텍처 설계
|
|
207
|
-
→ 인터페이스 정의, 데이터 플로우
|
|
208
|
-
|
|
209
|
-
// Phase B: Codex 구현
|
|
210
|
-
Task({
|
|
211
|
-
subagent_type: 'codex',
|
|
212
|
-
prompt: `
|
|
213
|
-
Claude 설계 기반 구현:
|
|
214
|
-
[설계 문서]
|
|
215
|
-
|
|
216
|
-
구현 요구사항:
|
|
217
|
-
- 모든 엣지케이스 처리
|
|
218
|
-
- 타입 안정성 보장
|
|
219
|
-
- 테스트 포함
|
|
220
|
-
`
|
|
221
|
-
})
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
**Parallel 모드:**
|
|
225
|
-
```typescript
|
|
226
|
-
// 동시 실행
|
|
227
|
-
Task({
|
|
228
|
-
subagent_type: 'codex',
|
|
229
|
-
prompt: '백엔드 API 구현: [상세 요구사항]'
|
|
90
|
+
// 2단계: 리뷰
|
|
91
|
+
mcp__codex__codex_reply({
|
|
92
|
+
thread_id: r.thread_id,
|
|
93
|
+
prompt: "보안, 성능, 엣지케이스 리뷰"
|
|
230
94
|
})
|
|
231
|
-
|
|
232
|
-
// Claude: 프론트엔드 구현 (직접)
|
|
233
|
-
Edit/Write → 컴포넌트, 훅 작성
|
|
234
95
|
```
|
|
235
96
|
|
|
236
|
-
|
|
237
|
-
```typescript
|
|
238
|
-
// Codex 의견 수집
|
|
239
|
-
Task({
|
|
240
|
-
subagent_type: 'codex',
|
|
241
|
-
prompt: '이 접근법의 장단점 분석: [접근법 A]'
|
|
242
|
-
})
|
|
243
|
-
|
|
244
|
-
// Claude 의견 제시
|
|
245
|
-
sequentialthinking → 접근법 B 분석
|
|
246
|
-
|
|
247
|
-
// 충돌 시 사용자 선택
|
|
248
|
-
AskUserQuestion({
|
|
249
|
-
questions: [{
|
|
250
|
-
question: "어떤 접근법을 선택하시겠습니까?",
|
|
251
|
-
header: "Approach",
|
|
252
|
-
options: [
|
|
253
|
-
{ label: "접근법 A (Codex)", description: "[장점/단점]" },
|
|
254
|
-
{ label: "접근법 B (Claude)", description: "[장점/단점]" },
|
|
255
|
-
{ label: "하이브리드", description: "두 접근법 조합" }
|
|
256
|
-
]
|
|
257
|
-
}]
|
|
258
|
-
})
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
**Teams 모드 (Codex Lead):**
|
|
262
|
-
```typescript
|
|
263
|
-
// Agent Teams 가용 확인
|
|
264
|
-
if (AGENT_TEAMS_AVAILABLE) {
|
|
265
|
-
// Codex가 Team Lead로 팀 생성
|
|
266
|
-
TeamCreate({
|
|
267
|
-
team_name: "pair-codex",
|
|
268
|
-
description: "페어 프로그래밍",
|
|
269
|
-
agent_type: "codex" // Codex를 Team Lead로 지정
|
|
270
|
-
})
|
|
271
|
-
|
|
272
|
-
// Claude 팀원 스폰 (Codex Lead가 조율)
|
|
273
|
-
Task({
|
|
274
|
-
subagent_type: 'implementation-executor',
|
|
275
|
-
team_name: 'pair-codex',
|
|
276
|
-
name: 'claude-impl',
|
|
277
|
-
prompt: '창의적 설계 + 구현: [범위 A]'
|
|
278
|
-
})
|
|
279
|
-
|
|
280
|
-
Task({
|
|
281
|
-
subagent_type: 'architect',
|
|
282
|
-
team_name: 'pair-codex',
|
|
283
|
-
name: 'claude-arch',
|
|
284
|
-
prompt: '아키텍처 설계: [범위 B]'
|
|
285
|
-
})
|
|
286
|
-
|
|
287
|
-
// Codex Lead가 태스크 관리 + 품질 검증
|
|
288
|
-
// 완료 후 정리
|
|
289
|
-
SendMessage({ type: 'shutdown_request', recipient: 'claude-impl' })
|
|
290
|
-
SendMessage({ type: 'shutdown_request', recipient: 'claude-arch' })
|
|
291
|
-
TeamDelete()
|
|
292
|
-
}
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
### Phase 4: 결과 통합
|
|
97
|
+
</codex_mcp_tools>
|
|
296
98
|
|
|
297
|
-
|
|
298
|
-
// 충돌 확인
|
|
299
|
-
if (결과_충돌) {
|
|
300
|
-
AskUserQuestion → 사용자 선택
|
|
301
|
-
} else {
|
|
302
|
-
// 자동 병합
|
|
303
|
-
결과 통합 → 최종 코드
|
|
304
|
-
}
|
|
305
|
-
```
|
|
99
|
+
---
|
|
306
100
|
|
|
307
|
-
|
|
101
|
+
<collaboration_modes>
|
|
308
102
|
|
|
309
|
-
|
|
310
|
-
// 코드 리뷰
|
|
311
|
-
Task({ subagent_type: 'code-reviewer', prompt: '최종 변경사항 리뷰' })
|
|
103
|
+
## 협업 모드
|
|
312
104
|
|
|
313
|
-
|
|
314
|
-
|
|
105
|
+
| 모드 | 트리거 | Claude | Codex |
|
|
106
|
+
|------|--------|--------|-------|
|
|
107
|
+
| **Solo+Review** | 1-2 파일 | 구현 | 리뷰 |
|
|
108
|
+
| **Sequential** | 설계→구현 | 아키텍처 | 구현+테스트 |
|
|
109
|
+
| **Parallel** | 독립 작업 | 창의적 부분 | 꼼꼼한 부분 |
|
|
110
|
+
| **Discussion** | 트레이드오프 | 관점 A | 관점 B |
|
|
111
|
+
| **Teams** | 6+ 파일 | 팀원 | **Team Lead** |
|
|
315
112
|
|
|
316
|
-
|
|
317
|
-
git commit -m "feat: [작업 설명] (Claude+Codex pair)"
|
|
318
|
-
```
|
|
113
|
+
**모드 선택:** sequentialthinking으로 복잡도 판단 → 자동 선택
|
|
319
114
|
|
|
320
|
-
</
|
|
115
|
+
</collaboration_modes>
|
|
321
116
|
|
|
322
117
|
---
|
|
323
118
|
|
|
324
|
-
<
|
|
119
|
+
<workflow>
|
|
325
120
|
|
|
326
|
-
##
|
|
121
|
+
## 실행 흐름
|
|
327
122
|
|
|
328
|
-
|
|
|
329
|
-
|
|
330
|
-
|
|
|
331
|
-
|
|
|
332
|
-
|
|
|
123
|
+
| Phase | 작업 |
|
|
124
|
+
|-------|------|
|
|
125
|
+
| **0** | MCP 가용 확인 + 복잡도 분석 |
|
|
126
|
+
| **1** | 협업 모드 결정 |
|
|
127
|
+
| **2** | 역할 분담 (TodoWrite) |
|
|
128
|
+
| **3** | 협업 실행 (Task codex agent + 직접 작업) |
|
|
129
|
+
| **4** | 결과 통합 (충돌 시 AskUserQuestion) |
|
|
130
|
+
| **5** | 검증 + 커밋 |
|
|
333
131
|
|
|
334
|
-
###
|
|
132
|
+
### Solo+Review
|
|
335
133
|
|
|
336
134
|
```typescript
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
structured_output: true, // 구조화된 출력
|
|
342
|
-
working_directory: "/path" // 작업 디렉토리
|
|
343
|
-
})
|
|
135
|
+
// Claude 구현 → Codex 리뷰
|
|
136
|
+
Edit/Write → 코드 작성
|
|
137
|
+
const r = mcp__codex__codex({ prompt: "git diff 분석: [diff]", working_directory: cwd })
|
|
138
|
+
mcp__codex__codex_reply({ thread_id: r.thread_id, prompt: "버그, 보안, 엣지케이스 리뷰" })
|
|
344
139
|
```
|
|
345
140
|
|
|
346
|
-
###
|
|
141
|
+
### Sequential
|
|
347
142
|
|
|
348
143
|
```typescript
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
})
|
|
144
|
+
// Claude 설계 → Codex 구현
|
|
145
|
+
sequentialthinking → 아키텍처
|
|
146
|
+
Task({ subagent_type: 'codex', prompt: `Claude 설계 기반 구현: ${설계문서}` })
|
|
353
147
|
```
|
|
354
148
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
|
-
<examples>
|
|
360
|
-
|
|
361
|
-
## 실전 예시
|
|
362
|
-
|
|
363
|
-
### 예시 1: 단순 작업 (Solo+Review)
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
사용자: /codex 이 함수에 null 체크 추가해줘
|
|
367
|
-
|
|
368
|
-
# Phase 0: 복잡도 - 단순 (1 파일)
|
|
369
|
-
# Phase 1: 모드 - Solo+Review
|
|
370
|
-
|
|
371
|
-
# Claude 구현
|
|
372
|
-
Edit: src/utils/parser.ts
|
|
373
|
-
+ if (input == null) return null;
|
|
374
|
-
|
|
375
|
-
# Codex 리뷰
|
|
376
|
-
Task(codex): "null 체크 추가 리뷰"
|
|
377
|
-
→ "undefined도 체크 필요. input === null || input === undefined 권장"
|
|
378
|
-
|
|
379
|
-
# Claude 수정
|
|
380
|
-
Edit: src/utils/parser.ts
|
|
381
|
-
+ if (input == null) return null; // == 로 undefined도 처리
|
|
382
|
-
|
|
383
|
-
# 완료
|
|
384
|
-
git commit -m "fix: parser에 null 체크 추가"
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
### 예시 2: 설계→구현 (Sequential)
|
|
388
|
-
|
|
389
|
-
```bash
|
|
390
|
-
사용자: /codex 사용자 인증 시스템 구현
|
|
391
|
-
|
|
392
|
-
# Phase 0: 복잡도 - 보통 (4-5 파일)
|
|
393
|
-
# Phase 1: 모드 - Sequential
|
|
394
|
-
|
|
395
|
-
# Phase A: Claude 설계
|
|
396
|
-
sequentialthinking:
|
|
397
|
-
- JWT + httpOnly 쿠키 방식
|
|
398
|
-
- 인터페이스: AuthService, TokenManager
|
|
399
|
-
- 데이터 플로우: login → token → cookie
|
|
400
|
-
|
|
401
|
-
# Phase B: Codex 구현
|
|
402
|
-
Task(codex): "Claude 설계 기반 구현"
|
|
403
|
-
→ src/auth/AuthService.ts
|
|
404
|
-
→ src/auth/TokenManager.ts
|
|
405
|
-
→ src/auth/middleware.ts
|
|
406
|
-
→ tests/auth.test.ts
|
|
407
|
-
|
|
408
|
-
# Phase 4: 통합
|
|
409
|
-
Claude: 인터페이스 일관성 확인
|
|
410
|
-
Codex: 엣지케이스 테스트 추가
|
|
411
|
-
|
|
412
|
-
# Phase 5: 커밋
|
|
413
|
-
git commit -m "feat: JWT 기반 인증 시스템 구현"
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
### 예시 3: 복잡한 작업 (Teams)
|
|
417
|
-
|
|
418
|
-
```bash
|
|
419
|
-
사용자: /codex 결제 시스템 전체 리팩토링
|
|
420
|
-
|
|
421
|
-
# Phase 0: 복잡도 - 복잡 (10+ 파일)
|
|
422
|
-
# Phase 1: 모드 - Teams
|
|
423
|
-
|
|
424
|
-
# 팀 생성
|
|
425
|
-
TeamCreate("pair-codex")
|
|
149
|
+
### Teams (Codex Lead)
|
|
426
150
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
Task(
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
claude-design: 새 결제 플로우, 에러 핸들링 전략
|
|
434
|
-
|
|
435
|
-
# 결과 통합
|
|
436
|
-
→ 충돌: TransactionManager 구조
|
|
437
|
-
→ Discussion → 사용자 선택: Codex 안 채택
|
|
438
|
-
|
|
439
|
-
# 팀 정리
|
|
440
|
-
shutdown_request → TeamDelete
|
|
441
|
-
|
|
442
|
-
# 커밋
|
|
443
|
-
git commit -m "refactor: 결제 시스템 전면 리팩토링"
|
|
151
|
+
```typescript
|
|
152
|
+
TeamCreate({ team_name: "pair-codex", agent_type: "codex" })
|
|
153
|
+
Task({ subagent_type: 'implementation-executor', team_name: 'pair-codex', name: 'claude-impl', prompt: '...' })
|
|
154
|
+
// 완료 후
|
|
155
|
+
SendMessage({ type: 'shutdown_request', recipient: 'claude-impl' })
|
|
156
|
+
TeamDelete()
|
|
444
157
|
```
|
|
445
158
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
```bash
|
|
449
|
-
사용자: /codex 실시간 알림 구현 방식 결정해줘
|
|
450
|
-
|
|
451
|
-
# Phase 1: 모드 - Discussion
|
|
159
|
+
</workflow>
|
|
452
160
|
|
|
453
|
-
|
|
454
|
-
Task(codex): "실시간 알림 구현 방식 분석"
|
|
455
|
-
→ "WebSocket 권장: 양방향, 연결 유지, Socket.io 성숙"
|
|
161
|
+
---
|
|
456
162
|
|
|
457
|
-
|
|
458
|
-
sequentialthinking:
|
|
459
|
-
→ "SSE 권장: 단순, HTTP/2, 서버 부하 낮음"
|
|
163
|
+
<strengths>
|
|
460
164
|
|
|
461
|
-
|
|
462
|
-
AskUserQuestion:
|
|
463
|
-
- WebSocket (Codex): 양방향 필요 시
|
|
464
|
-
- SSE (Claude): 서버→클라이언트 단방향
|
|
465
|
-
- 하이브리드: 알림은 SSE, 채팅은 WebSocket
|
|
165
|
+
## 역할별 강점
|
|
466
166
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
167
|
+
| Claude 우선 | Codex 우선 |
|
|
168
|
+
|-------------|-----------|
|
|
169
|
+
| 아키텍처 설계 | 정밀 구현 |
|
|
170
|
+
| 창의적 해결책 | 엣지케이스 |
|
|
171
|
+
| 문제 재정의 | 코드 리뷰 |
|
|
172
|
+
| 통합 설계 | 테스트 작성 |
|
|
173
|
+
| 문서화 | 디버깅 |
|
|
470
174
|
|
|
471
|
-
</
|
|
175
|
+
</strengths>
|
|
472
176
|
|
|
473
177
|
---
|
|
474
178
|
|
|
475
179
|
<validation>
|
|
476
180
|
|
|
477
|
-
## 검증
|
|
181
|
+
## 검증
|
|
478
182
|
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
✅ Codex MCP 가용 확인 (ToolSearch)
|
|
483
|
-
✅ 복잡도 분석 (sequentialthinking)
|
|
484
|
-
✅ 협업 모드 결정
|
|
485
|
-
✅ 역할 분담 명확화
|
|
486
|
-
```
|
|
487
|
-
|
|
488
|
-
### 실행 중
|
|
489
|
-
|
|
490
|
-
```text
|
|
491
|
-
✅ 각 역할별 작업 범위 준수
|
|
492
|
-
✅ 파일 충돌 방지 (한 파일 = 한 담당)
|
|
493
|
-
✅ 진행 상황 추적 (TodoWrite)
|
|
494
|
-
✅ 중간 검증 수행
|
|
495
|
-
```
|
|
496
|
-
|
|
497
|
-
### 완료 후
|
|
498
|
-
|
|
499
|
-
```text
|
|
500
|
-
✅ 결과 통합 완료
|
|
501
|
-
✅ 충돌 해소 (필요 시 사용자 선택)
|
|
502
|
-
✅ 코드 리뷰 완료
|
|
503
|
-
✅ 테스트 통과
|
|
504
|
-
✅ Teams 사용 시 정리 (shutdown + TeamDelete)
|
|
505
|
-
```
|
|
506
|
-
|
|
507
|
-
## 금지 사항
|
|
508
|
-
|
|
509
|
-
```text
|
|
510
|
-
❌ MCP 미설정 상태로 진행
|
|
511
|
-
❌ 복잡도 분석 없이 모드 선택
|
|
512
|
-
❌ 같은 파일을 Claude/Codex 동시 수정
|
|
513
|
-
❌ 충돌 무시하고 임의 선택
|
|
514
|
-
❌ Teams 사용 후 정리 없이 종료
|
|
515
|
-
❌ Codex 결과 검증 없이 수용
|
|
516
|
-
❌ Claude 설계 없이 복잡한 작업 시작
|
|
517
|
-
```
|
|
183
|
+
**실행 전:** MCP 가용 확인 → Codex 로그인 확인 → 복잡도 분석 → 모드/역할 결정
|
|
184
|
+
**실행 중:** 역할 범위 준수, 파일 충돌 방지 (한 파일 = 한 담당), TodoWrite 추적
|
|
185
|
+
**완료 후:** 결과 통합 → 코드 리뷰 → 테스트 통과 → Teams 정리
|
|
518
186
|
|
|
519
187
|
</validation>
|
|
520
188
|
|
|
521
189
|
---
|
|
522
190
|
|
|
523
|
-
<
|
|
524
|
-
|
|
525
|
-
## 역할별 강점 활용
|
|
526
|
-
|
|
527
|
-
### Claude 강점 (우선 위임)
|
|
528
|
-
|
|
529
|
-
| 영역 | 예시 |
|
|
530
|
-
|------|------|
|
|
531
|
-
| **아키텍처 설계** | 시스템 구조, 모듈 분리 |
|
|
532
|
-
| **창의적 해결책** | 새로운 접근법, 패턴 제안 |
|
|
533
|
-
| **문제 재정의** | 요구사항 분석, 본질 파악 |
|
|
534
|
-
| **통합 설계** | 여러 시스템 연결, 데이터 플로우 |
|
|
535
|
-
| **문서화** | 설계 문서, API 문서 |
|
|
536
|
-
|
|
537
|
-
### Codex 강점 (우선 위임)
|
|
191
|
+
<forbidden>
|
|
538
192
|
|
|
539
|
-
|
|
|
193
|
+
| 금지 | 대안 |
|
|
540
194
|
|------|------|
|
|
541
|
-
|
|
|
542
|
-
|
|
|
543
|
-
|
|
|
544
|
-
|
|
|
545
|
-
| **디버깅** | 버그 원인 분석, 수정 |
|
|
195
|
+
| MCP 미설정으로 진행 | 설정 안내 후 중단 |
|
|
196
|
+
| 같은 파일 동시 수정 | 작업 범위 분리 |
|
|
197
|
+
| 충돌 시 임의 결정 | AskUserQuestion |
|
|
198
|
+
| Codex 결과 무검증 수용 | 리뷰 + 테스트 |
|
|
546
199
|
|
|
547
|
-
</
|
|
200
|
+
</forbidden>
|
|
548
201
|
|
|
549
202
|
---
|
|
550
203
|
|
|
551
204
|
<troubleshooting>
|
|
552
205
|
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
|
556
|
-
|
|
557
|
-
|
|
|
558
|
-
|
|
|
559
|
-
|
|
|
560
|
-
|
|
|
561
|
-
| 파일 충돌 | 동시 수정 | 작업 범위 재분배 |
|
|
206
|
+
| 에러 | 해결 |
|
|
207
|
+
|------|------|
|
|
208
|
+
| MCP 연결 실패 | 앱 설정 → OpenAI/Codex → 등록 |
|
|
209
|
+
| 401 인증 오류 | `codex auth login` |
|
|
210
|
+
| 토큰 갱신 실패 | `codex auth login` 재실행 |
|
|
211
|
+
| 타임아웃 | 재시도 |
|
|
212
|
+
| 세션 not found | 새 `codex` 세션 시작 |
|
|
213
|
+
| 동시 요청 에러 | 이전 요청 완료 대기 |
|
|
562
214
|
|
|
563
215
|
</troubleshooting>
|