internal: true name: tfx-qa description: "테스트/검증이 필요할 때 사용한다. 'qa', '검증해', '테스트 돌려', 'test-fix', '심층 검증', '철저히 테스트', '보안까지 확인', '전방위 검증' 같은 요청에 반드시 사용." argument-hint: "[테스트 대상] [--quick]"
tfx-qa — Test & Verification (Deep by Default)
ARGUMENTS 처리: ARGUMENTS 에
--quick포함 → Quick 모드. 그 외 → Deep 모드 (기본).
AI makes completeness near-free. 기본은 Claude(기능/엣지) + Codex(보안/성능) + Antigravity(UX/접근성) 3-CLI 독립 검증 + 교차검증 + 자동 수정. 빠른 테스트-수정 루프는
--quick.
모드 분기
--quick → Quick 모드 (Codex test-fix 루프).
그 외 → Deep 모드 (기본, 3-CLI consensus + fix).
Deep 모드 (기본)
전제조건 프로브 및 Tier Degradation
진입 즉시 실행. 빈 stdout + exit 0 금지.
psmux --version 2>/dev/null && \
curl -sf http://127.0.0.1:27888/status >/dev/null && \
codex --version 2>/dev/null && \
agy --version 2>/dev/null
| Tier | 조건 | 실행 방식 |
|---|---|---|
| Tier 1 | 전부 정상 | headless multi 3-CLI |
| Tier 2 | 일부 CLI | 가용 CLI + Claude Agent |
| Tier 3 | headless 불가 | Claude Agent only |
Tier 3 시:
⚠ [Tier 3] headless multi 환경 미충족 (consensus 미적용)
누락: {missing} | 권장: 설치 후 재실행 또는 /tfx-qa --quick
HARD RULES
codex exec직접 호출 및 deprecated Gemini CLI 직접 호출 금지- Codex/Antigravity →
Bash("tfx multi --teammate-mode headless --assign ...")만 - Claude →
Agent(run_in_background=true) - Bash + Agent 동시 호출
모델 역할
| CLI | 역할 | 관점 |
|---|---|---|
| Claude Opus | 기능검증 | 정확성, 엣지케이스, 누락 테스트 |
| Codex | 보안+성능 | OWASP, O(n²), 메모리, 입력 검증 |
| Antigravity | UX+접근성 | 응답 일관성, 에러 메시지, WCAG |
EXECUTION
Step 1: 검증 대상 수집
- 지정 경로 → 해당 범위
git diff→ 변경 파일- 지정 없음 → 프로젝트 전체
Step 2: 3-CLI 독립 검증 (Anti-Herding) — Bash + Agent 동시 호출
Agent (Claude 기능검증):
Agent(
subagent_type="oh-my-claudecode:verifier",
model="opus",
run_in_background=true,
name="qa-functional",
prompt="QA 엔지니어로서 기능 정확성 검증. 테스트 실행 + 엣지 케이스(null, 빈, 경계값, 동시성) + 누락 테스트 제안. JSON: { test_result: {pass,fail,skip}, findings: [...], edge_case_tests: [...], overall_verdict: 'pass'|'fail' }"
)
Codex + Antigravity headless:
Bash("tfx multi --teammate-mode headless --auto-attach --dashboard --assign 'codex:보안/성능 전문가. OWASP Top 10, O(n²), 메모리 누수, 입력 검증 누락. JSON: { findings: [...], overall_verdict: \"pass\"|\"fail\" }:verifier' --assign 'antigravity:UX/접근성 전문가. API 응답 일관성, 에러 메시지, WCAG 2.1 AA, 문서-동작 일치. JSON: { findings: [...], overall_verdict: \"pass\"|\"fail\" }:verifier' --timeout 600")
Step 3: Consensus Scoring
- 동일 파일+라인±5 + 유사 카테고리 → 동일 이슈
- 3/3 → CONFIRMED, 2/3 → LIKELY, 1/3 → UNVERIFIED
Step 4: 합의된 Critical/High 수정
Bash("tfx multi --teammate-mode headless --assign 'codex:합의된 이슈 수정. 최소 변경으로 수정 + 테스트 재실행: {consensus_findings}:fixer' --timeout 300")
Step 5: 종합 보고서
## Deep QA Report: {target}
**Consensus**: {score}% | **Verdict**: PASS / CONDITIONAL / FAIL
### Critical (3/3)
### High (2/3)
### Verified Medium
### 엣지 케이스 테스트 제안
### Unverified
### 수정 요약
### 통계
Token (Deep): ~25K
Quick 모드 (--quick)
Step 1: 테스트 대상 식별
- 테스트 명령 지정 → 그대로
- 파일 지정 → 관련 테스트 탐색
- 지정 없음 → package.json test / pytest / make test 자동 감지
Step 2: 실행 (Round 1)
bash ~/.claude/scripts/tfx-route.sh codex \
"테스트 실행 + 실패 분석: {test_command}" implement
Step 3: 실패 수정 루프 (최대 3회)
WHILE (failures > 0 AND retry < 3):
Codex 실패 수정 → 재실행
Step 4: 결과 보고
## QA 결과: {target}
| 라운드 | 통과 | 실패 | 수정 |
### 최종: {pass}/{total}
### 수정된 파일
### 미해결 실패 (있으면)
Token (Quick): ~5K
사용 예
/tfx-qa # Deep
/tfx-qa "src/auth/ 변경사항" # Deep
/tfx-qa --quick # Quick
/tfx-qa --quick "npm test -- --grep auth" # Quick