tribunal-kit 3.0.0 → 3.1.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 (226) hide show
  1. package/.agent/ARCHITECTURE.md +99 -99
  2. package/.agent/GEMINI.md +52 -52
  3. package/.agent/agents/accessibility-reviewer.md +187 -220
  4. package/.agent/agents/ai-code-reviewer.md +199 -233
  5. package/.agent/agents/backend-specialist.md +215 -238
  6. package/.agent/agents/code-archaeologist.md +161 -181
  7. package/.agent/agents/database-architect.md +184 -207
  8. package/.agent/agents/debugger.md +191 -218
  9. package/.agent/agents/dependency-reviewer.md +103 -136
  10. package/.agent/agents/devops-engineer.md +218 -238
  11. package/.agent/agents/documentation-writer.md +201 -221
  12. package/.agent/agents/explorer-agent.md +160 -180
  13. package/.agent/agents/frontend-reviewer.md +160 -194
  14. package/.agent/agents/frontend-specialist.md +248 -237
  15. package/.agent/agents/game-developer.md +48 -52
  16. package/.agent/agents/logic-reviewer.md +116 -149
  17. package/.agent/agents/mobile-developer.md +200 -223
  18. package/.agent/agents/mobile-reviewer.md +162 -195
  19. package/.agent/agents/orchestrator.md +181 -211
  20. package/.agent/agents/penetration-tester.md +157 -174
  21. package/.agent/agents/performance-optimizer.md +183 -203
  22. package/.agent/agents/performance-reviewer.md +178 -211
  23. package/.agent/agents/product-manager.md +142 -162
  24. package/.agent/agents/product-owner.md +6 -25
  25. package/.agent/agents/project-planner.md +142 -162
  26. package/.agent/agents/qa-automation-engineer.md +225 -242
  27. package/.agent/agents/security-auditor.md +174 -194
  28. package/.agent/agents/seo-specialist.md +193 -213
  29. package/.agent/agents/sql-reviewer.md +161 -194
  30. package/.agent/agents/supervisor-agent.md +184 -203
  31. package/.agent/agents/swarm-worker-contracts.md +17 -17
  32. package/.agent/agents/swarm-worker-registry.md +46 -46
  33. package/.agent/agents/test-coverage-reviewer.md +160 -193
  34. package/.agent/agents/test-engineer.md +0 -21
  35. package/.agent/agents/type-safety-reviewer.md +175 -208
  36. package/.agent/patterns/generator.md +9 -9
  37. package/.agent/patterns/inversion.md +12 -12
  38. package/.agent/patterns/pipeline.md +9 -9
  39. package/.agent/patterns/reviewer.md +13 -13
  40. package/.agent/patterns/tool-wrapper.md +9 -9
  41. package/.agent/rules/GEMINI.md +63 -63
  42. package/.agent/scripts/compress_skills.py +167 -0
  43. package/.agent/scripts/consolidate_skills.py +173 -0
  44. package/.agent/scripts/deep_compress.py +202 -0
  45. package/.agent/scripts/minify_context.py +80 -0
  46. package/.agent/scripts/security_scan.py +1 -1
  47. package/.agent/scripts/strip_tribunal.py +41 -0
  48. package/.agent/skills/agent-organizer/SKILL.md +92 -126
  49. package/.agent/skills/agentic-patterns/SKILL.md +0 -70
  50. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +126 -160
  51. package/.agent/skills/api-patterns/SKILL.md +123 -215
  52. package/.agent/skills/api-security-auditor/SKILL.md +143 -177
  53. package/.agent/skills/app-builder/SKILL.md +326 -50
  54. package/.agent/skills/app-builder/templates/SKILL.md +13 -15
  55. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
  56. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
  57. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
  58. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
  59. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
  60. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
  61. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
  62. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
  63. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
  64. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
  65. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
  66. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
  67. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
  68. package/.agent/skills/appflow-wireframe/SKILL.md +87 -121
  69. package/.agent/skills/architecture/SKILL.md +82 -252
  70. package/.agent/skills/authentication-best-practices/SKILL.md +139 -173
  71. package/.agent/skills/bash-linux/SKILL.md +120 -154
  72. package/.agent/skills/behavioral-modes/SKILL.md +8 -69
  73. package/.agent/skills/brainstorming/SKILL.md +428 -104
  74. package/.agent/skills/building-native-ui/SKILL.md +143 -174
  75. package/.agent/skills/clean-code/SKILL.md +323 -360
  76. package/.agent/skills/code-review-checklist/SKILL.md +0 -62
  77. package/.agent/skills/config-validator/SKILL.md +107 -141
  78. package/.agent/skills/csharp-developer/SKILL.md +468 -528
  79. package/.agent/skills/database-design/SKILL.md +104 -369
  80. package/.agent/skills/deployment-procedures/SKILL.md +111 -145
  81. package/.agent/skills/devops-engineer/SKILL.md +295 -332
  82. package/.agent/skills/devops-incident-responder/SKILL.md +79 -113
  83. package/.agent/skills/doc.md +5 -5
  84. package/.agent/skills/documentation-templates/SKILL.md +19 -63
  85. package/.agent/skills/edge-computing/SKILL.md +123 -157
  86. package/.agent/skills/extract-design-system/SKILL.md +100 -134
  87. package/.agent/skills/framer-motion-expert/SKILL.md +111 -855
  88. package/.agent/skills/frontend-design/SKILL.md +151 -499
  89. package/.agent/skills/game-design-expert/SKILL.md +71 -105
  90. package/.agent/skills/game-engineering-expert/SKILL.md +88 -122
  91. package/.agent/skills/geo-fundamentals/SKILL.md +89 -124
  92. package/.agent/skills/github-operations/SKILL.md +279 -314
  93. package/.agent/skills/gsap-expert/SKILL.md +119 -826
  94. package/.agent/skills/i18n-localization/SKILL.md +104 -138
  95. package/.agent/skills/intelligent-routing/SKILL.md +159 -127
  96. package/.agent/skills/lint-and-validate/SKILL.md +8 -52
  97. package/.agent/skills/llm-engineering/SKILL.md +344 -357
  98. package/.agent/skills/local-first/SKILL.md +120 -154
  99. package/.agent/skills/mcp-builder/SKILL.md +84 -118
  100. package/.agent/skills/mobile-design/SKILL.md +213 -219
  101. package/.agent/skills/motion-engineering/SKILL.md +184 -0
  102. package/.agent/skills/nextjs-react-expert/SKILL.md +99 -698
  103. package/.agent/skills/nodejs-best-practices/SKILL.md +498 -559
  104. package/.agent/skills/observability/SKILL.md +293 -330
  105. package/.agent/skills/parallel-agents/SKILL.md +88 -122
  106. package/.agent/skills/performance-profiling/SKILL.md +217 -254
  107. package/.agent/skills/plan-writing/SKILL.md +84 -118
  108. package/.agent/skills/platform-engineer/SKILL.md +89 -123
  109. package/.agent/skills/playwright-best-practices/SKILL.md +128 -162
  110. package/.agent/skills/powershell-windows/SKILL.md +112 -146
  111. package/.agent/skills/python-patterns/SKILL.md +7 -35
  112. package/.agent/skills/python-pro/SKILL.md +148 -754
  113. package/.agent/skills/react-specialist/SKILL.md +123 -827
  114. package/.agent/skills/readme-builder/SKILL.md +15 -85
  115. package/.agent/skills/realtime-patterns/SKILL.md +269 -304
  116. package/.agent/skills/red-team-tactics/SKILL.md +10 -51
  117. package/.agent/skills/rust-pro/SKILL.md +623 -701
  118. package/.agent/skills/seo-fundamentals/SKILL.md +120 -154
  119. package/.agent/skills/server-management/SKILL.md +156 -190
  120. package/.agent/skills/shadcn-ui-expert/SKILL.md +172 -206
  121. package/.agent/skills/skill-creator/SKILL.md +18 -58
  122. package/.agent/skills/sql-pro/SKILL.md +579 -633
  123. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +28 -68
  124. package/.agent/skills/swiftui-expert/SKILL.md +142 -176
  125. package/.agent/skills/systematic-debugging/SKILL.md +84 -118
  126. package/.agent/skills/tailwind-patterns/SKILL.md +516 -576
  127. package/.agent/skills/tdd-workflow/SKILL.md +103 -137
  128. package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
  129. package/.agent/skills/testing-patterns/SKILL.md +512 -573
  130. package/.agent/skills/trend-researcher/SKILL.md +30 -71
  131. package/.agent/skills/ui-ux-pro-max/SKILL.md +0 -41
  132. package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
  133. package/.agent/skills/vue-expert/SKILL.md +127 -866
  134. package/.agent/skills/vulnerability-scanner/SKILL.md +354 -269
  135. package/.agent/skills/web-accessibility-auditor/SKILL.md +159 -193
  136. package/.agent/skills/web-design-guidelines/SKILL.md +17 -61
  137. package/.agent/skills/webapp-testing/SKILL.md +111 -145
  138. package/.agent/skills/whimsy-injector/SKILL.md +58 -132
  139. package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
  140. package/.agent/workflows/api-tester.md +151 -151
  141. package/.agent/workflows/audit.md +127 -138
  142. package/.agent/workflows/brainstorm.md +110 -110
  143. package/.agent/workflows/changelog.md +112 -112
  144. package/.agent/workflows/create.md +124 -124
  145. package/.agent/workflows/debug.md +165 -189
  146. package/.agent/workflows/deploy.md +180 -189
  147. package/.agent/workflows/enhance.md +128 -151
  148. package/.agent/workflows/fix.md +114 -135
  149. package/.agent/workflows/generate.md +12 -4
  150. package/.agent/workflows/migrate.md +160 -160
  151. package/.agent/workflows/orchestrate.md +168 -168
  152. package/.agent/workflows/performance-benchmarker.md +114 -123
  153. package/.agent/workflows/plan.md +173 -173
  154. package/.agent/workflows/preview.md +80 -80
  155. package/.agent/workflows/refactor.md +161 -183
  156. package/.agent/workflows/review-ai.md +101 -129
  157. package/.agent/workflows/review.md +116 -116
  158. package/.agent/workflows/session.md +94 -94
  159. package/.agent/workflows/status.md +79 -79
  160. package/.agent/workflows/strengthen-skills.md +138 -139
  161. package/.agent/workflows/swarm.md +179 -179
  162. package/.agent/workflows/test.md +189 -211
  163. package/.agent/workflows/tribunal-backend.md +93 -113
  164. package/.agent/workflows/tribunal-database.md +94 -115
  165. package/.agent/workflows/tribunal-frontend.md +95 -118
  166. package/.agent/workflows/tribunal-full.md +92 -133
  167. package/.agent/workflows/tribunal-mobile.md +94 -119
  168. package/.agent/workflows/tribunal-performance.md +109 -133
  169. package/.agent/workflows/ui-ux-pro-max.md +122 -143
  170. package/package.json +1 -1
  171. package/.agent/skills/api-patterns/api-style.md +0 -42
  172. package/.agent/skills/api-patterns/auth.md +0 -24
  173. package/.agent/skills/api-patterns/documentation.md +0 -26
  174. package/.agent/skills/api-patterns/graphql.md +0 -41
  175. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  176. package/.agent/skills/api-patterns/response.md +0 -37
  177. package/.agent/skills/api-patterns/rest.md +0 -40
  178. package/.agent/skills/api-patterns/security-testing.md +0 -122
  179. package/.agent/skills/api-patterns/trpc.md +0 -41
  180. package/.agent/skills/api-patterns/versioning.md +0 -22
  181. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  182. package/.agent/skills/app-builder/feature-building.md +0 -53
  183. package/.agent/skills/app-builder/project-detection.md +0 -34
  184. package/.agent/skills/app-builder/scaffolding.md +0 -118
  185. package/.agent/skills/app-builder/tech-stack.md +0 -40
  186. package/.agent/skills/architecture/context-discovery.md +0 -43
  187. package/.agent/skills/architecture/examples.md +0 -94
  188. package/.agent/skills/architecture/pattern-selection.md +0 -68
  189. package/.agent/skills/architecture/patterns-reference.md +0 -50
  190. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  191. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
  192. package/.agent/skills/database-design/database-selection.md +0 -43
  193. package/.agent/skills/database-design/indexing.md +0 -39
  194. package/.agent/skills/database-design/migrations.md +0 -48
  195. package/.agent/skills/database-design/optimization.md +0 -36
  196. package/.agent/skills/database-design/orm-selection.md +0 -30
  197. package/.agent/skills/database-design/schema-design.md +0 -56
  198. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  199. package/.agent/skills/frontend-design/color-system.md +0 -329
  200. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  201. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  202. package/.agent/skills/frontend-design/typography-system.md +0 -363
  203. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  204. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  205. package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
  206. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  207. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  208. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  209. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  210. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  211. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  212. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  213. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  214. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  215. package/.agent/skills/mobile-design/platform-android.md +0 -666
  216. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  217. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  218. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  219. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  220. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  221. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  222. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  223. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  224. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  225. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  226. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
@@ -1,115 +1,94 @@
1
- ---
2
- description: Database-specific Tribunal. Runs Logic + Security + SQL reviewers. Use for Prisma queries, raw SQL, schema migrations, ORM operations, and database transaction code.
3
- ---
4
-
5
- # /tribunal-database — Database Code Audit
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## When to Use /tribunal-database
12
-
13
- | Use `/tribunal-database` when... | Use something else when... |
14
- |:---|:---|
15
- | Prisma queries and schema | Frontend queries → `/tribunal-frontend` |
16
- | Raw SQL with pg/mysql2/better-sqlite3 | API routes calling DB → `/tribunal-backend` |
17
- | Database migrations | Full audit → `/tribunal-full` |
18
- | ORM schema changes | |
19
- | Transaction boundaries | |
20
-
21
- ---
22
-
23
- ## 3 Active Reviewers (All Run Simultaneously)
24
-
25
- ### logic-reviewer
26
- - Prisma methods that don't exist (`findOne` was removed — use `findUnique`)
27
- - Transaction that should be `$transaction` but isn't
28
- - Pagination query missing total count (returns wrong metadata)
29
- - `.findMany()` with no `take` limit (unbounded query)
30
-
31
- ### security-auditor
32
- - SQL injection via `$queryRaw` with template literals and user input
33
- - Row-level security bypass (no WHERE clause on user-scoped query)
34
- - Mass assignment via `prisma.user.update({ data: req.body })` (unrestricted)
35
- - Prisma `$executeRaw` with string interpolation
36
-
37
- ### sql-reviewer
38
- - N+1 pattern (loop with prisma query inside)
39
- - Foreign key columns without `@@index`
40
- - No index on ORDER BY column for large tables
41
- - Unscoped UPDATE/DELETE without WHERE clause
42
- - Missing rollback in raw SQL catch block
43
- - Expand vs contract migration not followed
44
-
45
- ---
46
-
47
- ## Verdict System
48
-
49
- ```
50
- If ANY reviewer → ❌ REJECTED: fix before Human Gate
51
- If any reviewer → ⚠️ WARNING: proceed with flagged items
52
- If all reviewers → ✅ APPROVED: Human Gate
53
- ```
54
-
55
- ---
56
-
57
- ## Output Format
58
-
59
- ```
60
- ━━━ Tribunal Database ━━━━━━━━━━━━━━━━━━━━
61
-
62
- logic-reviewer: APPROVED
63
- security-auditor: REJECTED
64
- sql-reviewer: ⚠️ WARNING
65
-
66
- ━━━ VERDICT: ❌ REJECTED ━━━━━━━━━━━━━━━━━
67
-
68
- Blockers:
69
- - security-auditor: [CRITICAL] SQL injection via $queryRaw at src/lib/db.ts:34
70
- Code: await prisma.$queryRaw`SELECT * WHERE email = '${email}'`
71
- Fix: await prisma.$queryRaw`SELECT * WHERE email = ${email}` (Prisma auto-parameterizes)
72
-
73
- Warnings:
74
- - sql-reviewer: [MEDIUM] N+1 detected posts fetched inside user loop at src/lib/feed.ts:56
75
- Fix: Use include: { posts: true } in findMany() instead of for-loop fetches
76
- ```
77
-
78
- ---
79
-
80
- ## Database-Specific Hallucination Traps (Common LLM Mistakes)
81
-
82
- ```typescript
83
- // ❌ Prisma: findOne was REMOVED — doesn't exist in any version
84
- const user = await prisma.user.findOne({ where: { id } });
85
- // ✅ Correct
86
- const user = await prisma.user.findUnique({ where: { id } });
87
-
88
- // ❌ Prisma: upsertMany doesn't exist
89
- await prisma.product.upsertMany({ data: products }); // Doesn't exist
90
- // Use createMany or transaction with multiple upserts
91
- await prisma.$transaction(products.map(p => prisma.product.upsert({ ... })));
92
-
93
- // Migration fails silently: adding NOT NULL column to populated table
94
- ALTER TABLE users ADD COLUMN phone VARCHAR(20) NOT NULL; // Error on existing rows
95
- // ✅ Always add nullable first, backfill, then add constraint
96
-
97
- // ❌ Missing rollback in raw SQL
98
- try {
99
- await db.query('BEGIN');
100
- await db.query('UPDATE ...');
101
- } catch (e) {
102
- // Missing: await db.query('ROLLBACK');
103
- }
104
- ```
105
-
106
- ---
107
-
108
- ## Usage Examples
109
-
110
- ```
111
- /tribunal-database the createOrder function with Stripe idempotency
112
- /tribunal-database the user registration with email uniqueness check
113
- /tribunal-database the migration file adding phoneNumber to users
114
- /tribunal-database the paginated product query with category filter
115
- ```
1
+ ---
2
+ description: Database-specific Tribunal. Runs Logic + Security + SQL reviewers. Use for Prisma queries, raw SQL, schema migrations, ORM operations, and database transaction code.
3
+ ---
4
+
5
+ # /tribunal-database — Database Code Audit
6
+
7
+ $ARGUMENTS
8
+
9
+ ---
10
+
11
+ ## When to Use /tribunal-database
12
+
13
+ |Use `/tribunal-database` when...|Use something else when...|
14
+ |:---|:---|
15
+ |Prisma queries and schema|Frontend queries → `/tribunal-frontend`|
16
+ |Raw SQL with pg/mysql2/better-sqlite3|API routes calling DB → `/tribunal-backend`|
17
+ |Database migrations|Full audit → `/tribunal-full`|
18
+ |ORM schema changes||
19
+ |Transaction boundaries||
20
+
21
+ ---
22
+
23
+ ## 3 Active Reviewers (All Run Simultaneously)
24
+
25
+ ### logic-reviewer
26
+ - Prisma methods that don't exist (`findOne` was removed — use `findUnique`)
27
+ - Transaction that should be `$transaction` but isn't
28
+ - Pagination query missing total count (returns wrong metadata)
29
+ - `.findMany()` with no `take` limit (unbounded query)
30
+
31
+ ### security-auditor
32
+ - SQL injection via `$queryRaw` with template literals and user input
33
+ - Row-level security bypass (no WHERE clause on user-scoped query)
34
+ - Mass assignment via `prisma.user.update({ data: req.body })` (unrestricted)
35
+ - Prisma `$executeRaw` with string interpolation
36
+
37
+ ### sql-reviewer
38
+ - N+1 pattern (loop with prisma query inside)
39
+ - Foreign key columns without `@@index`
40
+ - No index on ORDER BY column for large tables
41
+ - Unscoped UPDATE/DELETE without WHERE clause
42
+ - Missing rollback in raw SQL catch block
43
+ - Expand vs contract migration not followed
44
+
45
+ ---
46
+
47
+ ## Verdict System
48
+
49
+ ```
50
+ If ANY reviewer → ❌ REJECTED: fix before Human Gate
51
+ If any reviewer → ⚠️ WARNING: proceed with flagged items
52
+ If all reviewers → ✅ APPROVED: Human Gate
53
+ ```
54
+
55
+ ---
56
+
57
+ ---
58
+
59
+ ## Database-Specific Hallucination Traps (Common LLM Mistakes)
60
+
61
+ ```typescript
62
+ // ❌ Prisma: findOne was REMOVED — doesn't exist in any version
63
+ const user = await prisma.user.findOne({ where: { id } });
64
+ // ✅ Correct
65
+ const user = await prisma.user.findUnique({ where: { id } });
66
+
67
+ // ❌ Prisma: upsertMany doesn't exist
68
+ await prisma.product.upsertMany({ data: products }); // Doesn't exist
69
+ // Use createMany or transaction with multiple upserts
70
+ await prisma.$transaction(products.map(p => prisma.product.upsert({ ... })));
71
+
72
+ // ❌ Migration fails silently: adding NOT NULL column to populated table
73
+ ALTER TABLE users ADD COLUMN phone VARCHAR(20) NOT NULL; // Error on existing rows
74
+ // Always add nullable first, backfill, then add constraint
75
+
76
+ // ❌ Missing rollback in raw SQL
77
+ try {
78
+ await db.query('BEGIN');
79
+ await db.query('UPDATE ...');
80
+ } catch (e) {
81
+ // Missing: await db.query('ROLLBACK');
82
+ }
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Usage Examples
88
+
89
+ ```
90
+ /tribunal-database the createOrder function with Stripe idempotency
91
+ /tribunal-database the user registration with email uniqueness check
92
+ /tribunal-database the migration file adding phoneNumber to users
93
+ /tribunal-database the paginated product query with category filter
94
+ ```
@@ -1,118 +1,95 @@
1
- ---
2
- description: Frontend and React specific Tribunal. Runs Logic + Security + Frontend + Type Safety reviewers. Use for React components, hooks, UI code, Next.js pages, Server Components, and Client Components.
3
- ---
4
-
5
- # /tribunal-frontend — Frontend Code Audit
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## When to Use /tribunal-frontend
12
-
13
- | Use `/tribunal-frontend` when... | Use something else when... |
14
- |:---|:---|
15
- | React components (Server or Client) | Backend routes → `/tribunal-backend` |
16
- | Custom hooks | Database queries → `/tribunal-database` |
17
- | Next.js pages and layouts | Mobile (React Native) → `/tribunal-mobile` |
18
- | UI state management | Maximum coverage → `/tribunal-full` |
19
- | Form handling with Server Actions | |
20
-
21
- ---
22
-
23
- ## 4 Active Reviewers (All Run Simultaneously)
24
-
25
- ### logic-reviewer
26
- - Hallucinated React 19 hooks (non-existent hook names)
27
- - useFormState called instead of useActionState (React 19 rename)
28
- - useEffect missing dependencies (stale closure)
29
- - Multiple setStates that should be batched (React 19 auto-batches in most cases)
30
-
31
- ### security-auditor
32
- - `dangerouslySetInnerHTML` with user-controlled content (XSS)
33
- - eval/Function() calls in component code
34
- - Exposing sensitive data in client-rendered output
35
-
36
- ### frontend-reviewer
37
- - useState/useReducer in Server Components (no client runtime!)
38
- - 'use client' directive missing on components using hooks
39
- - Missing 'use server' on Server Actions
40
- - cookies()/headers()/params not awaited in Next.js 15
41
- - useEffect not cleaned up (subscription leaks)
42
- - Keys not unique in list rendering (using index as key)
43
- - Direct DOM mutations (document.querySelector inside React)
44
-
45
- ### type-safety-reviewer
46
- - Props typed as `any`
47
- - Event handlers typed as `any` (use `React.MouseEvent<HTMLButtonElement>`)
48
- - Server Component async props typed without Promise<> (Next.js 15 params)
49
- - No explicit return type on custom hooks
50
-
51
- ---
52
-
53
- ## Verdict System
54
-
55
- ```
56
- If ANY reviewer → ❌ REJECTED: fix before Human Gate
57
- If any reviewer → ⚠️ WARNING: proceed with flagged items
58
- If all reviewers → ✅ APPROVED: Human Gate
59
- ```
60
-
61
- ---
62
-
63
- ## Output Format
64
-
65
- ```
66
- ━━━ Tribunal Frontend ━━━━━━━━━━━━━━━━━━━━━
67
-
68
- logic-reviewer: APPROVED
69
- security-auditor: ✅ APPROVED
70
- frontend-reviewer: ❌ REJECTED
71
- type-safety-reviewer: ⚠️ WARNING
72
-
73
- ━━━ VERDICT: REJECTED ━━━━━━━━━━━━━━━━━
74
-
75
- Blockers:
76
- - frontend-reviewer: [HIGH] useState() in Server Component at src/app/dashboard/page.tsx:12
77
- Fix: Move state to a Client Component ('use client')
78
- - frontend-reviewer: [HIGH] cookies() not awaited at src/app/api/auth/route.ts:8
79
- Fix: const cookieStore = await cookies();
80
-
81
- Warnings:
82
- - type-safety-reviewer: [MEDIUM] onClick handler typed as 'any' at line 34
83
- Fix: onClick: (e: React.MouseEvent<HTMLButtonElement>) => void
84
- ```
85
-
86
- ---
87
-
88
- ## Frontend-Specific Hallucination Traps (Common LLM Mistakes)
89
-
90
- ```typescript
91
- // React 19: useFormState renamed to useActionState
92
- import { useFormState } from 'react'; // useFormState no longer exists in React 19
93
- import { useActionState } from 'react'; // Correct React 19 name
94
-
95
- // ❌ Next.js 15: params and searchParams must be awaited
96
- const { id } = params; // WRONG — params is a Promise in Next.js 15
97
- const { id } = await params; // CORRECT
98
-
99
- // ❌ Hook not valid in Server Component
100
- export default async function Page() {
101
- const [count, setCount] = useState(0); // Server Components cannot use hooks
102
- }
103
-
104
- // ❌ Server Action missing 'use server'
105
- async function saveData(formData: FormData) { // Without 'use server' — not a Server Action
106
- 'use server'; // Must be FIRST line
107
- ```
108
-
109
- ---
110
-
111
- ## Usage Examples
112
-
113
- ```
114
- /tribunal-frontend the ProductCard component with server-fetched data
115
- /tribunal-frontend the useAuth custom hook implementation
116
- /tribunal-frontend the checkout page with Server Action form
117
- /tribunal-frontend the DashboardLayout with Suspense and loading states
118
- ```
1
+ ---
2
+ description: Frontend and React specific Tribunal. Runs Logic + Security + Frontend + Type Safety reviewers. Use for React components, hooks, UI code, Next.js pages, Server Components, and Client Components.
3
+ ---
4
+
5
+ # /tribunal-frontend — Frontend Code Audit
6
+
7
+ $ARGUMENTS
8
+
9
+ ---
10
+
11
+ ## When to Use /tribunal-frontend
12
+
13
+ |Use `/tribunal-frontend` when...|Use something else when...|
14
+ |:---|:---|
15
+ |React components (Server or Client)|Backend routes → `/tribunal-backend`|
16
+ |Custom hooks|Database queries → `/tribunal-database`|
17
+ |Next.js pages and layouts|Mobile (React Native) → `/tribunal-mobile`|
18
+ |UI state management|Maximum coverage → `/tribunal-full`|
19
+ |Form handling with Server Actions||
20
+
21
+ ---
22
+
23
+ ## 4 Active Reviewers (All Run Simultaneously)
24
+
25
+ ### logic-reviewer
26
+ - Hallucinated React 19 hooks (non-existent hook names)
27
+ - useFormState called instead of useActionState (React 19 rename)
28
+ - useEffect missing dependencies (stale closure)
29
+ - Multiple setStates that should be batched (React 19 auto-batches in most cases)
30
+
31
+ ### security-auditor
32
+ - `dangerouslySetInnerHTML` with user-controlled content (XSS)
33
+ - eval/Function() calls in component code
34
+ - Exposing sensitive data in client-rendered output
35
+
36
+ ### frontend-reviewer
37
+ - useState/useReducer in Server Components (no client runtime!)
38
+ - 'use client' directive missing on components using hooks
39
+ - Missing 'use server' on Server Actions
40
+ - cookies()/headers()/params not awaited in Next.js 15
41
+ - useEffect not cleaned up (subscription leaks)
42
+ - Keys not unique in list rendering (using index as key)
43
+ - Direct DOM mutations (document.querySelector inside React)
44
+
45
+ ### type-safety-reviewer
46
+ - Props typed as `any`
47
+ - Event handlers typed as `any` (use `React.MouseEvent<HTMLButtonElement>`)
48
+ - Server Component async props typed without Promise<> (Next.js 15 params)
49
+ - No explicit return type on custom hooks
50
+
51
+ ---
52
+
53
+ ## Verdict System
54
+
55
+ ```
56
+ If ANY reviewer → ❌ REJECTED: fix before Human Gate
57
+ If any reviewer → ⚠️ WARNING: proceed with flagged items
58
+ If all reviewers → ✅ APPROVED: Human Gate
59
+ ```
60
+
61
+ ---
62
+
63
+ ---
64
+
65
+ ## Frontend-Specific Hallucination Traps (Common LLM Mistakes)
66
+
67
+ ```typescript
68
+ // ❌ React 19: useFormState renamed to useActionState
69
+ import { useFormState } from 'react'; // useFormState no longer exists in React 19
70
+ import { useActionState } from 'react'; // Correct React 19 name
71
+
72
+ // ❌ Next.js 15: params and searchParams must be awaited
73
+ const { id } = params; // WRONG — params is a Promise in Next.js 15
74
+ const { id } = await params; // CORRECT
75
+
76
+ // Hook not valid in Server Component
77
+ export default async function Page() {
78
+ const [count, setCount] = useState(0); // Server Components cannot use hooks
79
+ }
80
+
81
+ // ❌ Server Action missing 'use server'
82
+ async function saveData(formData: FormData) { // Without 'use server' not a Server Action
83
+ 'use server'; // Must be FIRST line
84
+ ```
85
+
86
+ ---
87
+
88
+ ## Usage Examples
89
+
90
+ ```
91
+ /tribunal-frontend the ProductCard component with server-fetched data
92
+ /tribunal-frontend the useAuth custom hook implementation
93
+ /tribunal-frontend the checkout page with Server Action form
94
+ /tribunal-frontend the DashboardLayout with Suspense and loading states
95
+ ```
@@ -1,133 +1,92 @@
1
- ---
2
- description: Run ALL 11 Tribunal reviewer agents simultaneously. Maximum hallucination coverage. Use before merging any AI-generated code, before production deployments, or when maximum confidence is required.
3
- ---
4
-
5
- # /tribunal-full — Complete 11-Reviewer Audit
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## When to Use /tribunal-full
12
-
13
- | Use `/tribunal-full` when... | Use targeted tribunal when... |
14
- |:---|:---|
15
- | Before merging any AI-generated code | Backend only → `/tribunal-backend` |
16
- | Before production deployment | Frontend only → `/tribunal-frontend` |
17
- | Security-critical feature review | DB only → `/tribunal-database` |
18
- | Code affects auth, payments, or PII | |
19
- | Maximum confidence required | |
20
-
21
- ---
22
-
23
- ## 11 Reviewers — All Active Simultaneously
24
-
25
- ```
26
- Tier 1: Always active (universal concerns)
27
- ├── logic-reviewer → Hallucinated methods, impossible logic, undefined refs
28
- └── security-auditor → OWASP 2025, injection, JWT, SSRF, IDOR
29
-
30
- Tier 2: Code quality
31
- ├── dependency-reviewer → Fabricated packages, supply chain, version compatibility
32
- ├── type-safety-reviewer → 'any' epidemic, Zod parse vs cast, unguarded access
33
- └── sql-reviewer → Injection, N+1, missing indexes, unscoped mutations
34
-
35
- Tier 3: Domain-specific
36
- ├── frontend-reviewer → React 19 APIs, RSC violations, hook rules, hydration
37
- ├── performance-reviewer → 2026 CWV targets, re-render cascades, memory leaks
38
- ├── mobile-reviewer → Reanimated thread safety, FlashList, safe area insets
39
- ├── ai-code-reviewer → Model name hallucinations, prompt injection, cost explosion
40
- ├── test-coverage-reviewer → Happy path only, brittle selectors, missing edge cases
41
- └── accessibility-reviewer → WCAG 2.2 AA, ARIA misuse, focus management, live regions
42
- ```
43
-
44
- ---
45
-
46
- ## Active Reviewers by Code Type
47
-
48
- Not all 11 reviewers produce meaningful findings on all code types. Active reviewers detect their first finding immediately — inactive reviewers auto-pass with "N/A for this code type."
49
-
50
- | Code Under Review | Critical Reviewers |
51
- |:---|:---|
52
- | REST API route | logic, security, dependency, type-safety, sql |
53
- | React component | logic, frontend, accessibility, type-safety |
54
- | Database query | logic, security, sql |
55
- | AI LLM integration | logic, security, ai-code, dependency |
56
- | Test file | test-coverage, logic |
57
- | React Native / Expo | mobile, logic, security, performance |
58
- | Next.js page | logic, frontend, performance, accessibility |
59
- | Auth/JWT code | security, logic, type-safety |
60
-
61
- ---
62
-
63
- ## Verdict Aggregation
64
-
65
- ```
66
- All 11 verdicts are collected. Aggregated result:
67
-
68
- If ANY reviewer = ❌ REJECTED → Global verdict: ❌ REJECTED (must fix before Human Gate)
69
- If any reviewer = ⚠️ WARNING → Global verdict: ⚠️ WARNINGS (proceed with attention)
70
- If all reviewers = ✅ APPROVED → Global verdict: ✅ APPROVED (proceed to Human Gate)
71
- ```
72
-
73
- ---
74
-
75
- ## Output Format
76
-
77
- ```
78
- ━━━ Tribunal Full — All 11 Reviewers ━━━━━━━━━━━━━━
79
-
80
- logic-reviewer: ✅ APPROVED
81
- security-auditor: ❌ REJECTED (1 critical)
82
- dependency-reviewer: ⚠️ WARNING (1 medium)
83
- type-safety-reviewer: APPROVED
84
- sql-reviewer: APPROVED
85
- frontend-reviewer: ✅ APPROVED
86
- performance-reviewer: ⚠️ WARNING (1 low)
87
- mobile-reviewer: N/A — no mobile code
88
- ai-code-reviewer: N/A no AI API calls
89
- test-coverage-reviewer: REJECTED (missing error path)
90
- accessibility-reviewer: ⚠️ WARNING (1 medium)
91
-
92
- ━━━ GLOBAL VERDICT: ❌ REJECTED ━━━━━━━━━━━━━━━━━━━
93
-
94
- Blockers (must fix before Human Gate):
95
- 1. security-auditor: JWT verify missing { algorithms } option in src/lib/auth.ts:45
96
- 2. test-coverage-reviewer: POST /api/orders missing error path test
97
-
98
- Warnings (flagged but not blocking):
99
- - dependency-reviewer: 'zod' version mismatch — package uses 3.22.4, imports from 3.23.0-beta
100
- - performance-reviewer: LCP image missing priority={true}
101
- - accessibility-reviewer: icon button at line 67 missing aria-label
102
-
103
- ━━━ Human Gate ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
104
- Approve after blockers resolved? Y = proceed | N = discard | R = revise
105
- ```
106
-
107
- ---
108
-
109
- ## Retry Protocol
110
-
111
- When code is rejected:
112
-
113
- ```
114
- Attempt 1: Maker revises with reviewer feedback
115
- Attempt 2: Maker revises with stricter constraints + full reviewer context
116
- Attempt 3: Maker revises with maximum constraints + full context dump
117
-
118
- After 3 failed attempts:
119
- → HALT
120
- → Report to human with full failure history
121
- → DO NOT retry silently
122
- ```
123
-
124
- ---
125
-
126
- ## Cross-Workflow Navigation
127
-
128
- | Full Tribunal finds... | Go to |
129
- |:---|:---|
130
- | Backend security issues | Also run `/review` for deep pattern analysis |
131
- | Tests incomplete | `/test` to write missing cases |
132
- | Performance warnings | `/tribunal-performance` for full analysis |
133
- | After all blockers resolved | Re-run `/tribunal-full` before Human Gate |
1
+ ---
2
+ description: Run ALL 11 Tribunal reviewer agents simultaneously. Maximum hallucination coverage. Use before merging any AI-generated code, before production deployments, or when maximum confidence is required.
3
+ ---
4
+
5
+ # /tribunal-full — Complete 11-Reviewer Audit
6
+
7
+ $ARGUMENTS
8
+
9
+ ---
10
+
11
+ ## When to Use /tribunal-full
12
+
13
+ |Use `/tribunal-full` when...|Use targeted tribunal when...|
14
+ |:---|:---|
15
+ |Before merging any AI-generated code|Backend only → `/tribunal-backend`|
16
+ |Before production deployment|Frontend only → `/tribunal-frontend`|
17
+ |Security-critical feature review|DB only → `/tribunal-database`|
18
+ |Code affects auth, payments, or PII||
19
+ |Maximum confidence required||
20
+
21
+ ---
22
+
23
+ ## 11 Reviewers — All Active Simultaneously
24
+
25
+ ```
26
+ Tier 1: Always active (universal concerns)
27
+ ├── logic-reviewer → Hallucinated methods, impossible logic, undefined refs
28
+ └── security-auditor → OWASP 2025, injection, JWT, SSRF, IDOR
29
+
30
+ Tier 2: Code quality
31
+ ├── dependency-reviewer → Fabricated packages, supply chain, version compatibility
32
+ ├── type-safety-reviewer → 'any' epidemic, Zod parse vs cast, unguarded access
33
+ └── sql-reviewer → Injection, N+1, missing indexes, unscoped mutations
34
+
35
+ Tier 3: Domain-specific
36
+ ├── frontend-reviewer → React 19 APIs, RSC violations, hook rules, hydration
37
+ ├── performance-reviewer → 2026 CWV targets, re-render cascades, memory leaks
38
+ ├── mobile-reviewer → Reanimated thread safety, FlashList, safe area insets
39
+ ├── ai-code-reviewer → Model name hallucinations, prompt injection, cost explosion
40
+ ├── test-coverage-reviewer → Happy path only, brittle selectors, missing edge cases
41
+ └── accessibility-reviewer → WCAG 2.2 AA, ARIA misuse, focus management, live regions
42
+ ```
43
+
44
+ ---
45
+
46
+ ## Active Reviewers by Code Type
47
+
48
+ Not all 11 reviewers produce meaningful findings on all code types. Active reviewers detect their first finding immediately — inactive reviewers auto-pass with "N/A for this code type."
49
+
50
+ |Code Under Review|Critical Reviewers|
51
+ |:---|:---|
52
+ |REST API route|logic, security, dependency, type-safety, sql|
53
+ |React component|logic, frontend, accessibility, type-safety|
54
+ |Database query|logic, security, sql|
55
+ |AI LLM integration|logic, security, ai-code, dependency|
56
+ |Test file|test-coverage, logic|
57
+ |React Native / Expo|mobile, logic, security, performance|
58
+ |Next.js page|logic, frontend, performance, accessibility|
59
+ |Auth/JWT code|security, logic, type-safety|
60
+
61
+ ---
62
+
63
+ ## Verdict Aggregation
64
+
65
+ ```
66
+ All 11 verdicts are collected. Aggregated result:
67
+
68
+ If ANY reviewer = ❌ REJECTED → Global verdict: ❌ REJECTED (must fix before Human Gate)
69
+ If any reviewer = ⚠️ WARNING → Global verdict: ⚠️ WARNINGS (proceed with attention)
70
+ If all reviewers = ✅ APPROVED → Global verdict: ✅ APPROVED (proceed to Human Gate)
71
+ ```
72
+
73
+ ---
74
+
75
+ ---
76
+
77
+ ## Retry Protocol
78
+
79
+ When code is rejected:
80
+
81
+ ```
82
+ Attempt 1: Maker revises with reviewer feedback
83
+ Attempt 2: Maker revises with stricter constraints + full reviewer context
84
+ Attempt 3: Maker revises with maximum constraints + full context dump
85
+
86
+ After 3 failed attempts:
87
+ HALT
88
+ Report to human with full failure history
89
+ DO NOT retry silently
90
+ ```
91
+
92
+ ---