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.
Files changed (49) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +209 -97
  3. package/bin/tfx-doctor-tui.mjs +7 -0
  4. package/bin/tfx-profile.mjs +7 -0
  5. package/bin/tfx-setup-tui.mjs +7 -0
  6. package/bin/triflux.mjs +14 -4
  7. package/hub/intent.mjs +7 -7
  8. package/hub/team/tui.mjs +4 -0
  9. package/hub/workers/delegator-mcp.mjs +18 -18
  10. package/package.json +6 -2
  11. package/scripts/setup.mjs +4 -33
  12. package/scripts/tfx-route.sh +57 -57
  13. package/skills/.omc/state/agent-replay-8f0e10a9-9693-4410-96f5-a6b07e8ed995.jsonl +1 -0
  14. package/skills/.omc/state/idle-notif-cooldown.json +3 -0
  15. package/skills/.omc/state/last-tool-error.json +7 -0
  16. package/skills/.omc/state/subagent-tracking.json +7 -0
  17. package/skills/tfx-analysis/SKILL.md +101 -0
  18. package/skills/tfx-auto-codex/SKILL.md +1 -1
  19. package/skills/tfx-autopilot/SKILL.md +112 -0
  20. package/skills/tfx-autoresearch/SKILL.md +1 -2
  21. package/skills/tfx-autoroute/SKILL.md +184 -0
  22. package/skills/tfx-codex/SKILL.md +2 -2
  23. package/skills/tfx-consensus/SKILL.md +112 -0
  24. package/skills/tfx-debate/SKILL.md +148 -0
  25. package/skills/tfx-deep-analysis/SKILL.md +186 -0
  26. package/skills/tfx-deep-plan/SKILL.md +113 -0
  27. package/skills/tfx-deep-qa/SKILL.md +158 -0
  28. package/skills/tfx-deep-research/SKILL.md +212 -0
  29. package/skills/tfx-deep-review/SKILL.md +91 -0
  30. package/skills/tfx-doctor/SKILL.md +161 -94
  31. package/skills/tfx-find/SKILL.md +123 -0
  32. package/skills/tfx-forge/SKILL.md +183 -0
  33. package/skills/tfx-fullcycle/SKILL.md +195 -0
  34. package/skills/tfx-hub/SKILL.md +1 -1
  35. package/skills/tfx-index/SKILL.md +174 -0
  36. package/skills/tfx-interview/SKILL.md +210 -0
  37. package/skills/tfx-panel/SKILL.md +187 -0
  38. package/skills/tfx-persist/SKILL.md +141 -0
  39. package/skills/tfx-plan/SKILL.md +53 -0
  40. package/skills/tfx-profile/SKILL.md +149 -0
  41. package/skills/tfx-prune/SKILL.md +198 -0
  42. package/skills/tfx-qa/SKILL.md +117 -0
  43. package/skills/tfx-research/SKILL.md +126 -0
  44. package/skills/tfx-review/SKILL.md +51 -0
  45. package/skills/tfx-setup/SKILL.md +160 -101
  46. package/tui/codex-profile.mjs +402 -0
  47. package/tui/core.mjs +236 -0
  48. package/tui/doctor.mjs +327 -0
  49. package/tui/setup.mjs +362 -0
@@ -641,53 +641,53 @@ route_agent() {
641
641
  case "$agent" in
642
642
  # ─── 구현 레인 ───
643
643
  executor)
644
- CLI_ARGS="exec ${codex_base}"
645
- CLI_EFFORT="high"; DEFAULT_TIMEOUT=1080; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
644
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
645
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1080; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
646
646
  build-fixer)
647
- CLI_ARGS="exec --profile fast ${codex_base}"
648
- CLI_EFFORT="fast"; DEFAULT_TIMEOUT=540; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
647
+ CLI_ARGS="exec --profile codex53_low ${codex_base}"
648
+ CLI_EFFORT="codex53_low"; DEFAULT_TIMEOUT=540; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
649
649
  debugger)
650
- CLI_ARGS="exec ${codex_base}"
651
- CLI_EFFORT="high"; DEFAULT_TIMEOUT=900; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
650
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
651
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=900; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
652
652
  deep-executor)
653
- CLI_ARGS="exec --profile xhigh ${codex_base}"
654
- CLI_EFFORT="xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
653
+ CLI_ARGS="exec --profile gpt54_xhigh ${codex_base}"
654
+ CLI_EFFORT="gpt54_xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
655
655
 
656
- # ─── 설계/분석 레인 ───
656
+ # ─── 설계/분석 레인 (5.4: 1M 컨텍스트, 에이전틱) ───
657
657
  architect)
658
- CLI_ARGS="exec --profile xhigh ${codex_base}"
659
- CLI_EFFORT="xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
658
+ CLI_ARGS="exec --profile gpt54_xhigh ${codex_base}"
659
+ CLI_EFFORT="gpt54_xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
660
660
  planner)
661
- CLI_ARGS="exec --profile xhigh ${codex_base}"
662
- CLI_EFFORT="xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="fg"; OPUS_OVERSIGHT="true" ;;
661
+ CLI_ARGS="exec --profile gpt54_xhigh ${codex_base}"
662
+ CLI_EFFORT="gpt54_xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="fg"; OPUS_OVERSIGHT="true" ;;
663
663
  critic)
664
- CLI_ARGS="exec --profile xhigh ${codex_base}"
665
- CLI_EFFORT="xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
664
+ CLI_ARGS="exec --profile gpt54_xhigh ${codex_base}"
665
+ CLI_EFFORT="gpt54_xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
666
666
  analyst)
667
- CLI_ARGS="exec --profile xhigh ${codex_base}"
668
- CLI_EFFORT="xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="fg"; OPUS_OVERSIGHT="true" ;;
667
+ CLI_ARGS="exec --profile gpt54_xhigh ${codex_base}"
668
+ CLI_EFFORT="gpt54_xhigh"; DEFAULT_TIMEOUT=3600; RUN_MODE="fg"; OPUS_OVERSIGHT="true" ;;
669
669
 
670
- # ─── 리뷰 레인 ───
670
+ # ─── 리뷰 레인 (5.3-codex: SWE-Bench 72%) ───
671
671
  code-reviewer)
672
- CLI_ARGS="exec --profile thorough ${codex_base} review"
673
- CLI_EFFORT="thorough"; DEFAULT_TIMEOUT=1800; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
672
+ CLI_ARGS="exec --profile codex53_high ${codex_base} review"
673
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1800; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
674
674
  security-reviewer)
675
- CLI_ARGS="exec --profile thorough ${codex_base} review"
676
- CLI_EFFORT="thorough"; DEFAULT_TIMEOUT=1800; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
675
+ CLI_ARGS="exec --profile codex53_high ${codex_base} review"
676
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1800; RUN_MODE="bg"; OPUS_OVERSIGHT="true" ;;
677
677
  quality-reviewer)
678
- CLI_ARGS="exec --profile thorough ${codex_base} review"
679
- CLI_EFFORT="thorough"; DEFAULT_TIMEOUT=1800; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
678
+ CLI_ARGS="exec --profile codex53_high ${codex_base} review"
679
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1800; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
680
680
 
681
681
  # ─── 리서치 레인 ───
682
682
  scientist)
683
- CLI_ARGS="exec ${codex_base}"
684
- CLI_EFFORT="high"; DEFAULT_TIMEOUT=1440; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
683
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
684
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1440; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
685
685
  scientist-deep)
686
- CLI_ARGS="exec --profile thorough ${codex_base}"
687
- CLI_EFFORT="thorough"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
686
+ CLI_ARGS="exec --profile gpt54_high ${codex_base}"
687
+ CLI_EFFORT="gpt54_high"; DEFAULT_TIMEOUT=3600; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
688
688
  document-specialist)
689
- CLI_ARGS="exec ${codex_base}"
690
- CLI_EFFORT="high"; DEFAULT_TIMEOUT=1440; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
689
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
690
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1440; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
691
691
 
692
692
  # ─── UI/문서 레인 ───
693
693
  designer)
@@ -703,23 +703,23 @@ route_agent() {
703
703
 
704
704
  # ─── 검증/테스트 (Codex: 무료 + 파일 쓰기 가능) ───
705
705
  verifier)
706
- CLI_ARGS="exec --profile thorough ${codex_base} review"
707
- CLI_EFFORT="thorough"; DEFAULT_TIMEOUT=1200; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
706
+ CLI_ARGS="exec --profile codex53_high ${codex_base} review"
707
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1200; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
708
708
  test-engineer)
709
- CLI_ARGS="exec ${codex_base}"
710
- CLI_EFFORT="high"; DEFAULT_TIMEOUT=1200; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
709
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
710
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1200; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
711
711
  qa-tester)
712
- CLI_ARGS="exec --profile thorough ${codex_base} review"
713
- CLI_EFFORT="thorough"; DEFAULT_TIMEOUT=1200; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
712
+ CLI_ARGS="exec --profile codex53_high ${codex_base} review"
713
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1200; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
714
714
 
715
715
  # ─── 경량 ───
716
716
  spark)
717
- CLI_ARGS="exec --profile spark_fast ${codex_base}"
718
- CLI_EFFORT="spark_fast"; DEFAULT_TIMEOUT=180; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
717
+ CLI_ARGS="exec --profile spark53_low ${codex_base}"
718
+ CLI_EFFORT="spark53_low"; DEFAULT_TIMEOUT=180; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
719
719
  # ─── CLI 이름 alias (사용자 편의) ───
720
720
  codex)
721
- CLI_ARGS="exec ${codex_base}"
722
- CLI_EFFORT="high"; DEFAULT_TIMEOUT=1080; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
721
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
722
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1080; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
723
723
  gemini)
724
724
  CLI_ARGS="-m gemini-3.1-pro-preview -y --prompt"
725
725
  CLI_EFFORT="pro"; DEFAULT_TIMEOUT=900; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
@@ -729,8 +729,8 @@ route_agent() {
729
729
  *)
730
730
  case "$CLI_TYPE" in
731
731
  codex)
732
- CLI_ARGS="exec ${codex_base}"
733
- CLI_EFFORT="high"; DEFAULT_TIMEOUT=1080; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
732
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
733
+ CLI_EFFORT="codex53_high"; DEFAULT_TIMEOUT=1080; RUN_MODE="fg"; OPUS_OVERSIGHT="false" ;;
734
734
  gemini)
735
735
  CLI_ARGS="-m gemini-3.1-pro-preview -y --prompt"
736
736
  CLI_EFFORT="pro"; DEFAULT_TIMEOUT=900; RUN_MODE="bg"; OPUS_OVERSIGHT="false" ;;
@@ -813,9 +813,9 @@ apply_cli_mode() {
813
813
  CLI_TYPE="codex"; CLI_CMD="codex"
814
814
  case "$AGENT_TYPE" in
815
815
  designer)
816
- CLI_ARGS="exec ${codex_base}"; CLI_EFFORT="high"; DEFAULT_TIMEOUT=600 ;;
816
+ CLI_ARGS="exec --profile gpt54_xhigh ${codex_base}"; CLI_EFFORT="gpt54_xhigh"; DEFAULT_TIMEOUT=600 ;;
817
817
  writer)
818
- CLI_ARGS="exec --profile spark_fast ${codex_base}"; CLI_EFFORT="spark_fast"; DEFAULT_TIMEOUT=180 ;;
818
+ CLI_ARGS="exec --profile spark53_low ${codex_base}"; CLI_EFFORT="spark53_low"; DEFAULT_TIMEOUT=180 ;;
819
819
  esac
820
820
  echo "[tfx-route] TFX_CLI_MODE=codex: $AGENT_TYPE → codex($CLI_EFFORT)로 리매핑" >&2
821
821
  fi ;;
@@ -854,16 +854,16 @@ apply_cli_mode() {
854
854
  esac
855
855
  }
856
856
 
857
- # ── Codex 요금제 가드 (fast 프로필은 Pro 전용) ──
857
+ # ── Codex 요금제 가드 (spark 프로필은 Pro 전용) ──
858
858
  apply_plan_guard() {
859
859
  [[ "$CLI_TYPE" != "codex" ]] && return
860
860
  [[ "$TFX_CODEX_PLAN" == "pro" ]] && return
861
861
 
862
- if [[ "$CLI_EFFORT" == "fast" ]]; then
862
+ if [[ "$CLI_EFFORT" == spark53_* ]]; then
863
863
  local codex_base="--dangerously-bypass-approvals-and-sandbox --skip-git-repo-check"
864
- CLI_ARGS="exec ${codex_base}"
865
- CLI_EFFORT="high"
866
- echo "[tfx-route] TFX_CODEX_PLAN=$TFX_CODEX_PLAN: --profile fast high로 다운그레이드 (Pro 전용)" >&2
864
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
865
+ CLI_EFFORT="codex53_high"
866
+ echo "[tfx-route] TFX_CODEX_PLAN=$TFX_CODEX_PLAN: sparkcodex53_high로 다운그레이드 (Pro 전용)" >&2
867
867
  fi
868
868
  }
869
869
 
@@ -885,29 +885,29 @@ apply_no_claude_native_mode() {
885
885
 
886
886
  case "$AGENT_TYPE" in
887
887
  explore)
888
- CLI_ARGS="exec --profile fast ${codex_base}"
889
- CLI_EFFORT="fast"
888
+ CLI_ARGS="exec --profile codex53_low ${codex_base}"
889
+ CLI_EFFORT="codex53_low"
890
890
  DEFAULT_TIMEOUT=600
891
891
  RUN_MODE="fg"
892
892
  OPUS_OVERSIGHT="false"
893
893
  ;;
894
894
  verifier)
895
- CLI_ARGS="exec --profile thorough ${codex_base} review"
896
- CLI_EFFORT="thorough"
895
+ CLI_ARGS="exec --profile codex53_high ${codex_base} review"
896
+ CLI_EFFORT="codex53_high"
897
897
  DEFAULT_TIMEOUT=1200
898
898
  RUN_MODE="fg"
899
899
  OPUS_OVERSIGHT="false"
900
900
  ;;
901
901
  test-engineer)
902
- CLI_ARGS="exec ${codex_base}"
903
- CLI_EFFORT="high"
902
+ CLI_ARGS="exec --profile codex53_high ${codex_base}"
903
+ CLI_EFFORT="codex53_high"
904
904
  DEFAULT_TIMEOUT=1200
905
905
  RUN_MODE="bg"
906
906
  OPUS_OVERSIGHT="false"
907
907
  ;;
908
908
  qa-tester)
909
- CLI_ARGS="exec --profile thorough ${codex_base} review"
910
- CLI_EFFORT="thorough"
909
+ CLI_ARGS="exec --profile codex53_high ${codex_base} review"
910
+ CLI_EFFORT="codex53_high"
911
911
  DEFAULT_TIMEOUT=1200
912
912
  RUN_MODE="bg"
913
913
  OPUS_OVERSIGHT="false"
@@ -0,0 +1 @@
1
+ {"t":0,"agent":"adb34b0","agent_type":"general-purpose","event":"agent_stop","success":true}
@@ -0,0 +1,3 @@
1
+ {
2
+ "lastSentAt": "2026-03-29T03:41:07.256Z"
3
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "tool_name": "Bash",
3
+ "tool_input_preview": "{\"command\":\"ls -la \\\"C:/Users/tellang/Desktop/Projects/triflux/skills/tfx-deslop/\\\" 2>/dev/null; echo \\\"===\\\"; ls -la \\\"C:/Users/tellang/Desktop/Projects/triflux/skills/tfx-codebase-search/\\\" 2>/dev/n...",
4
+ "error": "Exit code 2\n===",
5
+ "timestamp": "2026-03-29T03:40:35.913Z",
6
+ "retry_count": 1
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "agents": [],
3
+ "total_spawned": 0,
4
+ "total_completed": 0,
5
+ "total_failed": 0,
6
+ "last_updated": "2026-03-29T03:41:34.338Z"
7
+ }
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: tfx-analysis
3
+ description: "코드나 아키텍처를 분석해야 할 때 사용한다. '코드 분석', 'code analysis', '아키텍처 분석', '이 코드 어떻게 돌아가?', '구조 파악' 같은 요청에 반드시 사용. 코드 품질, 보안, 성능, 복잡도 분석이 필요한 모든 상황에 적극 활용."
4
+ triggers:
5
+ - 코드 분석
6
+ - code analysis
7
+ - 아키텍처 분석
8
+ - analysis
9
+ argument-hint: "<분석 대상 — 파일, 디렉토리, 또는 주제>"
10
+ ---
11
+
12
+ # tfx-analysis — Light Code Analysis
13
+
14
+ > Codex 단일 분석으로 빠른 인사이트. SuperClaude sc:analyze 영감.
15
+
16
+ ## 용도
17
+
18
+ - 코드 품질 빠른 점검
19
+ - 모듈/파일 구조 분석
20
+ - 의존성 관계 파악
21
+ - 성능 병목 후보 식별
22
+ - 기술 부채 탐지
23
+ - "이 코드 어떤 상태야?" 류의 질문
24
+
25
+ ## 워크플로우
26
+
27
+ ### Step 1: 분석 대상 식별
28
+
29
+ ```
30
+ 우선순위:
31
+ 1. 사용자가 파일/디렉토리 지정 → 해당 범위
32
+ 2. 사용자가 주제 지정 (예: "인증 모듈") → 관련 파일 탐색
33
+ 3. 지정 없음 → 프로젝트 전체 고수준 분석
34
+
35
+ 분석 유형 자동 감지:
36
+ 파일 1개 → 코드 품질 + 로직 분석
37
+ 디렉토리 → 구조 + 의존성 + 모듈 분석
38
+ 프로젝트 전체 → 아키텍처 + 기술 부채 분석
39
+ ```
40
+
41
+ ### Step 2: Codex 분석 실행
42
+
43
+ ```bash
44
+ codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
45
+ "시니어 소프트웨어 엔지니어로서 다음을 분석하라:
46
+ 대상: {target}
47
+ 유형: {analysis_type}
48
+
49
+ 분석 항목:
50
+ 1. 구조 — 파일/모듈 구성, 계층, 의존성 방향
51
+ 2. 복잡도 — 순환 복잡도 높은 함수, 깊은 중첩
52
+ 3. 품질 — SOLID 위반, 코드 냄새, 중복
53
+ 4. 성능 — O(n²) 패턴, 불필요한 연산, 캐싱 부재
54
+ 5. 기술 부채 — TODO/FIXME, deprecated API, 하드코딩
55
+ 6. 테스트 — 커버리지 추정, 테스트 부재 영역
56
+
57
+ 구조화된 보고서로 출력하라."
58
+ ```
59
+
60
+ ### Step 3: 결과 포맷
61
+
62
+ ```markdown
63
+ ## 분석 결과: {target}
64
+
65
+ ### 구조 개요
66
+ {파일/모듈 구조 요약 또는 의존성 다이어그램}
67
+
68
+ ### 주요 발견
69
+ | # | 카테고리 | 심각도 | 설명 | 위치 |
70
+ |---|---------|--------|------|------|
71
+ | 1 | 복잡도 | high | {설명} | `{file}:{line}` |
72
+ | 2 | 성능 | medium | {설명} | `{file}:{line}` |
73
+
74
+ ### 메트릭
75
+ - 파일 수: {n} | 총 라인: {n}
76
+ - 평균 복잡도: {n} | 최대 복잡도: {n} (`{file}:{function}`)
77
+ - TODO/FIXME: {n}개
78
+ - 테스트 커버리지 추정: {n}%
79
+
80
+ ### 개선 권장사항
81
+ 1. **{우선순위 1}** — {구체적 제안}
82
+ 2. **{우선순위 2}** — {구체적 제안}
83
+ 3. **{우선순위 3}** — {구체적 제안}
84
+ ```
85
+
86
+ ## 토큰 예산
87
+
88
+ | 단계 | 토큰 |
89
+ |------|------|
90
+ | Step 1 (식별) | ~500 |
91
+ | Step 2 (Codex 분석) | ~5K |
92
+ | Step 3 (포맷) | ~2K |
93
+ | **총합** | **~8K** |
94
+
95
+ ## 사용 예
96
+
97
+ ```
98
+ /tfx-analysis "src/auth/"
99
+ /tfx-analysis "이 프로젝트 전체 아키텍처 분석"
100
+ /tfx-analysis "src/utils/parser.ts 코드 품질"
101
+ ```
@@ -21,7 +21,7 @@ argument-hint: "\"작업 설명\" | N:agent_type \"작업 설명\""
21
21
  3. **Claude 네이티브 제거**
22
22
  - 실행 시 `TFX_NO_CLAUDE_NATIVE=1`로 강제.
23
23
  4. **고난도 설계는 xhigh**
24
- - 설계/분해/비판 검토 성격의 작업은 `codex --profile xhigh` 기준으로 운용.
24
+ - 설계/분해/비판 검토 성격의 작업은 `codex --profile gpt54_xhigh` 기준으로 운용.
25
25
 
26
26
  ## 사용법
27
27
 
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: tfx-autopilot
3
+ description: "간단한 작업을 자율적으로 구현해야 할 때 사용한다. 'autopilot', '자동으로', '알아서 해', '그냥 해줘', 'auto' 같은 요청에 반드시 사용. 명확한 단일 작업을 빠르게 자동 구현+검증할 때 적극 활용."
4
+ triggers:
5
+ - autopilot
6
+ - 자동
7
+ - 알아서 해
8
+ - auto
9
+ argument-hint: "<구현할 작업 설명>"
10
+ ---
11
+
12
+ # tfx-autopilot — Light Autonomous Execution
13
+
14
+ > Codex 직접 구현 → Claude 검증. 최소 토큰으로 빠른 자율 실행.
15
+
16
+ ## 용도
17
+
18
+ - 명확한 단일 작업을 빠르게 자동 구현
19
+ - 보일러플레이트 생성 + 검증
20
+ - 간단한 버그 수정 자동화
21
+ - 린트/포맷/리팩터 자동 적용
22
+ - "알아서 해줘" 류의 명확한 요청
23
+
24
+ ## 워크플로우
25
+
26
+ ### Step 1: 작업 파싱
27
+
28
+ 사용자 입력에서 구현 범위와 완료 기준을 추출한다:
29
+
30
+ ```
31
+ 입력: "로그인 API에 rate limiting 추가"
32
+ 파싱: {
33
+ task: "로그인 API에 rate limiting 추가",
34
+ scope: ["src/routes/auth.ts", "src/middleware/"],
35
+ criteria: [
36
+ "rate limiter 미들웨어 생성",
37
+ "로그인 엔드포인트에 적용",
38
+ "기존 테스트 통과"
39
+ ]
40
+ }
41
+ ```
42
+
43
+ 모호하면 AskUserQuestion으로 명확화.
44
+
45
+ ### Step 2: Codex 직접 구현
46
+
47
+ ```bash
48
+ codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check \
49
+ "다음 작업을 구현하라:
50
+ 작업: {task}
51
+ 프로젝트 컨텍스트: {context}
52
+ 완료 기준: {criteria}
53
+
54
+ 1. 관련 파일을 읽고 구조를 파악하라
55
+ 2. 필요한 코드를 작성/수정하라
56
+ 3. 기존 테스트를 실행하여 회귀가 없는지 확인하라
57
+ 4. 변경 사항을 요약하라"
58
+ ```
59
+
60
+ ### Step 3: Claude 검증
61
+
62
+ Codex 실행 완료 후, Claude가 변경 사항을 검증한다:
63
+
64
+ ```
65
+ 검증 항목:
66
+ 1. 파일 변경 확인 — git diff로 실제 변경 내용 확인
67
+ 2. 완료 기준 충족 — 각 criterion 대조
68
+ 3. 회귀 여부 — 테스트 결과 확인
69
+ 4. 코드 품질 — 명백한 결함 여부 (깊은 리뷰는 아님)
70
+
71
+ 판정:
72
+ PASS → 완료 보고
73
+ FAIL → Codex에 수정 지시 (1회 재시도)
74
+ 재시도 FAIL → 사용자에게 문제 보고
75
+ ```
76
+
77
+ ### Step 4: 완료 보고
78
+
79
+ ```markdown
80
+ ## Autopilot 완료: {task}
81
+
82
+ ### 변경 사항
83
+ - `{file1}` — {변경 요약}
84
+ - `{file2}` — {변경 요약}
85
+
86
+ ### 검증
87
+ - 완료 기준: {pass}/{total} 충족
88
+ - 테스트: {pass}/{total} 통과
89
+ - 검증: Claude ✓
90
+
91
+ ### 다음 단계 (선택)
92
+ - {추가 권장 사항이 있으면}
93
+ ```
94
+
95
+ ## 토큰 예산
96
+
97
+ | 단계 | 토큰 |
98
+ |------|------|
99
+ | Step 1 (파싱) | ~500 |
100
+ | Step 2 (Codex 구현) | ~5K |
101
+ | Step 3 (Claude 검증) | ~3K |
102
+ | Step 4 (보고) | ~500 |
103
+ | 재시도 (필요 시) | +4K |
104
+ | **총합** | **~10K** |
105
+
106
+ ## 사용 예
107
+
108
+ ```
109
+ /tfx-autopilot "이 함수에 입력 검증 추가해줘"
110
+ /tfx-autopilot "ESLint 경고 전부 수정"
111
+ /tfx-autopilot "알아서 해 — 이 TODO 코멘트 3개 구현"
112
+ ```
@@ -5,8 +5,7 @@ description: >
5
5
  주제를 받아 웹 검색 → 정보 수집 → 분석 → 구조화된 리서치 보고서 생성.
6
6
  triggers:
7
7
  - autoresearch
8
- - 리서치
9
- - 자동 리서치
8
+ - 자율 리서치
10
9
  - 웹 리서치
11
10
  - 조사해
12
11
  - 알아봐
@@ -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
+ ```
@@ -31,8 +31,8 @@ argument-hint: "\"작업 설명\" | N:codex \"작업 설명\""
31
31
  | architect, planner, critic, analyst | Codex | Codex (변경 없음) |
32
32
  | code-reviewer, security-reviewer | Codex | Codex (변경 없음) |
33
33
  | scientist, document-specialist | Codex | Codex (변경 없음) |
34
- | **designer** | ~~Gemini~~ | **Codex** (effort: high) — UI 코드 생성 |
35
- | **writer** | ~~Gemini~~ | **Codex Spark** (effort: spark_fast) — 경량 문서 |
34
+ | **designer** | ~~Gemini~~ | **Codex** (effort: codex53_high) — UI 코드 생성 |
35
+ | **writer** | ~~Gemini~~ | **Codex Spark** (effort: spark53_low) — 경량 문서 |
36
36
  | explore | Claude Haiku | Claude Haiku (변경 없음) |
37
37
  | verifier, test-engineer | Claude Sonnet | Codex (변경 없음) |
38
38