triflux 10.0.0 → 10.0.2

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 (426) hide show
  1. package/CLAUDE.md +171 -0
  2. package/README.md +32 -15
  3. package/bin/triflux.mjs +62 -5
  4. package/hooks/agent-route-guard.mjs +109 -0
  5. package/hooks/cross-review-tracker.mjs +122 -0
  6. package/hooks/error-context.mjs +148 -0
  7. package/hooks/hook-adaptive-collector.mjs +86 -0
  8. package/hooks/hook-manager.mjs +365 -0
  9. package/hooks/hook-orchestrator.mjs +312 -0
  10. package/hooks/hook-registry.json +246 -0
  11. package/hooks/hooks.json +89 -0
  12. package/hooks/keyword-rules.json +574 -0
  13. package/hooks/lib/resolve-root.mjs +59 -0
  14. package/hooks/mcp-config-watcher.mjs +80 -0
  15. package/hooks/pipeline-stop.mjs +76 -0
  16. package/hooks/safety-guard.mjs +169 -0
  17. package/hooks/subagent-verifier.mjs +80 -0
  18. package/hub/account-broker.mjs +251 -0
  19. package/hub/adaptive-diagnostic.mjs +323 -0
  20. package/hub/adaptive-inject.mjs +186 -0
  21. package/hub/adaptive-memory.mjs +163 -0
  22. package/hub/adaptive.mjs +143 -0
  23. package/hub/assign-callbacks.mjs +133 -0
  24. package/hub/bridge.mjs +799 -0
  25. package/hub/cli-adapter-base.mjs +280 -0
  26. package/hub/codex-adapter.mjs +199 -0
  27. package/hub/codex-compat.mjs +11 -0
  28. package/hub/codex-preflight.mjs +166 -0
  29. package/hub/delegator/contracts.mjs +37 -0
  30. package/hub/delegator/index.mjs +14 -0
  31. package/hub/delegator/schema/delegator-tools.schema.json +250 -0
  32. package/hub/delegator/service.mjs +307 -0
  33. package/hub/delegator/tool-definitions.mjs +35 -0
  34. package/hub/fullcycle.mjs +96 -0
  35. package/hub/gemini-adapter.mjs +180 -0
  36. package/hub/hitl.mjs +143 -0
  37. package/hub/intent.mjs +193 -0
  38. package/hub/lib/cache-guard.mjs +114 -0
  39. package/hub/lib/known-errors.json +72 -0
  40. package/hub/lib/memory-store.mjs +748 -0
  41. package/hub/lib/process-utils.mjs +361 -0
  42. package/hub/lib/ssh-command.mjs +211 -0
  43. package/hub/lib/ssh-retry.mjs +59 -0
  44. package/hub/lib/uuidv7.mjs +44 -0
  45. package/hub/memory-doctor.mjs +480 -0
  46. package/hub/middleware/request-logger.mjs +161 -0
  47. package/hub/paths.mjs +30 -0
  48. package/hub/pipe.mjs +664 -0
  49. package/hub/pipeline/gates/confidence.mjs +56 -0
  50. package/hub/pipeline/gates/consensus.mjs +94 -0
  51. package/hub/pipeline/gates/index.mjs +5 -0
  52. package/hub/pipeline/gates/selfcheck.mjs +82 -0
  53. package/hub/pipeline/index.mjs +318 -0
  54. package/hub/pipeline/state.mjs +191 -0
  55. package/hub/pipeline/transitions.mjs +124 -0
  56. package/hub/platform.mjs +225 -0
  57. package/hub/public/dashboard.html +355 -0
  58. package/hub/public/tray-icon.ico +0 -0
  59. package/hub/public/tray-icon.png +0 -0
  60. package/hub/quality/deslop.mjs +253 -0
  61. package/hub/reflexion.mjs +372 -0
  62. package/hub/research.mjs +146 -0
  63. package/hub/router.mjs +791 -0
  64. package/hub/routing/complexity.mjs +166 -0
  65. package/hub/routing/index.mjs +117 -0
  66. package/hub/routing/q-learning.mjs +336 -0
  67. package/hub/schema.sql +148 -0
  68. package/hub/server.mjs +1264 -0
  69. package/hub/session-fingerprint.mjs +352 -0
  70. package/hub/state.mjs +258 -0
  71. package/hub/store-adapter.mjs +118 -0
  72. package/hub/store.mjs +857 -0
  73. package/hub/team/agent-map.json +11 -0
  74. package/hub/team/ansi.mjs +379 -0
  75. package/hub/team/backend.mjs +90 -0
  76. package/hub/team/cli/commands/attach.mjs +37 -0
  77. package/hub/team/cli/commands/control.mjs +43 -0
  78. package/hub/team/cli/commands/debug.mjs +74 -0
  79. package/hub/team/cli/commands/focus.mjs +53 -0
  80. package/hub/team/cli/commands/interrupt.mjs +36 -0
  81. package/hub/team/cli/commands/kill.mjs +37 -0
  82. package/hub/team/cli/commands/list.mjs +24 -0
  83. package/hub/team/cli/commands/send.mjs +37 -0
  84. package/hub/team/cli/commands/start/index.mjs +106 -0
  85. package/hub/team/cli/commands/start/parse-args.mjs +130 -0
  86. package/hub/team/cli/commands/start/start-headless.mjs +109 -0
  87. package/hub/team/cli/commands/start/start-in-process.mjs +40 -0
  88. package/hub/team/cli/commands/start/start-mux.mjs +73 -0
  89. package/hub/team/cli/commands/start/start-wt.mjs +69 -0
  90. package/hub/team/cli/commands/status.mjs +87 -0
  91. package/hub/team/cli/commands/stop.mjs +31 -0
  92. package/hub/team/cli/commands/task.mjs +30 -0
  93. package/hub/team/cli/commands/tasks.mjs +13 -0
  94. package/hub/team/cli/help.mjs +42 -0
  95. package/hub/team/cli/index.mjs +41 -0
  96. package/hub/team/cli/manifest.mjs +29 -0
  97. package/hub/team/cli/render.mjs +30 -0
  98. package/hub/team/cli/services/attach-fallback.mjs +54 -0
  99. package/hub/team/cli/services/hub-client.mjs +227 -0
  100. package/hub/team/cli/services/member-selector.mjs +30 -0
  101. package/hub/team/cli/services/native-control.mjs +117 -0
  102. package/hub/team/cli/services/runtime-mode.mjs +62 -0
  103. package/hub/team/cli/services/state-store.mjs +48 -0
  104. package/hub/team/cli/services/task-model.mjs +30 -0
  105. package/hub/team/conductor-mesh-bridge.mjs +121 -0
  106. package/hub/team/conductor.mjs +671 -0
  107. package/hub/team/dashboard-anchor.mjs +14 -0
  108. package/hub/team/dashboard-layout.mjs +33 -0
  109. package/hub/team/dashboard-open.mjs +153 -0
  110. package/hub/team/dashboard.mjs +274 -0
  111. package/hub/team/event-log.mjs +76 -0
  112. package/hub/team/handoff.mjs +303 -0
  113. package/hub/team/headless.mjs +1156 -0
  114. package/hub/team/health-probe.mjs +272 -0
  115. package/hub/team/launcher-template.mjs +95 -0
  116. package/hub/team/lead-control.mjs +104 -0
  117. package/hub/team/native-supervisor.mjs +392 -0
  118. package/hub/team/native.mjs +649 -0
  119. package/hub/team/nativeProxy.mjs +688 -0
  120. package/hub/team/notify.mjs +293 -0
  121. package/hub/team/orchestrator.mjs +161 -0
  122. package/hub/team/pane.mjs +153 -0
  123. package/hub/team/process-cleanup.mjs +342 -0
  124. package/hub/team/psmux.mjs +1354 -0
  125. package/hub/team/remote-probe.mjs +276 -0
  126. package/hub/team/remote-session.mjs +299 -0
  127. package/hub/team/remote-watcher.mjs +478 -0
  128. package/hub/team/routing.mjs +223 -0
  129. package/hub/team/session-sync.mjs +169 -0
  130. package/hub/team/session.mjs +611 -0
  131. package/hub/team/shared.mjs +13 -0
  132. package/hub/team/staleState.mjs +361 -0
  133. package/hub/team/swarm-hypervisor.mjs +589 -0
  134. package/hub/team/swarm-locks.mjs +204 -0
  135. package/hub/team/swarm-planner.mjs +260 -0
  136. package/hub/team/swarm-reconciler.mjs +137 -0
  137. package/hub/team/tui-lite.mjs +380 -0
  138. package/hub/team/tui-remote-adapter.mjs +393 -0
  139. package/hub/team/tui-viewer.mjs +463 -0
  140. package/hub/team/tui.mjs +1449 -0
  141. package/hub/team/worktree-lifecycle.mjs +193 -0
  142. package/hub/team/wt-manager.mjs +407 -0
  143. package/hub/team/wt-templates.json +43 -0
  144. package/hub/team-bridge.mjs +27 -0
  145. package/hub/token-mode.mjs +224 -0
  146. package/hub/tools.mjs +636 -0
  147. package/hub/tray.mjs +376 -0
  148. package/hub/workers/claude-worker.mjs +475 -0
  149. package/hub/workers/codex-mcp.mjs +507 -0
  150. package/hub/workers/delegator-mcp.mjs +1076 -0
  151. package/hub/workers/factory.mjs +21 -0
  152. package/hub/workers/gemini-worker.mjs +374 -0
  153. package/hub/workers/interface.mjs +52 -0
  154. package/hub/workers/worker-utils.mjs +104 -0
  155. package/hud/colors.mjs +88 -0
  156. package/hud/constants.mjs +88 -0
  157. package/hud/context-monitor.mjs +403 -0
  158. package/hud/hud-qos-status.mjs +210 -0
  159. package/hud/providers/claude.mjs +314 -0
  160. package/hud/providers/codex.mjs +151 -0
  161. package/hud/providers/gemini.mjs +320 -0
  162. package/hud/renderers.mjs +442 -0
  163. package/hud/terminal.mjs +140 -0
  164. package/hud/utils.mjs +313 -0
  165. package/mesh/index.mjs +63 -0
  166. package/mesh/mesh-budget.mjs +128 -0
  167. package/mesh/mesh-heartbeat.mjs +100 -0
  168. package/mesh/mesh-protocol.mjs +96 -0
  169. package/mesh/mesh-queue.mjs +165 -0
  170. package/mesh/mesh-registry.mjs +78 -0
  171. package/mesh/mesh-router.mjs +76 -0
  172. package/package.json +8 -1
  173. package/references/hosts.json +33 -0
  174. package/scripts/__tests__/gen-skill-docs.test.mjs +87 -0
  175. package/scripts/__tests__/keyword-detector.test.mjs +234 -0
  176. package/scripts/__tests__/mcp-guard-engine.test.mjs +118 -0
  177. package/scripts/__tests__/remote-spawn-transfer.test.mjs +117 -0
  178. package/scripts/__tests__/remote-spawn.test.mjs +92 -0
  179. package/scripts/__tests__/skill-template.test.mjs +193 -0
  180. package/scripts/__tests__/smoke.test.mjs +34 -0
  181. package/scripts/cache-buildup.mjs +30 -0
  182. package/scripts/cache-doctor.mjs +149 -0
  183. package/scripts/cache-warmup.mjs +557 -0
  184. package/scripts/claudemd-sync.mjs +148 -0
  185. package/scripts/cli-route.sh +3 -0
  186. package/scripts/completions/tfx.bash +47 -0
  187. package/scripts/completions/tfx.fish +44 -0
  188. package/scripts/completions/tfx.zsh +83 -0
  189. package/scripts/cross-review-gate.mjs +126 -0
  190. package/scripts/cross-review-tracker.mjs +238 -0
  191. package/scripts/gen-skill-docs.mjs +111 -0
  192. package/scripts/headless-guard-fast.sh +21 -0
  193. package/scripts/headless-guard.mjs +360 -0
  194. package/scripts/hub-ensure.mjs +120 -0
  195. package/scripts/keyword-detector.mjs +272 -0
  196. package/scripts/keyword-rules-expander.mjs +521 -0
  197. package/scripts/lib/claudemd-scanner.mjs +218 -0
  198. package/scripts/lib/context.mjs +67 -0
  199. package/scripts/lib/cross-review-utils.mjs +51 -0
  200. package/scripts/lib/env-probe.mjs +241 -0
  201. package/scripts/lib/gemini-profiles.mjs +85 -0
  202. package/scripts/lib/handoff.mjs +171 -0
  203. package/scripts/lib/hook-utils.mjs +14 -0
  204. package/scripts/lib/keyword-rules.mjs +166 -0
  205. package/scripts/lib/logger.mjs +105 -0
  206. package/scripts/lib/mcp-filter.mjs +739 -0
  207. package/scripts/lib/mcp-guard-engine.mjs +954 -0
  208. package/scripts/lib/mcp-manifest.mjs +79 -0
  209. package/scripts/lib/mcp-server-catalog.mjs +118 -0
  210. package/scripts/lib/psmux-info.mjs +119 -0
  211. package/scripts/lib/remote-spawn-transfer.mjs +196 -0
  212. package/scripts/lib/skill-template.mjs +326 -0
  213. package/scripts/mcp-check.mjs +237 -0
  214. package/scripts/mcp-cleanup.ps1 +17 -0
  215. package/scripts/mcp-gateway-config.mjs +207 -0
  216. package/scripts/mcp-gateway-ensure.mjs +85 -0
  217. package/scripts/mcp-gateway-integration-test.mjs +228 -0
  218. package/scripts/mcp-gateway-start.mjs +226 -0
  219. package/scripts/mcp-gateway-start.ps1 +141 -0
  220. package/scripts/mcp-gateway-verify.mjs +77 -0
  221. package/scripts/mcp-safety-guard.mjs +44 -0
  222. package/scripts/notion-read.mjs +556 -0
  223. package/scripts/pack.mjs +295 -0
  224. package/scripts/preflight-cache.mjs +69 -0
  225. package/scripts/preinstall.mjs +96 -0
  226. package/scripts/remote-spawn.mjs +1376 -0
  227. package/scripts/run.cjs +79 -0
  228. package/scripts/session-spawn-helper.mjs +185 -0
  229. package/scripts/setup.mjs +1178 -0
  230. package/scripts/test-lock.mjs +71 -0
  231. package/scripts/test-tfx-route-no-claude-native.mjs +57 -0
  232. package/scripts/tfx-batch-stats.mjs +96 -0
  233. package/scripts/tfx-gate-activate.mjs +89 -0
  234. package/scripts/tfx-route-post.mjs +505 -0
  235. package/scripts/tfx-route-worker.mjs +223 -0
  236. package/scripts/tfx-route.sh +2014 -0
  237. package/scripts/tmp-cleanup.mjs +103 -0
  238. package/scripts/token-snapshot.mjs +575 -0
  239. package/skills/tfx-auto/SKILL.md.tmpl +2 -3
  240. package/skills/tfx-autoresearch/SKILL.md +6 -5
  241. package/skills/tfx-codex/SKILL.md.tmpl +2 -3
  242. package/skills/tfx-codex-swarm-workspace/iteration-1/benchmark.json +33 -0
  243. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/eval_metadata.json +42 -0
  244. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/grading.json +11 -0
  245. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/analysis.md +87 -0
  246. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/classification.md +35 -0
  247. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/commands.sh +275 -0
  248. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/outputs/routing.md +56 -0
  249. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/with_skill/timing.json +5 -0
  250. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/grading.json +11 -0
  251. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/analysis.md +92 -0
  252. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/classification.md +71 -0
  253. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/commands.sh +264 -0
  254. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/outputs/routing.md +113 -0
  255. package/skills/tfx-codex-swarm-workspace/iteration-1/full-swarm-all-prds/without_skill/timing.json +5 -0
  256. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/eval_metadata.json +32 -0
  257. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/grading.json +9 -0
  258. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/analysis.md +96 -0
  259. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/classification.md +38 -0
  260. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/commands.sh +151 -0
  261. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/outputs/routing.md +51 -0
  262. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/with_skill/timing.json +5 -0
  263. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/grading.json +9 -0
  264. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/analysis.md +127 -0
  265. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/classification.md +57 -0
  266. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/commands.sh +129 -0
  267. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/outputs/routing.md +84 -0
  268. package/skills/tfx-codex-swarm-workspace/iteration-1/implicit-swarm-no-keywords/without_skill/timing.json +5 -0
  269. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/eval_metadata.json +27 -0
  270. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/grading.json +8 -0
  271. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/analysis.md +98 -0
  272. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/classification.md +65 -0
  273. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/commands.sh +123 -0
  274. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/outputs/routing.md +66 -0
  275. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/with_skill/timing.json +5 -0
  276. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/grading.json +8 -0
  277. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/analysis.md +88 -0
  278. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/classification.md +40 -0
  279. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/commands.sh +130 -0
  280. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/outputs/routing.md +61 -0
  281. package/skills/tfx-codex-swarm-workspace/iteration-1/selective-spawn-with-override/without_skill/timing.json +5 -0
  282. package/skills/tfx-deep-interview/SKILL.md +1 -2
  283. package/skills/tfx-plan/SKILL.md.tmpl +2 -3
  284. package/skills/tfx-psmux-rules/SKILL.md +11 -2
  285. package/skills/tfx-qa/SKILL.md.tmpl +2 -3
  286. package/skills/tfx-remote-spawn/SKILL.md +8 -11
  287. package/skills/tfx-research/SKILL.md.tmpl +2 -3
  288. package/skills/tfx-review/SKILL.md.tmpl +2 -3
  289. package/skills/tfx-workspace/async-tests/run-tests.sh +203 -0
  290. package/skills/tfx-workspace/evals/evals.json +79 -0
  291. package/skills/tfx-workspace/iteration-1/benchmark.json +162 -0
  292. package/skills/tfx-workspace/iteration-1/codex-gemini-remap/eval_metadata.json +11 -0
  293. package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/grading.json +9 -0
  294. package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/outputs/analysis.md +154 -0
  295. package/skills/tfx-workspace/iteration-1/codex-gemini-remap/old_skill/timing.json +5 -0
  296. package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/grading.json +9 -0
  297. package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/outputs/analysis.md +126 -0
  298. package/skills/tfx-workspace/iteration-1/codex-gemini-remap/with_skill/timing.json +5 -0
  299. package/skills/tfx-workspace/iteration-1/doctor-diagnosis/eval_metadata.json +11 -0
  300. package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/grading.json +9 -0
  301. package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/outputs/analysis.md +119 -0
  302. package/skills/tfx-workspace/iteration-1/doctor-diagnosis/old_skill/timing.json +5 -0
  303. package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/grading.json +9 -0
  304. package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/outputs/analysis.md +115 -0
  305. package/skills/tfx-workspace/iteration-1/doctor-diagnosis/with_skill/timing.json +5 -0
  306. package/skills/tfx-workspace/iteration-1/hub-start-sequence/eval_metadata.json +10 -0
  307. package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/grading.json +8 -0
  308. package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/outputs/analysis.md +86 -0
  309. package/skills/tfx-workspace/iteration-1/hub-start-sequence/old_skill/timing.json +5 -0
  310. package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/grading.json +8 -0
  311. package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/outputs/analysis.md +81 -0
  312. package/skills/tfx-workspace/iteration-1/hub-start-sequence/with_skill/timing.json +5 -0
  313. package/skills/tfx-workspace/iteration-1/multi-team-creation/eval_metadata.json +12 -0
  314. package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/grading.json +10 -0
  315. package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/outputs/analysis.md +316 -0
  316. package/skills/tfx-workspace/iteration-1/multi-team-creation/old_skill/timing.json +5 -0
  317. package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/grading.json +10 -0
  318. package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/outputs/analysis.md +352 -0
  319. package/skills/tfx-workspace/iteration-1/multi-team-creation/with_skill/timing.json +5 -0
  320. package/skills/tfx-workspace/iteration-1/review.html +1325 -0
  321. package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/eval_metadata.json +12 -0
  322. package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/grading.json +10 -0
  323. package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/outputs/analysis.md +97 -0
  324. package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/old_skill/timing.json +5 -0
  325. package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/grading.json +10 -0
  326. package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/outputs/analysis.md +94 -0
  327. package/skills/tfx-workspace/iteration-1/routing-implement-shortcut/with_skill/timing.json +5 -0
  328. package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/eval_metadata.json +12 -0
  329. package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/grading.json +10 -0
  330. package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/outputs/analysis.md +209 -0
  331. package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/old_skill/timing.json +5 -0
  332. package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/grading.json +10 -0
  333. package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/outputs/analysis.md +193 -0
  334. package/skills/tfx-workspace/iteration-1/routing-multi-task-triage/with_skill/timing.json +5 -0
  335. package/skills/tfx-workspace/iteration-2/benchmark.json +62 -0
  336. package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/eval_metadata.json +13 -0
  337. package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/grading.json +11 -0
  338. package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/outputs/analysis.md +382 -0
  339. package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/old_skill/timing.json +5 -0
  340. package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/grading.json +11 -0
  341. package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/outputs/analysis.md +333 -0
  342. package/skills/tfx-workspace/iteration-2/multi-team-creation-refactored/with_skill/timing.json +5 -0
  343. package/skills/tfx-workspace/iteration-2/review.html +1325 -0
  344. package/skills/tfx-workspace/skill-snapshot/tfx-auto/SKILL.md +217 -0
  345. package/skills/{tfx-auto-codex/SKILL.md.tmpl → tfx-workspace/skill-snapshot/tfx-auto-codex/SKILL.md} +3 -31
  346. package/skills/tfx-workspace/skill-snapshot/tfx-codex/SKILL.md +65 -0
  347. package/skills/tfx-workspace/skill-snapshot/tfx-doctor/SKILL.md +94 -0
  348. package/skills/{tfx-gemini/SKILL.md.tmpl → tfx-workspace/skill-snapshot/tfx-gemini/SKILL.md} +6 -14
  349. package/skills/tfx-workspace/skill-snapshot/tfx-hub/SKILL.md +133 -0
  350. package/skills/tfx-workspace/skill-snapshot/tfx-multi/SKILL.md +426 -0
  351. package/skills/tfx-workspace/skill-snapshot/tfx-setup/SKILL.md +101 -0
  352. package/skills/merge-worktree/SKILL.md.tmpl +0 -144
  353. package/skills/shared/arguments-processing.md +0 -2
  354. package/skills/shared/mandatory-rules.md +0 -6
  355. package/skills/shared/telemetry-segment.md +0 -6
  356. package/skills/star-prompt/SKILL.md.tmpl +0 -122
  357. package/skills/tfx-analysis/SKILL.md.tmpl +0 -106
  358. package/skills/tfx-analysis/skill.json +0 -11
  359. package/skills/tfx-auto/skill.json +0 -26
  360. package/skills/tfx-auto-codex/skill.json +0 -8
  361. package/skills/tfx-autopilot/SKILL.md.tmpl +0 -115
  362. package/skills/tfx-autopilot/skill.json +0 -10
  363. package/skills/tfx-autoresearch/SKILL.md.tmpl +0 -135
  364. package/skills/tfx-autoresearch/skill.json +0 -14
  365. package/skills/tfx-autoroute/SKILL.md.tmpl +0 -188
  366. package/skills/tfx-autoroute/skill.json +0 -12
  367. package/skills/tfx-codex/skill.json +0 -8
  368. package/skills/tfx-codex-swarm/SKILL.md.tmpl +0 -16
  369. package/skills/tfx-codex-swarm/skill.json +0 -5
  370. package/skills/tfx-consensus/SKILL.md.tmpl +0 -145
  371. package/skills/tfx-consensus/skill.json +0 -8
  372. package/skills/tfx-debate/SKILL.md.tmpl +0 -191
  373. package/skills/tfx-debate/skill.json +0 -12
  374. package/skills/tfx-deep-analysis/SKILL.md.tmpl +0 -227
  375. package/skills/tfx-deep-analysis/skill.json +0 -10
  376. package/skills/tfx-deep-interview/SKILL.md.tmpl +0 -203
  377. package/skills/tfx-deep-interview/skill.json +0 -12
  378. package/skills/tfx-deep-plan/SKILL.md.tmpl +0 -281
  379. package/skills/tfx-deep-plan/skill.json +0 -13
  380. package/skills/tfx-deep-qa/SKILL.md.tmpl +0 -164
  381. package/skills/tfx-deep-qa/skill.json +0 -11
  382. package/skills/tfx-deep-research/SKILL.md.tmpl +0 -216
  383. package/skills/tfx-deep-research/skill.json +0 -14
  384. package/skills/tfx-deep-review/SKILL.md.tmpl +0 -178
  385. package/skills/tfx-deep-review/skill.json +0 -12
  386. package/skills/tfx-doctor/SKILL.md.tmpl +0 -172
  387. package/skills/tfx-doctor/skill.json +0 -8
  388. package/skills/tfx-find/skill.json +0 -12
  389. package/skills/tfx-forge/SKILL.md.tmpl +0 -187
  390. package/skills/tfx-forge/skill.json +0 -12
  391. package/skills/tfx-fullcycle/SKILL.md.tmpl +0 -285
  392. package/skills/tfx-fullcycle/skill.json +0 -11
  393. package/skills/tfx-gemini/skill.json +0 -8
  394. package/skills/tfx-hooks/SKILL.md.tmpl +0 -216
  395. package/skills/tfx-hooks/skill.json +0 -8
  396. package/skills/tfx-hub/SKILL.md.tmpl +0 -212
  397. package/skills/tfx-hub/skill.json +0 -8
  398. package/skills/tfx-index/skill.json +0 -11
  399. package/skills/tfx-interview/SKILL.md.tmpl +0 -284
  400. package/skills/tfx-interview/skill.json +0 -12
  401. package/skills/tfx-multi/SKILL.md.tmpl +0 -183
  402. package/skills/tfx-multi/skill.json +0 -8
  403. package/skills/tfx-panel/SKILL.md.tmpl +0 -188
  404. package/skills/tfx-panel/skill.json +0 -12
  405. package/skills/tfx-persist/SKILL.md.tmpl +0 -269
  406. package/skills/tfx-persist/skill.json +0 -12
  407. package/skills/tfx-plan/skill.json +0 -11
  408. package/skills/tfx-profile/SKILL.md.tmpl +0 -239
  409. package/skills/tfx-profile/skill.json +0 -8
  410. package/skills/tfx-prune/SKILL.md.tmpl +0 -199
  411. package/skills/tfx-prune/skill.json +0 -12
  412. package/skills/tfx-psmux-rules/SKILL.md.tmpl +0 -317
  413. package/skills/tfx-psmux-rules/skill.json +0 -8
  414. package/skills/tfx-qa/skill.json +0 -11
  415. package/skills/tfx-ralph/SKILL.md.tmpl +0 -27
  416. package/skills/tfx-ralph/skill.json +0 -8
  417. package/skills/tfx-remote-setup/SKILL.md.tmpl +0 -576
  418. package/skills/tfx-remote-setup/skill.json +0 -8
  419. package/skills/tfx-remote-spawn/SKILL.md.tmpl +0 -263
  420. package/skills/tfx-remote-spawn/skill.json +0 -9
  421. package/skills/tfx-research/skill.json +0 -13
  422. package/skills/tfx-review/skill.json +0 -11
  423. package/skills/tfx-setup/SKILL.md.tmpl +0 -380
  424. package/skills/tfx-setup/skill.json +0 -8
  425. package/skills/tfx-swarm/SKILL.md.tmpl +0 -154
  426. package/skills/tfx-swarm/skill.json +0 -5
@@ -1,14 +0,0 @@
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
- ],
13
- "argument_hint": "[--depth quick|standard|deep] <리서치 주제>"
14
- }
@@ -1,178 +0,0 @@
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
- > **ARGUMENTS 처리**: 이 스킬이 `ARGUMENTS: <값>`과 함께 호출되면, 해당 값을 사용자 입력으로 취급하여
16
- > 워크플로우의 첫 단계 입력으로 사용한다. ARGUMENTS가 비어있거나 없으면 기존 절차대로 사용자에게 입력을 요청한다.
17
-
18
-
19
- > **Light 버전**: tfx-review. 기본값. 깊이 수정자 없으면 Light 선택.
20
- > 3-CLI 독립 리뷰 → 교차검증 → 2+ 합의 항목만 보고. Diffray + Calimero 영감.
21
-
22
- ## 핵심 원리
23
-
24
- **Anti-Herding**: Round 1에서 3개 CLI가 서로의 결과를 보지 않고 독립 리뷰.
25
- **Consensus Only**: 2개 이상 CLI가 동일 이슈를 지적한 항목만 최종 보고 → false-positive 87% 감소.
26
-
27
- ## 전제조건 프로브 및 Tier Degradation
28
-
29
- > **진입 즉시 실행** — 10초 내 가시적 출력을 보장한다. 빈 stdout + exit 0 **금지**.
30
-
31
- ### 환경 프로브
32
-
33
- 워크플로우 진입 전, 아래 프로브를 실행하여 가용 환경을 감지한다:
34
-
35
- ```bash
36
- psmux --version 2>/dev/null && \
37
- curl -sf http://127.0.0.1:27888/status >/dev/null && \
38
- codex --version 2>/dev/null && \
39
- gemini --version 2>/dev/null
40
- ```
41
-
42
- ### Tier 판정
43
-
44
- | Tier | 조건 | 실행 방식 |
45
- |------|------|----------|
46
- | **Tier 1** | psmux + Hub + Codex + Gemini 전부 정상 | 기존 headless multi (변경 없음) |
47
- | **Tier 2** | 일부 CLI만 가용 (Codex 또는 Gemini 중 하나) | 가용 CLI + Claude Agent 조합 |
48
- | **Tier 3** | headless 불가 또는 `claude -p` one-shot | Claude Agent only |
49
-
50
- ```
51
- IF claude -p (one-shot 모드):
52
- → Tier 3 즉시 fallback
53
-
54
- IF psmux 없음 OR Hub 미응답:
55
- → Tier 3
56
-
57
- IF Codex 없음 AND Gemini 없음:
58
- → Tier 3
59
-
60
- IF Codex 없음 OR Gemini 없음:
61
- → Tier 2
62
-
63
- ELSE:
64
- → Tier 1
65
- ```
66
-
67
- ### Tier 3 진입 시 필수 출력
68
-
69
- ```
70
- ⚠ [Tier 3] headless multi 환경 미충족 — single-model 모드로 실행합니다 (consensus 미적용)
71
- 누락: {missing_components}
72
- 권장: psmux, Hub, Codex CLI, Gemini CLI 설치 후 재실행
73
- ```
74
-
75
- Tier 3에서는 모든 headless dispatch(`tfx multi ...`)를 **Claude Agent**(subagent)로 대체한다.
76
- Tier 2에서는 누락된 CLI만 Claude Agent로 대체한다.
77
-
78
- ## HARD RULES
79
-
80
- > headless-guard가 이 규칙 위반을 **자동 차단**한다. 우회 불가.
81
-
82
- 1. **`codex exec` / `gemini -p` 직접 호출 절대 금지**
83
- 2. Codex·Gemini → `Bash("tfx multi --teammate-mode headless --auto-attach --dashboard --assign 'cli:프롬프트:역할' --timeout 600")` **만** 사용
84
- 3. Claude → `Agent(run_in_background=true)`
85
- 4. Bash + Agent를 같은 메시지에서 동시 호출하여 병렬 실행
86
-
87
- ## MODEL ROLES
88
-
89
- | CLI | 역할 | 관점 |
90
- |-----|------|------|
91
- | Claude Opus | 로직+아키텍처 | 로직 결함, 아키텍처 위반, 설계 패턴 |
92
- | Codex | 보안+성능 | OWASP Top 10, O(n²) 패턴, 누락된 에러 핸들링 |
93
- | Gemini | 가독성+DX | 네이밍 컨벤션, 가독성, 주석 필요성, 타입 안전성 |
94
-
95
- ## EXECUTION STEPS
96
-
97
- ### Step 1: 리뷰 대상 수집
98
-
99
- `git diff` (staged + unstaged) 또는 사용자 지정 파일을 수집한다.
100
-
101
- ### Step 2: 3-CLI 독립 리뷰 — 아래 2개 도구를 반드시 같은 응답에서 동시에 호출하라.
102
-
103
- **Claude Agent (로직+아키텍처):**
104
- ```
105
- Agent(
106
- subagent_type="oh-my-claudecode:code-reviewer",
107
- model="opus",
108
- run_in_background=true,
109
- name="review-logic",
110
- description="로직 결함 및 아키텍처 위반 독립 리뷰",
111
- prompt="코드 리뷰어로서 로직/아키텍처 관점에서 이 코드를 분석하라. 로직 결함, 아키텍처 위반, 설계 패턴 문제를 찾아라. JSON으로 응답하라: { findings: [{ id, file, line, severity, category, description, suggestion }] }"
112
- )
113
- ```
114
-
115
- **Codex + Gemini headless dispatch (보안+성능+가독성):**
116
- ```
117
- Bash("tfx multi --teammate-mode headless --auto-attach --dashboard --assign 'codex:보안/성능 전문가로서 이 코드를 분석하라. OWASP Top 10 취약점을 확인하라. O(n²) 이상의 성능 병목을 찾아라. 누락된 에러 핸들링을 지적하라. JSON으로 응답하라: { findings: [{ id, file, line, severity, category, description, suggestion }] }:reviewer' --assign 'gemini:코드 품질 전문가로서 이 코드를 분석하라. 가독성과 네이밍 컨벤션을 평가하라. 주석이 필요한 복잡한 로직을 식별하라. 타입 안전성 문제를 찾아라. 개발자 경험(DX)을 저해하는 패턴을 지적하라. JSON으로 응답하라: { findings: [{ id, file, line, severity, category, description, suggestion }] }:reviewer' --timeout 600")
118
- ```
119
-
120
- ### Step 3: Consensus Scoring
121
-
122
- 모든 findings를 수집하여 유사도를 비교한다:
123
- - 동일 파일+라인±5 + 유사 카테고리 → 동일 이슈로 간주
124
- - 3/3 합의 → severity 유지
125
- - 2/3 합의 → severity 유지, 반대 의견 첨부
126
- - 1/3만 지적 → UNVERIFIED 표시 (참고용, 별도 섹션)
127
-
128
- `consensus_score = consensus_items / total_unique_items × 100`
129
-
130
- ### Step 4: 종합 보고서 작성
131
-
132
- 아래 형식으로 보고서를 출력한다:
133
-
134
- ```markdown
135
- ## Deep Code Review: {target}
136
- **Consensus Score**: {score}% | **Reviewers**: Claude/Codex/Gemini
137
-
138
- ### Critical (3/3 합의)
139
- - [C1] `{file}:{line}` — {description}
140
- - Claude: {detail} | Codex: {detail} | Gemini: {detail}
141
- - **Fix**: {suggestion}
142
-
143
- ### High (2/3 합의)
144
- - [H1] `{file}:{line}` — {description}
145
- - 합의: {agreers} | 반대: {dissenter}: "{reason}"
146
-
147
- ### Verified Medium
148
- - ...
149
-
150
- ### Unverified (1/3만 지적, 참고용)
151
- - [U1] `{file}:{line}` — {description} (by {single_cli})
152
-
153
- ### 통계
154
- | CLI | 발견 수 | 합의 기여율 |
155
- |-----|---------|------------|
156
- | Claude | {n} | {%} |
157
- | Codex | {n} | {%} |
158
- | Gemini | {n} | {%} |
159
- ```
160
-
161
- ## ERROR RECOVERY
162
-
163
- | 오류 | 조치 |
164
- |------|------|
165
- | headless dispatch 타임아웃 | `--timeout` 값을 900으로 올려 재시도 |
166
- | Agent 결과 미수신 | Step 2를 Agent만 단독 재실행 |
167
- | consensus 0% | 대상 범위가 너무 넓음 — 파일 단위로 분할 후 재실행 |
168
- | tfx multi 명령 실패 | `tfx status`로 teammate 연결 상태 확인 |
169
-
170
- ## 토큰 예산
171
-
172
- | 단계 | 토큰 |
173
- |------|------|
174
- | Step 1 (수집) | ~1K |
175
- | Step 2 (3x 독립 리뷰) | ~15K |
176
- | Step 3 (Consensus) | ~3K |
177
- | Step 4 (보고) | ~3K |
178
- | **총합** | **~22K** |
@@ -1,12 +0,0 @@
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
- ],
11
- "argument_hint": "[파일 경로 또는 변경 설명]"
12
- }
@@ -1,172 +0,0 @@
1
- ---
2
- name: tfx-doctor
3
- description: >
4
- triflux 진단 및 수리 도구. AskUserQuestion 기반 인터랙티브 선택지로
5
- CLI 미발견, HUD 미표시, 캐시 오류, 스킬 미설치 등을 진단하고 자동 수정합니다.
6
- Use when: not working, broken, error, 안 돼, 이상해, 에러, 캐시, reset, doctor
7
- triggers:
8
- - tfx-doctor
9
- argument-hint: "[--fix|--reset]"
10
- ---
11
-
12
- # tfx-doctor — triflux 진단 및 수리
13
-
14
- > 뭔가 안 될 때, HUD가 이상할 때, CLI가 안 보일 때 실행하세요.
15
-
16
- ## 워크플로우
17
-
18
- ### Step 1: 모드 선택 (AskUserQuestion)
19
-
20
- 인자 없이 호출된 경우 모드를 선택한다:
21
-
22
- ```
23
- question: "어떤 진단 모드를 실행하시겠습니까?"
24
- header: "모드"
25
- options:
26
- - label: "진단 (Diagnose)"
27
- description: "읽기 전용 전체 검사 — 아무것도 수정하지 않음"
28
- - label: "수정 (Fix)"
29
- description: "파일 동기화 + 캐시 정리 후 진단 실행"
30
- - label: "캐시 관리 (Cache)"
31
- description: "캐시 파일별 상태 조회, 선택적 삭제"
32
- - label: "전체 초기화 (Reset)"
33
- description: "모든 캐시 삭제 + 재생성 (위험)"
34
- ```
35
-
36
- `--fix`, `--reset` 인자가 있으면 바로 해당 모드로 실행.
37
-
38
- ### Step 2: 모드별 실행
39
-
40
- #### 진단 모드
41
-
42
- ```bash
43
- Bash("triflux doctor --json")
44
- ```
45
-
46
- JSON 결과를 파싱하여 마크다운 테이블로 표시:
47
-
48
- ```
49
- | 항목 | 상태 | 비고 |
50
- |------|------|------|
51
- | tfx-route.sh | ✅ | v2.0 |
52
- | HUD | ✅ | 설치됨 |
53
- | Codex CLI | ✅ | found |
54
- | Gemini CLI | ⚠ | 미설치 (선택) |
55
- | ... | ... | ... |
56
- ```
57
-
58
- 이슈가 발견되면 AskUserQuestion:
59
- ```
60
- question: "N개 이슈가 발견되었습니다. 자동 수정을 시도하시겠습니까?"
61
- header: "수정"
62
- options:
63
- - label: "자동 수정 실행 (Recommended)"
64
- description: "triflux doctor --fix 실행"
65
- - label: "건너뛰기"
66
- description: "수정 없이 결과만 확인"
67
- ```
68
-
69
- #### 수정 모드
70
-
71
- ```bash
72
- Bash("triflux doctor --fix")
73
- ```
74
-
75
- 결과를 보고한다.
76
-
77
- #### 캐시 관리
78
-
79
- `~/.claude/cache/` 디렉토리의 캐시 파일들을 Read/Glob으로 조회:
80
-
81
- | 캐시 파일 | 설명 |
82
- |-----------|------|
83
- | claude-usage-cache.json | Claude 사용량 |
84
- | codex-rate-limits-cache.json | Codex 레이트 리밋 |
85
- | gemini-quota-cache.json | Gemini 쿼터 |
86
- | sv-accumulator.json | 절약량 누적 |
87
- | mcp-inventory.json | MCP 서버 인벤토리 |
88
- | cli-issues.jsonl | CLI 이슈 로그 |
89
- | triflux-update-check.json | 업데이트 체크 |
90
- | .omc/cache/codex-skills.json | Codex 스킬 인덱스 |
91
- | .omc/state/tier-environment.json | Tier 환경 스냅샷 |
92
- | .omc/cache/project-meta.json | 프로젝트 메타 |
93
- | .omc/state/search-engines.json | 검색 엔진 상태 |
94
-
95
- 존재하는 캐시 파일 목록과 크기를 테이블로 표시 후 AskUserQuestion:
96
-
97
- ```
98
- question: "어떻게 삭제하시겠습니까?"
99
- header: "삭제"
100
- options:
101
- - label: "전체 삭제"
102
- description: "모든 캐시 파일 삭제"
103
- - label: "에러 캐시만 삭제"
104
- description: "파싱 에러가 있는 파일만 삭제"
105
- - label: "선택 삭제"
106
- description: "파일 하나씩 선택하여 삭제"
107
- - label: "취소"
108
- description: "삭제하지 않음"
109
- ```
110
-
111
- "선택 삭제" 시 각 파일에 대해 AskUserQuestion으로 삭제 여부 확인.
112
-
113
- #### 전체 초기화
114
-
115
- 위험 확인:
116
- ```
117
- question: "전체 캐시를 초기화하시겠습니까? 다음 세션에서 재생성됩니다."
118
- header: "확인"
119
- options:
120
- - label: "초기화 실행"
121
- description: "모든 캐시 삭제 + MCP/사용량 캐시 재생성"
122
- - label: "취소"
123
- description: "아무것도 하지 않음"
124
- ```
125
-
126
- 확인 시:
127
- ```bash
128
- Bash("triflux doctor --reset")
129
- ```
130
-
131
- ### Step 3: 후속 조치
132
-
133
- 실행 완료 후 AskUserQuestion:
134
- ```
135
- question: "다른 작업을 하시겠습니까?"
136
- header: "계속"
137
- options:
138
- - label: "다른 모드 실행"
139
- description: "진단/수정/캐시/초기화 메뉴로 돌아감"
140
- - label: "종료"
141
- description: "doctor 종료"
142
- ```
143
-
144
- ## 진단 항목
145
-
146
- - tfx-route.sh 설치 상태
147
- - HUD 설치 및 설정 상태
148
- - Codex/Gemini/Claude CLI 경로 (크로스 셸)
149
- - **psmux 버전 / capability preflight**
150
- - `new-session`, `attach-session`, `kill-session`, `capture-pane`, `detach-client`
151
- - 권장 버전 이상인지 여부
152
- - Codex Profiles (필수 프로파일 존재 여부)
153
- - 스킬 설치 상태
154
- - 플러그인 등록 상태
155
- - MCP 인벤토리 캐시
156
- - Phase 1 웜업 캐시 무결성 (`node scripts/cache-doctor.mjs`)
157
- - 잔존 팀(orphan teams) 감지
158
- - **Docs 동기화** — `docs/design/`, `docs/research/` → `~/.claude/docs/` 레퍼런스 문서 동기화 상태
159
- - **Gemini MCP 안전성** — `~/.gemini/settings.json`의 stdio MCP 감지 (spawn EPERM 방지)
160
- - **Route Script 정합성** — 프로젝트 소스 `scripts/tfx-route.sh`와 `~/.claude/scripts/tfx-route.sh` 일치 여부
161
-
162
- ## 에러 처리
163
-
164
- | 상황 | 처리 |
165
- |------|------|
166
- | 캐시 디렉토리 없음 | 정상 — 삭제할 파일 없음 보고 |
167
- | 파일 삭제 권한 없음 | 수동 삭제 안내 |
168
- | --fix 후에도 이슈 남음 | Codex/Gemini 설치는 수동 필요 안내 |
169
-
170
- ## standalone TUI
171
-
172
- 터미널에서 직접 실행도 가능: `node tui/doctor.mjs` (arrow key 방식)
@@ -1,8 +0,0 @@
1
- {
2
- "name": "tfx-doctor",
3
- "description": "triflux 진단 및 수리 도구. AskUserQuestion 기반 인터랙티브 선택지로 CLI 미발견, HUD 미표시, 캐시 오류, 스킬 미설치 등을 진단하고 자동 수정합니다. Use when: not working, broken, error, 안 돼, 이상해, 에러, 캐시, reset, doctor",
4
- "triggers": [
5
- "tfx-doctor"
6
- ],
7
- "argument_hint": "[--fix|--reset]"
8
- }
@@ -1,12 +0,0 @@
1
- {
2
- "name": "tfx-find",
3
- "description": "코드베이스에서 파일, 함수, 클래스, 문자열을 빠르게 찾을 때 사용한다. '코드 검색', 'find in code', '어디에 있어?', '이 함수 어디서 쓰여?', '파일 찾아줘', '코드베이스 탐색' 같은 요청에 반드시 사용. 파일 위치, 심볼 사용처, 패턴 검색이 필요한 모든 상황에 적극 활용.",
4
- "triggers": [
5
- "코드 검색",
6
- "codebase search",
7
- "find in code",
8
- "코드에서 찾기",
9
- "코드베이스 검색"
10
- ],
11
- "argument_hint": "<검색 패턴 또는 질문>"
12
- }
@@ -1,187 +0,0 @@
1
- ---
2
- name: tfx-forge
3
- description: "새 스킬을 만들거나 기존 스킬을 수정할 때 사용한다. 'forge', '스킬 만들기', 'create skill', '새 스킬', '스킬 생성', 'SKILL.md 작성' 같은 요청에 반드시 사용. 반복 작업을 스킬로 자동화하고 싶을 때 적극 활용."
4
- triggers:
5
- - forge
6
- - 스킬 만들기
7
- - create skill
8
- - 스킬 생성
9
- - new skill
10
- argument-hint: "[스킬 이름 또는 설명]"
11
- ---
12
-
13
- # tfx-forge — Skill Authoring Meta-Skill
14
-
15
- > **ARGUMENTS 처리**: 이 스킬이 `ARGUMENTS: <값>`과 함께 호출되면, 해당 값을 사용자 입력으로 취급하여
16
- > 워크플로우의 첫 단계 입력으로 사용한다. ARGUMENTS가 비어있거나 없으면 기존 절차대로 사용자에게 입력을 요청한다.
17
-
18
-
19
- > Superpowers skill authoring 오마주. 스킬을 만드는 스킬.
20
- > "메타 레벨에서 자동화하라."
21
-
22
- ## 용도
23
-
24
- - 새 tfx 스킬의 SKILL.md를 대화형으로 생성
25
- - 기존 스킬 형식과 품질 기준을 자동 준수
26
- - YAML frontmatter + 본문 구조를 일관되게 유지
27
- - 스킬 작성 시행착오 최소화
28
-
29
- ## 워크플로우
30
-
31
- ### Step 1: 요구사항 수집 (대화형)
32
-
33
- AskUserQuestion으로 필수 정보를 순서대로 수집한다. 사용자가 초기 입력에 일부 정보를 포함했으면 해당 항목은 건너뛴다.
34
-
35
- **먼저 스킬 유형을 선택받는다:**
36
-
37
- ```
38
- AskUserQuestion:
39
- "스킬 유형을 선택하세요:"
40
- 1. Light (경량, 단일 CLI, 토큰 절약)
41
- 2. Deep (딥, 3-CLI 합의, 정확도 우선)
42
- 3. Core (인프라, 다른 스킬이 내부 호출)
43
- ```
44
-
45
- 선택된 유형에 따라 이후 수집 항목과 템플릿이 달라진다:
46
- - **Light**: 단일 CLI 워크플로우, 낮은 토큰 예산
47
- - **Deep**: 3-CLI 병렬 + tfx-consensus 통합, 높은 토큰 예산
48
- - **Core**: 외부 호출 인터페이스 정의, 내부 API 문서화 포함
49
-
50
- **이후 나머지 정보를 순서대로 수집한다:**
51
-
52
- ```
53
- 수집 항목 (순서대로):
54
-
55
- 1. 이름 (name)
56
- "스킬 이름은? (예: tfx-myskill)"
57
- → 접두사 'tfx-' 자동 부여 (없으면)
58
-
59
- 2. 한줄 설명 (description)
60
- "이 스킬이 무엇을 하는지 한 문장으로?"
61
-
62
- 3. 트리거 (triggers)
63
- "어떤 키워드로 이 스킬을 호출? (쉼표 구분)"
64
-
65
- 4. 토큰 예산
66
- "예상 토큰 예산은? (예: ~10K)"
67
-
68
- 5. 핵심 워크플로우
69
- "주요 단계를 간략히 설명해주세요. (3-5 단계)"
70
-
71
- 6. 사용 예시
72
- "사용 예시 1-3개를 알려주세요."
73
- ```
74
-
75
- ### Step 2: 기존 스킬 분석
76
-
77
- 프로젝트 내 기존 SKILL.md를 참조하여 형식과 품질 기준을 확인한다:
78
-
79
- ```
80
- Glob("skills/**/SKILL.md")로 기존 스킬 목록 수집
81
- → 유사한 타입(Deep/Light)의 스킬 1-2개를 Read하여 형식 참조
82
- → YAML frontmatter 구조, 본문 섹션 패턴, 토큰 예산 표 형식 추출
83
- ```
84
-
85
- ### Step 3: SKILL.md 생성
86
-
87
- 수집된 정보로 SKILL.md를 자동 생성한다:
88
-
89
- ```yaml
90
- # YAML Frontmatter 템플릿
91
- ---
92
- name: {name}
93
- description: {description}
94
- triggers:
95
- - {trigger_1}
96
- - {trigger_2}
97
- - ...
98
- argument-hint: "{hint}"
99
- ---
100
- ```
101
-
102
- ```markdown
103
- # 본문 템플릿
104
-
105
- # {name} — {short_title}
106
-
107
- > {한줄 설명 또는 오마주}
108
-
109
- ## 용도
110
-
111
- - {use_case_1}
112
- - {use_case_2}
113
- - {use_case_3}
114
-
115
- ## 워크플로우
116
-
117
- ### Step 1: {step_title}
118
- {step_description}
119
-
120
- ### Step 2: {step_title}
121
- {step_description}
122
-
123
- ...
124
-
125
- ## 토큰 예산
126
-
127
- | 단계 | 토큰 |
128
- |------|------|
129
- | {step} | ~{N}K |
130
- | **총합** | **~{total}K** |
131
-
132
- ## 사용 예
133
-
134
- ```
135
- /{name} "{example_1}"
136
- /{name} "{example_2}"
137
- ```
138
- ```
139
-
140
- ### Step 4: 디렉토리 생성 및 저장
141
-
142
- ```
143
- mkdir -p skills/{name}/
144
- Write → skills/{name}/SKILL.md
145
- ```
146
-
147
- ### Step 5: 검증
148
-
149
- 생성된 파일을 읽어 검증한다:
150
-
151
- ```
152
- 검증 항목:
153
- - [ ] YAML frontmatter 파싱 가능
154
- - [ ] name, description, triggers 필수 필드 존재
155
- - [ ] 본문에 용도, 워크플로우, 토큰 예산, 사용 예 섹션 존재
156
- - [ ] 파일 크기 < 800줄
157
- - [ ] 기존 스킬과 트리거 충돌 없음
158
- ```
159
-
160
- 충돌 발견 시 AskUserQuestion으로 트리거 조정 요청.
161
-
162
- ## 동작 규칙
163
-
164
- 1. 사용자가 이름만 제공해도 나머지는 대화형으로 수집한다.
165
- 2. 사용자가 상세 설명을 한꺼번에 제공하면 확인만 받고 즉시 생성한다.
166
- 3. Deep 타입 선택 시 tfx-consensus 통합 포인트를 본문에 자동 포함한다.
167
- 4. 생성 후 반드시 사용자에게 결과를 보여주고 수정 요청을 받는다.
168
- 5. 기존 SKILL.md가 있으면 덮어쓰기 전 사용자 확인을 받는다.
169
-
170
- ## 토큰 예산
171
-
172
- | 단계 | 토큰 |
173
- |------|------|
174
- | 요구사항 수집 | ~2K |
175
- | 기존 스킬 분석 | ~3K |
176
- | SKILL.md 생성 | ~3K |
177
- | 검증 | ~2K |
178
- | **총합** | **~10K** |
179
-
180
- ## 사용 예
181
-
182
- ```
183
- /tfx-forge
184
- /tfx-forge tfx-myskill
185
- /tfx-forge "CI/CD 파이프라인 자동 생성 스킬"
186
- /스킬 만들기 "코드 마이그레이션 도우미"
187
- ```
@@ -1,12 +0,0 @@
1
- {
2
- "name": "tfx-forge",
3
- "description": "새 스킬을 만들거나 기존 스킬을 수정할 때 사용한다. 'forge', '스킬 만들기', 'create skill', '새 스킬', '스킬 생성', 'SKILL.md 작성' 같은 요청에 반드시 사용. 반복 작업을 스킬로 자동화하고 싶을 때 적극 활용.",
4
- "triggers": [
5
- "forge",
6
- "스킬 만들기",
7
- "create skill",
8
- "스킬 생성",
9
- "new skill"
10
- ],
11
- "argument_hint": "[스킬 이름 또는 설명]"
12
- }