triflux 8.3.0 → 8.4.0

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.
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: tfx-autoroute
3
+ description: "작업 유형에 따라 최적 모델을 자동 선택하여 실행해야 할 때 사용한다. 'sisyphus', '시지프스', 'auto-route', '알아서 라우팅', '최적 모델로' 같은 요청에 사용. 어떤 CLI를 쓸지 모르겠을 때, 또는 실패 시 자동 모델 승격이 필요할 때 적극 활용."
4
+ triggers:
5
+ - sisyphus
6
+ - 끝없이
7
+ - never stop
8
+ - 시지프스
9
+ - auto-route
10
+ argument-hint: "<작업 설명>"
11
+ ---
12
+
13
+ # tfx-autoroute — Auto-Routing Autonomous Executor
14
+
15
+ > oh-my-openagent Sisyphus agent 오마주. 바위는 멈추지 않는다 — 그리고 올바른 산을 고른다.
16
+ > "실패하면 더 강한 모델로. 성공할 때까지."
17
+
18
+ ## 용도
19
+
20
+ - 작업 유형을 모르겠을 때 자동으로 최적 CLI 선택
21
+ - 실패 허용 없이 끝까지 완수해야 할 때
22
+ - Haiku로 충분한 작업에 Opus를 낭비하지 않을 때
23
+ - 비용 최적화 + 완수율 극대화
24
+
25
+ ## 핵심 원리
26
+
27
+ ```
28
+ 1. IntentGate로 작업 유형 분류
29
+ 2. 유형에 맞는 최적 CLI/모델에 라우팅
30
+ 3. 실패 시 자동 승격 (Haiku → Sonnet → Opus, Codex normal → xhigh)
31
+ 4. 최종 실패 시에만 사용자에게 보고
32
+ ```
33
+
34
+ ## 워크플로우
35
+
36
+ ### Step 0: 라우팅 전략 선택
37
+
38
+ 실행 전에 AskUserQuestion으로 모델 라우팅 전략을 선택받는다:
39
+
40
+ ```
41
+ AskUserQuestion:
42
+ "기본 라우팅 전략을 선택하세요:"
43
+ 1. 자동 (IntentGate 판단) [기본]
44
+ 2. 성능 우선 (Codex 위주)
45
+ 3. 비용 절약 (Haiku 위주)
46
+ 4. 정확도 우선 (Opus 위주)
47
+ ```
48
+
49
+ - 1번 선택 → Step 1의 IntentGate 분류를 정상 수행
50
+ - 2번 선택 → primary_cli를 Codex(xhigh)로 고정, 실패 시에만 Opus fallback
51
+ - 3번 선택 → primary_cli를 Claude Haiku로 고정, 실패 시 Sonnet → Codex 순 승격
52
+ - 4번 선택 → primary_cli를 Claude Opus로 고정, fallback 없음
53
+
54
+ 사용자가 빈 응답을 보내면 기본값 1번(자동)을 적용한다.
55
+
56
+ ### Step 1: IntentGate 분류
57
+
58
+ 사용자 입력을 분석하여 작업 카테고리와 복잡도를 판단한다:
59
+
60
+ ```
61
+ 분류 결과:
62
+ {
63
+ "category": "visual | deep | quick | code | research | review",
64
+ "complexity": "trivial | simple | moderate | complex | extreme",
65
+ "estimated_tokens": N,
66
+ "routing": {
67
+ "primary_cli": "gemini | codex | claude",
68
+ "primary_model": "flash | normal | haiku",
69
+ "fallback_chain": ["sonnet", "opus"]
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### Step 2: 카테고리 라우팅
75
+
76
+ | 카테고리 | Primary CLI | Primary 모델 | 이유 |
77
+ |----------|-------------|-------------|------|
78
+ | visual (UI/디자인/멀티모달) | Gemini | flash | 시각적 처리 최적 |
79
+ | deep (아키텍처/설계/분석) | Codex | xhigh | 깊은 추론 필요 |
80
+ | quick (간단한 수정/질문) | Claude | haiku | 최소 비용 |
81
+ | code (구현/디버깅/리팩터링) | Codex | normal | 코드 작성 최적 |
82
+ | research (검색/문서/조사) | Codex | normal | MCP 접근 |
83
+ | review (리뷰/검증/QA) | Codex | thorough | 꼼꼼한 검토 |
84
+
85
+ ### Step 3: 실행
86
+
87
+ 라우팅 결과에 따라 실행한다:
88
+
89
+ ```
90
+ if primary_cli == "codex":
91
+ Bash("codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check '{prompt}'")
92
+
93
+ elif primary_cli == "gemini":
94
+ Bash("gemini -y -p '{prompt}'")
95
+
96
+ elif primary_cli == "claude":
97
+ if primary_model == "haiku":
98
+ Agent(model="haiku", prompt="{prompt}")
99
+ else:
100
+ Agent(model="sonnet", prompt="{prompt}")
101
+ ```
102
+
103
+ ### Step 4: 실패 감지 및 자동 승격
104
+
105
+ 실행 결과를 평가하고, 실패 시 fallback chain을 따라 승격한다:
106
+
107
+ ```
108
+ 실패 판단 기준:
109
+ - exit_code != 0
110
+ - 출력에 "error", "failed", "unable to" 포함
111
+ - 출력이 비어 있음
112
+ - 출력이 프롬프트를 반복하기만 함 (hallucination)
113
+
114
+ 승격 체인:
115
+ Level 0: primary (최소 비용)
116
+ ↓ 실패
117
+ Level 1: 동일 CLI, 모델 한 단계 승격
118
+ 예: haiku → sonnet, codex normal → codex xhigh
119
+ ↓ 실패
120
+ Level 2: CLI 전환 + 강한 모델
121
+ 예: gemini → codex xhigh, codex → claude opus
122
+ ↓ 실패
123
+ Level 3: Claude Opus 직접 실행 (최후 수단)
124
+ ↓ 실패
125
+ Level 4: 사용자에게 보고 + 도움 요청 (AskUserQuestion)
126
+ ```
127
+
128
+ ### Step 5: 결과 보고
129
+
130
+ ```markdown
131
+ ## Sisyphus 완료
132
+
133
+ **작업**: {task_description}
134
+ **분류**: {category} / {complexity}
135
+ **라우팅**: {primary_cli} ({primary_model})
136
+ **승격 횟수**: {escalation_count}
137
+ **최종 실행**: {final_cli} ({final_model})
138
+
139
+ ### 실행 경로
140
+ | 시도 | CLI | 모델 | 결과 | 토큰 |
141
+ |------|-----|------|------|------|
142
+ | 1 | Haiku | haiku | 실패 (불완전) | ~1K |
143
+ | 2 | Codex | normal | 성공 | ~3K |
144
+
145
+ ### 결과
146
+ {output}
147
+
148
+ ### 비용 절감
149
+ Primary Opus였다면: ~{opus_cost}K tokens
150
+ 실제 사용: ~{actual_cost}K tokens
151
+ 절감: {savings}%
152
+ ```
153
+
154
+ ## Anti-Stuck 메커니즘
155
+
156
+ ```
157
+ 같은 에러로 2회 연속 실패 시:
158
+ → 에러 메시지를 다음 프롬프트에 포함하여 우회 시도
159
+
160
+ 승격 체인 전체 소진 시 (Level 4):
161
+ → AskUserQuestion: "다음 작업이 모든 모델에서 실패했습니다.
162
+ 에러: {error}. 접근 방식을 변경하시겠습니까?"
163
+ ```
164
+
165
+ ## 토큰 예산
166
+
167
+ 가변. 최소 비용 라우팅이 핵심이므로 고정 예산 없음.
168
+
169
+ | 시나리오 | 예상 토큰 |
170
+ |----------|----------|
171
+ | 1회 성공 (haiku) | ~2K |
172
+ | 1회 성공 (codex) | ~5K |
173
+ | 1회 승격 후 성공 | ~8K |
174
+ | 2회 승격 후 성공 | ~15K |
175
+ | 전체 체인 소진 | ~25K |
176
+
177
+ ## 사용 예
178
+
179
+ ```
180
+ /tfx-autoroute "이 함수의 타입 에러 수정해"
181
+ /tfx-autoroute "프로젝트 구조 분석해서 아키텍처 다이어그램 만들어"
182
+ /tfx-autoroute "README.md 한국어로 번역"
183
+ /시지프스 "테스트 커버리지 80%까지 올려"
184
+ ```
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: tfx-consensus
3
+ description: 3자 합의 엔진 — 모든 Deep 스킬의 핵심 인프라. Claude/Codex/Gemini 독립 분석 결과를 교차검증하여 편향 없는 합의를 도출한다.
4
+ triggers: []
5
+ argument-hint: "(내부 전용 — Deep 스킬이 자동 호출)"
6
+ ---
7
+
8
+ # tfx-consensus — Tri-CLI Consensus Engine
9
+
10
+ > 모든 Deep 스킬의 공통 기반. 3개 CLI의 독립 결과를 교차검증하여 합의 도출.
11
+
12
+ ## Core Protocol
13
+
14
+ 이 스킬은 직접 호출하지 않는다. `tfx-deep-*` 스킬이 내부적으로 사용한다.
15
+
16
+ ## Consensus Algorithm
17
+
18
+ ### Phase 1: Independent Analysis (Anti-Herding)
19
+
20
+ 3개 CLI가 **동시에, 상호 결과를 보지 않고** 독립 분석한다. 이것이 핵심이다 — 한 CLI의 결과가 다른 CLI에 영향을 주면 편향이 발생한다.
21
+
22
+ ```
23
+ 실행 방식:
24
+ ├─ Claude (Opus/Sonnet): Agent() 또는 /team worker로 실행
25
+ ├─ Codex: Bash("codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check '{prompt}'")
26
+ └─ Gemini: Bash("gemini -y -p '{prompt}'")
27
+
28
+ 각 CLI에게 동일한 프롬프트를 전달하되, 출력 형식을 JSON으로 강제:
29
+ {
30
+ "findings": [
31
+ { "id": "F1", "category": "...", "severity": "critical|high|medium|low", "description": "...", "evidence": "..." }
32
+ ],
33
+ "summary": "...",
34
+ "confidence": 0.0-1.0
35
+ }
36
+ ```
37
+
38
+ ### Phase 2: Cross-Validation
39
+
40
+ Claude가 3개 결과를 통합하여 교차검증한다:
41
+
42
+ ```
43
+ 입력: result_claude, result_codex, result_gemini
44
+
45
+ for each finding in ALL results:
46
+ agreement_count = count(CLIs that found this or similar finding)
47
+
48
+ if agreement_count >= 2:
49
+ mark as "CONSENSUS" (합의됨)
50
+ elif agreement_count == 1:
51
+ mark as "DISPUTED" (미합의 — 추가 검증 필요)
52
+
53
+ consensus_score = len(CONSENSUS) / len(ALL_UNIQUE) * 100
54
+ ```
55
+
56
+ ### Phase 3: Resolution (consensus_score < 70일 때)
57
+
58
+ ```
59
+ 미합의 항목에 대해 2차 라운드:
60
+ 1. 각 CLI에게 다른 두 CLI의 반대 논거를 제시
61
+ 2. "수용(accept) 또는 반박(rebut)으로 응답하라"
62
+ 3. 수용이 2개 이상이면 CONSENSUS로 승격
63
+ 4. 여전히 미합의이면 사용자에게 판단 요청 (AskUserQuestion)
64
+ ```
65
+
66
+ ### Learned Weights (시간 기반 신뢰도)
67
+
68
+ ```
69
+ 각 CLI의 historical accuracy를 .omc/state/consensus-weights.json에 저장:
70
+ {
71
+ "claude": { "accuracy": 0.85, "total": 100, "correct": 85 },
72
+ "codex": { "accuracy": 0.82, "total": 100, "correct": 82 },
73
+ "gemini": { "accuracy": 0.78, "total": 100, "correct": 78 }
74
+ }
75
+
76
+ 가중 투표 시 accuracy를 weight로 사용:
77
+ weighted_score = (claude_vote * 0.85 + codex_vote * 0.82 + gemini_vote * 0.78) / (0.85 + 0.82 + 0.78)
78
+ ```
79
+
80
+ ## Output Format
81
+
82
+ ```json
83
+ {
84
+ "consensus_score": 85,
85
+ "consensus_items": [...],
86
+ "disputed_items": [...],
87
+ "resolved_items": [...],
88
+ "user_decision_needed": [...],
89
+ "cli_weights": { "claude": 0.85, "codex": 0.82, "gemini": 0.78 }
90
+ }
91
+ ```
92
+
93
+ ## Integration Point
94
+
95
+ Deep 스킬에서 사용하는 방법:
96
+
97
+ ```
98
+ 1. 프롬프트 준비 (주제 + 분석 관점 + 출력 형식)
99
+ 2. 3개 CLI 병렬 실행 (Bash background + Agent background)
100
+ 3. 결과 수집
101
+ 4. 위 Consensus Algorithm 적용
102
+ 5. consensus_score >= 70 → 확정
103
+ 6. consensus_score < 70 → Resolution Phase 진입
104
+ 7. 최종 결과를 호출 스킬에 반환
105
+ ```
106
+
107
+ ## Token Budget
108
+
109
+ - Phase 1 (3x 독립분석): ~15K (각 5K)
110
+ - Phase 2 (교차검증): ~3K
111
+ - Phase 3 (Resolution, 필요 시): ~8K
112
+ - **총합**: 18-26K tokens
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: tfx-debate
3
+ description: "기술 선택, 아키텍처 비교, 설계 결정에서 3-CLI 구조화 토론으로 최적 답을 도출한다. 'A vs B', '뭐가 나을까', '비교해줘', '어떤 걸 쓸까', '장단점', 'tradeoff' 같은 비교/선택 요청에 반드시 사용한다. 단순 질문이 아닌 여러 옵션 사이의 결정이 필요할 때 적극 활용."
4
+ triggers:
5
+ - debate
6
+ - 토론
7
+ - 3자 토론
8
+ - tri-debate
9
+ - 멀티모델 토론
10
+ argument-hint: "<토론 주제 또는 질문>"
11
+ ---
12
+
13
+ # tfx-debate — Tri-CLI Structured Debate
14
+
15
+ > 3개 CLI가 독립 분석 → 교차검증 → 합의 도출. Anti-herding으로 편향 없는 결론.
16
+
17
+ ## 용도
18
+
19
+ - 설계 결정에서 최적 방향을 찾을 때
20
+ - 코드 아키텍처 선택지 비교
21
+ - 기술 선택 (프레임워크, 라이브러리, 접근법)
22
+ - 요구사항 해석이 모호할 때
23
+ - 어떤 주제든 다관점 분석이 필요할 때
24
+
25
+ ## 워크플로우
26
+
27
+ ### Step 1: 주제 파싱
28
+
29
+ 사용자 입력에서 토론 주제를 추출한다. 주제가 모호하거나 비교 대상이 불명확하면 AskUserQuestion으로 명확화한다:
30
+
31
+ ```
32
+ AskUserQuestion:
33
+ "토론 주제를 더 구체적으로 선택해주세요:"
34
+ 1. {옵션A} vs {옵션B} 기술 비교
35
+ 2. {주제} 아키텍처 접근법 비교
36
+ 3. 직접 입력
37
+ ```
38
+
39
+ 주제가 명확한 경우 (예: "REST vs GraphQL") 이 단계를 건너뛴다.
40
+
41
+ ```
42
+ 입력: "REST vs GraphQL for our microservice API"
43
+ 파싱: {
44
+ topic: "REST vs GraphQL for microservice API",
45
+ context: (프로젝트 컨텍스트에서 자동 추출),
46
+ options: ["REST", "GraphQL"], // 식별 가능하면
47
+ criteria: ["성능", "개발 생산성", "유지보수", "학습 곡선"]
48
+ }
49
+ ```
50
+
51
+ ### Step 2: 독립 분석 (Anti-Herding)
52
+
53
+ **반드시 3개를 동시에, 상호 결과 비공개로 실행한다.**
54
+
55
+ ```
56
+ Claude (Agent, background):
57
+ "당신은 소프트웨어 아키텍트입니다. {topic}에 대해 분석하세요.
58
+ 프로젝트 컨텍스트: {context}
59
+ 각 옵션의 장점, 단점, 리스크를 구조화하세요.
60
+ 최종 추천과 근거를 제시하세요.
61
+ JSON 형식으로 출력하세요: { recommendation, reasoning, pros, cons, risks, confidence }"
62
+
63
+ Codex (Bash, background):
64
+ codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
65
+ "당신은 시니어 백엔드 엔지니어입니다. {topic}에 대해 구현 관점에서 분석하세요.
66
+ {context} 기반으로 각 옵션의 기술적 트레이드오프를 평가하세요.
67
+ JSON: { recommendation, reasoning, pros, cons, risks, confidence }"
68
+
69
+ Gemini (Bash, background):
70
+ gemini -y -p \
71
+ "당신은 DevOps/인프라 엔지니어이자 DX 전문가입니다. {topic}에 대해 운영+개발자경험 관점에서 분석하세요.
72
+ {context}. JSON: { recommendation, reasoning, pros, cons, risks, confidence }"
73
+ ```
74
+
75
+ ### Step 3: 결과 수집 및 교차검증
76
+
77
+ 3개 결과가 모두 수집되면 tfx-consensus 프로토콜 적용:
78
+
79
+ ```
80
+ 합의 분석:
81
+ - 3/3 동일 추천 → "만장일치" (Strong Consensus)
82
+ - 2/3 동일 추천 → "다수 합의" (Majority Consensus)
83
+ - 3개 모두 다름 → "불일치" (Disputed → Round 2 필요)
84
+
85
+ 항목별 교차검증:
86
+ - 2+ CLI가 동일 장점/단점 지적 → 확정
87
+ - 1개 CLI만 지적 → "미검증" 표시
88
+ ```
89
+
90
+ ### Step 4: 토론 라운드 (불일치 시)
91
+
92
+ 불일치 항목이 있으면 2차 라운드 진행:
93
+
94
+ ```
95
+ 각 CLI에게:
96
+ "다음은 다른 두 분석가의 결론입니다:
97
+ 분석가 A: {other_1.recommendation} — 근거: {other_1.reasoning}
98
+ 분석가 B: {other_2.recommendation} — 근거: {other_2.reasoning}
99
+
100
+ 당신의 원래 입장: {own.recommendation}
101
+
102
+ 다른 분석가의 논거를 검토한 후:
103
+ 1. 수용할 점이 있으면 입장을 수정하세요
104
+ 2. 반박할 점이 있으면 근거를 제시하세요
105
+ 3. 최종 추천을 다시 제출하세요"
106
+ ```
107
+
108
+ ### Step 5: 최종 종합
109
+
110
+ ```
111
+ Claude Opus가 전체 토론을 종합하여 최종 보고서 작성:
112
+
113
+ ## 토론 결과: {topic}
114
+
115
+ ### 합의 사항 (Consensus Score: {score}%)
116
+ - [항목 1] — 3/3 합의
117
+ - [항목 2] — 2/3 합의 (반대: {dissenter} — 근거: {reason})
118
+
119
+ ### 최종 추천
120
+ {recommendation}
121
+
122
+ ### 근거 (3자 종합)
123
+ {synthesized_reasoning}
124
+
125
+ ### 리스크 및 완화 방안
126
+ {risks_and_mitigations}
127
+
128
+ ### 불일치 (해소되지 않은 항목)
129
+ {unresolved_disputes — if any}
130
+ ```
131
+
132
+ ## 토큰 예산
133
+
134
+ | 단계 | 토큰 |
135
+ |------|------|
136
+ | Step 2 (3x 독립) | ~15K |
137
+ | Step 3 (교차검증) | ~2K |
138
+ | Step 4 (토론, 필요시) | ~8K |
139
+ | Step 5 (종합) | ~3K |
140
+ | **총합** | **20-28K** |
141
+
142
+ ## 사용 예
143
+
144
+ ```
145
+ /tfx-debate "우리 서비스에 Redis vs PostgreSQL LISTEN/NOTIFY for real-time events"
146
+ /tfx-debate "모노레포 vs 멀티레포 for our 3-service architecture"
147
+ /tfx-debate "이 함수를 리팩터링할 때 Strategy 패턴 vs 단순 switch-case"
148
+ ```
@@ -0,0 +1,186 @@
1
+ ---
2
+ name: tfx-deep-analysis
3
+ description: "다각도 심층 분석이 필요할 때 사용한다. 'deep analyze', '심층 분석', '제대로 분석', '3관점 분석', '편향 없이 분석' 같은 요청에 사용. 아키텍처 결정, 기술 부채 평가, 대규모 리팩터링 전 분석에 적극 활용."
4
+ triggers:
5
+ - deep analyze
6
+ - 심층 분석
7
+ - deep-analysis
8
+ argument-hint: "<분석 대상 — 파일, 디렉토리, 또는 주제>"
9
+ ---
10
+
11
+ # tfx-deep-analysis — Tri-CLI Deep Analysis
12
+
13
+ > Claude(아키텍처) + Codex(구현/보안) + Gemini(UX/문서화) → Tri-Debate → 합의.
14
+ > 3자 전문 관점의 편향 없는 분석.
15
+
16
+ ## 핵심 원리
17
+
18
+ **Tri-Perspective**: 아키텍처/구현보안/UX문서 3축으로 분석하여 단일 관점 편향 제거.
19
+ **Tri-Debate**: 독립 분석 후 교차 토론으로 합의 도출. 불일치 항목도 명시적으로 보고.
20
+
21
+ ## 용도
22
+
23
+ - 아키텍처 결정 전 종합 분석
24
+ - 레거시 코드베이스 상태 진단
25
+ - 보안 + 성능 + UX 교차 분석
26
+ - 기술 부채 종합 평가
27
+ - 리팩터링 범위 결정
28
+ - 마이그레이션 전 영향도 분석
29
+
30
+ ## 워크플로우
31
+
32
+ ### Phase 1: 대상 수집 및 범위 설정
33
+
34
+ ```
35
+ Claude가 분석 대상을 파싱하고 범위를 정의:
36
+ {
37
+ "target": "{path_or_topic}",
38
+ "scope": "디렉토리 전체 — 하위 모듈 포함",
39
+ "analysis_depth": "파일 구조 + 코드 본문 + 의존성",
40
+ "focus_areas": ["아키텍처", "보안", "성능", "DX"]
41
+ }
42
+ ```
43
+
44
+ ### Phase 2: 3-CLI 독립 분석 (Anti-Herding)
45
+
46
+ **3개 CLI가 동시에, 상호 결과를 보지 않고 전문 관점에서 분석한다.**
47
+
48
+ ```
49
+ Claude Opus (아키텍처/설계, background):
50
+ "소프트웨어 아키텍트로서 분석하라:
51
+ 대상: {target}
52
+
53
+ 분석 렌즈:
54
+ 1. 아키텍처 — 레이어 분리, 의존성 방향, 순환 참조
55
+ 2. 설계 패턴 — SOLID 준수, 적절한 추상화 수준
56
+ 3. 모듈 응집도/결합도 — cohesion/coupling 평가
57
+ 4. 확장성 — 새 요구사항 추가 시 변경 범위
58
+ 5. 테스트 용이성 — DI, 인터페이스, mock 가능성
59
+
60
+ JSON: { findings: [{id, category, severity, description, location, recommendation}],
61
+ architecture_diagram: '텍스트 기반 구조도',
62
+ health_score: 0-100 }"
63
+
64
+ Codex (구현/성능/보안, background):
65
+ codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
66
+ "시니어 엔지니어+보안 전문가로서 분석하라:
67
+ 대상: {target}
68
+
69
+ 분석 렌즈:
70
+ 1. 구현 품질 — 복잡도, 중복, 에러 핸들링
71
+ 2. 성능 — 알고리즘 효율, 메모리 패턴, I/O 병목
72
+ 3. 보안 — OWASP Top 10, 입력 검증, 인증/인가
73
+ 4. 안정성 — 에러 전파, 장애 격리, 리소스 관리
74
+ 5. 기술 부채 — deprecated API, TODO, 하드코딩
75
+
76
+ JSON: { findings: [...], metrics: {complexity, loc, tech_debt_hours},
77
+ health_score: 0-100 }"
78
+
79
+ Gemini (UX/문서화/접근성, background):
80
+ gemini -y -p \
81
+ "UX 엔지니어+테크니컬 라이터로서 분석하라:
82
+ 대상: {target}
83
+
84
+ 분석 렌즈:
85
+ 1. DX(개발자 경험) — API 직관성, 에러 메시지, 사용 용이성
86
+ 2. 문서화 — JSDoc/주석 품질, README, 예제 코드
87
+ 3. 접근성 — UI가 있으면 WCAG 2.1 AA, 키보드/스크린리더
88
+ 4. 국제화 — 하드코딩 문자열, 로케일 처리
89
+ 5. 네이밍 — 일관성, 도메인 언어, 가독성
90
+
91
+ JSON: { findings: [...], documentation_score: 0-100,
92
+ health_score: 0-100 }"
93
+ ```
94
+
95
+ ### Phase 3: Tri-Debate (교차검증)
96
+
97
+ 3개 결과를 수집한 후, 각 CLI에게 다른 두 CLI의 분석을 제시하여 교차검증:
98
+
99
+ ```
100
+ 각 CLI에게:
101
+ "다른 두 분석가의 결과입니다:
102
+ 분석가 A: {findings_summary_a}
103
+ 분석가 B: {findings_summary_b}
104
+
105
+ 1. 동의하는 발견에 '+1' 표시
106
+ 2. 반대하는 발견에 근거를 제시하여 반박
107
+ 3. 다른 분석가가 놓친 중요 사항 추가
108
+ 4. health_score를 재조정하라"
109
+
110
+ 결과: tfx-consensus 프로토콜로 합의 도출
111
+ - 3/3 동의 → CONFIRMED
112
+ - 2/3 동의 → LIKELY (반대 의견 첨부)
113
+ - 1/3만 지적 → UNVERIFIED
114
+ ```
115
+
116
+ ### Phase 4: 합의 종합 보고서
117
+
118
+ ```markdown
119
+ # Deep Analysis Report: {target}
120
+ **Consensus Score**: {score}% | **Analysts**: Claude/Codex/Gemini
121
+ **Health Score**: {weighted_avg}/100
122
+
123
+ ## Executive Summary
124
+ {3-5줄 핵심 요약 — 3자 합의 기반}
125
+
126
+ ## Architecture
127
+ {Claude 주도 분석 + Codex/Gemini 교차검증}
128
+ ### 구조도
129
+ {텍스트 기반 아키텍처 다이어그램}
130
+ ### 강점
131
+ - {3/3 합의된 아키텍처 강점}
132
+ ### 약점
133
+ - {2+ 합의된 아키텍처 약점}
134
+
135
+ ## 발견사항 (합의된 항목)
136
+
137
+ ### Critical
138
+ - [C1] `{file}:{line}` — {description} — {3/3}
139
+ - 아키텍처: {Claude} | 구현: {Codex} | DX: {Gemini}
140
+ - **권장**: {recommendation}
141
+
142
+ ### High
143
+ - [H1] ...
144
+
145
+ ### Medium
146
+ - [M1] ...
147
+
148
+ ## 메트릭
149
+ | 항목 | 값 | 평가 |
150
+ |------|-----|------|
151
+ | 아키텍처 건강도 | {Claude score}/100 | {평가} |
152
+ | 구현 품질 | {Codex score}/100 | {평가} |
153
+ | DX/문서화 | {Gemini score}/100 | {평가} |
154
+ | 종합 (가중평균) | {avg}/100 | {평가} |
155
+ | 기술 부채 추정 | {hours}h | {심각도} |
156
+
157
+ ## 개선 로드맵 (합의 순)
158
+ | 우선순위 | 항목 | 예상 공수 | 합의도 |
159
+ |---------|------|----------|--------|
160
+ | P0 | {item} | {hours}h | 3/3 |
161
+ | P1 | {item} | {hours}h | 2/3 |
162
+
163
+ ## Unverified (참고용)
164
+ - [U1] {description} (by {single_cli})
165
+
166
+ ## 불일치 사항
167
+ - {항목}: Claude는 {X}, Codex는 {Y}, Gemini는 {Z}
168
+ ```
169
+
170
+ ## 토큰 예산
171
+
172
+ | Phase | 토큰 |
173
+ |-------|------|
174
+ | Phase 1 (수집) | ~1K |
175
+ | Phase 2 (3x 독립분석) | ~15K |
176
+ | Phase 3 (Tri-Debate) | ~9K |
177
+ | Phase 4 (보고서) | ~5K |
178
+ | **총합** | **~30K** |
179
+
180
+ ## 사용 예
181
+
182
+ ```
183
+ /tfx-deep-analysis "src/payment/ 전체 모듈"
184
+ /tfx-deep-analysis "이 프로젝트 아키텍처 심층 분석"
185
+ /tfx-deep-analysis "마이그레이션 전 레거시 API 계층 분석"
186
+ ```