tribunal-kit 2.4.5 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/.agent/agents/accessibility-reviewer.md +220 -134
  2. package/.agent/agents/ai-code-reviewer.md +233 -129
  3. package/.agent/agents/backend-specialist.md +238 -178
  4. package/.agent/agents/code-archaeologist.md +181 -119
  5. package/.agent/agents/database-architect.md +207 -164
  6. package/.agent/agents/debugger.md +218 -151
  7. package/.agent/agents/dependency-reviewer.md +136 -55
  8. package/.agent/agents/devops-engineer.md +238 -175
  9. package/.agent/agents/documentation-writer.md +221 -137
  10. package/.agent/agents/explorer-agent.md +180 -142
  11. package/.agent/agents/frontend-reviewer.md +194 -80
  12. package/.agent/agents/frontend-specialist.md +237 -188
  13. package/.agent/agents/game-developer.md +52 -184
  14. package/.agent/agents/logic-reviewer.md +149 -78
  15. package/.agent/agents/mobile-developer.md +223 -152
  16. package/.agent/agents/mobile-reviewer.md +195 -79
  17. package/.agent/agents/orchestrator.md +211 -170
  18. package/.agent/agents/penetration-tester.md +174 -131
  19. package/.agent/agents/performance-optimizer.md +203 -139
  20. package/.agent/agents/performance-reviewer.md +211 -108
  21. package/.agent/agents/product-manager.md +162 -108
  22. package/.agent/agents/project-planner.md +162 -142
  23. package/.agent/agents/qa-automation-engineer.md +242 -138
  24. package/.agent/agents/security-auditor.md +194 -170
  25. package/.agent/agents/seo-specialist.md +213 -132
  26. package/.agent/agents/sql-reviewer.md +194 -73
  27. package/.agent/agents/supervisor-agent.md +203 -156
  28. package/.agent/agents/test-coverage-reviewer.md +193 -81
  29. package/.agent/agents/type-safety-reviewer.md +208 -65
  30. package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
  31. package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
  32. package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
  33. package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
  34. package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  35. package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
  36. package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
  37. package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
  38. package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  39. package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
  40. package/.agent/skills/agent-organizer/SKILL.md +126 -132
  41. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +160 -0
  42. package/.agent/skills/api-patterns/SKILL.md +289 -257
  43. package/.agent/skills/api-security-auditor/SKILL.md +177 -0
  44. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +1 -1
  45. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +1 -1
  46. package/.agent/skills/appflow-wireframe/SKILL.md +107 -58
  47. package/.agent/skills/architecture/SKILL.md +331 -200
  48. package/.agent/skills/authentication-best-practices/SKILL.md +173 -0
  49. package/.agent/skills/bash-linux/SKILL.md +154 -215
  50. package/.agent/skills/brainstorming/SKILL.md +104 -210
  51. package/.agent/skills/building-native-ui/SKILL.md +174 -0
  52. package/.agent/skills/clean-code/SKILL.md +360 -206
  53. package/.agent/skills/config-validator/SKILL.md +141 -165
  54. package/.agent/skills/csharp-developer/SKILL.md +528 -107
  55. package/.agent/skills/database-design/SKILL.md +455 -275
  56. package/.agent/skills/deployment-procedures/SKILL.md +145 -188
  57. package/.agent/skills/devops-engineer/SKILL.md +332 -134
  58. package/.agent/skills/devops-incident-responder/SKILL.md +113 -98
  59. package/.agent/skills/edge-computing/SKILL.md +157 -213
  60. package/.agent/skills/extract-design-system/SKILL.md +134 -0
  61. package/.agent/skills/framer-motion-expert/SKILL.md +939 -0
  62. package/.agent/skills/game-design-expert/SKILL.md +105 -0
  63. package/.agent/skills/game-engineering-expert/SKILL.md +122 -0
  64. package/.agent/skills/geo-fundamentals/SKILL.md +124 -215
  65. package/.agent/skills/github-operations/SKILL.md +314 -354
  66. package/.agent/skills/gsap-expert/SKILL.md +901 -0
  67. package/.agent/skills/i18n-localization/SKILL.md +138 -216
  68. package/.agent/skills/intelligent-routing/SKILL.md +127 -139
  69. package/.agent/skills/llm-engineering/SKILL.md +357 -258
  70. package/.agent/skills/local-first/SKILL.md +154 -203
  71. package/.agent/skills/mcp-builder/SKILL.md +118 -224
  72. package/.agent/skills/nextjs-react-expert/SKILL.md +783 -203
  73. package/.agent/skills/nodejs-best-practices/SKILL.md +559 -280
  74. package/.agent/skills/observability/SKILL.md +330 -285
  75. package/.agent/skills/parallel-agents/SKILL.md +122 -181
  76. package/.agent/skills/performance-profiling/SKILL.md +254 -197
  77. package/.agent/skills/plan-writing/SKILL.md +118 -188
  78. package/.agent/skills/platform-engineer/SKILL.md +123 -135
  79. package/.agent/skills/playwright-best-practices/SKILL.md +162 -0
  80. package/.agent/skills/powershell-windows/SKILL.md +146 -230
  81. package/.agent/skills/python-pro/SKILL.md +879 -114
  82. package/.agent/skills/react-specialist/SKILL.md +931 -108
  83. package/.agent/skills/readme-builder/SKILL.md +42 -0
  84. package/.agent/skills/realtime-patterns/SKILL.md +304 -296
  85. package/.agent/skills/rust-pro/SKILL.md +701 -240
  86. package/.agent/skills/seo-fundamentals/SKILL.md +154 -181
  87. package/.agent/skills/server-management/SKILL.md +190 -212
  88. package/.agent/skills/shadcn-ui-expert/SKILL.md +206 -0
  89. package/.agent/skills/skill-creator/SKILL.md +68 -0
  90. package/.agent/skills/sql-pro/SKILL.md +633 -104
  91. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +78 -0
  92. package/.agent/skills/swiftui-expert/SKILL.md +176 -0
  93. package/.agent/skills/systematic-debugging/SKILL.md +118 -186
  94. package/.agent/skills/tailwind-patterns/SKILL.md +576 -232
  95. package/.agent/skills/tdd-workflow/SKILL.md +137 -209
  96. package/.agent/skills/testing-patterns/SKILL.md +573 -205
  97. package/.agent/skills/vue-expert/SKILL.md +964 -119
  98. package/.agent/skills/vulnerability-scanner/SKILL.md +269 -316
  99. package/.agent/skills/web-accessibility-auditor/SKILL.md +193 -0
  100. package/.agent/skills/webapp-testing/SKILL.md +145 -236
  101. package/.agent/workflows/api-tester.md +151 -279
  102. package/.agent/workflows/audit.md +138 -168
  103. package/.agent/workflows/brainstorm.md +110 -146
  104. package/.agent/workflows/changelog.md +112 -144
  105. package/.agent/workflows/create.md +124 -139
  106. package/.agent/workflows/debug.md +189 -196
  107. package/.agent/workflows/deploy.md +189 -153
  108. package/.agent/workflows/enhance.md +151 -139
  109. package/.agent/workflows/fix.md +135 -143
  110. package/.agent/workflows/generate.md +157 -164
  111. package/.agent/workflows/migrate.md +160 -163
  112. package/.agent/workflows/orchestrate.md +168 -151
  113. package/.agent/workflows/performance-benchmarker.md +123 -305
  114. package/.agent/workflows/plan.md +173 -151
  115. package/.agent/workflows/preview.md +80 -137
  116. package/.agent/workflows/refactor.md +183 -153
  117. package/.agent/workflows/review-ai.md +129 -140
  118. package/.agent/workflows/review.md +116 -155
  119. package/.agent/workflows/session.md +94 -154
  120. package/.agent/workflows/status.md +79 -125
  121. package/.agent/workflows/strengthen-skills.md +139 -99
  122. package/.agent/workflows/swarm.md +179 -194
  123. package/.agent/workflows/test.md +211 -166
  124. package/.agent/workflows/tribunal-backend.md +113 -111
  125. package/.agent/workflows/tribunal-database.md +115 -132
  126. package/.agent/workflows/tribunal-frontend.md +118 -115
  127. package/.agent/workflows/tribunal-full.md +133 -136
  128. package/.agent/workflows/tribunal-mobile.md +119 -123
  129. package/.agent/workflows/tribunal-performance.md +133 -152
  130. package/.agent/workflows/ui-ux-pro-max.md +143 -171
  131. package/README.md +11 -15
  132. package/package.json +1 -1
  133. package/.agent/skills/dotnet-core-expert/SKILL.md +0 -103
  134. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  135. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  136. package/.agent/skills/game-development/SKILL.md +0 -236
  137. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  138. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  139. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  140. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  141. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  142. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  143. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  144. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
@@ -1,136 +1,133 @@
1
- ---
2
- description: Run ALL 11 Tribunal reviewer agents simultaneously. Maximum hallucination coverage. Use before merging any AI-generated code.
3
- ---
4
-
5
- # /tribunal-full — Full Panel Review
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- Paste code. All 11 reviewers analyze it simultaneously. Maximum coverage, no domain gaps.
12
-
13
- Use this **before merging any AI-generated code**, or when you're not sure which domain a piece of code sits in.
14
-
15
- ---
16
-
17
- ## When to Use /tribunal-full vs Targeted Tribunals
18
-
19
- | Use `/tribunal-full` when... | Use a targeted tribunal when... |
20
- |---|---|
21
- | Not sure which domain applies | You know it's backend-only → `/tribunal-backend` |
22
- | Cross-domain code (API + DB + UI) | Pure frontend → `/tribunal-frontend` |
23
- | AI-generated code, pre-merge | Pure database queries → `/tribunal-database` |
24
- | Security-critical code path | Mobile-specific → `/tribunal-mobile` |
25
- | "Final check" before shipping | Performance concern only → `/tribunal-performance` |
26
-
27
- ---
28
-
29
- ## Who Runs
30
-
31
- ```
32
- logic-reviewer Hallucinated methods, impossible logic, undefined refs
33
- security-auditor OWASP Top 10, injection, secrets, auth bypass
34
- dependency-reviewer → Imports not found in package.json
35
- type-safety-reviewer → any, unsafe casts, unguarded access
36
- sql-reviewer Injection via interpolation, N+1, invented schema
37
- frontend-reviewer Hooks violations, missing dep arrays, state mutation
38
- performance-reviewer O(n²), blocking I/O, memory allocation anti-patterns
39
- test-coverage-reviewer Tautology tests, no-assertion specs, over-mocking
40
- mobile-reviewer Touch targets, safe areas, keyboard avoidance, image memory
41
- ai-code-reviewer Hallucinated model names, fake params, prompt injection, rate limits
42
- accessibility-reviewer → WCAG violations, missing ARIA, contrast, keyboard navigation
43
- ```
44
-
45
- All 11 run in parallel. You wait for all verdicts before seeing the result.
46
-
47
- ---
48
-
49
- ## Severity Levels
50
-
51
- | Symbol | Severity | Meaning |
52
- |---|---|---|
53
- | `❌ CRITICAL` | Blocking | Must be fixed before code reaches the codebase |
54
- | `❌ HIGH` | Blocking | Likely to cause bugs or security issues in production |
55
- | `⚠️ MEDIUM` | Non-blocking | Should be addressed; review before approving |
56
- | `💬 LOW` | Advisory | Consider fixing; does not block merge |
57
-
58
- **Policy:** Any `CRITICAL` or `HIGH` finding means the verdict is `REJECTED`. Code must be revised.
59
-
60
- ---
61
-
62
- ## Report Format
63
-
64
- ```
65
- ━━━ Full Tribunal Audit ━━━━━━━━━━━━━━━━━━━━━
66
-
67
- logic-reviewer: ✅ APPROVED
68
- security-auditor: ❌ REJECTED
69
- dependency-reviewer: APPROVED
70
- type-safety-reviewer: ⚠️ WARNING
71
- sql-reviewer: ✅ APPROVED
72
- frontend-reviewer: ✅ APPROVED
73
- performance-reviewer: ✅ APPROVED
74
- test-coverage-reviewer: ❌ REJECTED
75
- mobile-reviewer: ✅ APPROVED (N/A — no mobile code)
76
- ai-code-reviewer: ✅ APPROVED (N/A — no LLM calls)
77
- accessibility-reviewer: ✅ APPROVED
78
-
79
- ━━━ Issues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
80
-
81
- security-auditor:
82
- CRITICAL Line 12
83
- SQL injection: db.query(`WHERE id = ${id}`)
84
- Fix: db.query('WHERE id = $1', [id])
85
-
86
- test-coverage-reviewer:
87
- HIGH Line 45-60
88
- Tautology test: expect(fn(x)).toBe(fn(x)) always passes regardless of fn's behavior
89
-
90
- type-safety-reviewer:
91
- ⚠️ MEDIUM — Line 7
92
- Implicit any in parameter: function (data) — add explicit type annotation
93
-
94
- ━━━ Verdict ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
95
-
96
- 2 REJECTED. Fix all CRITICAL and HIGH issues before this code reaches your codebase.
97
- 1 WARNING — review before approving.
98
- 8 APPROVED.
99
- ```
100
-
101
- ---
102
-
103
- ## Retry Protocol
104
-
105
- If code is rejected:
106
-
107
- ```
108
- Attempt 1 → Fix issues from verdicts and resubmit
109
- Attempt 2 → Stricter constraints + specific reviewer feedback
110
- Attempt 3 → Maximum constraints + full context dump
111
- Attempt 4 HALT. Escalate to human with full failure history.
112
- ```
113
-
114
- Hard limit: **3 revisions**. After 3 rejections, the agent stops and reports.
115
-
116
- ---
117
-
118
- ## Cross-Workflow Navigation
119
-
120
- | After seeing findings... | Go to |
121
- |---|---|
122
- | Security findings need a targeted scan | `/audit` for full project-wide security sweep |
123
- | Performance issues found | `/tribunal-performance` for deeper profiling |
124
- | SQL injection pattern found | Check with `/tribunal-database` across all queries |
125
- | Stale or phantom deps found | `/audit` → dependency scan |
126
-
127
- ---
128
-
129
- ## Usage
130
-
131
- ```
132
- /tribunal-full [paste any code]
133
- /tribunal-full before merging
134
- /tribunal-full when you're unsure which domain applies
135
- /tribunal-full the entire auth service
136
- ```
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/Ano mobile code
88
+ ai-code-reviewer: N/Ano 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,123 +1,119 @@
1
- ---
2
- description: Mobile-specific Tribunal. Runs Logic + Security + Mobile reviewers. Use for React Native, Flutter, and responsive web code.
3
- ---
4
-
5
- # /tribunal-mobile — Mobile Code Tribunal
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- This command activates the **Mobile Tribunal** — a focused panel of reviewers covering the specific failure modes of mobile and responsive application code.
12
-
13
- Use this instead of `/tribunal-full` when your code is specifically mobile-domain. It gives faster, more precise feedback than running all 11 reviewers.
14
-
15
- ---
16
-
17
- ## When to Use This vs Other Tribunals
18
-
19
- | Code type | Right tribunal |
20
- |---|---|
21
- | React Native, Flutter, mobile UI | `/tribunal-mobile` ← you are here |
22
- | Pure React (web) components | `/tribunal-frontend` |
23
- | API routes, auth, middleware | `/tribunal-backend` |
24
- | Cross-domain or pre-merge audit | `/tribunal-full` |
25
-
26
- ---
27
-
28
- ## Active Reviewers
29
-
30
- | Reviewer | What It Catches |
31
- |---|---|
32
- | `logic-reviewer` | Hallucinated RN/Flutter APIs, impossible logic, undefined refs |
33
- | `security-auditor` | Hardcoded secrets, insecure storage, OWASP Mobile Top 10 |
34
- | `mobile-reviewer` | Touch targets, safe areas, keyboard avoidance, gesture handling, image optimization |
35
-
36
- ---
37
-
38
- ## What Gets Flagged Real Examples
39
-
40
- | Reviewer | Example Finding | Severity |
41
- |---|---|---|
42
- | logic | Calling a non-existent `Animated.stagger()` method | HIGH |
43
- | security | `AsyncStorage.setItem('token', jwt)` use `expo-secure-store` instead | ⚠️ MEDIUM |
44
- | security | Deeplink handler with no validation of `url` param | ❌ HIGH |
45
- | security | Missing certificate pinning on sensitive API endpoints | ⚠️ MEDIUM |
46
- | mobile | Button `height: 20` — minimum touch target is 44pt (iOS) / 48dp (Android) | ❌ HIGH |
47
- | mobile | Missing `<SafeAreaView>` on root screen component | ❌ HIGH |
48
- | mobile | No `KeyboardAvoidingView` on screen with text inputs | ❌ HIGH |
49
- | mobile | `<Image source={uri}>` with no width/height bounds — memory risk | ⚠️ MEDIUM |
50
- | mobile | No `Platform.OS` guard on platform-specific code | ⚠️ MEDIUM |
51
-
52
- ---
53
-
54
- ## Mobile-Specific Anti-Hallucination Rules
55
-
56
- ```
57
- ❌ Never reference RN APIs not listed in the installed react-native version
58
- Never assume iOS and Android behave identically — always check Platform.OS when needed
59
- ❌ Never use AsyncStorage for sensitive data (tokens, passwords, biometrics)
60
- ❌ Never skip keyboard avoidance on screens with text inputs
61
- Never use hardcoded pixel values — use pt (iOS) or dp (Android) logical units
62
- ❌ Never claim an animation approach is "performant" without mentioning native driver usage
63
- ```
64
-
65
- ---
66
-
67
- ## Output Format
68
-
69
- ```
70
- ━━━ Tribunal: Mobile ━━━━━━━━━━━━━━━━━━━━━
71
-
72
- Active reviewers: logic · security · mobile
73
-
74
- [Your code under review]
75
-
76
- ━━━ Verdicts ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
77
-
78
- logic-reviewer: ✅ APPROVED
79
- security-auditor: ⚠️ WARNING
80
- mobile-reviewer: REJECTED
81
-
82
- ━━━ Issues ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
83
-
84
- security-auditor:
85
- ⚠️ MEDIUM Line 8
86
- AsyncStorage used for auth token storage
87
- Fix: Use expo-secure-store or react-native-keychain for sensitive data
88
-
89
- mobile-reviewer:
90
- HIGH Line 12
91
- Touch target: Button height is 20pt. Minimum is 44pt (iOS) / 48dp (Android)
92
- Fix: style={{ minHeight: 44 }}
93
-
94
- ❌ HIGH — Line 34
95
- Missing SafeAreaView wrapping the root view
96
- Fix: Wrap with <SafeAreaView style={{ flex: 1 }}>
97
-
98
- ━━━ Verdict: REJECTED ━━━━━━━━━━━━━━━━━━━━
99
-
100
- Address rejections? Y = fix and re-review | N = accept risk | R = revise manually
101
- ```
102
-
103
- ---
104
-
105
- ## Cross-Workflow Navigation
106
-
107
- | Finding type | Next step |
108
- |---|---|
109
- | Insecure storage CRITICAL | Replace storage library via `/enhance` |
110
- | All touch target issues | `/enhance` to normalize touch targets in shared components |
111
- | Cross-platform behavior gap | `/refactor` to extract Platform.OS guards into a utility |
112
- | All approved | Human Gate to write to disk |
113
-
114
- ---
115
-
116
- ## Usage
117
-
118
- ```
119
- /tribunal-mobile my React Native login screen component
120
- /tribunal-mobile the Flutter payment form widget
121
- /tribunal-mobile the responsive mobile nav component with touch gestures
122
- /tribunal-mobile the biometric authentication flow
123
- ```
1
+ ---
2
+ description: Mobile-specific Tribunal. Runs Logic + Security + Mobile reviewers. Use for React Native, Expo, gesture handlers, animations, navigation, and any iOS/Android-targeted code.
3
+ ---
4
+
5
+ # /tribunal-mobile — Mobile Code Audit
6
+
7
+ $ARGUMENTS
8
+
9
+ ---
10
+
11
+ ## When to Use /tribunal-mobile
12
+
13
+ | Use `/tribunal-mobile` when... | Use something else when... |
14
+ |:---|:---|
15
+ | React Native components | Web-only components → `/tribunal-frontend` |
16
+ | Expo Router navigation | API routes → `/tribunal-backend` |
17
+ | Reanimated animations/gestures | Full audit `/tribunal-full` |
18
+ | FlashList / FlatList code | |
19
+ | Platform-specific (ios/android) code | |
20
+
21
+ ---
22
+
23
+ ## 3 Active Reviewers (All Run Simultaneously)
24
+
25
+ ### logic-reviewer
26
+ - `runOnJS` called inside `onUpdate` instead of `onEnd` (runs every frame)
27
+ - Missing `'worklet'` directive on functions called inside Reanimated
28
+ - FlatList inside ScrollView (disables virtualization)
29
+ - `useSharedValue` vs `useState` confusion (SharedValue on wrong thread)
30
+
31
+ ### security-auditor
32
+ - AsyncStorage storing sensitive data (tokens, PII) unencrypted
33
+ - API keys in source code (should be in EAS Secrets)
34
+ - cleartext HTTP traffic (should be HTTPS on all platforms)
35
+ - Deep link not validated before processing URL scheme
36
+
37
+ ### mobile-reviewer
38
+ - `setState` inside Reanimated `onUpdate` (JS bridge crossing = jank)
39
+ - Missing `'worklet'` on custom functions used in Reanimated
40
+ - FlatList for large lists (use FlashList with `estimatedItemSize`)
41
+ - Hardcoded pixel insets instead of `useSafeAreaInsets()`
42
+ - `Platform.OS === 'ios'` inside StyleSheet.create (not evaluated correctly)
43
+ - Missing `AppState` subscription cleanup (`subscription.remove()`)
44
+ - `react-native Image` used instead of `expo-image` (poor caching)
45
+
46
+ ---
47
+
48
+ ## Verdict System
49
+
50
+ ```
51
+ If ANY reviewer → ❌ REJECTED: fix before Human Gate
52
+ If any reviewer → ⚠️ WARNING: proceed with flagged items
53
+ If all reviewers → ✅ APPROVED: Human Gate
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Output Format
59
+
60
+ ```
61
+ ━━━ Tribunal Mobile ━━━━━━━━━━━━━━━━━━━━━━
62
+
63
+ logic-reviewer: ✅ APPROVED
64
+ security-auditor: ⚠️ WARNING
65
+ mobile-reviewer: ❌ REJECTED
66
+
67
+ ━━━ VERDICT: ❌ REJECTED ━━━━━━━━━━━━━━━━━
68
+
69
+ Blockers:
70
+ - mobile-reviewer: [HIGH] setState inside onUpdate gesture handler — JS bridge crossing every frame
71
+ Line: onUpdate: (e) => { setState(e.translationX); } // jank at scale
72
+ Fix: const tx = useSharedValue(0);
73
+ onUpdate: (e) => { tx.value = e.translationX; } // pure UI thread
74
+
75
+ - mobile-reviewer: [HIGH] FlatList with 500+ items — use FlashList
76
+ Line: <FlatList data={products} renderItem={renderItem} />
77
+ Fix: <FlashList data={products} renderItem={renderItem} estimatedItemSize={72} />
78
+
79
+ Warnings:
80
+ - security-auditor: [MEDIUM] JWT token stored in AsyncStorage — use expo-secure-store
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Mobile-Specific Hallucination Traps (Common LLM Mistakes)
86
+
87
+ ```tsx
88
+ // ❌ Missing 'worklet' — animation function crashes silently
89
+ const clamp = (val: number, min: number, max: number) => Math.min(Math.max(val, min), max);
90
+ // Must have worklet directive
91
+ const clamp = (val: number, min: number, max: number): number => {
92
+ 'worklet';
93
+ return Math.min(Math.max(val, min), max);
94
+ };
95
+
96
+ // ❌ Expo Router: navigate() was refactored in v4 old API
97
+ import { navigate } from 'expo-router'; // Named export doesn't exist
98
+ // Current Expo Router v4
99
+ import { router } from 'expo-router';
100
+ router.push('/products/123');
101
+
102
+ // ❌ React Native: StyleSheet.create doesn't eval functions
103
+ const styles = StyleSheet.create({
104
+ box: { paddingTop: Platform.OS === 'ios' ? 20 : 0 } // Doesn't work in all contexts
105
+ });
106
+ // ✅ Use Platform.select or dynamic style object
107
+ const boxStyle = Platform.select({ ios: { paddingTop: 20 }, android: { paddingTop: 0 } });
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Usage Examples
113
+
114
+ ```
115
+ /tribunal-mobile the SwipeToDelete gesture implementation with Reanimated 3
116
+ /tribunal-mobile the ProductList component using FlashList
117
+ /tribunal-mobile the auth token storage and retrieval functions
118
+ /tribunal-mobile the ProfileScreen with safe area insets
119
+ ```