triflux 8.2.3 → 8.3.1
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/.claude-plugin/plugin.json +1 -1
- package/README.md +209 -97
- package/bin/tfx-doctor-tui.mjs +7 -0
- package/bin/tfx-profile.mjs +7 -0
- package/bin/tfx-setup-tui.mjs +7 -0
- package/bin/triflux.mjs +14 -4
- package/hub/intent.mjs +7 -7
- package/hub/team/tui.mjs +4 -0
- package/hub/workers/delegator-mcp.mjs +18 -18
- package/package.json +6 -2
- package/scripts/setup.mjs +4 -33
- package/scripts/tfx-route.sh +57 -57
- package/skills/.omc/state/agent-replay-8f0e10a9-9693-4410-96f5-a6b07e8ed995.jsonl +1 -0
- package/skills/.omc/state/idle-notif-cooldown.json +3 -0
- package/skills/.omc/state/last-tool-error.json +7 -0
- package/skills/.omc/state/subagent-tracking.json +7 -0
- package/skills/tfx-analysis/SKILL.md +101 -0
- package/skills/tfx-auto-codex/SKILL.md +1 -1
- package/skills/tfx-autopilot/SKILL.md +112 -0
- package/skills/tfx-autoresearch/SKILL.md +1 -2
- package/skills/tfx-autoroute/SKILL.md +184 -0
- package/skills/tfx-codex/SKILL.md +2 -2
- package/skills/tfx-consensus/SKILL.md +112 -0
- package/skills/tfx-debate/SKILL.md +148 -0
- package/skills/tfx-deep-analysis/SKILL.md +186 -0
- package/skills/tfx-deep-plan/SKILL.md +113 -0
- package/skills/tfx-deep-qa/SKILL.md +158 -0
- package/skills/tfx-deep-research/SKILL.md +212 -0
- package/skills/tfx-deep-review/SKILL.md +91 -0
- package/skills/tfx-doctor/SKILL.md +161 -94
- package/skills/tfx-find/SKILL.md +123 -0
- package/skills/tfx-forge/SKILL.md +183 -0
- package/skills/tfx-fullcycle/SKILL.md +195 -0
- package/skills/tfx-hub/SKILL.md +1 -1
- package/skills/tfx-index/SKILL.md +174 -0
- package/skills/tfx-interview/SKILL.md +210 -0
- package/skills/tfx-panel/SKILL.md +187 -0
- package/skills/tfx-persist/SKILL.md +141 -0
- package/skills/tfx-plan/SKILL.md +53 -0
- package/skills/tfx-profile/SKILL.md +149 -0
- package/skills/tfx-prune/SKILL.md +198 -0
- package/skills/tfx-qa/SKILL.md +117 -0
- package/skills/tfx-research/SKILL.md +126 -0
- package/skills/tfx-review/SKILL.md +51 -0
- package/skills/tfx-setup/SKILL.md +160 -101
- package/tui/codex-profile.mjs +402 -0
- package/tui/core.mjs +236 -0
- package/tui/doctor.mjs +327 -0
- package/tui/setup.mjs +362 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tfx-deep-qa
|
|
3
|
+
description: "보안, 성능, 접근성까지 포함한 철저한 검증이 필요할 때 사용한다. 'deep qa', '심층 검증', '철저히 테스트', '보안까지 확인', '전방위 검증' 같은 요청에 사용. 프로덕션 배포 전 다각도 품질 검증에 적극 활용."
|
|
4
|
+
triggers:
|
|
5
|
+
- deep qa
|
|
6
|
+
- 심층 검증
|
|
7
|
+
- thorough test
|
|
8
|
+
- deep-qa
|
|
9
|
+
argument-hint: "[테스트 대상 경로 또는 기능 설명]"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# tfx-deep-qa — Tri-CLI Deep Verification
|
|
13
|
+
|
|
14
|
+
> 3-CLI 독립 검증 → 교차검증 → 2+ 합의 항목만 보고. false-positive 87% 감소.
|
|
15
|
+
|
|
16
|
+
## 핵심 원리
|
|
17
|
+
|
|
18
|
+
**Anti-Herding**: 3개 CLI가 서로의 결과를 보지 않고 독립 검증.
|
|
19
|
+
**Consensus Only**: 2개 이상 CLI가 동일 이슈를 지적한 항목만 최종 보고.
|
|
20
|
+
|
|
21
|
+
## 용도
|
|
22
|
+
|
|
23
|
+
- 릴리스 전 전면 검증
|
|
24
|
+
- 보안/성능/접근성을 동시에 다각도 점검
|
|
25
|
+
- 단일 CLI 검증으로는 놓치는 교차 영역 결함 탐지
|
|
26
|
+
- false-positive 최소화가 필요한 QA 게이트
|
|
27
|
+
|
|
28
|
+
## 워크플로우
|
|
29
|
+
|
|
30
|
+
### Step 1: 검증 대상 수집
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
대상 결정:
|
|
34
|
+
1. 사용자 지정 파일/경로 → 해당 범위
|
|
35
|
+
2. git diff (staged + unstaged) → 변경된 파일
|
|
36
|
+
3. 지정 없음 → 프로젝트 전체 테스트
|
|
37
|
+
|
|
38
|
+
수집 항목:
|
|
39
|
+
- 변경 파일 목록 + diff
|
|
40
|
+
- 관련 테스트 파일
|
|
41
|
+
- 영향 받는 모듈/의존성
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Step 2: 3-CLI 독립 검증 (동시, 상호 비공개)
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Claude Opus (기능 + 엣지케이스, background):
|
|
48
|
+
"QA 엔지니어로서 다음 코드의 기능 정확성을 검증하라.
|
|
49
|
+
- 테스트 실행 후 결과 보고
|
|
50
|
+
- 누락된 엣지 케이스 식별 (null, 빈 입력, 경계값, 동시성)
|
|
51
|
+
- 누락된 테스트 케이스 제안
|
|
52
|
+
JSON: { test_result: {pass, fail, skip},
|
|
53
|
+
findings: [{id, file, line, category, severity, description, test_scenario}],
|
|
54
|
+
edge_case_tests: [...],
|
|
55
|
+
overall_verdict: 'pass'|'fail' }"
|
|
56
|
+
|
|
57
|
+
Codex (보안 + 성능, background):
|
|
58
|
+
codex exec review --profile thorough \
|
|
59
|
+
--dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
|
|
60
|
+
"보안/성능 전문가로서 검증하라.
|
|
61
|
+
- OWASP Top 10 체크
|
|
62
|
+
- O(n²) 이상 복잡도 탐지
|
|
63
|
+
- 메모리 누수 패턴
|
|
64
|
+
- 입력 검증 누락
|
|
65
|
+
JSON: { findings: [{id, file, line, category, severity, description, fix}],
|
|
66
|
+
overall_verdict: 'pass'|'fail' }"
|
|
67
|
+
|
|
68
|
+
Gemini (UX + 접근성, background):
|
|
69
|
+
gemini -y -p \
|
|
70
|
+
"UX/접근성 전문가로서 검증하라.
|
|
71
|
+
- API 응답 형식 일관성
|
|
72
|
+
- 에러 메시지 사용자 친화성
|
|
73
|
+
- WCAG 2.1 AA 준수 (UI 관련 시)
|
|
74
|
+
- 문서와 실제 동작 일치 여부
|
|
75
|
+
JSON: { findings: [{id, file, line, category, severity, description, suggestion}],
|
|
76
|
+
overall_verdict: 'pass'|'fail' }"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 3: Consensus Scoring
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
모든 findings를 수집하여 유사도 비교:
|
|
83
|
+
- 동일 파일+라인±5 + 유사 카테고리 → 동일 이슈로 간주
|
|
84
|
+
- 3/3 합의 → CONFIRMED (severity 유지)
|
|
85
|
+
- 2/3 합의 → LIKELY (severity 유지, 반대 의견 첨부)
|
|
86
|
+
- 1/3만 지적 → UNVERIFIED (참고용, 별도 섹션)
|
|
87
|
+
|
|
88
|
+
consensus_score = consensus_items / total_unique_items × 100
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Step 4: 실패 수정 (합의된 항목만)
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
합의된 Critical/High 항목에 대해:
|
|
95
|
+
codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
|
|
96
|
+
"다음 합의된 이슈를 수정하라:
|
|
97
|
+
{consensus_findings}
|
|
98
|
+
수정 후 테스트를 재실행하여 확인하라."
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Step 5: 종합 보고서
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
## Deep QA Report: {target}
|
|
105
|
+
**Consensus Score**: {score}% | **Verifiers**: Claude/Codex/Gemini
|
|
106
|
+
**Verdict**: PASS / CONDITIONAL PASS / FAIL
|
|
107
|
+
|
|
108
|
+
### Critical (3/3 합의)
|
|
109
|
+
- [C1] `{file}:{line}` — {description}
|
|
110
|
+
- Claude: {detail} | Codex: {detail} | Gemini: {detail}
|
|
111
|
+
- **Fix**: {applied_fix}
|
|
112
|
+
|
|
113
|
+
### High (2/3 합의)
|
|
114
|
+
- [H1] `{file}:{line}` — {description}
|
|
115
|
+
- 합의: {agreers} | 반대: {dissenter}: "{reason}"
|
|
116
|
+
|
|
117
|
+
### Verified Medium
|
|
118
|
+
- ...
|
|
119
|
+
|
|
120
|
+
### 엣지 케이스 테스트 제안
|
|
121
|
+
| 시나리오 | 입력 | 기대 결과 | 제안자 |
|
|
122
|
+
|---------|------|----------|--------|
|
|
123
|
+
| {scenario} | {input} | {expected} | Claude |
|
|
124
|
+
|
|
125
|
+
### Unverified (1/3만 지적, 참고용)
|
|
126
|
+
- [U1] `{file}:{line}` — {description} (by {single_cli})
|
|
127
|
+
|
|
128
|
+
### 수정 요약
|
|
129
|
+
- 수정된 파일: {list}
|
|
130
|
+
- 테스트 재실행 결과: {pass}/{total}
|
|
131
|
+
|
|
132
|
+
### 검증 통계
|
|
133
|
+
| CLI | 영역 | 발견 수 | 합의 기여율 |
|
|
134
|
+
|-----|------|---------|------------|
|
|
135
|
+
| Claude | 기능/엣지케이스 | {n} | {%} |
|
|
136
|
+
| Codex | 보안/성능 | {n} | {%} |
|
|
137
|
+
| Gemini | UX/접근성 | {n} | {%} |
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## 토큰 예산
|
|
141
|
+
|
|
142
|
+
| 단계 | 토큰 |
|
|
143
|
+
|------|------|
|
|
144
|
+
| Step 1 (수집) | ~1K |
|
|
145
|
+
| Step 2 (3x 독립 검증) | ~15K |
|
|
146
|
+
| Step 3 (Consensus) | ~3K |
|
|
147
|
+
| Step 4 (수정) | ~3K |
|
|
148
|
+
| Step 5 (보고) | ~3K |
|
|
149
|
+
| **총합** | **~25K** |
|
|
150
|
+
|
|
151
|
+
## 사용 예
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
/tfx-deep-qa
|
|
155
|
+
/tfx-deep-qa "src/auth/ 디렉토리 전체"
|
|
156
|
+
/tfx-deep-qa "최근 커밋 변경사항 심층 검증"
|
|
157
|
+
/tfx-deep-qa "결제 모듈 배포 전 최종 검증"
|
|
158
|
+
```
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tfx-deep-research
|
|
3
|
+
description: "기술 비교, 아키텍처 조사, 경쟁사 분석 등 깊이 있는 리서치가 필요할 때 사용한다. '심층 조사', '자세히 알아봐', 'deep research', '전면 리서치', '비교 분석 보고서', '종합 리서치' 같은 요청에 반드시 사용. 단순 검색이 아닌 멀티소스 교차검증이 필요한 리서치에 적극 활용."
|
|
4
|
+
triggers:
|
|
5
|
+
- deep research
|
|
6
|
+
- 딥 리서치
|
|
7
|
+
- 심층 리서치
|
|
8
|
+
- deep-research
|
|
9
|
+
- thorough research
|
|
10
|
+
- 깊이 조사
|
|
11
|
+
- 전면 리서치
|
|
12
|
+
argument-hint: "[--depth quick|standard|deep] <리서치 주제>"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# tfx-deep-research — Multi-Source Deep Research with Tri-CLI Consensus
|
|
16
|
+
|
|
17
|
+
> 쿼리 분해 → 3-CLI 독립 병렬 검색 → 교차검증 → 합의 기반 종합 보고서.
|
|
18
|
+
> STORM(Stanford) perspective-guided + GPT-Researcher recursive tree + Tavily deep research pipeline 영감.
|
|
19
|
+
|
|
20
|
+
## 용도
|
|
21
|
+
|
|
22
|
+
- 기술 선택 전 심층 조사
|
|
23
|
+
- 경쟁사/대안 분석
|
|
24
|
+
- 새 도메인 학습을 위한 종합 리서치
|
|
25
|
+
- 아키텍처 결정 근거 수집
|
|
26
|
+
- 학술/산업 동향 파악
|
|
27
|
+
|
|
28
|
+
## Depth 모드
|
|
29
|
+
|
|
30
|
+
| 모드 | 서브쿼리 | 소스/쿼리 | 라운드 | 토큰 | 시간 |
|
|
31
|
+
|------|---------|----------|--------|------|------|
|
|
32
|
+
| quick | 3개 | 2 | 1 | ~20K | 2-3분 |
|
|
33
|
+
| standard | 5개 | 3 | 1-2 | ~40K | 5-8분 |
|
|
34
|
+
| deep | 8-10개 | 5 | 2-3 | ~80K | 10-15분 |
|
|
35
|
+
|
|
36
|
+
기본값: standard
|
|
37
|
+
|
|
38
|
+
## 워크플로우
|
|
39
|
+
|
|
40
|
+
### Pre-Phase: Depth 선택 (--depth 미지정 시)
|
|
41
|
+
|
|
42
|
+
`--depth` 플래그가 지정되지 않은 경우, AskUserQuestion으로 depth를 선택받는다:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
AskUserQuestion:
|
|
46
|
+
"리서치 깊이를 선택하세요:"
|
|
47
|
+
1. quick (3 서브쿼리, ~20K 토큰, 2-3분)
|
|
48
|
+
2. standard (5 서브쿼리, ~40K 토큰, 5-8분) [기본]
|
|
49
|
+
3. deep (8-10 서브쿼리, ~80K 토큰, 10-15분)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
사용자가 선택하지 않고 빈 응답을 보내면 기본값 `standard`를 적용한다.
|
|
53
|
+
|
|
54
|
+
### Phase 0: 주제 분석 및 쿼리 분해
|
|
55
|
+
|
|
56
|
+
Claude Opus가 주제를 분석하고 서브쿼리로 분해한다:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
입력: "2026년 실시간 데이터 파이프라인 아키텍처 비교"
|
|
60
|
+
|
|
61
|
+
분해 결과:
|
|
62
|
+
{
|
|
63
|
+
"main_topic": "실시간 데이터 파이프라인 아키텍처 2026",
|
|
64
|
+
"sub_queries": [
|
|
65
|
+
"Apache Kafka vs Apache Pulsar vs Redpanda 2026 comparison benchmark",
|
|
66
|
+
"real-time data pipeline architecture patterns 2026 stream processing",
|
|
67
|
+
"Apache Flink vs Spark Structured Streaming vs RisingWave 2026",
|
|
68
|
+
"real-time data pipeline cloud managed services AWS Kinesis GCP Dataflow Azure Event Hub",
|
|
69
|
+
"real-time CDC change data capture Debezium alternatives 2026"
|
|
70
|
+
],
|
|
71
|
+
"perspectives": [
|
|
72
|
+
"성능/처리량 관점",
|
|
73
|
+
"운영 복잡도/DevOps 관점",
|
|
74
|
+
"비용/스케일링 관점"
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Phase 1: 3-CLI 독립 병렬 검색 (Anti-Herding)
|
|
80
|
+
|
|
81
|
+
**3개 CLI가 동시에, 서로의 결과를 보지 않고 검색한다.**
|
|
82
|
+
|
|
83
|
+
각 CLI에 서로 다른 MCP + 관점을 할당:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Claude (Agent, background):
|
|
87
|
+
- MCP: Exa (neural semantic search)
|
|
88
|
+
- 관점: 학술/기술 깊이 (논문, 공식 문서, 벤치마크)
|
|
89
|
+
- 각 서브쿼리를 Exa web_search_exa로 검색
|
|
90
|
+
- category: "research paper" 우선
|
|
91
|
+
- highlights 추출, numResults: 5/쿼리
|
|
92
|
+
|
|
93
|
+
Codex (Bash, background):
|
|
94
|
+
codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
|
|
95
|
+
"다음 서브쿼리를 Brave Search로 검색하고 결과를 종합하라:
|
|
96
|
+
{sub_queries}
|
|
97
|
+
관점: 실용/구현/산업 사례 중심
|
|
98
|
+
각 쿼리당 상위 5개 결과의 제목, URL, 핵심 내용을 추출하라."
|
|
99
|
+
|
|
100
|
+
Gemini (Bash, background):
|
|
101
|
+
gemini -y -p \
|
|
102
|
+
"다음 서브쿼리를 Tavily로 검색하라:
|
|
103
|
+
{sub_queries}
|
|
104
|
+
관점: 비용/운영/DX(개발자 경험) 중심
|
|
105
|
+
각 결과를 구조화하여 정리하라."
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Phase 2: 결과 수집 및 교차검증
|
|
109
|
+
|
|
110
|
+
3개 CLI 결과를 수집한 후 tfx-consensus 프로토콜 적용:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
교차검증 항목:
|
|
114
|
+
1. 사실 일치 (3개 소스가 동일 사실을 보고하는가)
|
|
115
|
+
2. 추천 일치 (동일 기술/접근법을 추천하는가)
|
|
116
|
+
3. 수치 일치 (벤치마크, 가격, 성능 수치)
|
|
117
|
+
4. 리스크 일치 (동일 위험을 식별하는가)
|
|
118
|
+
|
|
119
|
+
소스 신뢰도:
|
|
120
|
+
- 공식 문서/벤치마크 → weight 1.0
|
|
121
|
+
- 학술 논문 → weight 0.9
|
|
122
|
+
- 신뢰 블로그 (engineering blog) → weight 0.7
|
|
123
|
+
- 일반 블로그/포럼 → weight 0.5
|
|
124
|
+
- 날짜 가중: 6개월 이내 ×1.0, 1년 이내 ×0.8, 2년 이내 ×0.5
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Phase 3: 합의 종합 보고서 생성
|
|
128
|
+
|
|
129
|
+
Claude Opus가 교차검증된 결과를 종합하여 최종 보고서 작성:
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
# Deep Research Report: {topic}
|
|
133
|
+
**Date**: {date} | **Depth**: {depth} | **Consensus Score**: {score}%
|
|
134
|
+
**Sources**: {total_sources}개 | **Sub-queries**: {count}개
|
|
135
|
+
|
|
136
|
+
## Executive Summary
|
|
137
|
+
{3-5줄 핵심 요약}
|
|
138
|
+
|
|
139
|
+
## 핵심 발견사항 (Consensus Items)
|
|
140
|
+
### 1. {finding_1} — 합의도: {3/3 또는 2/3}
|
|
141
|
+
{상세 내용 + 근거 + 출처}
|
|
142
|
+
|
|
143
|
+
### 2. {finding_2}
|
|
144
|
+
...
|
|
145
|
+
|
|
146
|
+
## 비교 분석
|
|
147
|
+
| 항목 | 옵션A | 옵션B | 옵션C |
|
|
148
|
+
|------|-------|-------|-------|
|
|
149
|
+
| 성능 | ... | ... | ... |
|
|
150
|
+
| 비용 | ... | ... | ... |
|
|
151
|
+
| 운영 | ... | ... | ... |
|
|
152
|
+
|
|
153
|
+
## 미합의 사항 (Disputed Items)
|
|
154
|
+
- {항목}: Claude는 X, Codex는 Y, Gemini는 Z — 이유: ...
|
|
155
|
+
|
|
156
|
+
## 추천
|
|
157
|
+
{교차검증된 최종 추천 + 조건부 판단 기준}
|
|
158
|
+
|
|
159
|
+
## 소스 목록
|
|
160
|
+
1. [{title}]({url}) — 신뢰도: {score} — 사용 MCP: {exa|brave|tavily}
|
|
161
|
+
...
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Phase 4: Recursive Depth (deep 모드 전용)
|
|
165
|
+
|
|
166
|
+
deep 모드에서는 Phase 2에서 발견된 중요 하위 주제에 대해 재귀적으로 Phase 1-3을 반복:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
if depth == "deep" AND Phase 2에서 중요 하위 주제 발견:
|
|
170
|
+
for each important_subtopic (max 3):
|
|
171
|
+
recurse Phase 1-3 with sub_queries = [subtopic-specific queries]
|
|
172
|
+
merge recursive results into main report
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## 토큰 예산
|
|
176
|
+
|
|
177
|
+
| 단계 | quick | standard | deep |
|
|
178
|
+
|------|-------|----------|------|
|
|
179
|
+
| Phase 0 (분해) | 1K | 2K | 3K |
|
|
180
|
+
| Phase 1 (3x검색) | 9K | 18K | 30K |
|
|
181
|
+
| Phase 2 (교차검증) | 3K | 5K | 8K |
|
|
182
|
+
| Phase 3 (보고서) | 5K | 10K | 15K |
|
|
183
|
+
| Phase 4 (재귀) | — | — | 24K |
|
|
184
|
+
| **총합** | **~18K** | **~35K** | **~80K** |
|
|
185
|
+
|
|
186
|
+
## MCP 활용 전략 (Exa/Brave/Tavily 리버스엔지니어링 기반)
|
|
187
|
+
|
|
188
|
+
### Exa 최적 활용
|
|
189
|
+
- `type: "auto"` — neural+keyword 하이브리드
|
|
190
|
+
- `category: "research paper"` — 학술 검색 시
|
|
191
|
+
- `highlights: true, text.maxCharacters: 300` — 토큰 효율 핵심
|
|
192
|
+
- `includeDomains` — 신뢰 도메인 필터링
|
|
193
|
+
|
|
194
|
+
### Brave 최적 활용
|
|
195
|
+
- `brave_news_search` — 최신 동향/뉴스
|
|
196
|
+
- `freshness: "pw"` (past week) — 최신성 보장
|
|
197
|
+
- `result_filter: "web"` — 불필요한 결과 방지
|
|
198
|
+
- 독립 인덱스 → Google/Bing과 다른 결과
|
|
199
|
+
|
|
200
|
+
### Tavily 최적 활용
|
|
201
|
+
- `tavily_search` — 빠른 범용 검색
|
|
202
|
+
- `include_raw_content: false` — 토큰 절약
|
|
203
|
+
- `max_results: 5` — 적정 결과 수
|
|
204
|
+
- `search_depth: "advanced"` — standard 모드 이상
|
|
205
|
+
|
|
206
|
+
## 사용 예
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
/tfx-deep-research "2026 실시간 데이터 파이프라인 아키텍처 비교"
|
|
210
|
+
/tfx-deep-research --depth deep "Claude Code vs Cursor vs Windsurf 멀티에이전트 지원 비교"
|
|
211
|
+
/tfx-deep-research --depth quick "pnpm vs bun vs npm 2026 벤치마크"
|
|
212
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tfx-deep-review
|
|
3
|
+
description: "철저한 코드 리뷰가 필요할 때 사용한다. '꼼꼼히 리뷰', 'deep review', '심층 리뷰', '보안까지 리뷰', '다각도 리뷰', '중요한 변경이라 제대로 봐줘' 같은 요청에 사용. 보안/성능/가독성 3관점 독립 검증이 필요한 중요 코드 변경에 적극 활용."
|
|
4
|
+
triggers:
|
|
5
|
+
- deep review
|
|
6
|
+
- 심층 리뷰
|
|
7
|
+
- multi review
|
|
8
|
+
- deep-review
|
|
9
|
+
- 철저한 리뷰
|
|
10
|
+
argument-hint: "[파일 경로 또는 변경 설명]"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# tfx-deep-review — Tri-CLI Deep Code Review
|
|
14
|
+
|
|
15
|
+
> 3-CLI 독립 리뷰 → 교차검증 → 2+ 합의 항목만 보고. Diffray + Calimero 영감.
|
|
16
|
+
|
|
17
|
+
## 핵심 원리
|
|
18
|
+
|
|
19
|
+
**Anti-Herding**: Round 1에서 3개 CLI가 서로의 결과를 보지 않고 독립 리뷰.
|
|
20
|
+
**Consensus Only**: 2개 이상 CLI가 동일 이슈를 지적한 항목만 최종 보고 → false-positive 87% 감소.
|
|
21
|
+
|
|
22
|
+
## 워크플로우
|
|
23
|
+
|
|
24
|
+
### Step 1: 리뷰 대상 수집
|
|
25
|
+
```
|
|
26
|
+
git diff (staged + unstaged) 또는 지정 파일 수집
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Step 2: 3-CLI 독립 리뷰 (동시, 상호 비공개)
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
Claude Opus (Agent, background):
|
|
33
|
+
관점: 로직 결함, 아키텍처 위반, 설계 패턴
|
|
34
|
+
"코드 리뷰어로서 로직/아키텍처 관점에서 분석하라.
|
|
35
|
+
JSON: { findings: [{ id, file, line, severity, category, description, suggestion }] }"
|
|
36
|
+
|
|
37
|
+
Codex (Bash, background):
|
|
38
|
+
관점: 보안 취약점, 성능 병목, 에러 핸들링
|
|
39
|
+
codex exec review --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
|
|
40
|
+
"보안/성능 전문가로서 분석하라. OWASP Top 10, O(n²) 패턴, 누락된 에러 핸들링.
|
|
41
|
+
JSON: { findings: [...] }"
|
|
42
|
+
|
|
43
|
+
Gemini (Bash, background):
|
|
44
|
+
관점: 가독성, 문서화, 네이밍, DX
|
|
45
|
+
gemini -y -p \
|
|
46
|
+
"코드 품질 전문가로서 분석하라. 가독성, 네이밍 컨벤션, 주석 필요성, 타입 안전성.
|
|
47
|
+
JSON: { findings: [...] }"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Step 3: Consensus Scoring
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
모든 findings를 수집하여 유사도 비교:
|
|
54
|
+
- 동일 파일+라인±5 + 유사 카테고리 → 동일 이슈로 간주
|
|
55
|
+
- 3/3 합의 → severity 유지
|
|
56
|
+
- 2/3 합의 → severity 유지, 반대 의견 첨부
|
|
57
|
+
- 1/3만 지적 → UNVERIFIED 표시 (참고용, 별도 섹션)
|
|
58
|
+
|
|
59
|
+
consensus_score = consensus_items / total_unique_items × 100
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Step 4: 종합 보고서
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
## Deep Code Review: {target}
|
|
66
|
+
**Consensus Score**: {score}% | **Reviewers**: Claude/Codex/Gemini
|
|
67
|
+
|
|
68
|
+
### Critical (3/3 합의)
|
|
69
|
+
- [C1] `{file}:{line}` — {description}
|
|
70
|
+
- Claude: {detail} | Codex: {detail} | Gemini: {detail}
|
|
71
|
+
- **Fix**: {suggestion}
|
|
72
|
+
|
|
73
|
+
### High (2/3 합의)
|
|
74
|
+
- [H1] `{file}:{line}` — {description}
|
|
75
|
+
- 합의: {agreers} | 반대: {dissenter}: "{reason}"
|
|
76
|
+
|
|
77
|
+
### Verified Medium
|
|
78
|
+
- ...
|
|
79
|
+
|
|
80
|
+
### Unverified (1/3만 지적, 참고용)
|
|
81
|
+
- [U1] `{file}:{line}` — {description} (by {single_cli})
|
|
82
|
+
|
|
83
|
+
### 통계
|
|
84
|
+
| CLI | 발견 수 | 합의 기여율 |
|
|
85
|
+
|-----|---------|------------|
|
|
86
|
+
| Claude | {n} | {%} |
|
|
87
|
+
| Codex | {n} | {%} |
|
|
88
|
+
| Gemini | {n} | {%} |
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 토큰: ~25K
|