tribunal-kit 8.0.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (774) hide show
  1. package/.agent/ARCHITECTURE.md +2 -2
  2. package/.agent/agents/backend-specialist.md +1 -1
  3. package/.agent/agents/code-archaeologist.md +1 -1
  4. package/.agent/agents/database-architect.md +1 -1
  5. package/.agent/agents/debugger.md +1 -1
  6. package/.agent/agents/devops-engineer.md +1 -1
  7. package/.agent/agents/documentation-writer.md +1 -1
  8. package/.agent/agents/explorer-agent.md +1 -1
  9. package/.agent/agents/game-developer.md +1 -1
  10. package/.agent/agents/minimalist-reviewer.md +1 -1
  11. package/.agent/agents/mobile-developer.md +1 -1
  12. package/.agent/agents/orchestrator.md +1 -1
  13. package/.agent/agents/penetration-tester.md +1 -1
  14. package/.agent/agents/performance-optimizer.md +1 -1
  15. package/.agent/agents/product-manager.md +1 -1
  16. package/.agent/agents/product-owner.md +1 -1
  17. package/.agent/agents/project-planner.md +1 -1
  18. package/.agent/agents/qa-automation-engineer.md +1 -1
  19. package/.agent/agents/seo-specialist.md +1 -1
  20. package/.agent/agents/test-engineer.md +1 -1
  21. package/.agent/config/plugin.json +4 -4
  22. package/.agent/config/slash-commands.json +13 -1
  23. package/.agent/config/system-prompt.md +75 -8
  24. package/.agent/routing_index.json +1546 -268
  25. package/.agent/scripts/browser_audit.js +94 -0
  26. package/.agent/scripts/context_compiler.js +9 -0
  27. package/.agent/scripts/prompt_compiler.js +105 -13
  28. package/.agent/skill_topic_map.json +2 -1
  29. package/.agent/skills/12-principles-of-animation/SKILL.md +62 -21
  30. package/.agent/skills/60fps-animation/SKILL.md +90 -20
  31. package/.agent/skills/accessible-animation/SKILL.md +207 -40
  32. package/.agent/skills/adapt/SKILL.md +62 -21
  33. package/.agent/skills/advanced-rag-pipelines/SKILL.md +87 -46
  34. package/.agent/skills/agent-organizer/SKILL.md +60 -81
  35. package/.agent/skills/agentic-patterns/SKILL.md +60 -79
  36. package/.agent/skills/agentic-workflows-2026/SKILL.md +92 -15
  37. package/.agent/skills/ai-app-hardening/SKILL.md +81 -15
  38. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +75 -85
  39. package/.agent/skills/animation-on-scroll/SKILL.md +186 -47
  40. package/.agent/skills/animation-systems/SKILL.md +229 -35
  41. package/.agent/skills/antfu-conventions/SKILL.md +62 -23
  42. package/.agent/skills/api-patterns/SKILL.md +59 -79
  43. package/.agent/skills/api-security-auditor/SKILL.md +59 -81
  44. package/.agent/skills/app-builder/SKILL.md +59 -79
  45. package/.agent/skills/appflow-wireframe/SKILL.md +68 -83
  46. package/.agent/skills/apple-design/SKILL.md +65 -19
  47. package/.agent/skills/architecture/SKILL.md +59 -79
  48. package/.agent/skills/audit-and-fix/SKILL.md +62 -21
  49. package/.agent/skills/authentication-best-practices/SKILL.md +59 -81
  50. package/.agent/skills/backend-security-expert/SKILL.md +79 -82
  51. package/.agent/skills/baseline-ui/SKILL.md +65 -19
  52. package/.agent/skills/bash-linux/SKILL.md +59 -81
  53. package/.agent/skills/behavioral-modes/SKILL.md +60 -79
  54. package/.agent/skills/better-colors/SKILL.md +65 -19
  55. package/.agent/skills/better-typography/SKILL.md +70 -31
  56. package/.agent/skills/better-ui/SKILL.md +93 -18
  57. package/.agent/skills/bolder/SKILL.md +62 -21
  58. package/.agent/skills/brainstorming/SKILL.md +60 -78
  59. package/.agent/skills/browser-audit/SKILL.md +170 -0
  60. package/.agent/skills/browser-native-ai/SKILL.md +60 -41
  61. package/.agent/skills/build-primitive/SKILL.md +62 -21
  62. package/.agent/skills/building-native-ui/SKILL.md +59 -81
  63. package/.agent/skills/cicd-pro/SKILL.md +64 -31
  64. package/.agent/skills/clarify/SKILL.md +62 -21
  65. package/.agent/skills/clean-code/SKILL.md +68 -83
  66. package/.agent/skills/cloud-architect/SKILL.md +64 -31
  67. package/.agent/skills/cobejs/SKILL.md +62 -20
  68. package/.agent/skills/code-review-checklist/SKILL.md +59 -81
  69. package/.agent/skills/codebase-design/SKILL.md +74 -23
  70. package/.agent/skills/colorize/SKILL.md +62 -21
  71. package/.agent/skills/compact-landing/SKILL.md +62 -21
  72. package/.agent/skills/company-logos/SKILL.md +62 -21
  73. package/.agent/skills/config-validator/SKILL.md +59 -81
  74. package/.agent/skills/containerization-pro/SKILL.md +64 -31
  75. package/.agent/skills/context-engineering-pro/SKILL.md +81 -15
  76. package/.agent/skills/create-design-md/SKILL.md +65 -19
  77. package/.agent/skills/critique/SKILL.md +67 -19
  78. package/.agent/skills/csharp-developer/SKILL.md +59 -81
  79. package/.agent/skills/data-validation-schemas/SKILL.md +59 -81
  80. package/.agent/skills/database-design/SKILL.md +74 -84
  81. package/.agent/skills/delight/SKILL.md +62 -21
  82. package/.agent/skills/deployment-procedures/SKILL.md +59 -81
  83. package/.agent/skills/design-lab/SKILL.md +63 -21
  84. package/.agent/skills/devops-engineer/SKILL.md +59 -81
  85. package/.agent/skills/devops-incident-responder/SKILL.md +59 -81
  86. package/.agent/skills/diagnosing-bugs/SKILL.md +63 -27
  87. package/.agent/skills/distill/SKILL.md +62 -21
  88. package/.agent/skills/documentation-templates/SKILL.md +59 -81
  89. package/.agent/skills/domain-modeling/SKILL.md +62 -23
  90. package/.agent/skills/duckdb-analytical-sql/SKILL.md +80 -14
  91. package/.agent/skills/edge-ai-mobile/SKILL.md +80 -14
  92. package/.agent/skills/edge-computing/SKILL.md +59 -81
  93. package/.agent/skills/emil-design-eng/SKILL.md +64 -27
  94. package/.agent/skills/error-resilience/SKILL.md +78 -85
  95. package/.agent/skills/expo-router-v4/SKILL.md +79 -14
  96. package/.agent/skills/extract-design-system/SKILL.md +59 -81
  97. package/.agent/skills/fabel-protocol/SKILL.md +72 -15
  98. package/.agent/skills/fixing-accessibility/SKILL.md +65 -19
  99. package/.agent/skills/fixing-metadata/SKILL.md +62 -21
  100. package/.agent/skills/fixing-motion-performance/SKILL.md +65 -19
  101. package/.agent/skills/framer-motion-expert/SKILL.md +67 -77
  102. package/.agent/skills/frontend-design/SKILL.md +73 -15
  103. package/.agent/skills/frontend-security-expert/SKILL.md +59 -79
  104. package/.agent/skills/game-design-expert/SKILL.md +59 -81
  105. package/.agent/skills/game-engineering-expert/SKILL.md +59 -81
  106. package/.agent/skills/generative-ui-expert/SKILL.md +60 -41
  107. package/.agent/skills/geo-fundamentals/SKILL.md +59 -81
  108. package/.agent/skills/git-pro/SKILL.md +62 -33
  109. package/.agent/skills/github-operations/SKILL.md +59 -81
  110. package/.agent/skills/gpt-taste/SKILL.md +62 -21
  111. package/.agent/skills/gsap-core/SKILL.md +59 -89
  112. package/.agent/skills/gsap-frameworks/SKILL.md +59 -89
  113. package/.agent/skills/gsap-performance/SKILL.md +59 -87
  114. package/.agent/skills/gsap-plugins/SKILL.md +59 -87
  115. package/.agent/skills/gsap-react/SKILL.md +60 -32
  116. package/.agent/skills/gsap-scrolltrigger/SKILL.md +59 -89
  117. package/.agent/skills/gsap-timeline/SKILL.md +59 -87
  118. package/.agent/skills/gsap-utils/SKILL.md +59 -87
  119. package/.agent/skills/harden/SKILL.md +62 -21
  120. package/.agent/skills/harness-protocol/SKILL.md +60 -33
  121. package/.agent/skills/i18n-localization/SKILL.md +59 -81
  122. package/.agent/skills/impeccable/SKILL.md +62 -23
  123. package/.agent/skills/improve-codebase-architecture/SKILL.md +62 -22
  124. package/.agent/skills/improve-ui/SKILL.md +65 -19
  125. package/.agent/skills/intelligent-routing/SKILL.md +59 -33
  126. package/.agent/skills/knowledge-graph/SKILL.md +60 -33
  127. package/.agent/skills/landing-page/SKILL.md +62 -21
  128. package/.agent/skills/lint-and-validate/SKILL.md +59 -81
  129. package/.agent/skills/llm-engineering/SKILL.md +59 -81
  130. package/.agent/skills/local-first/SKILL.md +59 -81
  131. package/.agent/skills/local-first-architecture/SKILL.md +77 -20
  132. package/.agent/skills/lottie-animation/SKILL.md +62 -20
  133. package/.agent/skills/marquee-loop/SKILL.md +62 -21
  134. package/.agent/skills/masked-reveal/SKILL.md +245 -50
  135. package/.agent/skills/mcp-builder/SKILL.md +59 -81
  136. package/.agent/skills/micro-interaction/SKILL.md +254 -57
  137. package/.agent/skills/mobile-design/SKILL.md +59 -79
  138. package/.agent/skills/monorepo-management/SKILL.md +59 -81
  139. package/.agent/skills/morphing-icons/SKILL.md +365 -46
  140. package/.agent/skills/motion-engineering/SKILL.md +66 -21
  141. package/.agent/skills/nextjs-react-expert/SKILL.md +82 -84
  142. package/.agent/skills/nodejs-best-practices/SKILL.md +81 -80
  143. package/.agent/skills/observability/SKILL.md +59 -81
  144. package/.agent/skills/opentelemetry-observability/SKILL.md +80 -14
  145. package/.agent/skills/page-transition-animation/SKILL.md +62 -21
  146. package/.agent/skills/parallel-agents/SKILL.md +60 -81
  147. package/.agent/skills/performance-profiling/SKILL.md +60 -81
  148. package/.agent/skills/plan-writing/SKILL.md +83 -88
  149. package/.agent/skills/platform-engineer/SKILL.md +59 -81
  150. package/.agent/skills/platform-engineering-opentofu/SKILL.md +80 -15
  151. package/.agent/skills/playwright-ai-e2e/SKILL.md +81 -15
  152. package/.agent/skills/playwright-best-practices/SKILL.md +60 -81
  153. package/.agent/skills/polish/SKILL.md +62 -21
  154. package/.agent/skills/powershell-windows/SKILL.md +59 -81
  155. package/.agent/skills/pricing-page/SKILL.md +62 -21
  156. package/.agent/skills/product-aware-heuristics/SKILL.md +73 -16
  157. package/.agent/skills/progressive-blur/SKILL.md +62 -21
  158. package/.agent/skills/project-idioms/SKILL.md +58 -84
  159. package/.agent/skills/property-based-testing/SKILL.md +81 -15
  160. package/.agent/skills/python-patterns/SKILL.md +59 -81
  161. package/.agent/skills/python-pro/SKILL.md +81 -83
  162. package/.agent/skills/quieter/SKILL.md +62 -21
  163. package/.agent/skills/react-doctor/SKILL.md +62 -21
  164. package/.agent/skills/react-specialist/SKILL.md +73 -82
  165. package/.agent/skills/readme-builder/SKILL.md +59 -81
  166. package/.agent/skills/realtime-patterns/SKILL.md +59 -81
  167. package/.agent/skills/red-team-tactics/SKILL.md +59 -81
  168. package/.agent/skills/redesign-skill/SKILL.md +62 -21
  169. package/.agent/skills/review-animations/SKILL.md +64 -30
  170. package/.agent/skills/rust-pro/SKILL.md +77 -78
  171. package/.agent/skills/seo-fundamentals/SKILL.md +59 -81
  172. package/.agent/skills/server-management/SKILL.md +59 -81
  173. package/.agent/skills/shadcn-ui-expert/SKILL.md +59 -81
  174. package/.agent/skills/shape/SKILL.md +63 -21
  175. package/.agent/skills/skill-creator/SKILL.md +80 -88
  176. package/.agent/skills/soft-skill/SKILL.md +62 -21
  177. package/.agent/skills/sounds-on-the-web/SKILL.md +62 -21
  178. package/.agent/skills/sql-pro/SKILL.md +93 -80
  179. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +59 -81
  180. package/.agent/skills/svg-animation/SKILL.md +368 -46
  181. package/.agent/skills/swiftui-expert/SKILL.md +59 -81
  182. package/.agent/skills/swiss-design/SKILL.md +62 -21
  183. package/.agent/skills/system-design-pro/SKILL.md +64 -29
  184. package/.agent/skills/systematic-debugging/SKILL.md +70 -82
  185. package/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
  186. package/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
  187. package/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
  188. package/.agent/skills/tailwind-patterns/SKILL.md +59 -81
  189. package/.agent/skills/taste-skill/SKILL.md +62 -21
  190. package/.agent/skills/tdd-workflow/SKILL.md +107 -26
  191. package/.agent/skills/test-result-analyzer/SKILL.md +59 -82
  192. package/.agent/skills/testing-patterns/SKILL.md +60 -81
  193. package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +62 -23
  194. package/.agent/skills/thinking-protocol/SKILL.md +73 -18
  195. package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +62 -20
  196. package/.agent/skills/transitions-dev/SKILL.md +62 -20
  197. package/.agent/skills/trend-researcher/SKILL.md +58 -82
  198. package/.agent/skills/typescript-advanced/SKILL.md +69 -85
  199. package/.agent/skills/typeset/SKILL.md +62 -21
  200. package/.agent/skills/ui-reasoning-engine/SKILL.md +73 -16
  201. package/.agent/skills/ui-skill-packs/SKILL.md +69 -19
  202. package/.agent/skills/ui-skills-root/SKILL.md +65 -19
  203. package/.agent/skills/ui-ux-pro-max/SKILL.md +81 -15
  204. package/.agent/skills/ui-ux-researcher/SKILL.md +58 -82
  205. package/.agent/skills/vector-search-pgvector/SKILL.md +80 -14
  206. package/.agent/skills/verification-before-completion/SKILL.md +178 -0
  207. package/.agent/skills/vue-expert/SKILL.md +59 -77
  208. package/.agent/skills/vulnerability-scanner/SKILL.md +59 -79
  209. package/.agent/skills/web-accessibility-auditor/SKILL.md +59 -81
  210. package/.agent/skills/web-design-guidelines/SKILL.md +73 -15
  211. package/.agent/skills/web-quality-audit/SKILL.md +62 -21
  212. package/.agent/skills/webapp-testing/SKILL.md +60 -81
  213. package/.agent/skills/webgpu-performance/SKILL.md +60 -41
  214. package/.agent/skills/whimsy-injector/SKILL.md +59 -81
  215. package/.agent/skills/workflow-optimizer/SKILL.md +59 -80
  216. package/.agent/skills/zero-trust-passkeys/SKILL.md +80 -14
  217. package/.agent/templates/DESIGN.md +680 -160
  218. package/.agent/templates/sdd/implementer-prompt.md +62 -0
  219. package/.agent/templates/sdd/re-review-prompt.md +36 -0
  220. package/.agent/templates/sdd/task-reviewer-prompt.md +78 -0
  221. package/.agent/workflows/acf.md +4 -0
  222. package/.agent/workflows/api-tester.md +5 -0
  223. package/.agent/workflows/audit-live.md +52 -0
  224. package/.agent/workflows/audit.md +5 -0
  225. package/.agent/workflows/brainstorm.md +17 -1
  226. package/.agent/workflows/changelog.md +5 -0
  227. package/.agent/workflows/compare-web.md +35 -0
  228. package/.agent/workflows/context.md +100 -0
  229. package/.agent/workflows/contract.md +19 -0
  230. package/.agent/workflows/create.md +6 -1
  231. package/.agent/workflows/debug.md +5 -0
  232. package/.agent/workflows/deploy.md +6 -1
  233. package/.agent/workflows/enhance.md +6 -1
  234. package/.agent/workflows/fix-ci.md +5 -0
  235. package/.agent/workflows/fix.md +5 -0
  236. package/.agent/workflows/generate.md +5 -0
  237. package/.agent/workflows/marathon.md +6 -1
  238. package/.agent/workflows/migrate.md +5 -0
  239. package/.agent/workflows/minimal.md +4 -0
  240. package/.agent/workflows/orchestrate.md +6 -1
  241. package/.agent/workflows/performance-benchmarker.md +6 -1
  242. package/.agent/workflows/pipeline.md +5 -0
  243. package/.agent/workflows/plan.md +7 -2
  244. package/.agent/workflows/preview.md +6 -1
  245. package/.agent/workflows/refactor.md +6 -0
  246. package/.agent/workflows/review-ai.md +5 -0
  247. package/.agent/workflows/review.md +5 -0
  248. package/.agent/workflows/sdd.md +122 -0
  249. package/.agent/workflows/session.md +5 -0
  250. package/.agent/workflows/skill-enhancement-engine.md +88 -0
  251. package/.agent/workflows/status.md +4 -0
  252. package/.agent/workflows/super-prompt.md +103 -19
  253. package/.agent/workflows/swarm.md +6 -1
  254. package/.agent/workflows/test.md +6 -1
  255. package/.agent/workflows/tribunal-backend.md +5 -0
  256. package/.agent/workflows/tribunal-cicd.md +5 -0
  257. package/.agent/workflows/tribunal-database.md +5 -0
  258. package/.agent/workflows/tribunal-full.md +8 -0
  259. package/.agent/workflows/tribunal-mobile.md +5 -0
  260. package/.agent/workflows/tribunal-performance.md +5 -0
  261. package/.agent/workflows/tribunal-speed.md +5 -0
  262. package/.agent/workflows/tribunal-ui.md +7 -0
  263. package/.agents/plugins/marketplace.json +20 -0
  264. package/.agents/skills/12-principles-of-animation/SKILL.md +126 -0
  265. package/.agents/skills/60fps-animation/SKILL.md +164 -0
  266. package/.agents/skills/accessible-animation/SKILL.md +266 -0
  267. package/.agents/skills/adapt/SKILL.md +131 -0
  268. package/.agents/skills/advanced-rag-pipelines/SKILL.md +169 -0
  269. package/.agents/skills/agent-organizer/SKILL.md +192 -0
  270. package/.agents/skills/agentic-patterns/SKILL.md +356 -0
  271. package/.agents/skills/agentic-workflows-2026/SKILL.md +157 -0
  272. package/.agents/skills/ai-app-hardening/SKILL.md +125 -0
  273. package/.agents/skills/ai-prompt-injection-defense/SKILL.md +237 -0
  274. package/.agents/skills/animation-on-scroll/SKILL.md +267 -0
  275. package/.agents/skills/animation-systems/SKILL.md +273 -0
  276. package/.agents/skills/antfu-conventions/SKILL.md +129 -0
  277. package/.agents/skills/api-patterns/SKILL.md +293 -0
  278. package/.agents/skills/api-patterns/scripts/api_validator.py +211 -0
  279. package/.agents/skills/api-security-auditor/SKILL.md +230 -0
  280. package/.agents/skills/app-builder/SKILL.md +610 -0
  281. package/.agents/skills/app-builder/templates/SKILL.md +108 -0
  282. package/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  283. package/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  284. package/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  285. package/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  286. package/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  287. package/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  288. package/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  289. package/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -0
  290. package/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -0
  291. package/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -0
  292. package/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -0
  293. package/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  294. package/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -0
  295. package/.agents/skills/appflow-wireframe/SKILL.md +173 -0
  296. package/.agents/skills/apple-design/SKILL.md +164 -0
  297. package/.agents/skills/architecture/SKILL.md +263 -0
  298. package/.agents/skills/audit-and-fix/SKILL.md +136 -0
  299. package/.agents/skills/authentication-best-practices/SKILL.md +232 -0
  300. package/.agents/skills/backend-security-expert/SKILL.md +148 -0
  301. package/.agents/skills/baseline-ui/SKILL.md +130 -0
  302. package/.agents/skills/bash-linux/SKILL.md +214 -0
  303. package/.agents/skills/behavioral-modes/SKILL.md +275 -0
  304. package/.agents/skills/better-colors/SKILL.md +191 -0
  305. package/.agents/skills/better-typography/SKILL.md +164 -0
  306. package/.agents/skills/better-ui/SKILL.md +193 -0
  307. package/.agents/skills/bolder/SKILL.md +124 -0
  308. package/.agents/skills/brainstorming/SKILL.md +534 -0
  309. package/.agents/skills/browser-audit/SKILL.md +170 -0
  310. package/.agents/skills/browser-native-ai/SKILL.md +147 -0
  311. package/.agents/skills/build-primitive/SKILL.md +125 -0
  312. package/.agents/skills/building-native-ui/SKILL.md +237 -0
  313. package/.agents/skills/cicd-pro/SKILL.md +487 -0
  314. package/.agents/skills/clarify/SKILL.md +130 -0
  315. package/.agents/skills/clean-code/SKILL.md +442 -0
  316. package/.agents/skills/cloud-architect/SKILL.md +484 -0
  317. package/.agents/skills/cobejs/SKILL.md +145 -0
  318. package/.agents/skills/code-review-checklist/SKILL.md +238 -0
  319. package/.agents/skills/codebase-design/SKILL.md +151 -0
  320. package/.agents/skills/colorize/SKILL.md +132 -0
  321. package/.agents/skills/compact-landing/SKILL.md +125 -0
  322. package/.agents/skills/company-logos/SKILL.md +129 -0
  323. package/.agents/skills/config-validator/SKILL.md +200 -0
  324. package/.agents/skills/containerization-pro/SKILL.md +497 -0
  325. package/.agents/skills/context-engineering-pro/SKILL.md +136 -0
  326. package/.agents/skills/create-design-md/SKILL.md +167 -0
  327. package/.agents/skills/critique/SKILL.md +154 -0
  328. package/.agents/skills/csharp-developer/SKILL.md +553 -0
  329. package/.agents/skills/data-validation-schemas/SKILL.md +372 -0
  330. package/.agents/skills/database-design/SKILL.md +294 -0
  331. package/.agents/skills/database-design/scripts/schema_validator.py +172 -0
  332. package/.agents/skills/delight/SKILL.md +121 -0
  333. package/.agents/skills/deployment-procedures/SKILL.md +207 -0
  334. package/.agents/skills/design-lab/SKILL.md +117 -0
  335. package/.agents/skills/devops-engineer/SKILL.md +380 -0
  336. package/.agents/skills/devops-incident-responder/SKILL.md +178 -0
  337. package/.agents/skills/diagnosing-bugs/SKILL.md +247 -0
  338. package/.agents/skills/distill/SKILL.md +120 -0
  339. package/.agents/skills/documentation-templates/SKILL.md +326 -0
  340. package/.agents/skills/domain-modeling/SKILL.md +136 -0
  341. package/.agents/skills/duckdb-analytical-sql/SKILL.md +125 -0
  342. package/.agents/skills/edge-ai-mobile/SKILL.md +116 -0
  343. package/.agents/skills/edge-computing/SKILL.md +218 -0
  344. package/.agents/skills/emil-design-eng/SKILL.md +209 -0
  345. package/.agents/skills/error-resilience/SKILL.md +478 -0
  346. package/.agents/skills/expo-router-v4/SKILL.md +146 -0
  347. package/.agents/skills/extract-design-system/SKILL.md +195 -0
  348. package/.agents/skills/fabel-protocol/SKILL.md +352 -0
  349. package/.agents/skills/fixing-accessibility/SKILL.md +162 -0
  350. package/.agents/skills/fixing-metadata/SKILL.md +158 -0
  351. package/.agents/skills/fixing-motion-performance/SKILL.md +153 -0
  352. package/.agents/skills/framer-motion-expert/SKILL.md +312 -0
  353. package/.agents/skills/frontend-design/SKILL.md +178 -0
  354. package/.agents/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  355. package/.agents/skills/frontend-design/scripts/ux_audit.py +722 -0
  356. package/.agents/skills/frontend-security-expert/SKILL.md +131 -0
  357. package/.agents/skills/game-design-expert/SKILL.md +167 -0
  358. package/.agents/skills/game-engineering-expert/SKILL.md +183 -0
  359. package/.agents/skills/generative-ui-expert/SKILL.md +175 -0
  360. package/.agents/skills/geo-fundamentals/SKILL.md +183 -0
  361. package/.agents/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  362. package/.agents/skills/git-pro/SKILL.md +476 -0
  363. package/.agents/skills/github-operations/SKILL.md +370 -0
  364. package/.agents/skills/gpt-taste/SKILL.md +125 -0
  365. package/.agents/skills/gsap-core/SKILL.md +352 -0
  366. package/.agents/skills/gsap-frameworks/SKILL.md +243 -0
  367. package/.agents/skills/gsap-performance/SKILL.md +169 -0
  368. package/.agents/skills/gsap-plugins/SKILL.md +516 -0
  369. package/.agents/skills/gsap-react/SKILL.md +288 -0
  370. package/.agents/skills/gsap-scrolltrigger/SKILL.md +387 -0
  371. package/.agents/skills/gsap-timeline/SKILL.md +197 -0
  372. package/.agents/skills/gsap-utils/SKILL.md +374 -0
  373. package/.agents/skills/harden/SKILL.md +130 -0
  374. package/.agents/skills/harness-protocol/SKILL.md +115 -0
  375. package/.agents/skills/i18n-localization/SKILL.md +209 -0
  376. package/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  377. package/.agents/skills/impeccable/SKILL.md +127 -0
  378. package/.agents/skills/improve-codebase-architecture/SKILL.md +123 -0
  379. package/.agents/skills/improve-ui/SKILL.md +145 -0
  380. package/.agents/skills/intelligent-routing/SKILL.md +283 -0
  381. package/.agents/skills/knowledge-graph/SKILL.md +146 -0
  382. package/.agents/skills/landing-page/SKILL.md +140 -0
  383. package/.agents/skills/lint-and-validate/SKILL.md +299 -0
  384. package/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  385. package/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  386. package/.agents/skills/llm-engineering/SKILL.md +435 -0
  387. package/.agents/skills/local-first/SKILL.md +213 -0
  388. package/.agents/skills/local-first-architecture/SKILL.md +137 -0
  389. package/.agents/skills/lottie-animation/SKILL.md +137 -0
  390. package/.agents/skills/marquee-loop/SKILL.md +147 -0
  391. package/.agents/skills/masked-reveal/SKILL.md +305 -0
  392. package/.agents/skills/mcp-builder/SKILL.md +180 -0
  393. package/.agents/skills/micro-interaction/SKILL.md +321 -0
  394. package/.agents/skills/mobile-design/SKILL.md +320 -0
  395. package/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -0
  396. package/.agents/skills/monorepo-management/SKILL.md +370 -0
  397. package/.agents/skills/morphing-icons/SKILL.md +423 -0
  398. package/.agents/skills/motion-engineering/SKILL.md +272 -0
  399. package/.agents/skills/nextjs-react-expert/SKILL.md +293 -0
  400. package/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  401. package/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  402. package/.agents/skills/nodejs-best-practices/SKILL.md +617 -0
  403. package/.agents/skills/observability/SKILL.md +378 -0
  404. package/.agents/skills/opentelemetry-observability/SKILL.md +125 -0
  405. package/.agents/skills/page-transition-animation/SKILL.md +161 -0
  406. package/.agents/skills/parallel-agents/SKILL.md +185 -0
  407. package/.agents/skills/performance-profiling/SKILL.md +305 -0
  408. package/.agents/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  409. package/.agents/skills/plan-writing/SKILL.md +202 -0
  410. package/.agents/skills/platform-engineer/SKILL.md +183 -0
  411. package/.agents/skills/platform-engineering-opentofu/SKILL.md +133 -0
  412. package/.agents/skills/playwright-ai-e2e/SKILL.md +126 -0
  413. package/.agents/skills/playwright-best-practices/SKILL.md +224 -0
  414. package/.agents/skills/polish/SKILL.md +114 -0
  415. package/.agents/skills/powershell-windows/SKILL.md +197 -0
  416. package/.agents/skills/pricing-page/SKILL.md +123 -0
  417. package/.agents/skills/product-aware-heuristics/SKILL.md +465 -0
  418. package/.agents/skills/progressive-blur/SKILL.md +155 -0
  419. package/.agents/skills/project-idioms/SKILL.md +166 -0
  420. package/.agents/skills/property-based-testing/SKILL.md +124 -0
  421. package/.agents/skills/python-patterns/SKILL.md +295 -0
  422. package/.agents/skills/python-pro/SKILL.md +380 -0
  423. package/.agents/skills/quieter/SKILL.md +124 -0
  424. package/.agents/skills/react-doctor/SKILL.md +126 -0
  425. package/.agents/skills/react-specialist/SKILL.md +355 -0
  426. package/.agents/skills/readme-builder/SKILL.md +345 -0
  427. package/.agents/skills/realtime-patterns/SKILL.md +358 -0
  428. package/.agents/skills/red-team-tactics/SKILL.md +266 -0
  429. package/.agents/skills/redesign-skill/SKILL.md +121 -0
  430. package/.agents/skills/review-animations/SKILL.md +120 -0
  431. package/.agents/skills/review-animations/STANDARDS.md +87 -0
  432. package/.agents/skills/rust-pro/SKILL.md +727 -0
  433. package/.agents/skills/seo-fundamentals/SKILL.md +214 -0
  434. package/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  435. package/.agents/skills/server-management/SKILL.md +253 -0
  436. package/.agents/skills/shadcn-ui-expert/SKILL.md +271 -0
  437. package/.agents/skills/shape/SKILL.md +131 -0
  438. package/.agents/skills/skill-creator/SKILL.md +136 -0
  439. package/.agents/skills/soft-skill/SKILL.md +128 -0
  440. package/.agents/skills/sounds-on-the-web/SKILL.md +151 -0
  441. package/.agents/skills/sql-pro/SKILL.md +699 -0
  442. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +132 -0
  443. package/.agents/skills/svg-animation/SKILL.md +431 -0
  444. package/.agents/skills/swiftui-expert/SKILL.md +239 -0
  445. package/.agents/skills/swiss-design/SKILL.md +119 -0
  446. package/.agents/skills/system-design-pro/SKILL.md +393 -0
  447. package/.agents/skills/systematic-debugging/SKILL.md +198 -0
  448. package/.agents/skills/systematic-debugging/condition-based-waiting.md +115 -0
  449. package/.agents/skills/systematic-debugging/defense-in-depth.md +122 -0
  450. package/.agents/skills/systematic-debugging/root-cause-tracing.md +169 -0
  451. package/.agents/skills/tailwind-patterns/SKILL.md +658 -0
  452. package/.agents/skills/taste-skill/SKILL.md +127 -0
  453. package/.agents/skills/tdd-workflow/SKILL.md +179 -0
  454. package/.agents/skills/test-result-analyzer/SKILL.md +345 -0
  455. package/.agents/skills/testing-patterns/SKILL.md +609 -0
  456. package/.agents/skills/testing-patterns/scripts/test_runner.py +219 -0
  457. package/.agents/skills/thermo-nuclear-code-quality-review/SKILL.md +137 -0
  458. package/.agents/skills/thinking-protocol/SKILL.md +97 -0
  459. package/.agents/skills/to-spring-or-not-to-spring/SKILL.md +118 -0
  460. package/.agents/skills/transitions-dev/SKILL.md +165 -0
  461. package/.agents/skills/trend-researcher/SKILL.md +273 -0
  462. package/.agents/skills/typescript-advanced/SKILL.md +381 -0
  463. package/.agents/skills/typeset/SKILL.md +135 -0
  464. package/.agents/skills/ui-reasoning-engine/SKILL.md +230 -0
  465. package/.agents/skills/ui-skill-packs/SKILL.md +132 -0
  466. package/.agents/skills/ui-skills-root/SKILL.md +144 -0
  467. package/.agents/skills/ui-ux-pro-max/SKILL.md +185 -0
  468. package/.agents/skills/ui-ux-researcher/SKILL.md +274 -0
  469. package/.agents/skills/vector-search-pgvector/SKILL.md +144 -0
  470. package/.agents/skills/verification-before-completion/SKILL.md +178 -0
  471. package/.agents/skills/vue-expert/SKILL.md +334 -0
  472. package/.agents/skills/vulnerability-scanner/SKILL.md +453 -0
  473. package/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  474. package/.agents/skills/web-accessibility-auditor/SKILL.md +254 -0
  475. package/.agents/skills/web-design-guidelines/SKILL.md +124 -0
  476. package/.agents/skills/web-quality-audit/SKILL.md +122 -0
  477. package/.agents/skills/webapp-testing/SKILL.md +203 -0
  478. package/.agents/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  479. package/.agents/skills/webgpu-performance/SKILL.md +163 -0
  480. package/.agents/skills/whimsy-injector/SKILL.md +380 -0
  481. package/.agents/skills/workflow-optimizer/SKILL.md +263 -0
  482. package/.agents/skills/zero-trust-passkeys/SKILL.md +156 -0
  483. package/.claude-plugin/marketplace.json +14 -0
  484. package/.claude-plugin/plugin.json +26 -0
  485. package/.codex-plugin/plugin.json +45 -0
  486. package/.cursor-plugin/plugin.json +26 -0
  487. package/.devin-plugin/plugin.json +14 -0
  488. package/.hermes-plugin/__init__.py +102 -0
  489. package/.hermes-plugin/plugin.yaml +6 -0
  490. package/.kimi-plugin/plugin.json +38 -0
  491. package/.opencode/INSTALL.md +41 -0
  492. package/.opencode/plugins/tribunal.js +101 -0
  493. package/.opencode/rules.md +258 -0
  494. package/.pi/extensions/tribunal.ts +133 -0
  495. package/AGENTS.md +91 -0
  496. package/CLAUDE.md +442 -0
  497. package/CONTRIBUTING.md +1 -1
  498. package/README.md +273 -251
  499. package/bin/adapter-install.js +40 -16
  500. package/bin/mcp-server.js +426 -0
  501. package/bin/proxy-server.js +18 -9
  502. package/bin/spawn-agent.js +9 -3
  503. package/bin/wrapper.js +20 -4
  504. package/dist/browser/audit.js +229 -0
  505. package/dist/browser/case_bridge.js +189 -0
  506. package/dist/browser/cdp.js +513 -0
  507. package/dist/browser/compare.js +110 -0
  508. package/dist/browser/discovery.js +140 -0
  509. package/dist/browser/idpi.js +142 -0
  510. package/dist/browser/index.js +89 -0
  511. package/dist/browser/launcher.js +154 -0
  512. package/dist/browser/sentinel.js +202 -0
  513. package/dist/browser/synapse.js +251 -0
  514. package/dist/browser/trimmer.js +210 -0
  515. package/dist/cli.js +377 -355
  516. package/dist/commands/audit-web.js +112 -0
  517. package/dist/commands/browse.js +56 -0
  518. package/dist/commands/compare-web.js +61 -0
  519. package/dist/commands/deconstruct.js +58 -0
  520. package/dist/commands/heal.js +99 -0
  521. package/dist/commands/init.js +10 -1
  522. package/dist/commands/sdd.js +229 -0
  523. package/dist/commands/uninstall.js +12 -0
  524. package/dist/esm/index.mjs +142 -142
  525. package/dist/index.d.ts +349 -343
  526. package/gemini-extension.json +6 -0
  527. package/hooks/hooks-cursor.json +10 -0
  528. package/hooks/hooks.json +10 -0
  529. package/hooks/session-start.js +77 -0
  530. package/marketplace.json +14 -0
  531. package/package.json +176 -146
  532. package/plugin.json +26 -0
  533. package/scripts/audit_skill_sdo.js +87 -0
  534. package/scripts/clean-pycache.js +42 -0
  535. package/scripts/context_compiler.js +944 -0
  536. package/scripts/modernize_skills.js +254 -0
  537. package/scripts/package-cores.js +113 -0
  538. package/scripts/skill_enhancement_engine.js +473 -0
  539. package/scripts/sync-skills.js +61 -0
  540. package/skills/12-principles-of-animation/SKILL.md +126 -0
  541. package/skills/60fps-animation/SKILL.md +164 -0
  542. package/skills/accessible-animation/SKILL.md +266 -0
  543. package/skills/adapt/SKILL.md +131 -0
  544. package/skills/advanced-rag-pipelines/SKILL.md +169 -0
  545. package/skills/agent-organizer/SKILL.md +192 -0
  546. package/skills/agentic-patterns/SKILL.md +356 -0
  547. package/skills/agentic-workflows-2026/SKILL.md +157 -0
  548. package/skills/ai-app-hardening/SKILL.md +125 -0
  549. package/skills/ai-prompt-injection-defense/SKILL.md +237 -0
  550. package/skills/animation-on-scroll/SKILL.md +267 -0
  551. package/skills/animation-systems/SKILL.md +273 -0
  552. package/skills/antfu-conventions/SKILL.md +129 -0
  553. package/skills/api-patterns/SKILL.md +293 -0
  554. package/skills/api-patterns/scripts/api_validator.py +211 -0
  555. package/skills/api-security-auditor/SKILL.md +230 -0
  556. package/skills/app-builder/SKILL.md +610 -0
  557. package/skills/app-builder/templates/SKILL.md +108 -0
  558. package/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  559. package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  560. package/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  561. package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  562. package/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  563. package/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  564. package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  565. package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -0
  566. package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -0
  567. package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -0
  568. package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -0
  569. package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  570. package/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -0
  571. package/skills/appflow-wireframe/SKILL.md +173 -0
  572. package/skills/apple-design/SKILL.md +164 -0
  573. package/skills/architecture/SKILL.md +263 -0
  574. package/skills/audit-and-fix/SKILL.md +136 -0
  575. package/skills/authentication-best-practices/SKILL.md +232 -0
  576. package/skills/backend-security-expert/SKILL.md +148 -0
  577. package/skills/baseline-ui/SKILL.md +130 -0
  578. package/skills/bash-linux/SKILL.md +214 -0
  579. package/skills/behavioral-modes/SKILL.md +275 -0
  580. package/skills/better-colors/SKILL.md +191 -0
  581. package/skills/better-typography/SKILL.md +164 -0
  582. package/skills/better-ui/SKILL.md +193 -0
  583. package/skills/bolder/SKILL.md +124 -0
  584. package/skills/brainstorming/SKILL.md +534 -0
  585. package/skills/browser-audit/SKILL.md +170 -0
  586. package/skills/browser-native-ai/SKILL.md +147 -0
  587. package/skills/build-primitive/SKILL.md +125 -0
  588. package/skills/building-native-ui/SKILL.md +237 -0
  589. package/skills/cicd-pro/SKILL.md +487 -0
  590. package/skills/clarify/SKILL.md +130 -0
  591. package/skills/clean-code/SKILL.md +442 -0
  592. package/skills/cloud-architect/SKILL.md +484 -0
  593. package/skills/cobejs/SKILL.md +145 -0
  594. package/skills/code-review-checklist/SKILL.md +238 -0
  595. package/skills/codebase-design/SKILL.md +151 -0
  596. package/skills/colorize/SKILL.md +132 -0
  597. package/skills/compact-landing/SKILL.md +125 -0
  598. package/skills/company-logos/SKILL.md +129 -0
  599. package/skills/config-validator/SKILL.md +200 -0
  600. package/skills/containerization-pro/SKILL.md +497 -0
  601. package/skills/context-engineering-pro/SKILL.md +136 -0
  602. package/skills/create-design-md/SKILL.md +167 -0
  603. package/skills/critique/SKILL.md +154 -0
  604. package/skills/csharp-developer/SKILL.md +553 -0
  605. package/skills/data-validation-schemas/SKILL.md +372 -0
  606. package/skills/database-design/SKILL.md +294 -0
  607. package/skills/database-design/scripts/schema_validator.py +172 -0
  608. package/skills/delight/SKILL.md +121 -0
  609. package/skills/deployment-procedures/SKILL.md +207 -0
  610. package/skills/design-lab/SKILL.md +117 -0
  611. package/skills/devops-engineer/SKILL.md +380 -0
  612. package/skills/devops-incident-responder/SKILL.md +178 -0
  613. package/skills/diagnosing-bugs/SKILL.md +247 -0
  614. package/skills/distill/SKILL.md +120 -0
  615. package/skills/documentation-templates/SKILL.md +326 -0
  616. package/skills/domain-modeling/SKILL.md +136 -0
  617. package/skills/duckdb-analytical-sql/SKILL.md +125 -0
  618. package/skills/edge-ai-mobile/SKILL.md +116 -0
  619. package/skills/edge-computing/SKILL.md +218 -0
  620. package/skills/emil-design-eng/SKILL.md +209 -0
  621. package/skills/error-resilience/SKILL.md +478 -0
  622. package/skills/expo-router-v4/SKILL.md +146 -0
  623. package/skills/extract-design-system/SKILL.md +195 -0
  624. package/skills/fabel-protocol/SKILL.md +352 -0
  625. package/skills/fixing-accessibility/SKILL.md +162 -0
  626. package/skills/fixing-metadata/SKILL.md +158 -0
  627. package/skills/fixing-motion-performance/SKILL.md +153 -0
  628. package/skills/framer-motion-expert/SKILL.md +312 -0
  629. package/skills/frontend-design/SKILL.md +178 -0
  630. package/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  631. package/skills/frontend-design/scripts/ux_audit.py +722 -0
  632. package/skills/frontend-security-expert/SKILL.md +131 -0
  633. package/skills/game-design-expert/SKILL.md +167 -0
  634. package/skills/game-engineering-expert/SKILL.md +183 -0
  635. package/skills/generative-ui-expert/SKILL.md +175 -0
  636. package/skills/geo-fundamentals/SKILL.md +183 -0
  637. package/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  638. package/skills/git-pro/SKILL.md +476 -0
  639. package/skills/github-operations/SKILL.md +370 -0
  640. package/skills/gpt-taste/SKILL.md +125 -0
  641. package/skills/gsap-core/SKILL.md +352 -0
  642. package/skills/gsap-frameworks/SKILL.md +243 -0
  643. package/skills/gsap-performance/SKILL.md +169 -0
  644. package/skills/gsap-plugins/SKILL.md +516 -0
  645. package/skills/gsap-react/SKILL.md +288 -0
  646. package/skills/gsap-scrolltrigger/SKILL.md +387 -0
  647. package/skills/gsap-timeline/SKILL.md +197 -0
  648. package/skills/gsap-utils/SKILL.md +374 -0
  649. package/skills/harden/SKILL.md +130 -0
  650. package/skills/harness-protocol/SKILL.md +115 -0
  651. package/skills/i18n-localization/SKILL.md +209 -0
  652. package/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  653. package/skills/impeccable/SKILL.md +127 -0
  654. package/skills/improve-codebase-architecture/SKILL.md +123 -0
  655. package/skills/improve-ui/SKILL.md +145 -0
  656. package/skills/intelligent-routing/SKILL.md +283 -0
  657. package/skills/knowledge-graph/SKILL.md +146 -0
  658. package/skills/landing-page/SKILL.md +140 -0
  659. package/skills/lint-and-validate/SKILL.md +299 -0
  660. package/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  661. package/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  662. package/skills/llm-engineering/SKILL.md +435 -0
  663. package/skills/local-first/SKILL.md +213 -0
  664. package/skills/local-first-architecture/SKILL.md +137 -0
  665. package/skills/lottie-animation/SKILL.md +137 -0
  666. package/skills/marquee-loop/SKILL.md +147 -0
  667. package/skills/masked-reveal/SKILL.md +305 -0
  668. package/skills/mcp-builder/SKILL.md +180 -0
  669. package/skills/micro-interaction/SKILL.md +321 -0
  670. package/skills/mobile-design/SKILL.md +320 -0
  671. package/skills/mobile-design/scripts/mobile_audit.py +670 -0
  672. package/skills/monorepo-management/SKILL.md +370 -0
  673. package/skills/morphing-icons/SKILL.md +423 -0
  674. package/skills/motion-engineering/SKILL.md +272 -0
  675. package/skills/nextjs-react-expert/SKILL.md +293 -0
  676. package/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  677. package/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  678. package/skills/nodejs-best-practices/SKILL.md +617 -0
  679. package/skills/observability/SKILL.md +378 -0
  680. package/skills/opentelemetry-observability/SKILL.md +125 -0
  681. package/skills/page-transition-animation/SKILL.md +161 -0
  682. package/skills/parallel-agents/SKILL.md +185 -0
  683. package/skills/performance-profiling/SKILL.md +305 -0
  684. package/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  685. package/skills/plan-writing/SKILL.md +202 -0
  686. package/skills/platform-engineer/SKILL.md +183 -0
  687. package/skills/platform-engineering-opentofu/SKILL.md +133 -0
  688. package/skills/playwright-ai-e2e/SKILL.md +126 -0
  689. package/skills/playwright-best-practices/SKILL.md +224 -0
  690. package/skills/polish/SKILL.md +114 -0
  691. package/skills/powershell-windows/SKILL.md +197 -0
  692. package/skills/pricing-page/SKILL.md +123 -0
  693. package/skills/product-aware-heuristics/SKILL.md +465 -0
  694. package/skills/progressive-blur/SKILL.md +155 -0
  695. package/skills/project-idioms/SKILL.md +166 -0
  696. package/skills/property-based-testing/SKILL.md +124 -0
  697. package/skills/python-patterns/SKILL.md +295 -0
  698. package/skills/python-pro/SKILL.md +380 -0
  699. package/skills/quieter/SKILL.md +124 -0
  700. package/skills/react-doctor/SKILL.md +126 -0
  701. package/skills/react-specialist/SKILL.md +355 -0
  702. package/skills/readme-builder/SKILL.md +345 -0
  703. package/skills/realtime-patterns/SKILL.md +358 -0
  704. package/skills/red-team-tactics/SKILL.md +266 -0
  705. package/skills/redesign-skill/SKILL.md +121 -0
  706. package/skills/review-animations/SKILL.md +120 -0
  707. package/skills/review-animations/STANDARDS.md +87 -0
  708. package/skills/rust-pro/SKILL.md +727 -0
  709. package/skills/seo-fundamentals/SKILL.md +214 -0
  710. package/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  711. package/skills/server-management/SKILL.md +253 -0
  712. package/skills/shadcn-ui-expert/SKILL.md +271 -0
  713. package/skills/shape/SKILL.md +131 -0
  714. package/skills/skill-creator/SKILL.md +136 -0
  715. package/skills/soft-skill/SKILL.md +128 -0
  716. package/skills/sounds-on-the-web/SKILL.md +151 -0
  717. package/skills/sql-pro/SKILL.md +699 -0
  718. package/skills/supabase-postgres-best-practices/SKILL.md +132 -0
  719. package/skills/svg-animation/SKILL.md +431 -0
  720. package/skills/swiftui-expert/SKILL.md +239 -0
  721. package/skills/swiss-design/SKILL.md +119 -0
  722. package/skills/system-design-pro/SKILL.md +393 -0
  723. package/skills/systematic-debugging/SKILL.md +198 -0
  724. package/skills/systematic-debugging/condition-based-waiting.md +115 -0
  725. package/skills/systematic-debugging/defense-in-depth.md +122 -0
  726. package/skills/systematic-debugging/root-cause-tracing.md +169 -0
  727. package/skills/tailwind-patterns/SKILL.md +658 -0
  728. package/skills/taste-skill/SKILL.md +127 -0
  729. package/skills/tdd-workflow/SKILL.md +179 -0
  730. package/skills/test-result-analyzer/SKILL.md +345 -0
  731. package/skills/testing-patterns/SKILL.md +609 -0
  732. package/skills/testing-patterns/scripts/test_runner.py +219 -0
  733. package/skills/thermo-nuclear-code-quality-review/SKILL.md +137 -0
  734. package/skills/thinking-protocol/SKILL.md +97 -0
  735. package/skills/to-spring-or-not-to-spring/SKILL.md +118 -0
  736. package/skills/transitions-dev/SKILL.md +165 -0
  737. package/skills/trend-researcher/SKILL.md +273 -0
  738. package/skills/typescript-advanced/SKILL.md +381 -0
  739. package/skills/typeset/SKILL.md +135 -0
  740. package/skills/ui-reasoning-engine/SKILL.md +230 -0
  741. package/skills/ui-skill-packs/SKILL.md +132 -0
  742. package/skills/ui-skills-root/SKILL.md +144 -0
  743. package/skills/ui-ux-pro-max/SKILL.md +185 -0
  744. package/skills/ui-ux-researcher/SKILL.md +274 -0
  745. package/skills/vector-search-pgvector/SKILL.md +144 -0
  746. package/skills/verification-before-completion/SKILL.md +178 -0
  747. package/skills/vue-expert/SKILL.md +334 -0
  748. package/skills/vulnerability-scanner/SKILL.md +453 -0
  749. package/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  750. package/skills/web-accessibility-auditor/SKILL.md +254 -0
  751. package/skills/web-design-guidelines/SKILL.md +124 -0
  752. package/skills/web-quality-audit/SKILL.md +122 -0
  753. package/skills/webapp-testing/SKILL.md +203 -0
  754. package/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  755. package/skills/webgpu-performance/SKILL.md +163 -0
  756. package/skills/whimsy-injector/SKILL.md +380 -0
  757. package/skills/workflow-optimizer/SKILL.md +263 -0
  758. package/skills/zero-trust-passkeys/SKILL.md +156 -0
  759. package/.agent/skills/api-patterns/scripts/__pycache__/api_validator.cpython-311.pyc +0 -0
  760. package/.agent/skills/database-design/scripts/__pycache__/schema_validator.cpython-311.pyc +0 -0
  761. package/.agent/skills/frontend-design/scripts/__pycache__/accessibility_checker.cpython-311.pyc +0 -0
  762. package/.agent/skills/frontend-design/scripts/__pycache__/ux_audit.cpython-311.pyc +0 -0
  763. package/.agent/skills/geo-fundamentals/scripts/__pycache__/geo_checker.cpython-311.pyc +0 -0
  764. package/.agent/skills/i18n-localization/scripts/__pycache__/i18n_checker.cpython-311.pyc +0 -0
  765. package/.agent/skills/lint-and-validate/scripts/__pycache__/lint_runner.cpython-311.pyc +0 -0
  766. package/.agent/skills/lint-and-validate/scripts/__pycache__/type_coverage.cpython-311.pyc +0 -0
  767. package/.agent/skills/mobile-design/scripts/__pycache__/mobile_audit.cpython-311.pyc +0 -0
  768. package/.agent/skills/nextjs-react-expert/scripts/__pycache__/convert_rules.cpython-311.pyc +0 -0
  769. package/.agent/skills/nextjs-react-expert/scripts/__pycache__/react_performance_checker.cpython-311.pyc +0 -0
  770. package/.agent/skills/performance-profiling/scripts/__pycache__/lighthouse_audit.cpython-311.pyc +0 -0
  771. package/.agent/skills/seo-fundamentals/scripts/__pycache__/seo_checker.cpython-311.pyc +0 -0
  772. package/.agent/skills/testing-patterns/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  773. package/.agent/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  774. package/.agent/skills/webapp-testing/scripts/__pycache__/playwright_runner.cpython-311.pyc +0 -0
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * cmdAuditWeb — Live Web Quality, Accessibility & Performance Auditor
5
+ *
6
+ * Usage:
7
+ * tk audit-web https://example.com
8
+ * tk audit-web http://localhost:3000 --json
9
+ */
10
+
11
+ const fs = require('fs');
12
+ const path = require('path');
13
+ const { auditURL } = require('../browser');
14
+ const { codifyAuditViolations } = require('../browser/case_bridge');
15
+ const { c } = require('../utils/logger');
16
+ const { banner } = require('../utils/helpers');
17
+
18
+ async function cmdAuditWeb(flags, processArgs, quiet = false) {
19
+ const url = processArgs[3] || flags.url;
20
+
21
+ if (!url) {
22
+ console.error(` ${c('red', '✖ Error:')} Missing target URL. Usage: tk audit-web <url>`);
23
+ process.exit(1);
24
+ }
25
+
26
+ if (!quiet && !flags.json) {
27
+ banner(quiet);
28
+ console.log(` ${c('cyan', '🔍 Auditing Web Target:')} ${c('white', url)}...\n`);
29
+ }
30
+
31
+ try {
32
+ const report = await auditURL(url, flags);
33
+
34
+ let codified = null;
35
+ if (flags.codify || flags['codify-cases'] || flags.c) {
36
+ codified = codifyAuditViolations(report, flags);
37
+ }
38
+
39
+ if (flags.json) {
40
+ if (codified) {
41
+ report.codified = codified;
42
+ }
43
+ console.log(JSON.stringify(report, null, 2));
44
+ return;
45
+ }
46
+
47
+ if (flags.output) {
48
+ const outDir = path.resolve(flags.output);
49
+ fs.mkdirSync(outDir, { recursive: true });
50
+ fs.writeFileSync(path.join(outDir, 'audit-report.json'), JSON.stringify(report, null, 2));
51
+ console.log(` ${c('gray', 'Report written to:')} ${path.join(outDir, 'audit-report.json')}`);
52
+ }
53
+
54
+ console.log(` ${c('bold', 'Title:')} ${report.page.title || '(No title)'}`);
55
+ console.log(` ${c('bold', 'Duration:')} ${report.durationMs}ms\n`);
56
+
57
+ // Scores
58
+ const a11yColor = report.scores.accessibility >= 80 ? 'green' : report.scores.accessibility >= 60 ? 'yellow' : 'red';
59
+ const secColor = report.scores.security >= 80 ? 'green' : report.scores.security >= 60 ? 'yellow' : 'red';
60
+
61
+ console.log(` ${c('bold', 'Scores:')}`);
62
+ console.log(` Accessibility: ${c(a11yColor, `${report.scores.accessibility}/100`)}`);
63
+ console.log(` Security Headers:${c(secColor, `${report.scores.security}/100`)}`);
64
+ console.log();
65
+
66
+ // Issues
67
+ if (report.violations.accessibility.length > 0) {
68
+ console.log(` ${c('yellow', 'Accessibility Issues:')}`);
69
+ for (const iss of report.violations.accessibility) {
70
+ console.log(` ${c('yellow', '⚠')} ${iss.message}`);
71
+ }
72
+ console.log();
73
+ }
74
+
75
+ if (report.violations.security.length > 0) {
76
+ console.log(` ${c('yellow', 'Security Advisory:')}`);
77
+ for (const sec of report.violations.security) {
78
+ console.log(` ${c('yellow', '⚠')} ${sec}`);
79
+ }
80
+ console.log();
81
+ }
82
+
83
+ if (report.violations.consoleErrors.length > 0) {
84
+ console.log(` ${c('red', 'Console Errors:')}`);
85
+ for (const err of report.violations.consoleErrors) {
86
+ console.log(` ${c('red', '✖')} [${err.level}] ${err.text}`);
87
+ }
88
+ console.log();
89
+ }
90
+
91
+ if (report.summary.passed) {
92
+ console.log(` ${c('green', '✔ Web audit passed')} — Accessibility >= 80 and zero console errors.\n`);
93
+ } else {
94
+ console.log(` ${c('yellow', '⚠ Web audit completed')} with ${report.summary.totalIssues} issue(s) identified.\n`);
95
+ }
96
+
97
+ if (codified) {
98
+ if (codified.codifiedCount > 0) {
99
+ console.log(` ${c('green', '✔')} Case Law: Codified ${c('bold', String(codified.codifiedCount))} violation(s) into binding precedents in ${c('cyan', '.agent/history/case-law/')}.\n`);
100
+ } else {
101
+ console.log(` ${c('gray', 'ℹ')} Case Law: No new violations to codify (or all matches already exist in precedents).\n`);
102
+ }
103
+ }
104
+ } catch (err) {
105
+ console.error(` ${c('red', '✖ Audit failed:')} ${err.message}`);
106
+ process.exit(1);
107
+ }
108
+ }
109
+
110
+ module.exports = {
111
+ cmdAuditWeb,
112
+ };
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * cmdBrowse — Token-Efficient Page Navigation & Semantic Extractor
5
+ *
6
+ * Usage:
7
+ * tk browse https://example.com
8
+ * tk browse http://localhost:3000 --json
9
+ */
10
+
11
+ const { browse } = require('../browser');
12
+ const { c } = require('../utils/logger');
13
+ const { banner } = require('../utils/helpers');
14
+
15
+ async function cmdBrowse(flags, processArgs, quiet = false) {
16
+ const url = processArgs[3] || flags.url;
17
+
18
+ if (!url) {
19
+ console.error(` ${c('red', '✖ Error:')} Missing target URL. Usage: tk browse <url>`);
20
+ process.exit(1);
21
+ }
22
+
23
+ if (!quiet && !flags.json) {
24
+ banner(quiet);
25
+ console.log(` ${c('cyan', '🌐 Browsing:')} ${c('white', url)} (extracting semantic tokens)...\n`);
26
+ }
27
+
28
+ try {
29
+ const result = await browse(url);
30
+
31
+ if (flags.json) {
32
+ console.log(JSON.stringify(result, null, 2));
33
+ return;
34
+ }
35
+
36
+ if (result.threatLevel !== 'clean') {
37
+ console.log(` ${c('yellow', '⚠ IDPI Warning:')} Potential prompt injection detected (${result.threatLevel}):`);
38
+ for (const t of result.threats) {
39
+ console.log(` ${c('red', '•')} ${t}`);
40
+ }
41
+ console.log();
42
+ }
43
+
44
+ console.log(c('gray', '─────────────────────────────────────────────────────────────'));
45
+ console.log(result.markdown);
46
+ console.log(c('gray', '─────────────────────────────────────────────────────────────'));
47
+ console.log(` ${c('green', '✔')} Extracted page content (${Buffer.byteLength(result.markdown, 'utf8')} bytes, < 1.5k tokens).\n`);
48
+ } catch (err) {
49
+ console.error(` ${c('red', '✖ Browser error:')} ${err.message}`);
50
+ process.exit(1);
51
+ }
52
+ }
53
+
54
+ module.exports = {
55
+ cmdBrowse,
56
+ };
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * cmdCompareWeb — Visual Regression Comparison Command
5
+ *
6
+ * Usage:
7
+ * tk compare-web http://localhost:3000 https://example.com
8
+ * tk compare-web https://staging.site.com https://prod.site.com --max-diff 2.0
9
+ */
10
+
11
+ const { compareURLs } = require('../browser');
12
+ const { c } = require('../utils/logger');
13
+ const { banner } = require('../utils/helpers');
14
+
15
+ async function cmdCompareWeb(flags, processArgs, quiet = false) {
16
+ const url1 = processArgs[3] || flags.url1;
17
+ const url2 = processArgs[4] || flags.url2;
18
+
19
+ if (!url1 || !url2) {
20
+ console.error(` ${c('red', '✖ Error:')} Missing target URLs. Usage: tk compare-web <url1> <url2>`);
21
+ process.exit(1);
22
+ }
23
+
24
+ const maxDiff = flags.maxDiff ? parseFloat(flags.maxDiff) : 1.0;
25
+
26
+ if (!quiet && !flags.json) {
27
+ banner(quiet);
28
+ console.log(` ${c('cyan', '📸 Comparing Visual Viewports:')}`);
29
+ console.log(` URL 1: ${c('white', url1)}`);
30
+ console.log(` URL 2: ${c('white', url2)}\n`);
31
+ }
32
+
33
+ try {
34
+ const result = await compareURLs(url1, url2, { maxDiffPercent: maxDiff });
35
+
36
+ if (flags.json) {
37
+ console.log(JSON.stringify(result, null, 2));
38
+ process.exit(result.passed ? 0 : 1);
39
+ }
40
+
41
+ const diffColor = result.passed ? 'green' : 'red';
42
+
43
+ console.log(` Visual Mismatch: ${c(diffColor, `${result.diffPercentage}%`)} (Allowed Threshold: ${maxDiff}%)`);
44
+ console.log(` Compared Bytes: ${result.totalPixelsCompared}`);
45
+
46
+ if (result.passed) {
47
+ console.log(`\n ${c('green', '✔ Visual comparison passed')} — Difference is within acceptable threshold.\n`);
48
+ process.exit(0);
49
+ } else {
50
+ console.log(`\n ${c('red', '✖ Visual regression detected!')} Diff ${result.diffPercentage}% exceeds max allowed ${maxDiff}%.\n`);
51
+ process.exit(1);
52
+ }
53
+ } catch (err) {
54
+ console.error(` ${c('red', '✖ Comparison failed:')} ${err.message}`);
55
+ process.exit(1);
56
+ }
57
+ }
58
+
59
+ module.exports = {
60
+ cmdCompareWeb,
61
+ };
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * cmdDeconstruct — Reverse-Engineer Live Web Elements into Production React Code
5
+ *
6
+ * Usage:
7
+ * tk deconstruct https://example.com --selector "button.primary"
8
+ * tk deconstruct http://localhost:3000 --selector "#pricing-card" --name PricingCard --output src/components/PricingCard.tsx
9
+ */
10
+
11
+ const fs = require('fs');
12
+ const path = require('path');
13
+ const { deconstructElement } = require('../browser/synapse');
14
+ const { c } = require('../utils/logger');
15
+ const { banner } = require('../utils/helpers');
16
+
17
+ async function cmdDeconstruct(flags, processArgs, quiet = false) {
18
+ const url = processArgs[3] || flags.url;
19
+ const selector = flags.selector || processArgs[4];
20
+
21
+ if (!url || !selector) {
22
+ console.error(` ${c('red', '✖ Error:')} Missing URL or selector. Usage: tk deconstruct <url> --selector "<css-selector>"`);
23
+ process.exit(1);
24
+ }
25
+
26
+ if (!quiet && !flags.json) {
27
+ banner(quiet);
28
+ console.log(` ${c('cyan', '⚡ Component Synapse Deconstructing:')} ${c('white', selector)} on ${c('gray', url)}...\n`);
29
+ }
30
+
31
+ try {
32
+ const result = await deconstructElement(url, selector, flags);
33
+
34
+ if (flags.json) {
35
+ console.log(JSON.stringify(result, null, 2));
36
+ return;
37
+ }
38
+
39
+ if (flags.output) {
40
+ const outPath = path.resolve(flags.output);
41
+ fs.mkdirSync(path.dirname(outPath), { recursive: true });
42
+ fs.writeFileSync(outPath, result.code, 'utf8');
43
+ console.log(` ${c('green', '✔ Synthesized React component saved to:')} ${c('bold', outPath)}\n`);
44
+ } else {
45
+ console.log(c('gray', '────────────────── Synthesized React TSX Component ──────────────────'));
46
+ console.log(result.code);
47
+ console.log(c('gray', '─────────────────────────────────────────────────────────────────────'));
48
+ console.log(` ${c('green', '✔')} Extracted computed CSSOM and synthesized ${c('bold', result.componentName)}.\n`);
49
+ }
50
+ } catch (err) {
51
+ console.error(` ${c('red', '✖ Deconstruction failed:')} ${err.message}`);
52
+ process.exit(1);
53
+ }
54
+ }
55
+
56
+ module.exports = {
57
+ cmdDeconstruct,
58
+ };
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * cmdHeal — Runtime Sentinel Error Hunter and Fix Verifier
5
+ *
6
+ * Usage:
7
+ * tk heal http://localhost:3000
8
+ * tk heal http://localhost:5173 --verify
9
+ * tk heal http://localhost:3000 --json
10
+ */
11
+
12
+ const { captureRuntimeErrors, verifyRuntimeFix } = require('../browser/sentinel');
13
+ const { c } = require('../utils/logger');
14
+ const { banner } = require('../utils/helpers');
15
+
16
+ async function cmdHeal(flags, processArgs, quiet = false) {
17
+ const url = processArgs[3] || flags.url || 'http://localhost:3000';
18
+
19
+ if (!quiet && !flags.json) {
20
+ banner(quiet);
21
+ console.log(` ${c('cyan', '🛡 Runtime Sentinel:')} Scanning ${c('white', url)} for live runtime errors...\n`);
22
+ }
23
+
24
+ try {
25
+ if (flags.verify) {
26
+ const verification = await verifyRuntimeFix(url, flags);
27
+ if (flags.json) {
28
+ console.log(JSON.stringify(verification, null, 2));
29
+ return;
30
+ }
31
+
32
+ if (verification.isFixed) {
33
+ console.log(` ${c('green', '✔ Verification Passed!')} Runtime errors cleared on ${c('bold', url)}.\n`);
34
+ } else {
35
+ console.log(` ${c('red', '✖ Verification Failed:')} ${verification.remainingIssues} issue(s) still remaining.\n`);
36
+ }
37
+ return;
38
+ }
39
+
40
+ const report = await captureRuntimeErrors(url, flags);
41
+
42
+ if (flags.json) {
43
+ console.log(JSON.stringify(report, null, 2));
44
+ return;
45
+ }
46
+
47
+ if (report.healthy) {
48
+ console.log(` ${c('green', '✔ Runtime Healthy:')} Zero uncaught exceptions or error overlays detected on ${c('bold', url)}.\n`);
49
+ return;
50
+ }
51
+
52
+ console.log(` ${c('red', '✖ Runtime Errors Detected:')}\n`);
53
+
54
+ if (report.overlay.hasOverlay) {
55
+ console.log(` ${c('red', '• Dev Error Overlay Active:')} ${c('yellow', report.overlay.overlayType || 'Generic Framework Overlay')}`);
56
+ if (report.overlay.bodyText) {
57
+ console.log(` ${c('gray', report.overlay.bodyText.slice(0, 160))}...\n`);
58
+ }
59
+ }
60
+
61
+ for (const exc of report.exceptions) {
62
+ console.log(` ${c('red', '• Uncaught Exception:')} ${c('bold', exc.text)}`);
63
+ if (exc.locations && exc.locations.length > 0) {
64
+ for (const loc of exc.locations) {
65
+ const locStr = loc.existsLocally
66
+ ? `${c('green', loc.filePath)}:${loc.line}:${loc.column}`
67
+ : `${c('gray', loc.rawUrl)}`;
68
+ console.log(` ${c('cyan', '→ Source:')} ${locStr}`);
69
+ }
70
+ }
71
+ console.log();
72
+ }
73
+
74
+ for (const cerr of report.consoleErrors) {
75
+ console.log(` ${c('yellow', '• Console Error:')} ${cerr.text}`);
76
+ if (cerr.locations && cerr.locations.length > 0) {
77
+ for (const loc of cerr.locations) {
78
+ const locStr = loc.existsLocally
79
+ ? `${c('green', loc.filePath)}:${loc.line}:${loc.column}`
80
+ : `${c('gray', loc.rawUrl)}`;
81
+ console.log(` ${c('cyan', '→ Source:')} ${locStr}`);
82
+ }
83
+ }
84
+ console.log();
85
+ }
86
+
87
+ console.log(` ${c('yellow', 'ℹ Remedy Guidance:')}`);
88
+ console.log(` 1. Inspect the source file(s) listed above.`);
89
+ console.log(` 2. Apply targeted fix.`);
90
+ console.log(` 3. Run ${c('bold', `tk heal ${url} --verify`)} to confirm resolution.\n`);
91
+ } catch (err) {
92
+ console.error(` ${c('red', '✖ Sentinel scan failed:')} ${err.message}`);
93
+ process.exit(1);
94
+ }
95
+ }
96
+
97
+ module.exports = {
98
+ cmdHeal,
99
+ };
@@ -323,11 +323,18 @@ ${rulesContent}
323
323
 
324
324
  ${rulesContent}
325
325
  `;
326
- // ── 5. Claude (.claude/CLAUDE.md) ─────────────────────
326
+ // ── 5. Claude (.claude/CLAUDE.md & CLAUDE.md) ───────
327
327
  const claudeRules = `# Tribunal Kit — Claude Bridge
328
328
  # Auto-generated by tribunal-kit init. Do not edit manually.
329
329
  # Source: .agent/rules/${rulesFilename}
330
330
 
331
+ ${rulesContent}
332
+ `;
333
+ // ── 6. Codex & Universal Agents (AGENTS.md) ──────────
334
+ const codexRules = `# Tribunal Kit — Codex Bridge
335
+ # Auto-generated by tribunal-kit init. Do not edit manually.
336
+ # Source: .agent/rules/${rulesFilename}
337
+
331
338
  ${rulesContent}
332
339
  `;
333
340
  // Fire ALL bridge writes concurrently via Promise.all
@@ -338,6 +345,8 @@ ${rulesContent}
338
345
  { path: path_1.default.join(targetDir, '.gemini', 'GEMINI.md'), content: geminiRulesBridge, label: 'Gemini rules' },
339
346
  { path: path_1.default.join(targetDir, '.github', 'copilot-instructions.md'), content: copilotInstructions, label: 'GitHub Copilot' },
340
347
  { path: path_1.default.join(targetDir, '.claude', 'CLAUDE.md'), content: claudeRules, label: 'Claude' },
348
+ { path: path_1.default.join(targetDir, 'CLAUDE.md'), content: claudeRules, label: 'Claude root' },
349
+ { path: path_1.default.join(targetDir, 'AGENTS.md'), content: codexRules, label: 'Codex / Multi-Agent' },
341
350
  ];
342
351
  await Promise.all(bridges.map(b => writeBridge(b.path, b.content, b.label)));
343
352
  console.log();
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const { execSync } = require("child_process");
6
+ const { c, err, log } = require("../utils/logger");
7
+
8
+ function getOption(args, names) {
9
+ for (let i = 0; i < args.length; i++) {
10
+ const arg = args[i];
11
+ for (const name of names) {
12
+ if (arg === name) return args[i + 1] || null;
13
+ if (arg.startsWith(`${name}=`)) return arg.slice(name.length + 1);
14
+ }
15
+ }
16
+ return null;
17
+ }
18
+
19
+ function findRepoRoot() {
20
+ try {
21
+ const gitRoot = execSync("git rev-parse --show-toplevel", {
22
+ encoding: "utf8",
23
+ stdio: ["ignore", "pipe", "ignore"],
24
+ }).trim();
25
+ if (gitRoot && fs.existsSync(gitRoot)) {
26
+ return gitRoot;
27
+ }
28
+ } catch {
29
+ // Ignore git error and fallback to directory walk
30
+ }
31
+
32
+ let current = process.cwd();
33
+ while (true) {
34
+ if (fs.existsSync(path.join(current, ".git"))) {
35
+ return current;
36
+ }
37
+ const parent = path.dirname(current);
38
+ if (parent === current) break;
39
+ current = parent;
40
+ }
41
+ return process.cwd();
42
+ }
43
+
44
+ function sddWorkspace(planFile) {
45
+ if (!planFile) {
46
+ throw new Error("Missing required argument: --plan <plan_file>");
47
+ }
48
+ const resolvedPlan = path.resolve(process.cwd(), planFile);
49
+ if (!fs.existsSync(resolvedPlan)) {
50
+ throw new Error(`Plan file not found: ${planFile}`);
51
+ }
52
+
53
+ const fileStem = path.parse(resolvedPlan).name;
54
+ const repoRoot = findRepoRoot();
55
+ const base = path.join(repoRoot, ".tribunal", "sdd");
56
+ const workspace = path.join(base, fileStem);
57
+
58
+ fs.mkdirSync(workspace, { recursive: true });
59
+
60
+ const gitignorePath = path.join(base, ".gitignore");
61
+ if (!fs.existsSync(gitignorePath)) {
62
+ fs.writeFileSync(gitignorePath, "*\n", "utf8");
63
+ }
64
+
65
+ return workspace;
66
+ }
67
+
68
+ function sddBrief(planFile, taskNum, outFile) {
69
+ if (!planFile) throw new Error("Missing required argument: --plan <plan_file>");
70
+ if (taskNum === null || taskNum === undefined || isNaN(taskNum)) {
71
+ throw new Error("Missing required argument: --task <number>");
72
+ }
73
+
74
+ const resolvedPlan = path.resolve(process.cwd(), planFile);
75
+ if (!fs.existsSync(resolvedPlan)) {
76
+ throw new Error(`Plan file not found: ${planFile}`);
77
+ }
78
+
79
+ const content = fs.readFileSync(resolvedPlan, "utf8");
80
+ const lines = content.split(/\r?\n/);
81
+
82
+ let targetOut;
83
+ if (outFile) {
84
+ targetOut = path.resolve(process.cwd(), outFile);
85
+ } else {
86
+ const ws = sddWorkspace(planFile);
87
+ targetOut = path.join(ws, `task-${taskNum}-brief.md`);
88
+ }
89
+
90
+ let inTargetTask = false;
91
+ let inCodeBlock = false;
92
+ const extractedLines = [];
93
+
94
+ const targetPrefix = `Task ${taskNum}`;
95
+ const targetPrefixColon = `Task ${taskNum}:`;
96
+
97
+ for (const line of lines) {
98
+ const trimmed = line.trim();
99
+ if (trimmed.startsWith("```")) {
100
+ inCodeBlock = !inCodeBlock;
101
+ }
102
+
103
+ if (!inCodeBlock && trimmed.startsWith("#")) {
104
+ const headingText = trimmed.replace(/^#+\s*/, "").trim();
105
+ if (
106
+ headingText.startsWith(targetPrefixColon) ||
107
+ headingText.startsWith(targetPrefix) ||
108
+ headingText === targetPrefix
109
+ ) {
110
+ inTargetTask = true;
111
+ extractedLines.push(line);
112
+ continue;
113
+ } else if (inTargetTask && headingText.toLowerCase().startsWith("task ")) {
114
+ break;
115
+ }
116
+ }
117
+
118
+ if (inTargetTask) {
119
+ extractedLines.push(line);
120
+ }
121
+ }
122
+
123
+ if (extractedLines.length === 0) {
124
+ throw new Error(`Task ${taskNum} not found in ${planFile} (no heading matching 'Task ${taskNum}')`);
125
+ }
126
+
127
+ const briefContent = extractedLines.join("\n") + "\n";
128
+ fs.mkdirSync(path.dirname(targetOut), { recursive: true });
129
+ fs.writeFileSync(targetOut, briefContent, "utf8");
130
+
131
+ return targetOut;
132
+ }
133
+
134
+ function sddDiff(planFile, base, head, outFile) {
135
+ if (!planFile) throw new Error("Missing required argument: --plan <plan_file>");
136
+ if (!base) throw new Error("Missing required argument: --base <revision>");
137
+ if (!head) throw new Error("Missing required argument: --head <revision>");
138
+
139
+ try {
140
+ execSync(`git rev-parse --verify --quiet "${base}"`, { stdio: "ignore" });
141
+ } catch {
142
+ throw new Error(`Invalid BASE git revision: ${base}`);
143
+ }
144
+
145
+ try {
146
+ execSync(`git rev-parse --verify --quiet "${head}"`, { stdio: "ignore" });
147
+ } catch {
148
+ throw new Error(`Invalid HEAD git revision: ${head}`);
149
+ }
150
+
151
+ let targetOut;
152
+ if (outFile) {
153
+ targetOut = path.resolve(process.cwd(), outFile);
154
+ } else {
155
+ const ws = sddWorkspace(planFile);
156
+ const shortBase = base.length > 7 ? base.slice(0, 7) : base;
157
+ const shortHead = head.length > 7 ? head.slice(0, 7) : head;
158
+ targetOut = path.join(ws, `review-${shortBase}..${shortHead}.diff`);
159
+ }
160
+
161
+ const diffContent = execSync(`git diff "${base}..${head}"`, {
162
+ encoding: "utf8",
163
+ maxBuffer: 10 * 1024 * 1024,
164
+ });
165
+
166
+ fs.mkdirSync(path.dirname(targetOut), { recursive: true });
167
+ fs.writeFileSync(targetOut, diffContent, "utf8");
168
+
169
+ return targetOut;
170
+ }
171
+
172
+ async function cmdSdd(flags, processArgs, quiet = false) {
173
+ const args = processArgs.slice(3);
174
+ const subcommand = args.find((a) => !a.startsWith("-")) || "help";
175
+
176
+ if (subcommand === "help" || subcommand === "--help" || subcommand === "-h") {
177
+ if (!quiet) {
178
+ log(c("cyan", " Subagent-Driven Development (SDD) — Commands"));
179
+ log(` ${c("gray", "─".repeat(45))}`);
180
+ log(` ${c("cyan", "sdd workspace".padEnd(20))} ${c("gray", "Ensure plan-scoped workspace (.tribunal/sdd/<slug>)")}`);
181
+ log(` ${c("cyan", "sdd brief".padEnd(20))} ${c("gray", "Extract task brief out-of-band (--plan, --task, [--out])")}`);
182
+ log(` ${c("cyan", "sdd diff".padEnd(20))} ${c("gray", "Generate diff package (--plan, --base, --head, [--out])")}`);
183
+ }
184
+ return;
185
+ }
186
+
187
+ const planArg = getOption(args, ["--plan", "-p"]) || args[1];
188
+ const outArg = getOption(args, ["--out", "-o"]);
189
+
190
+ try {
191
+ if (subcommand === "workspace") {
192
+ const ws = sddWorkspace(planArg);
193
+ if (!quiet) log(c("green", `✔ SDD Workspace: ${ws}`));
194
+ else console.log(ws);
195
+ return;
196
+ }
197
+
198
+ if (subcommand === "brief") {
199
+ const taskRaw = getOption(args, ["--task", "-t"]);
200
+ const taskNum = taskRaw ? parseInt(taskRaw, 10) : null;
201
+ const briefPath = sddBrief(planArg, taskNum, outArg);
202
+ if (!quiet) log(c("green", `✔ SDD Task Brief: ${briefPath}`));
203
+ else console.log(briefPath);
204
+ return;
205
+ }
206
+
207
+ if (subcommand === "diff") {
208
+ const base = getOption(args, ["--base"]);
209
+ const head = getOption(args, ["--head"]);
210
+ const diffPath = sddDiff(planArg, base, head, outArg);
211
+ if (!quiet) log(c("green", `✔ SDD Diff Package: ${diffPath}`));
212
+ else console.log(diffPath);
213
+ return;
214
+ }
215
+
216
+ err(`Unknown SDD subcommand: "${subcommand}"`);
217
+ process.exit(1);
218
+ } catch (error) {
219
+ err(error.message);
220
+ process.exit(1);
221
+ }
222
+ }
223
+
224
+ module.exports = {
225
+ cmdSdd,
226
+ sddWorkspace,
227
+ sddBrief,
228
+ sddDiff,
229
+ };
@@ -8,8 +8,20 @@ const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const logger_1 = require("../utils/logger");
10
10
  const helpers_1 = require("../utils/helpers");
11
+ const fs_2 = require("../utils/fs");
11
12
  function cmdUninstall(flags, quiet = false) {
12
13
  const targetDir = flags.path ? path_1.default.resolve(flags.path) : process.cwd();
14
+ const pkgStr = fs_1.default.readFileSync(path_1.default.resolve(__dirname, '../../package.json'), 'utf8');
15
+ const pkg = JSON.parse(pkgStr);
16
+ if ((0, fs_2.isSelfInstall)(targetDir, pkg.name, path_1.default.resolve(__dirname, '../..'))) {
17
+ (0, logger_1.err)('Cannot run uninstall inside the tribunal-kit package itself.');
18
+ (0, logger_1.err)(`Target: ${targetDir}`);
19
+ console.log();
20
+ (0, logger_1.dim)('This command is designed to remove .agent/ from OTHER projects.');
21
+ (0, logger_1.dim)('Run it from the root of the target project you want to uninstall from.');
22
+ console.log();
23
+ process.exit(1);
24
+ }
13
25
  const agentDest = path_1.default.join(targetDir, '.agent');
14
26
  (0, helpers_1.banner)(quiet);
15
27
  if (!fs_1.default.existsSync(agentDest)) {