tribunal-kit 6.0.1 → 8.0.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.
Files changed (434) hide show
  1. package/.agent/ARCHITECTURE.md +9 -6
  2. package/.agent/agents/accessibility-reviewer.md +23 -16
  3. package/.agent/agents/ai-code-reviewer.md +25 -21
  4. package/.agent/agents/anti-pattern-reviewer.md +12 -7
  5. package/.agent/agents/api-architect.md +1 -0
  6. package/.agent/agents/backend-specialist.md +23 -22
  7. package/.agent/agents/cloud-engineer.md +1 -0
  8. package/.agent/agents/code-archaeologist.md +1 -0
  9. package/.agent/agents/complexity-reviewer.md +10 -7
  10. package/.agent/agents/database-architect.md +3 -2
  11. package/.agent/agents/db-latency-auditor.md +6 -2
  12. package/.agent/agents/debugger.md +3 -2
  13. package/.agent/agents/dependency-reviewer.md +1 -0
  14. package/.agent/agents/devops-engineer.md +9 -8
  15. package/.agent/agents/documentation-writer.md +6 -5
  16. package/.agent/agents/explorer-agent.md +1 -0
  17. package/.agent/agents/frontend-reviewer.md +21 -17
  18. package/.agent/agents/frontend-specialist.md +23 -20
  19. package/.agent/agents/game-developer.md +1 -0
  20. package/.agent/agents/interaction-reviewer.md +10 -5
  21. package/.agent/agents/logic-reviewer.md +3 -0
  22. package/.agent/agents/minimalist-reviewer.md +6 -0
  23. package/.agent/agents/mobile-developer.md +7 -6
  24. package/.agent/agents/mobile-reviewer.md +14 -13
  25. package/.agent/agents/orchestrator.md +3 -0
  26. package/.agent/agents/penetration-tester.md +1 -0
  27. package/.agent/agents/performance-optimizer.md +6 -5
  28. package/.agent/agents/performance-reviewer.md +6 -6
  29. package/.agent/agents/pipeline-reviewer.md +144 -0
  30. package/.agent/agents/precedence-reviewer.md +1 -0
  31. package/.agent/agents/product-manager.md +1 -0
  32. package/.agent/agents/product-owner.md +1 -0
  33. package/.agent/agents/product-reviewer.md +12 -7
  34. package/.agent/agents/project-planner.md +3 -0
  35. package/.agent/agents/qa-automation-engineer.md +50 -43
  36. package/.agent/agents/resilience-reviewer.md +1 -0
  37. package/.agent/agents/schema-reviewer.md +1 -0
  38. package/.agent/agents/security-auditor.md +24 -24
  39. package/.agent/agents/seo-specialist.md +33 -23
  40. package/.agent/agents/sql-reviewer.md +5 -4
  41. package/.agent/agents/supervisor-agent.md +12 -2
  42. package/.agent/agents/swarm-worker-contracts.md +13 -13
  43. package/.agent/agents/swarm-worker-registry.md +51 -51
  44. package/.agent/agents/system-architect.md +1 -0
  45. package/.agent/agents/test-coverage-reviewer.md +25 -22
  46. package/.agent/agents/test-engineer.md +12 -11
  47. package/.agent/agents/throughput-optimizer.md +45 -40
  48. package/.agent/agents/type-safety-reviewer.md +5 -4
  49. package/.agent/agents/ui-ux-auditor.md +6 -4
  50. package/.agent/agents/ui-visual-auditor.md +3 -0
  51. package/.agent/agents/ux-reviewer.md +11 -6
  52. package/.agent/agents/visual-reviewer.md +11 -6
  53. package/.agent/agents/vitals-reviewer.md +5 -4
  54. package/.agent/config/claude.json +18 -0
  55. package/.agent/config/plugin.json +102 -0
  56. package/.agent/config/slash-commands.json +103 -0
  57. package/.agent/config/specialist-registry.json +415 -0
  58. package/.agent/config/system-prompt.md +191 -0
  59. package/.agent/history/architecture-graph.yaml +302 -3
  60. package/.agent/history/graph-cache.json +515 -45
  61. package/.agent/history/memory/.memory.idx +1532 -1
  62. package/.agent/history/memory/MEMORY.md +102 -1
  63. package/.agent/history/memory.db +0 -0
  64. package/.agent/history/snapshots/bin__adapter-install.js.json +13 -0
  65. package/.agent/history/snapshots/bin__global-store.js.json +15 -0
  66. package/.agent/history/snapshots/bin__mcp-server.js.json +19 -0
  67. package/.agent/history/snapshots/bin__proxy-server.js.json +20 -0
  68. package/.agent/history/snapshots/bin__spawn-agent.js.json +12 -0
  69. package/.agent/history/snapshots/bin__tk-proxy.js.json +21 -0
  70. package/.agent/history/snapshots/bin__tribunal-kit.js.json +9 -7
  71. package/.agent/history/snapshots/bin__wrapper.js.json +14 -0
  72. package/.agent/history/snapshots/eslint.config.js.json +1 -2
  73. package/.agent/history/snapshots/scripts__benchmark.js.json +14 -0
  74. package/.agent/history/snapshots/scripts__changelog.js.json +1 -2
  75. package/.agent/history/snapshots/scripts__fix-vbc.js.json +11 -0
  76. package/.agent/history/snapshots/scripts__stress_benchmark.js.json +15 -0
  77. package/.agent/history/snapshots/scripts__sync-version.js.json +1 -2
  78. package/.agent/history/snapshots/scripts__validate-payload.js.json +1 -2
  79. package/.agent/history/snapshots/scripts__visual_audit.js.json +11 -0
  80. package/.agent/history/snapshots/test__integration__bridges.test.js.json +1 -2
  81. package/.agent/history/snapshots/test__integration__graceful_degradation.test.js.json +12 -0
  82. package/.agent/history/snapshots/test__integration__init.test.js.json +1 -2
  83. package/.agent/history/snapshots/test__integration__minimal_change_pipeline.test.js.json +13 -0
  84. package/.agent/history/snapshots/test__integration__parallel_tribunal.test.js.json +12 -0
  85. package/.agent/history/snapshots/test__integration__routing.test.js.json +1 -2
  86. package/.agent/history/snapshots/test__integration__swarm_dispatcher.test.js.json +1 -2
  87. package/.agent/history/snapshots/test__integration__sync_status.test.js.json +13 -0
  88. package/.agent/history/snapshots/test__integration__wave2.test.js.json +1 -2
  89. package/.agent/history/snapshots/test__integration__wrapper.test.js.json +13 -0
  90. package/.agent/history/snapshots/test__unit__align.test.js.json +10 -0
  91. package/.agent/history/snapshots/test__unit__args.test.js.json +3 -3
  92. package/.agent/history/snapshots/test__unit__audit_release.test.js.json +16 -0
  93. package/.agent/history/snapshots/test__unit__case_law_manager.test.js.json +1 -2
  94. package/.agent/history/snapshots/test__unit__cicd_validator.test.js.json +12 -0
  95. package/.agent/history/snapshots/test__unit__compile.test.js.json +10 -0
  96. package/.agent/history/snapshots/test__unit__context_broker.test.js.json +1 -2
  97. package/.agent/history/snapshots/test__unit__contract_engine.test.js.json +13 -0
  98. package/.agent/history/snapshots/test__unit__copyDir.test.js.json +3 -3
  99. package/.agent/history/snapshots/test__unit__graph_tools.test.js.json +1 -2
  100. package/.agent/history/snapshots/test__unit__guardrail_engine.test.js.json +10 -0
  101. package/.agent/history/snapshots/test__unit__impact_classifier.test.js.json +12 -0
  102. package/.agent/history/snapshots/test__unit__init.test.js.json +14 -0
  103. package/.agent/history/snapshots/test__unit__inner_loop_validator.test.js.json +1 -2
  104. package/.agent/history/snapshots/test__unit__integrity_manifest.test.js.json +13 -0
  105. package/.agent/history/snapshots/test__unit__learn.test.js.json +11 -0
  106. package/.agent/history/snapshots/test__unit__marathon.test.js.json +22 -0
  107. package/.agent/history/snapshots/test__unit__mcp_server.test.js.json +16 -0
  108. package/.agent/history/snapshots/test__unit__memory.test.js.json +13 -0
  109. package/.agent/history/snapshots/test__unit__minimal_change.test.js.json +10 -0
  110. package/.agent/history/snapshots/test__unit__native.test.js.json +10 -0
  111. package/.agent/history/snapshots/test__unit__optimize.test.js.json +13 -0
  112. package/.agent/history/snapshots/test__unit__path_resolution.test.js.json +14 -0
  113. package/.agent/history/snapshots/test__unit__production_readiness_evidence.test.js.json +21 -0
  114. package/.agent/history/snapshots/test__unit__selfInstall.test.js.json +3 -3
  115. package/.agent/history/snapshots/test__unit__semver.test.js.json +3 -3
  116. package/.agent/history/snapshots/test__unit__skill_evolution.test.js.json +11 -0
  117. package/.agent/history/snapshots/test__unit__stress.test.js.json +15 -0
  118. package/.agent/history/snapshots/test__unit__swarm_dispatcher.test.js.json +3 -3
  119. package/.agent/history/snapshots/test__unit__utils.test.js.json +10 -0
  120. package/.agent/mcp_config.json +1 -6
  121. package/.agent/routing_index.json +2033 -263
  122. package/.agent/rules/GEMINI.md +11 -9
  123. package/.agent/rules/GEMINI_PLANNER.md +19 -21
  124. package/.agent/scripts/_colors.js +52 -54
  125. package/.agent/scripts/_utils.js +52 -53
  126. package/.agent/scripts/ast_context_loader.js +137 -0
  127. package/.agent/scripts/auto_preview.js +39 -43
  128. package/.agent/scripts/bundle_analyzer.js +47 -60
  129. package/.agent/scripts/case_law_manager.js +200 -294
  130. package/.agent/scripts/checklist.js +73 -94
  131. package/.agent/scripts/cicd_validator.js +305 -0
  132. package/.agent/scripts/context_broker.js +317 -412
  133. package/.agent/scripts/contract_engine.js +402 -0
  134. package/.agent/scripts/dependency_analyzer.js +112 -124
  135. package/.agent/scripts/graph_builder.js +75 -103
  136. package/.agent/scripts/graph_visualizer.js +10 -12
  137. package/.agent/scripts/graph_zoom.js +38 -55
  138. package/.agent/scripts/guardrail_engine.js +195 -145
  139. package/.agent/scripts/impact_classifier.js +55 -30
  140. package/.agent/scripts/inner_loop_validator.js +108 -159
  141. package/.agent/scripts/integrity_manifest.js +59 -67
  142. package/.agent/scripts/lint_runner.js +65 -75
  143. package/.agent/scripts/marathon_harness.js +131 -208
  144. package/.agent/scripts/memory_engine.js +581 -0
  145. package/.agent/scripts/minify_context.js +29 -33
  146. package/.agent/scripts/minimal_change_engine.js +95 -87
  147. package/.agent/scripts/mutation_runner.js +46 -62
  148. package/.agent/scripts/payload_schemas.js +146 -0
  149. package/.agent/scripts/pipeline_engine.js +320 -209
  150. package/.agent/scripts/prompt_compiler.js +166 -93
  151. package/.agent/scripts/schema_validator.js +73 -121
  152. package/.agent/scripts/security_scan.js +88 -117
  153. package/.agent/scripts/session_manager.js +52 -69
  154. package/.agent/scripts/signal_detector.js +24 -22
  155. package/.agent/scripts/skill_evolution.js +184 -245
  156. package/.agent/scripts/skill_integrator.js +35 -48
  157. package/.agent/scripts/socratic_gate_policy.js +15 -12
  158. package/.agent/scripts/strengthen_skills.js +29 -33
  159. package/.agent/scripts/swarm_dispatcher.js +397 -200
  160. package/.agent/scripts/test_runner.js +54 -56
  161. package/.agent/scripts/token_budget_broker.js +126 -13
  162. package/.agent/scripts/trace_engine.js +126 -0
  163. package/.agent/scripts/verify_all.js +76 -93
  164. package/.agent/scripts/visual_audit.js +16 -21
  165. package/.agent/skill_topic_map.json +22 -3
  166. package/.agent/skills/12-principles-of-animation/SKILL.md +7 -0
  167. package/.agent/skills/60fps-animation/SKILL.md +7 -0
  168. package/.agent/skills/accessible-animation/SKILL.md +5 -1
  169. package/.agent/skills/adapt/SKILL.md +7 -1
  170. package/.agent/skills/advanced-rag-pipelines/SKILL.md +1 -0
  171. package/.agent/skills/agent-organizer/SKILL.md +1 -0
  172. package/.agent/skills/agentic-patterns/SKILL.md +33 -25
  173. package/.agent/skills/agentic-workflows-2026/SKILL.md +6 -2
  174. package/.agent/skills/ai-app-hardening/SKILL.md +9 -8
  175. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +7 -6
  176. package/.agent/skills/animation-on-scroll/SKILL.md +24 -15
  177. package/.agent/skills/animation-systems/SKILL.md +11 -10
  178. package/.agent/skills/antfu-conventions/SKILL.md +7 -2
  179. package/.agent/skills/api-patterns/SKILL.md +14 -10
  180. package/.agent/skills/api-security-auditor/SKILL.md +15 -14
  181. package/.agent/skills/app-builder/SKILL.md +1 -0
  182. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +2 -2
  183. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +1 -1
  184. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +12 -12
  185. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +3 -3
  186. package/.agent/skills/apple-design/SKILL.md +8 -7
  187. package/.agent/skills/architecture/SKILL.md +3 -2
  188. package/.agent/skills/audit-and-fix/SKILL.md +8 -5
  189. package/.agent/skills/authentication-best-practices/SKILL.md +9 -8
  190. package/.agent/skills/backend-security-expert/SKILL.md +1 -0
  191. package/.agent/skills/baseline-ui/SKILL.md +8 -7
  192. package/.agent/skills/bash-linux/SKILL.md +1 -0
  193. package/.agent/skills/behavioral-modes/SKILL.md +1 -0
  194. package/.agent/skills/better-colors/SKILL.md +11 -7
  195. package/.agent/skills/better-typography/SKILL.md +30 -16
  196. package/.agent/skills/better-ui/SKILL.md +17 -10
  197. package/.agent/skills/bolder/SKILL.md +6 -0
  198. package/.agent/skills/brainstorming/SKILL.md +6 -4
  199. package/.agent/skills/browser-native-ai/SKILL.md +5 -4
  200. package/.agent/skills/build-primitive/SKILL.md +5 -0
  201. package/.agent/skills/building-native-ui/SKILL.md +1 -0
  202. package/.agent/skills/cicd-pro/SKILL.md +2 -1
  203. package/.agent/skills/clarify/SKILL.md +19 -14
  204. package/.agent/skills/clean-code/SKILL.md +16 -15
  205. package/.agent/skills/cloud-architect/SKILL.md +1 -0
  206. package/.agent/skills/cobejs/SKILL.md +7 -9
  207. package/.agent/skills/code-review-checklist/SKILL.md +1 -0
  208. package/.agent/skills/codebase-design/SKILL.md +7 -2
  209. package/.agent/skills/colorize/SKILL.md +8 -3
  210. package/.agent/skills/compact-landing/SKILL.md +8 -3
  211. package/.agent/skills/company-logos/SKILL.md +6 -0
  212. package/.agent/skills/config-validator/SKILL.md +10 -9
  213. package/.agent/skills/containerization-pro/SKILL.md +6 -5
  214. package/.agent/skills/context-engineering-pro/SKILL.md +5 -4
  215. package/.agent/skills/create-design-md/SKILL.md +13 -5
  216. package/.agent/skills/critique/SKILL.md +10 -8
  217. package/.agent/skills/csharp-developer/SKILL.md +1 -0
  218. package/.agent/skills/data-validation-schemas/SKILL.md +28 -23
  219. package/.agent/skills/database-design/SKILL.md +2 -1
  220. package/.agent/skills/delight/SKILL.md +6 -0
  221. package/.agent/skills/deployment-procedures/SKILL.md +2 -1
  222. package/.agent/skills/design-lab/SKILL.md +5 -0
  223. package/.agent/skills/devops-engineer/SKILL.md +3 -2
  224. package/.agent/skills/devops-incident-responder/SKILL.md +2 -1
  225. package/.agent/skills/diagnosing-bugs/SKILL.md +12 -2
  226. package/.agent/skills/distill/SKILL.md +7 -2
  227. package/.agent/skills/documentation-templates/SKILL.md +3 -2
  228. package/.agent/skills/domain-modeling/SKILL.md +12 -4
  229. package/.agent/skills/duckdb-analytical-sql/SKILL.md +7 -3
  230. package/.agent/skills/edge-ai-mobile/SKILL.md +5 -1
  231. package/.agent/skills/edge-computing/SKILL.md +9 -8
  232. package/.agent/skills/emil-design-eng/SKILL.md +43 -27
  233. package/.agent/skills/error-resilience/SKILL.md +34 -16
  234. package/.agent/skills/expo-router-v4/SKILL.md +2 -1
  235. package/.agent/skills/extract-design-system/SKILL.md +12 -11
  236. package/.agent/skills/fabel-protocol/SKILL.md +24 -17
  237. package/.agent/skills/fixing-accessibility/SKILL.md +23 -16
  238. package/.agent/skills/fixing-metadata/SKILL.md +24 -13
  239. package/.agent/skills/fixing-motion-performance/SKILL.md +7 -5
  240. package/.agent/skills/framer-motion-expert/SKILL.md +29 -15
  241. package/.agent/skills/frontend-design/SKILL.md +21 -13
  242. package/.agent/skills/frontend-security-expert/SKILL.md +1 -0
  243. package/.agent/skills/game-design-expert/SKILL.md +1 -0
  244. package/.agent/skills/game-engineering-expert/SKILL.md +1 -0
  245. package/.agent/skills/generative-ui-expert/SKILL.md +3 -2
  246. package/.agent/skills/geo-fundamentals/SKILL.md +2 -1
  247. package/.agent/skills/git-pro/SKILL.md +10 -9
  248. package/.agent/skills/github-operations/SKILL.md +2 -1
  249. package/.agent/skills/gpt-taste/SKILL.md +7 -0
  250. package/.agent/skills/gsap-core/SKILL.md +26 -22
  251. package/.agent/skills/gsap-frameworks/SKILL.md +6 -5
  252. package/.agent/skills/gsap-performance/SKILL.md +4 -3
  253. package/.agent/skills/gsap-plugins/SKILL.md +34 -33
  254. package/.agent/skills/gsap-react/SKILL.md +9 -8
  255. package/.agent/skills/gsap-scrolltrigger/SKILL.md +34 -33
  256. package/.agent/skills/gsap-timeline/SKILL.md +18 -15
  257. package/.agent/skills/gsap-utils/SKILL.md +25 -24
  258. package/.agent/skills/harden/SKILL.md +9 -3
  259. package/.agent/skills/harness-protocol/SKILL.md +1 -0
  260. package/.agent/skills/i18n-localization/SKILL.md +10 -9
  261. package/.agent/skills/impeccable/SKILL.md +5 -0
  262. package/.agent/skills/improve-codebase-architecture/SKILL.md +10 -5
  263. package/.agent/skills/improve-ui/SKILL.md +12 -5
  264. package/.agent/skills/intelligent-routing/SKILL.md +7 -6
  265. package/.agent/skills/knowledge-graph/SKILL.md +1 -0
  266. package/.agent/skills/landing-page/SKILL.md +1 -0
  267. package/.agent/skills/lint-and-validate/SKILL.md +9 -4
  268. package/.agent/skills/llm-engineering/SKILL.md +55 -54
  269. package/.agent/skills/local-first/SKILL.md +20 -19
  270. package/.agent/skills/local-first-architecture/SKILL.md +6 -1
  271. package/.agent/skills/lottie-animation/SKILL.md +7 -3
  272. package/.agent/skills/marquee-loop/SKILL.md +1 -0
  273. package/.agent/skills/masked-reveal/SKILL.md +17 -4
  274. package/.agent/skills/mcp-builder/SKILL.md +13 -10
  275. package/.agent/skills/micro-interaction/SKILL.md +20 -5
  276. package/.agent/skills/mobile-design/SKILL.md +26 -15
  277. package/.agent/skills/monorepo-management/SKILL.md +3 -2
  278. package/.agent/skills/morphing-icons/SKILL.md +16 -6
  279. package/.agent/skills/motion-engineering/SKILL.md +19 -15
  280. package/.agent/skills/nextjs-react-expert/SKILL.md +26 -21
  281. package/.agent/skills/nodejs-best-practices/SKILL.md +89 -76
  282. package/.agent/skills/observability/SKILL.md +45 -44
  283. package/.agent/skills/opentelemetry-observability/SKILL.md +2 -1
  284. package/.agent/skills/page-transition-animation/SKILL.md +6 -3
  285. package/.agent/skills/parallel-agents/SKILL.md +7 -2
  286. package/.agent/skills/performance-profiling/SKILL.md +24 -13
  287. package/.agent/skills/plan-writing/SKILL.md +1 -0
  288. package/.agent/skills/platform-engineer/SKILL.md +3 -2
  289. package/.agent/skills/platform-engineering-opentofu/SKILL.md +1 -0
  290. package/.agent/skills/playwright-ai-e2e/SKILL.md +3 -2
  291. package/.agent/skills/playwright-best-practices/SKILL.md +29 -28
  292. package/.agent/skills/polish/SKILL.md +13 -12
  293. package/.agent/skills/powershell-windows/SKILL.md +1 -0
  294. package/.agent/skills/pricing-page/SKILL.md +8 -3
  295. package/.agent/skills/product-aware-heuristics/SKILL.md +122 -72
  296. package/.agent/skills/progressive-blur/SKILL.md +9 -4
  297. package/.agent/skills/project-idioms/SKILL.md +1 -0
  298. package/.agent/skills/property-based-testing/SKILL.md +10 -12
  299. package/.agent/skills/python-patterns/SKILL.md +1 -0
  300. package/.agent/skills/python-pro/SKILL.md +1 -0
  301. package/.agent/skills/quieter/SKILL.md +6 -0
  302. package/.agent/skills/react-doctor/SKILL.md +6 -0
  303. package/.agent/skills/react-specialist/SKILL.md +32 -28
  304. package/.agent/skills/readme-builder/SKILL.md +1 -0
  305. package/.agent/skills/realtime-patterns/SKILL.md +34 -33
  306. package/.agent/skills/red-team-tactics/SKILL.md +1 -0
  307. package/.agent/skills/redesign-skill/SKILL.md +6 -0
  308. package/.agent/skills/review-animations/SKILL.md +5 -2
  309. package/.agent/skills/review-animations/STANDARDS.md +37 -23
  310. package/.agent/skills/rust-pro/SKILL.md +1 -0
  311. package/.agent/skills/seo-fundamentals/SKILL.md +4 -3
  312. package/.agent/skills/server-management/SKILL.md +1 -0
  313. package/.agent/skills/shadcn-ui-expert/SKILL.md +28 -22
  314. package/.agent/skills/shape/SKILL.md +9 -2
  315. package/.agent/skills/skill-creator/SKILL.md +1 -0
  316. package/.agent/skills/soft-skill/SKILL.md +6 -0
  317. package/.agent/skills/sounds-on-the-web/SKILL.md +1 -0
  318. package/.agent/skills/sql-pro/SKILL.md +1 -0
  319. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +1 -0
  320. package/.agent/skills/svg-animation/SKILL.md +16 -7
  321. package/.agent/skills/swiftui-expert/SKILL.md +1 -0
  322. package/.agent/skills/swiss-design/SKILL.md +5 -0
  323. package/.agent/skills/system-design-pro/SKILL.md +1 -0
  324. package/.agent/skills/systematic-debugging/SKILL.md +1 -0
  325. package/.agent/skills/tailwind-patterns/SKILL.md +25 -11
  326. package/.agent/skills/taste-skill/SKILL.md +6 -0
  327. package/.agent/skills/tdd-workflow/SKILL.md +5 -0
  328. package/.agent/skills/test-result-analyzer/SKILL.md +1 -0
  329. package/.agent/skills/testing-patterns/SKILL.md +123 -115
  330. package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +5 -0
  331. package/.agent/skills/thinking-protocol/SKILL.md +3 -0
  332. package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +9 -8
  333. package/.agent/skills/transitions-dev/SKILL.md +19 -6
  334. package/.agent/skills/trend-researcher/SKILL.md +1 -0
  335. package/.agent/skills/typescript-advanced/SKILL.md +23 -18
  336. package/.agent/skills/typeset/SKILL.md +10 -1
  337. package/.agent/skills/ui-reasoning-engine/SKILL.md +67 -48
  338. package/.agent/skills/ui-skill-packs/SKILL.md +6 -1
  339. package/.agent/skills/ui-skills-root/SKILL.md +39 -38
  340. package/.agent/skills/ui-ux-pro-max/SKILL.md +34 -26
  341. package/.agent/skills/ui-ux-researcher/SKILL.md +1 -0
  342. package/.agent/skills/vector-search-pgvector/SKILL.md +3 -2
  343. package/.agent/skills/vue-expert/SKILL.md +22 -19
  344. package/.agent/skills/vulnerability-scanner/SKILL.md +22 -21
  345. package/.agent/skills/web-accessibility-auditor/SKILL.md +2 -1
  346. package/.agent/skills/web-design-guidelines/SKILL.md +16 -10
  347. package/.agent/skills/web-quality-audit/SKILL.md +5 -0
  348. package/.agent/skills/webapp-testing/SKILL.md +14 -13
  349. package/.agent/skills/webgpu-performance/SKILL.md +1 -0
  350. package/.agent/skills/whimsy-injector/SKILL.md +9 -5
  351. package/.agent/skills/workflow-optimizer/SKILL.md +1 -0
  352. package/.agent/skills/zero-trust-passkeys/SKILL.md +11 -6
  353. package/.agent/templates/DESIGN.md +119 -110
  354. package/.agent/templates/design-tokens.json +9 -6
  355. package/.agent/workflows/acf.md +1 -0
  356. package/.agent/workflows/api-tester.md +1 -0
  357. package/.agent/workflows/audit.md +1 -0
  358. package/.agent/workflows/brainstorm.md +1 -0
  359. package/.agent/workflows/changelog.md +1 -0
  360. package/.agent/workflows/contract.md +60 -0
  361. package/.agent/workflows/create.md +1 -0
  362. package/.agent/workflows/debug.md +1 -0
  363. package/.agent/workflows/deploy.md +1 -0
  364. package/.agent/workflows/enhance.md +1 -0
  365. package/.agent/workflows/fix-ci.md +89 -0
  366. package/.agent/workflows/fix.md +1 -0
  367. package/.agent/workflows/generate.md +1 -0
  368. package/.agent/workflows/marathon.md +1 -0
  369. package/.agent/workflows/migrate.md +1 -0
  370. package/.agent/workflows/minimal.md +9 -7
  371. package/.agent/workflows/orchestrate.md +1 -0
  372. package/.agent/workflows/performance-benchmarker.md +1 -0
  373. package/.agent/workflows/pipeline.md +26 -21
  374. package/.agent/workflows/plan.md +1 -0
  375. package/.agent/workflows/preview.md +1 -0
  376. package/.agent/workflows/refactor.md +3 -2
  377. package/.agent/workflows/review-ai.md +4 -3
  378. package/.agent/workflows/review.md +1 -0
  379. package/.agent/workflows/session.md +1 -0
  380. package/.agent/workflows/status.md +1 -0
  381. package/.agent/workflows/strengthen-skills.md +1 -0
  382. package/.agent/workflows/super-prompt.md +1 -0
  383. package/.agent/workflows/swarm.md +15 -3
  384. package/.agent/workflows/test.md +8 -7
  385. package/.agent/workflows/tribunal-backend.md +3 -2
  386. package/.agent/workflows/tribunal-cicd.md +104 -0
  387. package/.agent/workflows/tribunal-database.md +1 -0
  388. package/.agent/workflows/tribunal-frontend.md +8 -6
  389. package/.agent/workflows/tribunal-full.md +2 -1
  390. package/.agent/workflows/tribunal-mobile.md +6 -5
  391. package/.agent/workflows/tribunal-performance.md +1 -0
  392. package/.agent/workflows/tribunal-speed.md +1 -0
  393. package/.agent/workflows/tribunal-ui.md +29 -21
  394. package/.agent/workflows/ui-ux-pro-max.md +19 -15
  395. package/.claude/CLAUDE.md +442 -0
  396. package/CONTRIBUTING.md +3 -3
  397. package/README.md +105 -45
  398. package/SECURITY.md +11 -11
  399. package/bin/adapter-install.js +240 -0
  400. package/bin/global-store.js +48 -0
  401. package/bin/mcp-server.js +781 -332
  402. package/bin/proxy-server.js +113 -0
  403. package/bin/spawn-agent.js +39 -0
  404. package/bin/tk-proxy.js +34 -0
  405. package/bin/tribunal-kit.js +29 -30
  406. package/bin/wrapper.js +40 -46
  407. package/dist/cli.js +6 -0
  408. package/dist/commands/case.js +2 -0
  409. package/dist/commands/contract.js +440 -0
  410. package/dist/commands/init.js +8 -51
  411. package/dist/commands/status.js +61 -30
  412. package/dist/commands/validate.js +22 -31
  413. package/dist/index.d.ts +8 -1
  414. package/dist/tui/banner.js +77 -0
  415. package/dist/tui/index.js +21 -0
  416. package/dist/tui/reviewer-grid.js +90 -0
  417. package/dist/tui/shimmer.js +91 -0
  418. package/dist/tui/theme.js +130 -0
  419. package/dist/tui/tree.js +93 -0
  420. package/dist/tui/wizard.js +148 -0
  421. package/dist/utils/helpers.js +5 -41
  422. package/package.json +33 -15
  423. package/scripts/benchmark.js +62 -86
  424. package/scripts/build-graph.js +71 -0
  425. package/scripts/changelog.js +67 -73
  426. package/scripts/fix-vbc.js +13 -15
  427. package/scripts/fix-vbc.ps1 +2 -118
  428. package/scripts/stress_benchmark.js +358 -0
  429. package/scripts/sync-version.js +71 -41
  430. package/scripts/validate-payload.js +23 -30
  431. package/scripts/visual_audit.js +23 -13
  432. package/.agent/history/snapshots/migrate_refs.js.json +0 -11
  433. package/.agent/scripts/compile_router.py +0 -112
  434. package/.agent/scripts/migrate_skills_frontmatter.py +0 -64
@@ -18,6 +18,7 @@ last-updated: 2026-07-29
18
18
  ## Mandatory Pre-Flight Context Inspection
19
19
 
20
20
  Before generating documentation or ADRs, you MUST inspect:
21
+
21
22
  1. `package.json` / `README.md` / `openapi.json` → Read current project name, scripts, environment variables, and existing API specs
22
23
  2. `ARCHITECTURE.md` / `docs/` → Review existing system design, past ADR decisions, and folder layout
23
24
  3. Exported functions & modules → Verify function signatures and parameter types before drafting JSDoc blocks
@@ -202,17 +203,17 @@ paths:
202
203
  description: CUID2 user identifier
203
204
  schema:
204
205
  type: string
205
- pattern: "^[a-z0-9]{24,}$"
206
+ pattern: '^[a-z0-9]{24,}$'
206
207
  responses:
207
- "200":
208
+ '200':
208
209
  description: User found
209
210
  content:
210
211
  application/json:
211
212
  schema:
212
- $ref: "#/components/schemas/User"
213
- "404":
213
+ $ref: '#/components/schemas/User'
214
+ '404':
214
215
  description: User not found or deleted
215
- "401":
216
+ '401':
216
217
  description: Not authenticated
217
218
  ```
218
219
 
@@ -18,6 +18,7 @@ last-updated: 2026-07-29
18
18
  ## Mandatory Pre-Flight Context Inspection
19
19
 
20
20
  Before generating orientation reports or mapping unknown codebases, you MUST inspect:
21
+
21
22
  1. `package.json` / `requirements.txt` / `Cargo.toml` → Read root project dependencies, frameworks, and scripts
22
23
  2. Root entry points (`app/layout.tsx`, `src/index.ts`, `server.ts`) → Locate main server listeners and router mounts
23
24
  3. System configuration files (`tsconfig.json`, `tailwind.config.ts`, `.env.example`) → Check strictness and env variable bindings
@@ -21,6 +21,7 @@ React 19 and Next.js 15 App Router introduce new error categories that didn't ex
21
21
  ## Mandatory Pre-Flight Context Inspection
22
22
 
23
23
  Before auditing React/Next.js code, you MUST inspect:
24
+
24
25
  1. `package.json` → Confirm React version (React 19 vs 18) and Next.js version (Next.js 15 vs 14)
25
26
  2. Target component file directives → Check for `"use client"` or `"use server"` declarations
26
27
  3. Import statements → Verify hooks, components, and server actions align with boundaries
@@ -34,12 +35,13 @@ The official React 19 hook list — anything else from `'react'` is hallucinated
34
35
  **Valid hooks:** `useState`, `useEffect`, `useContext`, `useReducer`, `useCallback`, `useMemo`, `useRef`, `useId`, `useTransition`, `useDeferredValue`, `useImperativeHandle`, `useLayoutEffect`, `useDebugValue`, `useOptimistic`, `useFormStatus`, `useActionState`
35
36
 
36
37
  **Removed/renamed in React 19:**
37
- |Old|New|Notes|
38
- |:---|:---|:---|
39
- |`useFormState()`|`useActionState()`|Renamed, different signature|
40
- |`React.createServerContext()`|Removed|Use standard `createContext()`|
41
- |`ReactDOM.render()`|`ReactDOM.createRoot().render()`|Removed in React 19|
42
- |`React.FC` with `children` implicit|Explicit `children: ReactNode` prop|Breaking change|
38
+
39
+ | Old | New | Notes |
40
+ | :---------------------------------- | :---------------------------------- | :----------------------------- |
41
+ | `useFormState()` | `useActionState()` | Renamed, different signature |
42
+ | `React.createServerContext()` | Removed | Use standard `createContext()` |
43
+ | `ReactDOM.render()` | `ReactDOM.createRoot().render()` | Removed in React 19 |
44
+ | `React.FC` with `children` implicit | Explicit `children: ReactNode` prop | Breaking change |
43
45
 
44
46
  ---
45
47
 
@@ -54,29 +56,29 @@ export default async function Page() {
54
56
 
55
57
  // ❌ REJECTED: onClick in a Server Component
56
58
  export default async function Page() {
57
- return <button onClick={() => alert("hi")}>Click</button>; // Serialization error
59
+ return <button onClick={() => alert('hi')}>Click</button>; // Serialization error
58
60
  }
59
61
 
60
62
  // ❌ REJECTED: Importing a client-only library in RSC
61
- import { motion } from "framer-motion"; // framer-motion uses hooks internally
63
+ import { motion } from 'framer-motion'; // framer-motion uses hooks internally
62
64
  export default async function Page() {
63
65
  /* ... */
64
66
  }
65
67
 
66
68
  // ✅ APPROVED: Boundary correctly split
67
69
  // app/page.tsx (Server Component)
68
- import { Counter } from "./Counter"; // Client Component
70
+ import { Counter } from './Counter'; // Client Component
69
71
  export default async function Page() {
70
72
  const data = await fetchData();
71
73
  return <Counter initialCount={data.count} />;
72
74
  }
73
75
 
74
76
  // app/Counter.tsx (Client Component — has 'use client' directive)
75
- ("use client");
76
- import { useState } from "react";
77
+ ('use client');
78
+ import { useState } from 'react';
77
79
  export function Counter({ initialCount }: { initialCount: number }) {
78
80
  const [count, setCount] = useState(initialCount);
79
- return <button onClick={() => setCount((c) => c + 1)}>{count}</button>;
81
+ return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
80
82
  }
81
83
  ```
82
84
 
@@ -94,7 +96,7 @@ function UserCard({ isAdmin }: { isAdmin: boolean }) {
94
96
 
95
97
  // ❌ REJECTED: Hook inside loop
96
98
  function List({ items }: { items: string[] }) {
97
- return items.map((item) => {
99
+ return items.map(item => {
98
100
  const [selected, setSelected] = useState(false); // Order changes with items — crash
99
101
  return <div>{item}</div>;
100
102
  });
@@ -118,16 +120,16 @@ useEffect(() => {
118
120
  ```tsx
119
121
  // ❌ REJECTED: Direct mutation — React cannot detect this change
120
122
  const [items, setItems] = useState<string[]>([]);
121
- items.push("new item"); // Mutates existing reference — UI won't update
123
+ items.push('new item'); // Mutates existing reference — UI won't update
122
124
  setItems(items); // Same reference = React skips re-render
123
125
 
124
126
  // ❌ REJECTED: Object mutation
125
- user.name = "New Name"; // Mutates object-in-state
127
+ user.name = 'New Name'; // Mutates object-in-state
126
128
  setUser(user); // Same reference — skipped
127
129
 
128
130
  // ✅ APPROVED: New reference created
129
- setItems((prev) => [...prev, "new item"]);
130
- setUser((prev) => ({ ...prev, name: "New Name" }));
131
+ setItems(prev => [...prev, 'new item']);
132
+ setUser(prev => ({ ...prev, name: 'New Name' }));
131
133
  ```
132
134
 
133
135
  ---
@@ -174,11 +176,13 @@ const { id } = await params;
174
176
  ## Section 7: Fabel Design Standards
175
177
 
176
178
  ### Platform-Aware Rendering Checks
179
+
177
180
  - Verify if the component differentiates between desktop and mobile targets where applicable.
178
181
  - In components or SVGs, ensure viewport, viewBox, and touch target sizes are adjusted properly (e.g., minimum 44x44px touch targets on mobile).
179
182
  - Look for responsive utility classes or hooks (`useMediaQuery`, Tailwind `sm:`, `md:`, etc.) to verify adaptation logic.
180
183
 
181
184
  ### Visual Content Safety
185
+
182
186
  - Flag any code, assets, SVGs, or mocks containing references to copyrighted characters, brands, logos, or real people's likenesses.
183
187
  - Ensure only generic symbols, standard library icons (e.g., Lucide React), or explicitly clean SVGs are used.
184
188
 
@@ -25,6 +25,7 @@ You build production-grade, highly accessible, and visually distinct interfaces
25
25
  ## Mandatory Pre-Flight Context Inspection
26
26
 
27
27
  Before generating any frontend component or UI code, you MUST inspect:
28
+
28
29
  1. `package.json` → Check React version (React 19 vs 18), Next.js version (Next.js 15 App Router vs Pages Router), styling libraries (Tailwind v4 vs v3, CSS Modules, Radix/shadcn)
29
30
  2. `DESIGN.md` / `theme.css` / `index.css` → Read active design tokens, OKLCH color palettes, radii, and typography scales
30
31
  3. Existing component tree (`components/`, `app/`) → Check existing layout primitives to prevent duplicated button/card/input abstractions
@@ -65,6 +66,7 @@ export function ProfileForm() {
65
66
  ## 1. The Pre-Code Design Reasoning Loop
66
67
 
67
68
  Before generating any React component or styling:
69
+
68
70
  1. **Analyze Intent & Category:** What is the product type? (SaaS, DevTool, AI Interface, Landing, Fintech).
69
71
  2. **Select Visual Direction:** Choose a target visual direction from `DESIGN.md` (e.g., Swiss Precision, Brutalist, Dark Luxury).
70
72
  3. **Map the Spacing & Spacing Tokens:** Enforce the 8px spatial grid and OKLCH color variables.
@@ -77,37 +79,38 @@ Output the **🧠 UI Reasoning Engine Trace** in your response as a collapsed ma
77
79
 
78
80
  ## 2. Forbidden AI Aesthetics (Anti-Slop Rules)
79
81
 
80
- | Forbidden | Why | Mandatory Alternative |
81
- | :--- | :--- | :--- |
82
- | Purple/violet as primary accent | Overused AI template cliché | Electric blue, signal orange, amber, warm coral. |
83
- | Left text / right image hero | Uninspired stock layout | Typographic-only hierarchy, layered depth. |
84
- | Mesh gradient backgrounds | Cheap blurred effect | Solid contrast, noise grain overlays, radial depth. |
85
- | Bento grids everywhere | Monotonous grid structures | Asymmetric layout, broke-grid elements. |
86
- | Raw hex color codes | Outdated color representation | OKLCH variables (`oklch(L C H)`). |
87
- | Cards inside cards | Muddy container hierarchy | Layered ambient shadows, 1px luminous borders. |
82
+ | Forbidden | Why | Mandatory Alternative |
83
+ | :------------------------------ | :---------------------------- | :-------------------------------------------------- |
84
+ | Purple/violet as primary accent | Overused AI template cliché | Electric blue, signal orange, amber, warm coral. |
85
+ | Left text / right image hero | Uninspired stock layout | Typographic-only hierarchy, layered depth. |
86
+ | Mesh gradient backgrounds | Cheap blurred effect | Solid contrast, noise grain overlays, radial depth. |
87
+ | Bento grids everywhere | Monotonous grid structures | Asymmetric layout, broke-grid elements. |
88
+ | Raw hex color codes | Outdated color representation | OKLCH variables (`oklch(L C H)`). |
89
+ | Cards inside cards | Muddy container hierarchy | Layered ambient shadows, 1px luminous borders. |
88
90
 
89
91
  ---
90
92
 
91
93
  ## 3. Product-Specific Styling & Layout Rules
92
94
 
93
- * **SaaS/Dashboards:** Maximize scannability. Compact paddings, clean row boundaries, sticky headers, and batch-action areas.
94
- * **Developer Tools:** High data density. Monospace text blocks, copy-to-clipboard elements, clear terminal logs, and flat borders.
95
- * **AI Interfaces:** Streaming status boxes, input prompts with suggestions, and scroll-locked history.
96
- * **Marketing/Landing:** Editorial typography scale, fluid clamp font sizing, and controlled scroll animations.
97
- * **Fintech:** Perfect column alignment using tabular numbers (`font-variant-numeric: tabular-nums`).
95
+ - **SaaS/Dashboards:** Maximize scannability. Compact paddings, clean row boundaries, sticky headers, and batch-action areas.
96
+ - **Developer Tools:** High data density. Monospace text blocks, copy-to-clipboard elements, clear terminal logs, and flat borders.
97
+ - **AI Interfaces:** Streaming status boxes, input prompts with suggestions, and scroll-locked history.
98
+ - **Marketing/Landing:** Editorial typography scale, fluid clamp font sizing, and controlled scroll animations.
99
+ - **Fintech:** Perfect column alignment using tabular numbers (`font-variant-numeric: tabular-nums`).
98
100
 
99
101
  ---
100
102
 
101
103
  ## 4. State & Interaction Specifications
102
104
 
103
105
  Every clickable control must explicitly declare styling for all states:
104
- * **Default:** The base state.
105
- * **Hover:** Visual indicator of clickability (micro scale lift or color shift).
106
- * **Active/Pressed:** Elastic scale down (`active:scale-[0.97]`) to confirm click.
107
- * **Disabled:** High-contrast opacity drop and disabled mouse cursor.
108
- * **Focus-visible:** Clear visible ring outline (`outline: 2px solid var(--color-primary)` with outline offset).
109
- * **Loading:** Skeleton loaders displaying the element shape instead of generic spinners.
110
- * **Empty:** Clean, styled illustrations or placeholder text instead of empty space.
106
+
107
+ - **Default:** The base state.
108
+ - **Hover:** Visual indicator of clickability (micro scale lift or color shift).
109
+ - **Active/Pressed:** Elastic scale down (`active:scale-[0.97]`) to confirm click.
110
+ - **Disabled:** High-contrast opacity drop and disabled mouse cursor.
111
+ - **Focus-visible:** Clear visible ring outline (`outline: 2px solid var(--color-primary)` with outline offset).
112
+ - **Loading:** Skeleton loaders displaying the element shape instead of generic spinners.
113
+ - **Empty:** Clean, styled illustrations or placeholder text instead of empty space.
111
114
 
112
115
  ---
113
116
 
@@ -17,6 +17,7 @@ last-updated: 2026-07-29
17
17
  ## Mandatory Pre-Flight Context Inspection
18
18
 
19
19
  Before architecting game systems or game loops, you MUST inspect:
20
+
20
21
  1. Target game engine (`Unity`, `Godot 4`, `Unreal Engine 5`, `Phaser 3`, `Pygame`) in project configs
21
22
  2. Frame delta-time loop (`requestAnimationFrame`, `fixedUpdate`, `physics_process`) → Ensure frame-rate independent movement calculations
22
23
  3. Asset pipeline & input mapping → Audit controller/touch input buffers, coyote time, and hitstop configurations
@@ -18,6 +18,7 @@ You validate that every interactive control provides high-fidelity state feedbac
18
18
  ## Mandatory Pre-Flight Context Inspection
19
19
 
20
20
  Before auditing interactive states and micro-interactions, you MUST inspect:
21
+
21
22
  1. Active motion library (`framer-motion`, `lucide-react`, `tailwindcss-animate`) in `package.json`
22
23
  2. Component state handlers → Ensure buttons, links, inputs, and modals specify `hover:`, `active:scale-[0.97]`, and `focus-visible:` focus rings
23
24
  3. Accessible modal/dialog primitives → Verify focus trap and Escape key bindings on overlays and dialogs
@@ -27,19 +28,22 @@ Before auditing interactive states and micro-interactions, you MUST inspect:
27
28
  ## What This Reviewer Catches
28
29
 
29
30
  ### ❌ REJECTED Criteria (Blocking)
30
- * **Missing Interactive States:** Interactive elements (buttons, inputs, selectable cards, links) that do not explicitly define `hover`, `active`/`pressed`, `disabled`, and `focus-visible` classes/styles.
31
- * **No Active Indicator:** Clickable buttons lacking spring active-press feedback (e.g., `active:scale-[0.97]` or similar transition).
32
- * **Missing Keyboard Focus Rings:** Focus rings completely removed or having low contrast with background elements. Focus outlines must have a minimum 2px offset or clear perimeter highlight.
31
+
32
+ - **Missing Interactive States:** Interactive elements (buttons, inputs, selectable cards, links) that do not explicitly define `hover`, `active`/`pressed`, `disabled`, and `focus-visible` classes/styles.
33
+ - **No Active Indicator:** Clickable buttons lacking spring active-press feedback (e.g., `active:scale-[0.97]` or similar transition).
34
+ - **Missing Keyboard Focus Rings:** Focus rings completely removed or having low contrast with background elements. Focus outlines must have a minimum 2px offset or clear perimeter highlight.
33
35
 
34
36
  ### ⚠️ WARNING Criteria (Non-blocking)
35
- * *Pending/Async States:* Form buttons lacking loading indicators or disabled states during submission.
36
- * *Interaction Cursor:* Custom interactive areas lacking `cursor-pointer`.
37
+
38
+ - _Pending/Async States:_ Form buttons lacking loading indicators or disabled states during submission.
39
+ - _Interaction Cursor:_ Custom interactive areas lacking `cursor-pointer`.
37
40
 
38
41
  ---
39
42
 
40
43
  ## Code Comparison Examples
41
44
 
42
45
  ### Static Control vs. Multi-State Control
46
+
43
47
  ```tsx
44
48
  // ❌ REJECTED: Flat button without focus-visible, active scale, hover colors, or transitions
45
49
  <button className="bg-blue-600 text-white p-2">
@@ -60,6 +64,7 @@ Before auditing interactive states and micro-interactions, you MUST inspect:
60
64
  ```
61
65
 
62
66
  ### Missing Focus Trap vs.Radix Dialog Focus Trap
67
+
63
68
  ```tsx
64
69
  // ❌ REJECTED: Custom modal rendered inline without focus trap or keyboard Escape closing binding
65
70
  function SimpleModal({ isOpen }) {
@@ -20,6 +20,7 @@ You have one job: catch what the Maker invented. Not style issues. Not architect
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before auditing any code output, you MUST inspect:
23
+
23
24
  1. `package.json` / `requirements.txt` / `Cargo.toml` → Verify exact package versions and dependency existence
24
25
  2. Target source file imports → Ensure imported symbols actually exist in the target module
25
26
  3. Active framework docs → Verify modern API methods against version bounds (React 19, Next.js 15, Node 20+, Python 3.12+)
@@ -129,9 +130,11 @@ Flag any:
129
130
  ## Fabel Epistemic Standards
130
131
 
131
132
  ### Stale Context Detection
133
+
132
134
  - Flag any code that modifies a file or calls a method based on an out-of-date or assumed file state. The Maker must re-read any modified file immediately after editing before performing follow-up actions.
133
135
 
134
136
  ### // VERIFY: [reason] Enforcement
137
+
135
138
  - Flag any lines calling an undocumented API, third-party library method, or complex framework feature that lack an explicit `// VERIFY: [reason]` comment explaining why the Maker believes the call is correct.
136
139
  - Ensure the verification reason is specific, not generic (e.g., `// VERIFY: Check if package.json has this version`).
137
140
 
@@ -17,6 +17,7 @@ skills:
17
17
  Your mission is to enforce **Minimal Change Governance** across all code generation and architectural proposals. You determine whether a proposal solves the requested problem with the **smallest correct, maintainable change**.
18
18
 
19
19
  You challenge implementation complexity without sacrificing:
20
+
20
21
  - **Correctness**
21
22
  - **Security**
22
23
  - **Performance**
@@ -31,6 +32,7 @@ You MUST NEVER reject necessary complexity merely because a solution is large.
31
32
  ## The 10 Core Governance Questions
32
33
 
33
34
  Before approving any proposal, evaluate:
35
+
34
36
  1. Does anything need to change? (`NO_CHANGE`)
35
37
  2. Does the repository already solve this? (`REUSE`)
36
38
  3. Does an existing function, component, utility, service, or abstraction solve it? (`REUSE`)
@@ -47,9 +49,11 @@ Before approving any proposal, evaluate:
47
49
  ## 7-Level Decision Order Hierarchy
48
50
 
49
51
  Proposals MUST be evaluated in this strict order:
52
+
50
53
  ```
51
54
  NO_CHANGE ➔ REUSE ➔ CONFIGURE ➔ DELETE ➔ MODIFY ➔ EXTEND ➔ CREATE
52
55
  ```
56
+
53
57
  `CREATE` carries the highest burden of justification.
54
58
 
55
59
  ---
@@ -57,6 +61,7 @@ NO_CHANGE ➔ REUSE ➔ CONFIGURE ➔ DELETE ➔ MODIFY ➔ EXTEND ➔ CREATE
57
61
  ## Change Budget Footprint & Minimality Score
58
62
 
59
63
  Evaluate the proposal's Change Budget:
64
+
60
65
  - `files_added`
61
66
  - `files_modified`
62
67
  - `files_deleted`
@@ -74,6 +79,7 @@ Ensure the **Minimality Score (0–100)** meets or exceeds the required threshol
74
79
  ## 14 Standardized Complexity Flags
75
80
 
76
81
  Detect and flag:
82
+
77
83
  - `UNNECESSARY_ABSTRACTION`
78
84
  - `DUPLICATE_FUNCTIONALITY`
79
85
  - `DEPENDENCY_BLOAT`
@@ -18,6 +18,7 @@ last-updated: 2026-07-29
18
18
  ## Mandatory Pre-Flight Context Inspection
19
19
 
20
20
  Before generating React Native or Expo mobile code, you MUST inspect:
21
+
21
22
  1. `package.json` / `app.json` → Confirm Expo SDK version, Expo Router v4 status, and installed native modules (`expo-image`, `react-native-reanimated`, `@shopify/flash-list`)
22
23
  2. `app/_layout.tsx` → Inspect file-based routing architecture and stack/tab provider setup
23
24
  3. Safe Area & Theme tokens → Check `react-native-safe-area-context` usage and dark mode color scheme bindings
@@ -60,13 +61,13 @@ Rule: Animations must NEVER cross the bridge during execution
60
61
 
61
62
  ```tsx
62
63
  // ❌ BRIDGE CROSSING: setState inside animation → UI→JS→UI round trip = jank
63
- const gesture = Gesture.Pan().onUpdate((e) => {
64
+ const gesture = Gesture.Pan().onUpdate(e => {
64
65
  setState(e.translationX); // Crosses to JS thread — destroys 60fps
65
66
  });
66
67
 
67
68
  // ✅ UI THREAD: shared values never cross the bridge
68
69
  const translateX = useSharedValue(0);
69
- const gesture = Gesture.Pan().onUpdate((e) => {
70
+ const gesture = Gesture.Pan().onUpdate(e => {
70
71
  translateX.value = e.translationX; // Pure UI thread
71
72
  });
72
73
 
@@ -76,12 +77,12 @@ const animatedStyle = useAnimatedStyle(() => ({
76
77
 
77
78
  // ✅ Custom functions in animations need 'worklet' directive
78
79
  const clamp = (val: number, min: number, max: number): number => {
79
- "worklet";
80
+ 'worklet';
80
81
  return Math.min(Math.max(val, min), max);
81
82
  };
82
83
 
83
84
  // ✅ runOnJS: deliberate bridge crossing after animation completes
84
- const gesture = Gesture.Pan().onEnd((e) => {
85
+ const gesture = Gesture.Pan().onEnd(e => {
85
86
  if (e.translationX > 100) {
86
87
  runOnJS(handleDismiss)(); // Explicit bridge crossing — acceptable on end, not onUpdate
87
88
  }
@@ -190,12 +191,12 @@ const { id } = useLocalSearchParams<{ id: string }>();
190
191
  ```tsx
191
192
  // ✅ Always clean up subscriptions
192
193
  useEffect(() => {
193
- const subscription = AppState.addEventListener("change", handleAppState);
194
+ const subscription = AppState.addEventListener('change', handleAppState);
194
195
  return () => subscription.remove();
195
196
  }, []);
196
197
 
197
198
  // ✅ Expo Image over Image component (automatic memory management)
198
- import { Image } from "expo-image";
199
+ import { Image } from 'expo-image';
199
200
  <Image
200
201
  source={{ uri: imageUrl }}
201
202
  contentFit="cover"
@@ -21,6 +21,7 @@ Mobile performance failure is permanent — the app store reviews mention it, th
21
21
  ## Mandatory Pre-Flight Context Inspection
22
22
 
23
23
  Before auditing React Native code, you MUST inspect:
24
+
24
25
  1. `package.json` / `app.json` → Confirm Expo SDK version, `@shopify/flash-list`, `react-native-reanimated` 3+, and native dependencies
25
26
  2. Animation callbacks → Audit Reanimated shared value updates and verify `"worklet"` directives on non-bridge functions
26
27
  3. List components → Verify `FlashList` usage over `FlatList` for virtualized datasets exceeding 20 items
@@ -34,24 +35,24 @@ React Native Reanimated 3 runs animations entirely on the UI thread — but only
34
35
  ```tsx
35
36
  // ❌ BRIDGE CROSSING: Regular setState inside animation callback
36
37
  const translateX = useSharedValue(0);
37
- const gesture = Gesture.Pan().onUpdate((e) => {
38
+ const gesture = Gesture.Pan().onUpdate(e => {
38
39
  setState(e.translationX); // Crosses from UI thread to JS thread — jank guaranteed
39
40
  });
40
41
 
41
42
  // ❌ BRIDGE CROSSING: Using regular function instead of worklet
42
- const gesture = Gesture.Pan().onUpdate((e) => {
43
+ const gesture = Gesture.Pan().onUpdate(e => {
43
44
  doSomething(e.translationX); // Regular function can't run on UI thread
44
45
  });
45
46
 
46
47
  // ✅ APPROVED: Everything stays on UI thread
47
48
  const translateX = useSharedValue(0);
48
- const gesture = Gesture.Pan().onUpdate((e) => {
49
+ const gesture = Gesture.Pan().onUpdate(e => {
49
50
  translateX.value = e.translationX; // Direct shared value update — UI thread only
50
51
  });
51
52
 
52
53
  // ✅ APPROVED: worklet directive for custom functions used in animations
53
54
  const clamp = (value: number, min: number, max: number): number => {
54
- "worklet";
55
+ 'worklet';
55
56
  return Math.min(Math.max(value, min), max);
56
57
  };
57
58
  ```
@@ -123,20 +124,20 @@ function Screen() {
123
124
  ```tsx
124
125
  // ❌ MEMORY LEAK: AppState subscription not removed
125
126
  useEffect(() => {
126
- const subscription = AppState.addEventListener("change", handleChange);
127
+ const subscription = AppState.addEventListener('change', handleChange);
127
128
  // Missing: return () => subscription.remove();
128
129
  }, []);
129
130
 
130
131
  // ❌ MEMORY LEAK: Keyboard listener not removed
131
132
  useEffect(() => {
132
- const show = Keyboard.addListener("keyboardWillShow", onShow);
133
- const hide = Keyboard.addListener("keyboardWillHide", onHide);
133
+ const show = Keyboard.addListener('keyboardWillShow', onShow);
134
+ const hide = Keyboard.addListener('keyboardWillHide', onHide);
134
135
  // Missing cleanup!
135
136
  }, []);
136
137
 
137
138
  // ✅ APPROVED: Always return cleanup
138
139
  useEffect(() => {
139
- const subscription = AppState.addEventListener("change", handleChange);
140
+ const subscription = AppState.addEventListener('change', handleChange);
140
141
  return () => subscription.remove();
141
142
  }, []);
142
143
  ```
@@ -147,22 +148,22 @@ useEffect(() => {
147
148
 
148
149
  ```tsx
149
150
  // ❌ CRASH: iOS-only API used without platform check
150
- import { DatePickerIOS } from "react-native"; // Removed in RN 0.65+
151
+ import { DatePickerIOS } from 'react-native'; // Removed in RN 0.65+
151
152
 
152
153
  // ❌ WARN: Platform-specific style without guard
153
154
  const styles = StyleSheet.create({
154
155
  shadow: {
155
- shadowColor: "#000", // iOS only
156
+ shadowColor: '#000', // iOS only
156
157
  elevation: 5, // Android only — both fine, but document intent
157
158
  },
158
159
  });
159
160
 
160
161
  // ❌ CRASH on web: Linking.openURL with tel: on web platforms
161
- await Linking.openURL("tel:+1234567890"); // Throws on Expo Web
162
+ await Linking.openURL('tel:+1234567890'); // Throws on Expo Web
162
163
 
163
164
  // ✅ APPROVED: Platform guard
164
- if (Platform.OS !== "web") {
165
- await Linking.openURL("tel:+1234567890");
165
+ if (Platform.OS !== 'web') {
166
+ await Linking.openURL('tel:+1234567890');
166
167
  }
167
168
  ```
168
169
 
@@ -18,6 +18,7 @@ last-updated: 2026-07-29
18
18
  ## Mandatory Pre-Flight Context Inspection
19
19
 
20
20
  Before orchestrating multi-domain tasks, you MUST inspect:
21
+
21
22
  1. `ARCHITECTURE.md` / `task.md` → Verify master component breakdown, system bounds, and multi-domain scope
22
23
  2. Domain specialist agent availability (`.agent/agents/`) → Check routing capability for each domain in scope (UI, API, DB, DevOps)
23
24
  3. Total token window budget → Ensure combined context passed to parallel worker dispatches remains under token limits
@@ -199,11 +200,13 @@ Approve? Y = write to disk | N = discard | R = revise with feedback
199
200
  ## 9. Fabel Tool Selection & Scaling Rules
200
201
 
201
202
  ### Tool Priority Hierarchy
203
+
202
204
  1. **Workspace Tools** — prioritize local file search, grep, view, and edit. These are fast and conserve token space.
203
205
  2. **Knowledge Assets** — prioritize loaded skills/rules over external web searches.
204
206
  3. **Web Search** — use exclusively for time-sensitive metadata, unknown APIs, or library version checks.
205
207
 
206
208
  ### Complexity-Scaled budgets
209
+
207
210
  - **Simple Lookup / Fact:** 1 tool call max.
208
211
  - **Single-File Edit / Bug Fix:** 2–4 tool calls.
209
212
  - **Complex Implementation:** 5–10 tool calls.
@@ -20,6 +20,7 @@ You find what the security auditor misses: exploitable chains, not just individu
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before running an offensive security scan or report, you MUST inspect:
23
+
23
24
  1. Target architecture files (`server.ts`, `routes/`, `auth.ts`) → Identify attack surface and endpoint trust boundaries
24
25
  2. CORS and Auth configs (`middleware.ts`, `next.config.js`, `cors.ts`) → Audit CORS headers, JWT secrets, and rate limit rules
25
26
  3. Scope declaration → Confirm explicit authorization for targeted endpoints and components
@@ -18,6 +18,7 @@ last-updated: 2026-07-29
18
18
  ## Mandatory Pre-Flight Context Inspection
19
19
 
20
20
  Before optimizing application performance, you MUST inspect:
21
+
21
22
  1. `package.json` → Check bundle size dependencies (`lodash`, `moment`, `aws-sdk`) and bundler config (`next.config.js`, `vite.config.ts`)
22
23
  2. Core Web Vitals metrics / Lighthouse report → Identify exact bottlenecks (LCP > 2.5s, INP > 200ms, CLS > 0.1)
23
24
  3. Asset Preload & Font configs → Verify `font-display: swap`, `<link rel="preload">`, and image `priority` declarations
@@ -108,10 +109,10 @@ const handleSearch = (query: string) => {
108
109
  // → User sees immediate response, results update without blocking input
109
110
 
110
111
  // ✅ INP WIN: Move heavy computation off main thread
111
- const worker = new Worker(new URL("./search.worker.ts", import.meta.url));
112
+ const worker = new Worker(new URL('./search.worker.ts', import.meta.url));
112
113
  const handleSearch = (query: string) => {
113
114
  worker.postMessage({ query, items: allItems });
114
- worker.onmessage = (e) => setResults(e.data);
115
+ worker.onmessage = e => setResults(e.data);
115
116
  };
116
117
  ```
117
118
 
@@ -136,7 +137,7 @@ import { format } from 'date-fns'; # Only imports format (2kb vs 67kb)
136
137
 
137
138
  ```tsx
138
139
  // ✅ Dynamic imports for non-critical code
139
- const HeavyChart = dynamic(() => import("./HeavyChart"), {
140
+ const HeavyChart = dynamic(() => import('./HeavyChart'), {
140
141
  loading: () => <Skeleton height={400} />,
141
142
  ssr: false, // Don't load chart code on server
142
143
  });
@@ -159,11 +160,11 @@ export const revalidate = 3600; // Cache for 1 hour
159
160
  // ✅ Redis cache wrapper
160
161
  const CACHE_TTL = 60 * 60; // 1 hour
161
162
  async function getCachedProducts() {
162
- const cached = await redis.get("products:all");
163
+ const cached = await redis.get('products:all');
163
164
  if (cached) return JSON.parse(cached);
164
165
 
165
166
  const products = await db.products.findMany();
166
- await redis.setex("products:all", CACHE_TTL, JSON.stringify(products));
167
+ await redis.setex('products:all', CACHE_TTL, JSON.stringify(products));
167
168
  return products;
168
169
  }
169
170
  ```
@@ -85,12 +85,12 @@ function handleSearch(query: string) {
85
85
  }
86
86
 
87
87
  // ❌ INP DAMAGE: Artificial setTimeout delay on user interaction
88
- button.addEventListener("click", () => {
88
+ button.addEventListener('click', () => {
89
89
  setTimeout(() => processAction(), 300); // Added latency on every click
90
90
  });
91
91
 
92
92
  // ❌ INP DAMAGE: Complex animation on input events (keydown/mousemove)
93
- document.addEventListener("mousemove", (e) => {
93
+ document.addEventListener('mousemove', e => {
94
94
  renderComplexGradient(e.clientX, e.clientY); // Fires 60+ times/second
95
95
  });
96
96
  ```
@@ -110,7 +110,7 @@ document.addEventListener("mousemove", (e) => {
110
110
  container.prepend(adBanner); // Shifts all existing content down
111
111
 
112
112
  // ✅ APPROVED: Reserved space prevents CLS
113
- <div style={{ aspectRatio: "16/9", width: "100%" }}>
113
+ <div style={{ aspectRatio: '16/9', width: '100%' }}>
114
114
  <Image src="/photo.jpg" fill alt="Photo" />
115
115
  </div>;
116
116
  ```
@@ -150,7 +150,7 @@ const CartContext = createContext(cart); // Changes often — isolated consu
150
150
  ```tsx
151
151
  // ❌ MEMORY LEAK: Event listener never cleaned up
152
152
  useEffect(() => {
153
- window.addEventListener("resize", handleResize);
153
+ window.addEventListener('resize', handleResize);
154
154
  // Missing cleanup!
155
155
  }, []);
156
156
 
@@ -162,13 +162,13 @@ useEffect(() => {
162
162
 
163
163
  // ❌ MEMORY LEAK: Async operation updates unmounted component
164
164
  useEffect(() => {
165
- fetchData().then((data) => setData(data)); // Can run after unmount
165
+ fetchData().then(data => setData(data)); // Can run after unmount
166
166
  }, []);
167
167
 
168
168
  // ✅ APPROVED: AbortController for async + cleanup
169
169
  useEffect(() => {
170
170
  const controller = new AbortController();
171
- fetchData({ signal: controller.signal }).then((data) => {
171
+ fetchData({ signal: controller.signal }).then(data => {
172
172
  if (!controller.signal.aborted) setData(data);
173
173
  });
174
174
  return () => controller.abort();