tribunal-kit 5.8.4 → 6.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 (322) hide show
  1. package/.agent/ARCHITECTURE.md +219 -215
  2. package/.agent/agents/accessibility-reviewer.md +66 -151
  3. package/.agent/agents/ai-code-reviewer.md +22 -2
  4. package/.agent/agents/anti-pattern-reviewer.md +99 -0
  5. package/.agent/agents/api-architect.md +19 -2
  6. package/.agent/agents/backend-specialist.md +25 -3
  7. package/.agent/agents/cloud-engineer.md +21 -0
  8. package/.agent/agents/code-archaeologist.md +20 -3
  9. package/.agent/agents/complexity-reviewer.md +22 -2
  10. package/.agent/agents/database-architect.md +24 -3
  11. package/.agent/agents/db-latency-auditor.md +22 -2
  12. package/.agent/agents/debugger.md +19 -3
  13. package/.agent/agents/dependency-reviewer.md +19 -2
  14. package/.agent/agents/devops-engineer.md +24 -3
  15. package/.agent/agents/documentation-writer.md +21 -3
  16. package/.agent/agents/explorer-agent.md +21 -3
  17. package/.agent/agents/frontend-reviewer.md +19 -3
  18. package/.agent/agents/frontend-specialist.md +72 -224
  19. package/.agent/agents/game-developer.md +22 -3
  20. package/.agent/agents/interaction-reviewer.md +118 -0
  21. package/.agent/agents/logic-reviewer.md +18 -3
  22. package/.agent/agents/minimalist-reviewer.md +98 -0
  23. package/.agent/agents/mobile-developer.md +21 -3
  24. package/.agent/agents/mobile-reviewer.md +22 -2
  25. package/.agent/agents/orchestrator.md +19 -3
  26. package/.agent/agents/penetration-tester.md +22 -3
  27. package/.agent/agents/performance-optimizer.md +21 -3
  28. package/.agent/agents/performance-reviewer.md +2 -0
  29. package/.agent/agents/precedence-reviewer.md +19 -5
  30. package/.agent/agents/product-manager.md +20 -3
  31. package/.agent/agents/product-owner.md +22 -1
  32. package/.agent/agents/product-reviewer.md +98 -0
  33. package/.agent/agents/project-planner.md +19 -3
  34. package/.agent/agents/qa-automation-engineer.md +24 -3
  35. package/.agent/agents/resilience-reviewer.md +21 -2
  36. package/.agent/agents/schema-reviewer.md +21 -2
  37. package/.agent/agents/security-auditor.md +7 -1
  38. package/.agent/agents/seo-specialist.md +18 -3
  39. package/.agent/agents/sql-reviewer.md +22 -2
  40. package/.agent/agents/supervisor-agent.md +22 -3
  41. package/.agent/agents/swarm-worker-registry.md +7 -0
  42. package/.agent/agents/system-architect.md +19 -0
  43. package/.agent/agents/test-coverage-reviewer.md +22 -2
  44. package/.agent/agents/test-engineer.md +21 -2
  45. package/.agent/agents/throughput-optimizer.md +22 -2
  46. package/.agent/agents/type-safety-reviewer.md +21 -2
  47. package/.agent/agents/ui-ux-auditor.md +44 -242
  48. package/.agent/agents/ui-visual-auditor.md +99 -0
  49. package/.agent/agents/ux-reviewer.md +104 -0
  50. package/.agent/agents/visual-reviewer.md +98 -0
  51. package/.agent/agents/vitals-reviewer.md +23 -2
  52. package/.agent/history/README.md +53 -0
  53. package/.agent/history/case-law/cases/template-case.json +19 -0
  54. package/.agent/history/integrity_manifest.json +131 -33
  55. package/.agent/history/memory/.memory.idx +1581 -1
  56. package/.agent/history/memory/MEMORY.md +105 -1
  57. package/.agent/routing_index.json +272 -690
  58. package/.agent/rules/GEMINI.md +10 -12
  59. package/.agent/rules/GEMINI_PLANNER.md +84 -0
  60. package/.agent/scripts/_utils.js +28 -7
  61. package/.agent/scripts/case_law_manager.js +2 -0
  62. package/.agent/scripts/context_broker.js +152 -19
  63. package/.agent/scripts/guardrail_engine.js +60 -5
  64. package/.agent/scripts/impact_classifier.js +167 -0
  65. package/.agent/scripts/integrity_manifest.js +10 -4
  66. package/.agent/scripts/marathon_harness.js +10 -1
  67. package/.agent/scripts/minimal_change_engine.js +437 -0
  68. package/.agent/scripts/pipeline_engine.js +856 -0
  69. package/.agent/scripts/skill_evolution.js +36 -21
  70. package/.agent/scripts/socratic_gate_policy.js +60 -0
  71. package/.agent/scripts/swarm_dispatcher.js +65 -6
  72. package/.agent/scripts/token_budget_broker.js +52 -0
  73. package/.agent/scripts/verify_all.js +13 -0
  74. package/.agent/scripts/visual_audit.js +92 -0
  75. package/.agent/skills/12-principles-of-animation/SKILL.md +19 -10
  76. package/.agent/skills/60fps-animation/SKILL.md +19 -10
  77. package/.agent/skills/accessible-animation/SKILL.md +19 -10
  78. package/.agent/skills/adapt/SKILL.md +19 -10
  79. package/.agent/skills/advanced-rag-pipelines/SKILL.md +21 -3
  80. package/.agent/skills/agent-organizer/SKILL.md +21 -7
  81. package/.agent/skills/agentic-patterns/SKILL.md +19 -7
  82. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +21 -7
  83. package/.agent/skills/animation-on-scroll/SKILL.md +19 -10
  84. package/.agent/skills/animation-systems/SKILL.md +19 -10
  85. package/.agent/skills/antfu-conventions/SKILL.md +21 -10
  86. package/.agent/skills/api-patterns/SKILL.md +21 -7
  87. package/.agent/skills/api-patterns/scripts/__pycache__/api_validator.cpython-311.pyc +0 -0
  88. package/.agent/skills/api-security-auditor/SKILL.md +21 -7
  89. package/.agent/skills/app-builder/SKILL.md +21 -7
  90. package/.agent/skills/apple-design/SKILL.md +19 -10
  91. package/.agent/skills/architecture/SKILL.md +21 -7
  92. package/.agent/skills/audit-and-fix/SKILL.md +19 -10
  93. package/.agent/skills/authentication-best-practices/SKILL.md +21 -7
  94. package/.agent/skills/backend-security-expert/SKILL.md +21 -7
  95. package/.agent/skills/baseline-ui/SKILL.md +19 -10
  96. package/.agent/skills/bash-linux/SKILL.md +21 -7
  97. package/.agent/skills/behavioral-modes/SKILL.md +19 -7
  98. package/.agent/skills/better-colors/SKILL.md +31 -14
  99. package/.agent/skills/better-ui/SKILL.md +19 -10
  100. package/.agent/skills/bolder/SKILL.md +19 -10
  101. package/.agent/skills/brainstorming/SKILL.md +17 -7
  102. package/.agent/skills/browser-native-ai/SKILL.md +19 -3
  103. package/.agent/skills/build-primitive/SKILL.md +19 -10
  104. package/.agent/skills/building-native-ui/SKILL.md +21 -7
  105. package/.agent/skills/cicd-pro/SKILL.md +21 -10
  106. package/.agent/skills/clarify/SKILL.md +19 -10
  107. package/.agent/skills/clean-code/SKILL.md +21 -7
  108. package/.agent/skills/cloud-architect/SKILL.md +21 -10
  109. package/.agent/skills/cobejs/SKILL.md +19 -10
  110. package/.agent/skills/code-review-checklist/SKILL.md +21 -7
  111. package/.agent/skills/codebase-design/SKILL.md +21 -10
  112. package/.agent/skills/colorize/SKILL.md +19 -10
  113. package/.agent/skills/compact-landing/SKILL.md +19 -10
  114. package/.agent/skills/company-logos/SKILL.md +19 -10
  115. package/.agent/skills/config-validator/SKILL.md +21 -7
  116. package/.agent/skills/containerization-pro/SKILL.md +21 -10
  117. package/.agent/skills/create-design-md/SKILL.md +19 -10
  118. package/.agent/skills/critique/SKILL.md +19 -10
  119. package/.agent/skills/csharp-developer/SKILL.md +21 -7
  120. package/.agent/skills/data-validation-schemas/SKILL.md +21 -7
  121. package/.agent/skills/database-design/SKILL.md +21 -7
  122. package/.agent/skills/database-design/scripts/__pycache__/schema_validator.cpython-311.pyc +0 -0
  123. package/.agent/skills/delight/SKILL.md +19 -10
  124. package/.agent/skills/deployment-procedures/SKILL.md +21 -7
  125. package/.agent/skills/design-lab/SKILL.md +21 -10
  126. package/.agent/skills/devops-engineer/SKILL.md +21 -7
  127. package/.agent/skills/devops-incident-responder/SKILL.md +21 -7
  128. package/.agent/skills/diagnosing-bugs/SKILL.md +21 -10
  129. package/.agent/skills/distill/SKILL.md +19 -10
  130. package/.agent/skills/documentation-templates/SKILL.md +21 -7
  131. package/.agent/skills/domain-modeling/SKILL.md +21 -10
  132. package/.agent/skills/edge-computing/SKILL.md +21 -7
  133. package/.agent/skills/emil-design-eng/SKILL.md +19 -10
  134. package/.agent/skills/error-resilience/SKILL.md +21 -7
  135. package/.agent/skills/extract-design-system/SKILL.md +21 -7
  136. package/.agent/skills/fabel-protocol/SKILL.md +19 -2
  137. package/.agent/skills/fixing-accessibility/SKILL.md +25 -14
  138. package/.agent/skills/fixing-metadata/SKILL.md +19 -10
  139. package/.agent/skills/fixing-motion-performance/SKILL.md +19 -10
  140. package/.agent/skills/framer-motion-expert/SKILL.md +19 -6
  141. package/.agent/skills/frontend-design/SKILL.md +66 -204
  142. package/.agent/skills/frontend-design/scripts/__pycache__/accessibility_checker.cpython-311.pyc +0 -0
  143. package/.agent/skills/frontend-design/scripts/__pycache__/ux_audit.cpython-311.pyc +0 -0
  144. package/.agent/skills/frontend-security-expert/SKILL.md +21 -7
  145. package/.agent/skills/game-design-expert/SKILL.md +21 -7
  146. package/.agent/skills/game-engineering-expert/SKILL.md +21 -7
  147. package/.agent/skills/generative-ui-expert/SKILL.md +19 -3
  148. package/.agent/skills/geo-fundamentals/SKILL.md +21 -7
  149. package/.agent/skills/geo-fundamentals/scripts/__pycache__/geo_checker.cpython-311.pyc +0 -0
  150. package/.agent/skills/git-pro/SKILL.md +21 -10
  151. package/.agent/skills/github-operations/SKILL.md +21 -7
  152. package/.agent/skills/gpt-taste/SKILL.md +19 -10
  153. package/.agent/skills/gsap-core/SKILL.md +21 -4
  154. package/.agent/skills/gsap-frameworks/SKILL.md +21 -4
  155. package/.agent/skills/gsap-performance/SKILL.md +20 -5
  156. package/.agent/skills/gsap-plugins/SKILL.md +20 -5
  157. package/.agent/skills/gsap-react/SKILL.md +20 -5
  158. package/.agent/skills/gsap-scrolltrigger/SKILL.md +21 -4
  159. package/.agent/skills/gsap-timeline/SKILL.md +20 -5
  160. package/.agent/skills/gsap-utils/SKILL.md +20 -5
  161. package/.agent/skills/harden/SKILL.md +19 -10
  162. package/.agent/skills/harness-protocol/SKILL.md +20 -4
  163. package/.agent/skills/i18n-localization/SKILL.md +21 -7
  164. package/.agent/skills/i18n-localization/scripts/__pycache__/i18n_checker.cpython-311.pyc +0 -0
  165. package/.agent/skills/impeccable/SKILL.md +21 -10
  166. package/.agent/skills/improve-codebase-architecture/SKILL.md +21 -10
  167. package/.agent/skills/improve-ui/SKILL.md +19 -10
  168. package/.agent/skills/intelligent-routing/SKILL.md +19 -7
  169. package/.agent/skills/knowledge-graph/SKILL.md +20 -4
  170. package/.agent/skills/landing-page/SKILL.md +20 -10
  171. package/.agent/skills/lint-and-validate/SKILL.md +21 -7
  172. package/.agent/skills/lint-and-validate/scripts/__pycache__/lint_runner.cpython-311.pyc +0 -0
  173. package/.agent/skills/lint-and-validate/scripts/__pycache__/type_coverage.cpython-311.pyc +0 -0
  174. package/.agent/skills/llm-engineering/SKILL.md +21 -7
  175. package/.agent/skills/local-first/SKILL.md +21 -7
  176. package/.agent/skills/local-first-architecture/SKILL.md +19 -10
  177. package/.agent/skills/lottie-animation/SKILL.md +19 -10
  178. package/.agent/skills/marquee-loop/SKILL.md +19 -10
  179. package/.agent/skills/masked-reveal/SKILL.md +19 -10
  180. package/.agent/skills/mcp-builder/SKILL.md +21 -7
  181. package/.agent/skills/micro-interaction/SKILL.md +19 -10
  182. package/.agent/skills/mobile-design/SKILL.md +21 -6
  183. package/.agent/skills/mobile-design/scripts/__pycache__/mobile_audit.cpython-311.pyc +0 -0
  184. package/.agent/skills/monorepo-management/SKILL.md +21 -7
  185. package/.agent/skills/morphing-icons/SKILL.md +19 -10
  186. package/.agent/skills/motion-engineering/SKILL.md +86 -171
  187. package/.agent/skills/nextjs-react-expert/SKILL.md +19 -7
  188. package/.agent/skills/nextjs-react-expert/scripts/__pycache__/convert_rules.cpython-311.pyc +0 -0
  189. package/.agent/skills/nextjs-react-expert/scripts/__pycache__/react_performance_checker.cpython-311.pyc +0 -0
  190. package/.agent/skills/nodejs-best-practices/SKILL.md +21 -7
  191. package/.agent/skills/observability/SKILL.md +21 -7
  192. package/.agent/skills/page-transition-animation/SKILL.md +19 -10
  193. package/.agent/skills/parallel-agents/SKILL.md +23 -7
  194. package/.agent/skills/performance-profiling/SKILL.md +21 -7
  195. package/.agent/skills/performance-profiling/scripts/__pycache__/lighthouse_audit.cpython-311.pyc +0 -0
  196. package/.agent/skills/plan-writing/SKILL.md +21 -7
  197. package/.agent/skills/platform-engineer/SKILL.md +21 -7
  198. package/.agent/skills/playwright-best-practices/SKILL.md +21 -7
  199. package/.agent/skills/polish/SKILL.md +19 -10
  200. package/.agent/skills/powershell-windows/SKILL.md +21 -7
  201. package/.agent/skills/pricing-page/SKILL.md +19 -10
  202. package/.agent/skills/product-aware-heuristics/SKILL.md +358 -0
  203. package/.agent/skills/progressive-blur/SKILL.md +19 -10
  204. package/.agent/skills/project-idioms/SKILL.md +20 -8
  205. package/.agent/skills/python-patterns/SKILL.md +21 -7
  206. package/.agent/skills/python-pro/SKILL.md +21 -6
  207. package/.agent/skills/quieter/SKILL.md +19 -10
  208. package/.agent/skills/react-doctor/SKILL.md +19 -10
  209. package/.agent/skills/react-specialist/SKILL.md +19 -6
  210. package/.agent/skills/readme-builder/SKILL.md +21 -7
  211. package/.agent/skills/realtime-patterns/SKILL.md +21 -7
  212. package/.agent/skills/red-team-tactics/SKILL.md +21 -7
  213. package/.agent/skills/redesign-skill/SKILL.md +19 -10
  214. package/.agent/skills/review-animations/SKILL.md +21 -10
  215. package/.agent/skills/rust-pro/SKILL.md +21 -7
  216. package/.agent/skills/seo-fundamentals/SKILL.md +21 -7
  217. package/.agent/skills/seo-fundamentals/scripts/__pycache__/seo_checker.cpython-311.pyc +0 -0
  218. package/.agent/skills/server-management/SKILL.md +21 -7
  219. package/.agent/skills/shadcn-ui-expert/SKILL.md +21 -7
  220. package/.agent/skills/shape/SKILL.md +19 -10
  221. package/.agent/skills/skill-creator/SKILL.md +21 -7
  222. package/.agent/skills/soft-skill/SKILL.md +19 -10
  223. package/.agent/skills/sounds-on-the-web/SKILL.md +19 -10
  224. package/.agent/skills/sql-pro/SKILL.md +21 -7
  225. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +21 -7
  226. package/.agent/skills/svg-animation/SKILL.md +19 -10
  227. package/.agent/skills/swiftui-expert/SKILL.md +21 -7
  228. package/.agent/skills/swiss-design/SKILL.md +19 -10
  229. package/.agent/skills/system-design-pro/SKILL.md +21 -9
  230. package/.agent/skills/systematic-debugging/SKILL.md +21 -7
  231. package/.agent/skills/tailwind-patterns/SKILL.md +21 -7
  232. package/.agent/skills/taste-skill/SKILL.md +19 -10
  233. package/.agent/skills/tdd-workflow/SKILL.md +21 -10
  234. package/.agent/skills/test-result-analyzer/SKILL.md +18 -6
  235. package/.agent/skills/testing-patterns/SKILL.md +21 -7
  236. package/.agent/skills/testing-patterns/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  237. package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +21 -10
  238. package/.agent/skills/thinking-protocol/SKILL.md +20 -8
  239. package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +19 -10
  240. package/.agent/skills/transitions-dev/SKILL.md +19 -10
  241. package/.agent/skills/trend-researcher/SKILL.md +17 -6
  242. package/.agent/skills/typescript-advanced/SKILL.md +21 -7
  243. package/.agent/skills/typeset/SKILL.md +19 -10
  244. package/.agent/skills/ui-reasoning-engine/SKILL.md +154 -0
  245. package/.agent/skills/ui-skill-packs/SKILL.md +77 -0
  246. package/.agent/skills/ui-skills-root/SKILL.md +21 -9
  247. package/.agent/skills/ui-ux-pro-max/SKILL.md +62 -583
  248. package/.agent/skills/ui-ux-researcher/SKILL.md +17 -6
  249. package/.agent/skills/vue-expert/SKILL.md +19 -6
  250. package/.agent/skills/vulnerability-scanner/SKILL.md +21 -7
  251. package/.agent/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  252. package/.agent/skills/web-accessibility-auditor/SKILL.md +21 -7
  253. package/.agent/skills/web-design-guidelines/SKILL.md +32 -206
  254. package/.agent/skills/web-quality-audit/SKILL.md +19 -10
  255. package/.agent/skills/webapp-testing/SKILL.md +21 -7
  256. package/.agent/skills/webapp-testing/scripts/__pycache__/playwright_runner.cpython-311.pyc +0 -0
  257. package/.agent/skills/webgpu-performance/SKILL.md +19 -3
  258. package/.agent/skills/whimsy-injector/SKILL.md +20 -10
  259. package/.agent/skills/workflow-optimizer/SKILL.md +16 -6
  260. package/.agent/templates/DESIGN.md +292 -0
  261. package/.agent/templates/design-tokens.json +137 -0
  262. package/.agent/workflows/acf.md +13 -6
  263. package/.agent/workflows/api-tester.md +15 -8
  264. package/.agent/workflows/audit.md +19 -8
  265. package/.agent/workflows/brainstorm.md +14 -9
  266. package/.agent/workflows/changelog.md +14 -8
  267. package/.agent/workflows/create.md +16 -8
  268. package/.agent/workflows/debug.md +15 -10
  269. package/.agent/workflows/deploy.md +16 -8
  270. package/.agent/workflows/enhance.md +15 -10
  271. package/.agent/workflows/fix.md +15 -8
  272. package/.agent/workflows/generate.md +17 -11
  273. package/.agent/workflows/marathon.md +15 -8
  274. package/.agent/workflows/migrate.md +16 -8
  275. package/.agent/workflows/minimal.md +94 -0
  276. package/.agent/workflows/orchestrate.md +15 -8
  277. package/.agent/workflows/performance-benchmarker.md +15 -8
  278. package/.agent/workflows/pipeline.md +155 -0
  279. package/.agent/workflows/plan.md +14 -10
  280. package/.agent/workflows/preview.md +14 -7
  281. package/.agent/workflows/refactor.md +16 -8
  282. package/.agent/workflows/review-ai.md +15 -7
  283. package/.agent/workflows/review.md +15 -7
  284. package/.agent/workflows/session.md +14 -7
  285. package/.agent/workflows/status.md +13 -7
  286. package/.agent/workflows/strengthen-skills.md +15 -6
  287. package/.agent/workflows/super-prompt.md +19 -10
  288. package/.agent/workflows/swarm.md +15 -7
  289. package/.agent/workflows/test.md +15 -8
  290. package/.agent/workflows/tribunal-backend.md +16 -9
  291. package/.agent/workflows/tribunal-database.md +15 -8
  292. package/.agent/workflows/tribunal-frontend.md +26 -11
  293. package/.agent/workflows/tribunal-full.md +29 -14
  294. package/.agent/workflows/tribunal-mobile.md +15 -8
  295. package/.agent/workflows/tribunal-performance.md +15 -8
  296. package/.agent/workflows/tribunal-speed.md +16 -9
  297. package/.agent/workflows/tribunal-ui.md +82 -0
  298. package/.agent/workflows/ui-ux-pro-max.md +51 -107
  299. package/CONTRIBUTING.md +2 -2
  300. package/README.md +5 -5
  301. package/bin/mcp-server.js +126 -76
  302. package/bin/wrapper.js +67 -31
  303. package/dist/cli.js +39 -1
  304. package/dist/commands/compile.js +7 -0
  305. package/dist/commands/context.js +8 -3
  306. package/dist/commands/graph.js +8 -2
  307. package/dist/commands/init.js +37 -2
  308. package/dist/commands/memory.js +119 -68
  309. package/dist/commands/minimal.js +71 -0
  310. package/dist/commands/native.js +228 -0
  311. package/dist/commands/optimize.js +15 -5
  312. package/dist/commands/validate.js +67 -0
  313. package/dist/esm/index.mjs +26 -32
  314. package/dist/mcp/server.js +4 -138
  315. package/dist/utils/fs.js +10 -4
  316. package/dist/utils/helpers.js +10 -1
  317. package/dist/utils/version.js +9 -2
  318. package/mcp_config.json +10 -1
  319. package/package.json +19 -15
  320. package/scripts/benchmark.js +58 -0
  321. package/scripts/sync-version.js +129 -76
  322. package/scripts/visual_audit.js +126 -0
@@ -46,11 +46,18 @@ const {
46
46
  const { findAgentDir } = require("./_utils");
47
47
 
48
48
 
49
- const AGENT_DIR = findAgentDir();
50
- const SKILL_DIR = path.join(AGENT_DIR, "skills", "project-idioms");
51
- const SKILL_FILE = path.join(SKILL_DIR, "SKILL.md");
52
- const HISTORY_DIR = path.join(AGENT_DIR, "history", "skill-evolution");
53
- const LOG_FILE = path.join(HISTORY_DIR, "digest-log.json");
49
+ function getPaths(startDir = process.cwd()) {
50
+ const agentDir = findAgentDir(startDir);
51
+ const skillDir = path.join(agentDir, "skills", "project-idioms");
52
+ const historyDir = path.join(agentDir, "history", "skill-evolution");
53
+ return {
54
+ agentDir,
55
+ skillDir,
56
+ skillFile: path.join(skillDir, "SKILL.md"),
57
+ historyDir,
58
+ logFile: path.join(historyDir, "digest-log.json"),
59
+ };
60
+ }
54
61
 
55
62
  // ── Architectural Weight Patterns ────────────────────────────────────────────
56
63
  const HIGH_WEIGHT_PATTERNS = [
@@ -205,8 +212,9 @@ function countTokensEstimate(text) {
205
212
 
206
213
  // ── Idiom management ──────────────────────────────────────────────────────────
207
214
  function loadExistingIdioms() {
208
- if (!fs.existsSync(SKILL_FILE)) return [];
209
- const content = fs.readFileSync(SKILL_FILE, "utf8");
215
+ const { skillFile } = getPaths();
216
+ if (!fs.existsSync(skillFile)) return [];
217
+ const content = fs.readFileSync(skillFile, "utf8");
210
218
  const idioms = [];
211
219
  const pattern =
212
220
  /\|\s*(\d+)\s*\|\s*`([^`]+)`\s*\|\s*([^|]+)\|\s*([^|]+)\|\s*([^|]+)\|/g;
@@ -346,10 +354,11 @@ function parseLlmYamlResponse(response) {
346
354
 
347
355
  // ── Log helpers ────────────────────────────────────────────────────────────────
348
356
  function loadLog() {
349
- fs.mkdirSync(HISTORY_DIR, { recursive: true });
350
- if (fs.existsSync(LOG_FILE)) {
357
+ const { historyDir, logFile } = getPaths();
358
+ fs.mkdirSync(historyDir, { recursive: true });
359
+ if (fs.existsSync(logFile)) {
351
360
  try {
352
- return JSON.parse(fs.readFileSync(LOG_FILE, "utf8"));
361
+ return JSON.parse(fs.readFileSync(logFile, "utf8"));
353
362
  } catch {
354
363
  /* fallthrough */
355
364
  }
@@ -358,8 +367,9 @@ function loadLog() {
358
367
  }
359
368
 
360
369
  function saveLog(log) {
361
- fs.mkdirSync(HISTORY_DIR, { recursive: true });
362
- fs.writeFileSync(LOG_FILE, JSON.stringify(log, null, 2), "utf8");
370
+ const { historyDir, logFile } = getPaths();
371
+ fs.mkdirSync(historyDir, { recursive: true });
372
+ fs.writeFileSync(logFile, JSON.stringify(log, null, 2), "utf8");
363
373
  }
364
374
 
365
375
  // ── Auto-LLM API Integration ─────────────────────────────────────────────────
@@ -835,8 +845,9 @@ async function cmdDigest(args) {
835
845
  if (added > 0) {
836
846
  log.total_idioms = merged.length;
837
847
  const skillMd = renderSkillMd(merged, (log.cycles || []).length + 1);
838
- fs.mkdirSync(SKILL_DIR, { recursive: true });
839
- fs.writeFileSync(SKILL_FILE, skillMd, "utf8");
848
+ const { skillDir, skillFile } = getPaths();
849
+ fs.mkdirSync(skillDir, { recursive: true });
850
+ fs.writeFileSync(skillFile, skillMd, "utf8");
840
851
  console.log(` ${GREEN}✔ ${added} new idiom(s) added to SKILL.md${RESET}`);
841
852
  } else {
842
853
  console.log(` ${DIM} No new unique idioms added to SKILL.md.${RESET}`);
@@ -932,22 +943,24 @@ async function cmdDigest(args) {
932
943
  }
933
944
 
934
945
  function cmdShow() {
935
- if (!fs.existsSync(SKILL_FILE)) {
946
+ const { skillFile } = getPaths();
947
+ if (!fs.existsSync(skillFile)) {
936
948
  console.log(
937
949
  `${YELLOW}No project-idioms skill found. Run 'digest' first.${RESET}`,
938
950
  );
939
951
  return;
940
952
  }
941
- console.log(fs.readFileSync(SKILL_FILE, "utf8"));
953
+ console.log(fs.readFileSync(skillFile, "utf8"));
942
954
  }
943
955
 
944
956
  function cmdReset() {
945
- if (fs.existsSync(SKILL_FILE)) {
946
- fs.unlinkSync(SKILL_FILE);
957
+ const { skillFile, logFile } = getPaths();
958
+ if (fs.existsSync(skillFile)) {
959
+ fs.unlinkSync(skillFile);
947
960
  console.log(`${GREEN}✔ project-idioms/SKILL.md deleted.${RESET}`);
948
961
  }
949
- if (fs.existsSync(LOG_FILE)) {
950
- fs.unlinkSync(LOG_FILE);
962
+ if (fs.existsSync(logFile)) {
963
+ fs.unlinkSync(logFile);
951
964
  console.log(`${GREEN}✔ Digest log cleared.${RESET}`);
952
965
  }
953
966
  console.log(`${DIM}Run 'digest' to start a fresh evolution cycle.${RESET}`);
@@ -958,7 +971,8 @@ function cmdStatus() {
958
971
  const cycles = log.cycles || [];
959
972
  const totalSaved = log.total_tokens_saved || 0;
960
973
  const totalIdioms = log.total_idioms || 0;
961
- const idiomsExist = fs.existsSync(SKILL_FILE);
974
+ const { skillFile } = getPaths();
975
+ const idiomsExist = fs.existsSync(skillFile);
962
976
 
963
977
  console.log(
964
978
  `\n${BOLD}${CYAN}━━━ Skill Evolution Status ━━━━━━━━━━━━━━━━━━━━━━━━${RESET}`,
@@ -1033,6 +1047,7 @@ module.exports = {
1033
1047
  architecturalWeight,
1034
1048
  parseLlmYamlResponse,
1035
1049
  loadExistingIdioms,
1050
+ getPaths,
1036
1051
  };
1037
1052
 
1038
1053
  if (require.main === module) {
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * socratic_gate_policy.js — Adaptive Socratic Gate Evaluator
4
+ * =============================================================
5
+ * Determines whether the Socratic Gate should block execution with interactive questions.
6
+ *
7
+ * Rules:
8
+ * - Tier 0 & Tier 1: Always BYPASS Socratic Gate (0 blocking questions).
9
+ * - Tier 2: Bypass UNLESS Ambiguity Score > 0.5 or explicit ambiguities are present.
10
+ * - Tier 3: Trigger Socratic Gate unless explicitly overridden with --no-gate or --express.
11
+ */
12
+
13
+ "use strict";
14
+
15
+ const { parseArgs } = require("./_utils");
16
+
17
+ /**
18
+ * Evaluates whether the Socratic Gate should be engaged.
19
+ * @param {Object} opts - Options { tier, ambiguityScore, flags, task }
20
+ * @returns {Object} { shouldBlock, reason }
21
+ */
22
+ function evaluateSocraticGate(opts = {}) {
23
+ const tier = typeof opts.tier === "number" ? opts.tier : 1;
24
+ const ambiguityScore = typeof opts.ambiguityScore === "number" ? opts.ambiguityScore : 0.2;
25
+ const flags = opts.flags || {};
26
+
27
+ if (flags["no-gate"] || flags.express || flags.force) {
28
+ return { shouldBlock: false, reason: "Explicit user override (--no-gate / --express)" };
29
+ }
30
+
31
+ if (tier === 0) {
32
+ return { shouldBlock: false, reason: "Tier 0 Fast-Pass (low impact)" };
33
+ }
34
+
35
+ if (tier === 1) {
36
+ return { shouldBlock: false, reason: "Tier 1 Express Pass (single component / logic edit)" };
37
+ }
38
+
39
+ if (tier === 2) {
40
+ if (ambiguityScore > 0.5) {
41
+ return { shouldBlock: true, reason: `Tier 2 ambiguity exceeds threshold (${ambiguityScore} > 0.5)` };
42
+ }
43
+ return { shouldBlock: false, reason: "Tier 2 low-ambiguity edit (gate bypassed)" };
44
+ }
45
+
46
+ // Tier 3
47
+ return { shouldBlock: true, reason: "Tier 3 Full Gauntlet (high risk / architectural change)" };
48
+ }
49
+
50
+ if (require.main === module) {
51
+ const args = parseArgs(process.argv);
52
+ const result = evaluateSocraticGate({
53
+ tier: args.tier ? parseInt(args.tier, 10) : 1,
54
+ ambiguityScore: args.ambiguity ? parseFloat(args.ambiguity) : 0.2,
55
+ flags: args
56
+ });
57
+ console.log(JSON.stringify(result, null, 2));
58
+ }
59
+
60
+ module.exports = { evaluateSocraticGate };
@@ -52,7 +52,7 @@ class SwarmDashboard {
52
52
  }
53
53
 
54
54
  start() {
55
- console.clear();
55
+ this.render();
56
56
  this.timer = setInterval(() => this.render(), 80);
57
57
  }
58
58
 
@@ -89,12 +89,63 @@ const MAX_GOAL_LENGTH = 200;
89
89
  const MAX_CONTEXT_LENGTH = 800;
90
90
  const MAX_WORKERS_PER_SWARM = 5;
91
91
 
92
- const { findAgentDir } = require("./_utils");
92
+ function getBinaryPath() {
93
+ if (process.env.TRIBUNAL_FORCE_JS === "1") return null;
94
+ const isWindows = process.platform === "win32";
95
+ const ext = isWindows ? ".exe" : "";
96
+ const candidates = [
97
+ process.env.TRIBUNAL_CORE_PATH,
98
+ path.resolve(__dirname, "..", "..", "tribunal-kit", "target", "release", `tribunal-core${ext}`),
99
+ path.resolve(__dirname, "..", "..", "target", "release", `tribunal-core${ext}`),
100
+ path.resolve(process.cwd(), "target", "release", `tribunal-core${ext}`),
101
+ path.resolve(process.cwd(), "tribunal-kit", "target", "release", `tribunal-core${ext}`),
102
+ ];
103
+ for (const c of candidates) {
104
+ if (c && fs.existsSync(c)) return c;
105
+ }
106
+ return null;
107
+ }
93
108
 
109
+ function nativeValidate(file, schemaType) {
110
+ const bin = getBinaryPath();
111
+ if (!bin || !file || !fs.existsSync(file)) return null;
112
+ try {
113
+ const { spawnSync } = require("child_process");
114
+ const res = spawnSync(bin, ["validate", "--file", file, "--schema", schemaType], {
115
+ encoding: "utf-8",
116
+ });
117
+ if (res.status === 0) {
118
+ return true;
119
+ }
120
+ } catch {
121
+ // fallback to JS engine
122
+ }
123
+ return null;
124
+ }
125
+
126
+ function findAgentDir(startPath) {
127
+ let current = path.resolve(startPath);
128
+ const root = path.parse(current).root;
129
+ while (current !== root) {
130
+ const agentDir = path.join(current, ".agent");
131
+ if (fs.existsSync(agentDir) && fs.statSync(agentDir).isDirectory()) {
132
+ return agentDir;
133
+ }
134
+ current = path.dirname(current);
135
+ }
136
+ return null;
137
+ }
94
138
 
95
139
  // ─── Legacy mode: validate orchestrator micro-worker payloads ──────────────────
96
140
 
97
- function validatePayload(payloadData, workspaceRoot, agentsDir) {
141
+ function validatePayload(payloadData, workspaceRoot, agentsDir, payloadFile = null) {
142
+ if (payloadFile) {
143
+ const nativeResult = nativeValidate(payloadFile, "micro-worker");
144
+ if (nativeResult === true) {
145
+ return true;
146
+ }
147
+ }
148
+
98
149
  if (!payloadData.dispatch_micro_workers) {
99
150
  console.error(
100
151
  "ERROR: Payload missing required 'dispatch_micro_workers' array.",
@@ -301,7 +352,14 @@ function validateWorkerResult(res, index) {
301
352
  return errors;
302
353
  }
303
354
 
304
- function validateSwarmPayload(payloadData, agentsDir) {
355
+ function validateSwarmPayload(payloadData, agentsDir, payloadFile = null) {
356
+ if (payloadFile) {
357
+ const nativeResult = nativeValidate(payloadFile, "swarm");
358
+ if (nativeResult === true) {
359
+ return true;
360
+ }
361
+ }
362
+
305
363
  let items;
306
364
  if (typeof payloadData === "object" && payloadData !== null) {
307
365
  if (Array.isArray(payloadData)) {
@@ -417,7 +475,7 @@ function main() {
417
475
  }
418
476
 
419
477
  if (mode === "swarm") {
420
- if (!validateSwarmPayload(payloadData, agentsDir)) {
478
+ if (!validateSwarmPayload(payloadData, agentsDir, file)) {
421
479
  console.error("ERROR: Swarm payload validation failed.");
422
480
  process.exit(1);
423
481
  }
@@ -494,7 +552,7 @@ function main() {
494
552
  }
495
553
  }
496
554
  } else {
497
- if (!validatePayload(payloadData, workspaceRoot, agentsDir)) {
555
+ if (!validatePayload(payloadData, workspaceRoot, agentsDir, file)) {
498
556
  console.error("ERROR: Payload validation failed.");
499
557
  process.exit(1);
500
558
  }
@@ -536,6 +594,7 @@ function main() {
536
594
  }
537
595
 
538
596
  module.exports = {
597
+ SwarmDashboard,
539
598
  validateWorkerRequest,
540
599
  validateWorkerResult,
541
600
  validateSwarmPayload,
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * token_budget_broker.js — Token Budget & Persona Optimizer
4
+ * ============================================================
5
+ * Calculates and caps context window budgets based on Governance Impact Tiers.
6
+ *
7
+ * Tier Budgets:
8
+ * - Tier 0: 0 tokens (No LLM call required)
9
+ * - Tier 1: Max 2,000 tokens (diff context + 1 skill rule)
10
+ * - Tier 2: Max 8,000 tokens (diff + 2 skill rules + context summary)
11
+ * - Tier 3: Full budget (up to model context limit)
12
+ */
13
+
14
+ "use strict";
15
+
16
+ const { parseArgs } = require("./_utils");
17
+
18
+ const TIER_TOKEN_LIMITS = {
19
+ 0: 0,
20
+ 1: 2000,
21
+ 2: 8000,
22
+ 3: 32000
23
+ };
24
+
25
+ /**
26
+ * Returns context budget constraints for a given impact tier
27
+ * @param {number} tier - Governance Impact Tier (0-3)
28
+ * @returns {Object} { maxTokens, includeFullRepo, maxSkills, maxReviewers }
29
+ */
30
+ function getTokenBudget(tier = 1) {
31
+ // Normalize tier to a valid integer in [0, 3]
32
+ const normalizedTier = (typeof tier === "number" && Number.isFinite(tier))
33
+ ? Math.max(0, Math.min(3, Math.round(tier)))
34
+ : 1;
35
+ const maxTokens = TIER_TOKEN_LIMITS[normalizedTier];
36
+
37
+ return {
38
+ tier: normalizedTier,
39
+ maxTokens,
40
+ includeFullRepo: normalizedTier >= 2,
41
+ maxSkills: normalizedTier === 0 ? 0 : normalizedTier === 1 ? 1 : normalizedTier === 2 ? 3 : 10,
42
+ maxReviewers: normalizedTier === 0 ? 0 : normalizedTier === 1 ? 1 : normalizedTier === 2 ? 2 : 8
43
+ };
44
+ }
45
+
46
+ if (require.main === module) {
47
+ const args = parseArgs(process.argv);
48
+ const tier = args.tier ? parseInt(args.tier, 10) : 1;
49
+ console.log(JSON.stringify(getTokenBudget(tier), null, 2));
50
+ }
51
+
52
+ module.exports = { getTokenBudget, TIER_TOKEN_LIMITS };
@@ -213,6 +213,19 @@ function verifyAll(cwd, skipped) {
213
213
  trackSkip("Dependency audit", "skipped by flag");
214
214
  }
215
215
 
216
+ console.log(sectionHeader("Rust Core Tests", 7));
217
+ if (!skipped.includes("rust")) {
218
+ const cargoToml = path.join(cwd, "crates", "core", "Cargo.toml");
219
+ if (fs.existsSync(cargoToml)) {
220
+ if (!run("Rust Core Tests", ["cargo", "test", "--manifest-path", "crates/core/Cargo.toml"], cwd))
221
+ failures++;
222
+ } else {
223
+ trackSkip("Rust Core Tests", "crates/core/Cargo.toml not found in project");
224
+ }
225
+ } else {
226
+ trackSkip("Rust Core Tests", "skipped by flag");
227
+ }
228
+
216
229
  // ━━━ Summary Table ━━━
217
230
  const totalMs = totalTimer();
218
231
  console.log(`\n${BOLD}${CYAN}━━━ Verification Summary ━━━${RESET}`);
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * visual_audit.js — Visual Design & UI Engineering Auditor
4
+ *
5
+ * Verifies OKLCH color compliance, surface depth layering (hairline borders, ambient shadows),
6
+ * and interactive state polish on UI components and style definitions.
7
+ *
8
+ * Usage:
9
+ * node .agent/scripts/visual_audit.js .
10
+ * node .agent/scripts/visual_audit.js --file src/components/Button.tsx
11
+ */
12
+
13
+ "use strict";
14
+
15
+ const fs = require("fs");
16
+ const path = require("path");
17
+
18
+ const {
19
+ GREEN,
20
+ YELLOW,
21
+ BOLD,
22
+ DIM,
23
+ RESET,
24
+ banner,
25
+ timer,
26
+ formatMs,
27
+ } = require("./_colors");
28
+
29
+ const { walkDir, SOURCE_EXTENSIONS } = require("./_utils");
30
+
31
+ function auditFile(filePath) {
32
+ let content;
33
+ try {
34
+ content = fs.readFileSync(filePath, "utf8");
35
+ } catch {
36
+ return [];
37
+ }
38
+
39
+ const issues = [];
40
+ const lines = content.split("\n");
41
+
42
+ for (let i = 0; i < lines.length; i++) {
43
+ const line = lines[i];
44
+
45
+ // Check for hardcoded hex colors when oklch or CSS variables are expected
46
+ if (/#([0-9a-fA-F]{3}){1,2}\b/.test(line) && !line.includes("// ignore-color")) {
47
+ issues.push({
48
+ line: i + 1,
49
+ rule: "oklch-color",
50
+ message: `Hardcoded hex color found: "${line.trim()}". Prefer OKLCH or design token CSS variables.`,
51
+ });
52
+ }
53
+ }
54
+
55
+ return issues;
56
+ }
57
+
58
+ function main() {
59
+ const cwd = process.cwd();
60
+ const elapsed = timer();
61
+
62
+ console.log(banner("visual_audit.js", { Target: cwd }));
63
+
64
+ const files = walkDir(cwd, { extensions: SOURCE_EXTENSIONS });
65
+ let totalIssues = 0;
66
+
67
+ for (const file of files) {
68
+ const issues = auditFile(file);
69
+ if (issues.length > 0) {
70
+ totalIssues += issues.length;
71
+ const rel = path.relative(cwd, file);
72
+ console.log(`\n 📄 ${BOLD}${rel}${RESET}`);
73
+ for (const iss of issues) {
74
+ console.log(` ${YELLOW}⚠ line ${iss.line}:${RESET} ${iss.message}`);
75
+ }
76
+ }
77
+ }
78
+
79
+ console.log(`\n ${DIM}Audited ${files.length} files in ${formatMs(elapsed())}${RESET}`);
80
+
81
+ if (totalIssues === 0) {
82
+ console.log(` ${GREEN}${BOLD}✔ Visual audit complete — zero design violations found.${RESET}\n`);
83
+ } else {
84
+ console.log(` ${YELLOW}${BOLD}⚠ Visual audit completed with ${totalIssues} advisory issue(s).${RESET}\n`);
85
+ }
86
+ }
87
+
88
+ module.exports = { auditFile };
89
+
90
+ if (require.main === module) {
91
+ main();
92
+ }
@@ -1,20 +1,29 @@
1
1
  ---
2
2
  name: 12-principles-of-animation
3
3
  description: Application of Disney's 12 Principles of Animation (Squash & Stretch, Anticipation, Staging, Follow Through, Slow In & Slow Out, Arc, Secondary Action, Timing, Exaggeration, Solid Drawing, Appeal) to modern web UI motion.
4
- version: 1.0.0
5
- last-updated: 2026-07-22
6
- applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
7
- routing:
8
- domain: UI Animation Theory & Disney Principles
9
- tier: pro
10
- co-requires: [emil-design-eng, motion-engineering, 60fps-animation]
11
- trigger-signals:
12
- strong: [12-principles-of-animation, Disney animation principles, squash and stretch UI, anticipation animation, staging UI motion, follow through web]
13
- weak: [animation principles, ui animation theory]
4
+ version: 3.0.0
5
+ last-updated: 2026-07-30
6
+ skills:
7
+ - motion-engineering
8
+ - 60fps-animation
9
+ - accessible-animation
10
+ tools: Read, Grep, Glob, Bash, Edit, Write
11
+ scripts-binding:
12
+ - .agent/scripts/lint_runner.js
13
+ - .agent/scripts/verify_all.js
14
14
  ---
15
15
 
16
16
  # 12 Principles of Animation — Web UI Motion Theory
17
17
 
18
+ ---
19
+
20
+ ## Mandatory Pre-Flight Context Inspection
21
+
22
+ Before applying animation principles to web components, you MUST inspect:
23
+ 1. Target interaction pattern → Identify applicability of Squash & Stretch, Anticipation, Slow In/Out, or Follow Through
24
+ 2. Volume-Preservation Rule (Section 26) → Keep UI squash/stretch subtle (max 2%-4%); if height scales to 0.97, width MUST scale to 1.03
25
+ 3. Staging Rules (Section 31) → Direct user focus with sequential motion rather than competing simultaneous animations
26
+
18
27
  Translate Disney's 12 classic principles of animation into modern CSS, Web API, and Framer Motion code patterns.
19
28
 
20
29
  ---
@@ -1,20 +1,29 @@
1
1
  ---
2
2
  name: 60fps-animation
3
3
  description: Web animation performance guidance for avoiding layout thrashing, achieving 60/120fps motion, and using GPU compositor-friendly properties (transform, opacity).
4
- version: 1.0.0
5
- last-updated: 2026-07-22
6
- applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
7
- routing:
8
- domain: Animation Performance & GPU Hardware Acceleration
9
- tier: pro
10
- co-requires: [fixing-motion-performance, framer-motion-expert, gsap-performance]
11
- trigger-signals:
12
- strong: [60fps-animation, animation performance, layout thrashing, compositor properties, GPU acceleration, 120fps animation, smooth motion]
13
- weak: [fast animation, fix laggy animation]
4
+ version: 3.0.0
5
+ last-updated: 2026-07-30
6
+ skills:
7
+ - motion-engineering
8
+ - accessible-animation
9
+ - fixing-motion-performance
10
+ tools: Read, Grep, Glob, Bash, Edit, Write
11
+ scripts-binding:
12
+ - .agent/scripts/lint_runner.js
13
+ - .agent/scripts/verify_all.js
14
14
  ---
15
15
 
16
16
  # 60fps Animation — GPU Compositor & High-Performance Motion
17
17
 
18
+ ---
19
+
20
+ ## Mandatory Pre-Flight Context Inspection
21
+
22
+ Before writing animation CSS or JS, you MUST inspect:
23
+ 1. Target animated properties → Strictly enforce GPU compositor-only properties (`transform`, `opacity`) and ban layout-triggering properties (`width`, `height`, `top`, `left`)
24
+ 2. Scale Math Replacement (Section 29) → Use `transform: scaleX(2)` instead of animating `width`
25
+ 3. `will-change` VRAM Management (Section 45) → Apply `will-change` dynamically during active animation and remove upon completion
26
+
18
27
  Eliminate jank, layout thrashing, and frame drops to achieve locked 60fps / 120fps UI animations.
19
28
 
20
29
  ---
@@ -1,20 +1,29 @@
1
1
  ---
2
2
  name: accessible-animation
3
3
  description: Tiered reduced-motion patterns for CSS, GSAP, Framer Motion, Lenis, and View Transitions API to ensure full WCAG 2.2 accessibility compliance for motion.
4
- version: 1.0.0
5
- last-updated: 2026-07-22
6
- applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
7
- routing:
8
- domain: Accessible Motion & Reduced Motion Patterns
9
- tier: pro
10
- co-requires: [web-accessibility-auditor, framer-motion-expert, 60fps-animation]
11
- trigger-signals:
12
- strong: [accessible-animation, prefers-reduced-motion, accessible motion, WCAG animation, motion accessibility]
13
- weak: [disable animation, reduced motion]
4
+ version: 3.0.0
5
+ last-updated: 2026-07-30
6
+ skills:
7
+ - 60fps-animation
8
+ - motion-engineering
9
+ - framer-motion-expert
10
+ tools: Read, Grep, Glob, Bash, Edit, Write
11
+ scripts-binding:
12
+ - .agent/scripts/lint_runner.js
13
+ - .agent/scripts/verify_all.js
14
14
  ---
15
15
 
16
16
  # Accessible Animation — Tiered Reduced-Motion Patterns
17
17
 
18
+ ---
19
+
20
+ ## Mandatory Pre-Flight Context Inspection
21
+
22
+ Before implementing UI animation code, you MUST inspect:
23
+ 1. CSS stylesheets → Verify presence of `@media (prefers-reduced-motion: reduce)` rules
24
+ 2. Framer Motion / GSAP components → Query `useReducedMotion()` or `matchMedia('(prefers-reduced-motion: reduce)')`
25
+ 3. Vestibular Trigger Replacement (Section 57) → Replace parallax scroll and 3D rotations with instant opacity cross-fades (`0 -> 1`)
26
+
18
27
  Ensure UI motion respects user accessibility preferences (`prefers-reduced-motion: reduce`) without stripping functional state updates.
19
28
 
20
29
  ---
@@ -1,20 +1,29 @@
1
1
  ---
2
2
  name: adapt
3
3
  description: Adapt designs across breakpoints, devices, platform constraints, touch vs mouse input, and container queries. Use when making a UI responsive or optimizing for mobile/tablet.
4
- version: 1.0.0
5
- last-updated: 2026-07-22
6
- applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
7
- routing:
8
- domain: Responsive Design & Cross-Device Adaptation
9
- tier: pro
10
- co-requires: [mobile-design, building-native-ui]
11
- trigger-signals:
12
- strong: [adapt, responsive design, container queries, mobile adaptation, responsive layout, touch target size, responsive breakpoints]
13
- weak: [mobile friendly, responsive UI]
4
+ version: 3.0.0
5
+ last-updated: 2026-07-30
6
+ skills:
7
+ - mobile-design
8
+ - building-native-ui
9
+ - tailwind-patterns
10
+ tools: Read, Grep, Glob, Bash, Edit, Write
11
+ scripts-binding:
12
+ - .agent/scripts/lint_runner.js
13
+ - .agent/scripts/verify_all.js
14
14
  ---
15
15
 
16
16
  # Adapt — Responsive Adaptation & Container Queries
17
17
 
18
+ ---
19
+
20
+ ## Mandatory Pre-Flight Context Inspection
21
+
22
+ Before engineering responsive layouts or cross-device UIs, you MUST inspect:
23
+ 1. Container Queries (`@container`) over Viewport Media Queries (Section 24) → Adapt component layouts based on parent container width (`container-type: inline-size`)
24
+ 2. Touch Target Sizing (Section 39) → Ensure interactive controls meet min `44x44px` target size on touch devices
25
+ 3. Fluid Clamp Scaling (Section 45) → Use `clamp()` for smooth fluid typography and spacing without abrupt media query jumps
26
+
18
27
  Architect UIs that adapt fluidly to screen dimensions, container boundaries, input devices (touch vs pointer), and orientation.
19
28
 
20
29
  ---
@@ -1,13 +1,31 @@
1
1
  ---
2
2
  name: advanced-rag-pipelines
3
3
  description: Production-grade Retrieval-Augmented Generation (RAG) mastery. Semantic chunking, Hybrid Search (Dense + Sparse/BM25), Cross-Encoder Reranking, and architecture-agnostic vector database management.
4
- routing:
5
- domain: general
6
- tier: basic
4
+ tools: Read, Grep, Glob, Bash, Edit, Write
5
+ version: 3.0.0
6
+ last-updated: 2026-07-30
7
+ skills:
8
+ - llm-engineering
9
+ - ai-prompt-injection-defense
10
+ - database-design
11
+ scripts-binding:
12
+ - .agent/scripts/lint_runner.js
13
+ - .agent/scripts/verify_all.js
7
14
  ---
8
15
 
9
16
  # Advanced RAG Pipelines (Production AI Data)
10
17
 
18
+ ---
19
+
20
+ ## Mandatory Pre-Flight Context Inspection
21
+
22
+ Before building RAG pipelines or vector search components, you MUST inspect:
23
+ 1. Hybrid Search Requirement (Section 16) → Always combine Dense Vector Search with Sparse BM25 Search to catch exact keyword matches (IDs, versions)
24
+ 2. Two-Stage Reranking Pipeline (Section 29) → Retrieve top ~50 candidate chunks, then rerank with a Cross-Encoder down to top 3-5 before feeding the LLM
25
+ 3. Context XML Framing (Section 59) → Wrap retrieved chunks inside explicit `<context>` XML tags in the prompt to prevent indirect prompt injection
26
+
27
+ # Advanced RAG Pipelines (Production AI Data)
28
+
11
29
  You are an expert in building production-grade Retrieval-Augmented Generation (RAG) data pipelines. You understand that naive RAG (fixed chunking + Cosine similarity) fails in production. You architect systems that retrieve context with high precision using hybrid search, reranking, and semantic strategies.
12
30
 
13
31
  ## 1. Core Principles