tribunal-kit 2.4.6 → 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 (250) hide show
  1. package/.agent/ARCHITECTURE.md +99 -99
  2. package/.agent/GEMINI.md +52 -52
  3. package/.agent/agents/accessibility-reviewer.md +139 -86
  4. package/.agent/agents/ai-code-reviewer.md +160 -90
  5. package/.agent/agents/backend-specialist.md +164 -127
  6. package/.agent/agents/code-archaeologist.md +115 -73
  7. package/.agent/agents/database-architect.md +130 -110
  8. package/.agent/agents/debugger.md +137 -97
  9. package/.agent/agents/dependency-reviewer.md +78 -30
  10. package/.agent/agents/devops-engineer.md +161 -118
  11. package/.agent/agents/documentation-writer.md +151 -87
  12. package/.agent/agents/explorer-agent.md +117 -99
  13. package/.agent/agents/frontend-reviewer.md +127 -47
  14. package/.agent/agents/frontend-specialist.md +169 -109
  15. package/.agent/agents/game-developer.md +28 -164
  16. package/.agent/agents/logic-reviewer.md +87 -49
  17. package/.agent/agents/mobile-developer.md +151 -103
  18. package/.agent/agents/mobile-reviewer.md +133 -50
  19. package/.agent/agents/orchestrator.md +121 -110
  20. package/.agent/agents/penetration-tester.md +103 -77
  21. package/.agent/agents/performance-optimizer.md +136 -92
  22. package/.agent/agents/performance-reviewer.md +139 -69
  23. package/.agent/agents/product-manager.md +104 -70
  24. package/.agent/agents/product-owner.md +6 -25
  25. package/.agent/agents/project-planner.md +95 -95
  26. package/.agent/agents/qa-automation-engineer.md +174 -87
  27. package/.agent/agents/security-auditor.md +133 -129
  28. package/.agent/agents/seo-specialist.md +160 -99
  29. package/.agent/agents/sql-reviewer.md +132 -44
  30. package/.agent/agents/supervisor-agent.md +137 -109
  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 +132 -53
  34. package/.agent/agents/test-engineer.md +0 -21
  35. package/.agent/agents/type-safety-reviewer.md +143 -33
  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/__pycache__/auto_preview.cpython-311.pyc +0 -0
  43. package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
  44. package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
  45. package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
  46. package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  47. package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
  48. package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
  49. package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
  50. package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  51. package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
  52. package/.agent/scripts/compress_skills.py +167 -0
  53. package/.agent/scripts/consolidate_skills.py +173 -0
  54. package/.agent/scripts/deep_compress.py +202 -0
  55. package/.agent/scripts/minify_context.py +80 -0
  56. package/.agent/scripts/security_scan.py +1 -1
  57. package/.agent/scripts/strip_tribunal.py +41 -0
  58. package/.agent/skills/agent-organizer/SKILL.md +60 -100
  59. package/.agent/skills/agentic-patterns/SKILL.md +0 -70
  60. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +108 -53
  61. package/.agent/skills/api-patterns/SKILL.md +197 -257
  62. package/.agent/skills/api-security-auditor/SKILL.md +125 -57
  63. package/.agent/skills/app-builder/SKILL.md +326 -50
  64. package/.agent/skills/app-builder/templates/SKILL.md +13 -15
  65. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +16 -16
  66. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +22 -22
  67. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +18 -18
  68. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +20 -20
  69. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +17 -17
  70. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +18 -18
  71. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +21 -21
  72. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +19 -19
  73. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +26 -26
  74. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +26 -26
  75. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +19 -19
  76. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +18 -18
  77. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +20 -20
  78. package/.agent/skills/appflow-wireframe/SKILL.md +71 -98
  79. package/.agent/skills/architecture/SKILL.md +161 -200
  80. package/.agent/skills/authentication-best-practices/SKILL.md +121 -54
  81. package/.agent/skills/bash-linux/SKILL.md +71 -166
  82. package/.agent/skills/behavioral-modes/SKILL.md +8 -69
  83. package/.agent/skills/brainstorming/SKILL.md +345 -127
  84. package/.agent/skills/building-native-ui/SKILL.md +125 -57
  85. package/.agent/skills/clean-code/SKILL.md +266 -149
  86. package/.agent/skills/code-review-checklist/SKILL.md +0 -62
  87. package/.agent/skills/config-validator/SKILL.md +73 -131
  88. package/.agent/skills/csharp-developer/SKILL.md +434 -73
  89. package/.agent/skills/database-design/SKILL.md +190 -275
  90. package/.agent/skills/deployment-procedures/SKILL.md +81 -158
  91. package/.agent/skills/devops-engineer/SKILL.md +255 -94
  92. package/.agent/skills/devops-incident-responder/SKILL.md +50 -69
  93. package/.agent/skills/doc.md +5 -5
  94. package/.agent/skills/documentation-templates/SKILL.md +19 -63
  95. package/.agent/skills/edge-computing/SKILL.md +75 -165
  96. package/.agent/skills/extract-design-system/SKILL.md +84 -58
  97. package/.agent/skills/framer-motion-expert/SKILL.md +195 -0
  98. package/.agent/skills/frontend-design/SKILL.md +151 -499
  99. package/.agent/skills/game-design-expert/SKILL.md +71 -0
  100. package/.agent/skills/game-engineering-expert/SKILL.md +88 -0
  101. package/.agent/skills/geo-fundamentals/SKILL.md +52 -178
  102. package/.agent/skills/github-operations/SKILL.md +197 -272
  103. package/.agent/skills/gsap-expert/SKILL.md +194 -0
  104. package/.agent/skills/i18n-localization/SKILL.md +60 -172
  105. package/.agent/skills/intelligent-routing/SKILL.md +123 -103
  106. package/.agent/skills/lint-and-validate/SKILL.md +8 -52
  107. package/.agent/skills/llm-engineering/SKILL.md +281 -195
  108. package/.agent/skills/local-first/SKILL.md +76 -159
  109. package/.agent/skills/mcp-builder/SKILL.md +48 -188
  110. package/.agent/skills/mobile-design/SKILL.md +213 -219
  111. package/.agent/skills/motion-engineering/SKILL.md +184 -0
  112. package/.agent/skills/nextjs-react-expert/SKILL.md +184 -203
  113. package/.agent/skills/nodejs-best-practices/SKILL.md +403 -185
  114. package/.agent/skills/observability/SKILL.md +211 -203
  115. package/.agent/skills/parallel-agents/SKILL.md +53 -146
  116. package/.agent/skills/performance-profiling/SKILL.md +171 -151
  117. package/.agent/skills/plan-writing/SKILL.md +49 -153
  118. package/.agent/skills/platform-engineer/SKILL.md +57 -103
  119. package/.agent/skills/playwright-best-practices/SKILL.md +110 -63
  120. package/.agent/skills/powershell-windows/SKILL.md +61 -179
  121. package/.agent/skills/python-patterns/SKILL.md +7 -35
  122. package/.agent/skills/python-pro/SKILL.md +273 -114
  123. package/.agent/skills/react-specialist/SKILL.md +227 -108
  124. package/.agent/skills/readme-builder/SKILL.md +15 -85
  125. package/.agent/skills/realtime-patterns/SKILL.md +216 -243
  126. package/.agent/skills/red-team-tactics/SKILL.md +10 -51
  127. package/.agent/skills/rust-pro/SKILL.md +525 -142
  128. package/.agent/skills/seo-fundamentals/SKILL.md +92 -153
  129. package/.agent/skills/server-management/SKILL.md +110 -166
  130. package/.agent/skills/shadcn-ui-expert/SKILL.md +154 -55
  131. package/.agent/skills/skill-creator/SKILL.md +18 -58
  132. package/.agent/skills/sql-pro/SKILL.md +543 -68
  133. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +28 -68
  134. package/.agent/skills/swiftui-expert/SKILL.md +124 -57
  135. package/.agent/skills/systematic-debugging/SKILL.md +49 -151
  136. package/.agent/skills/tailwind-patterns/SKILL.md +433 -149
  137. package/.agent/skills/tdd-workflow/SKILL.md +63 -169
  138. package/.agent/skills/test-result-analyzer/SKILL.md +33 -73
  139. package/.agent/skills/testing-patterns/SKILL.md +437 -130
  140. package/.agent/skills/trend-researcher/SKILL.md +30 -71
  141. package/.agent/skills/ui-ux-pro-max/SKILL.md +0 -41
  142. package/.agent/skills/ui-ux-researcher/SKILL.md +51 -91
  143. package/.agent/skills/vue-expert/SKILL.md +225 -119
  144. package/.agent/skills/vulnerability-scanner/SKILL.md +264 -226
  145. package/.agent/skills/web-accessibility-auditor/SKILL.md +141 -58
  146. package/.agent/skills/web-design-guidelines/SKILL.md +17 -61
  147. package/.agent/skills/webapp-testing/SKILL.md +71 -196
  148. package/.agent/skills/whimsy-injector/SKILL.md +58 -132
  149. package/.agent/skills/workflow-optimizer/SKILL.md +28 -68
  150. package/.agent/workflows/api-tester.md +96 -224
  151. package/.agent/workflows/audit.md +81 -122
  152. package/.agent/workflows/brainstorm.md +69 -105
  153. package/.agent/workflows/changelog.md +65 -97
  154. package/.agent/workflows/create.md +73 -88
  155. package/.agent/workflows/debug.md +80 -111
  156. package/.agent/workflows/deploy.md +119 -92
  157. package/.agent/workflows/enhance.md +80 -91
  158. package/.agent/workflows/fix.md +68 -97
  159. package/.agent/workflows/generate.md +165 -164
  160. package/.agent/workflows/migrate.md +106 -109
  161. package/.agent/workflows/orchestrate.md +103 -86
  162. package/.agent/workflows/performance-benchmarker.md +77 -268
  163. package/.agent/workflows/plan.md +120 -98
  164. package/.agent/workflows/preview.md +39 -96
  165. package/.agent/workflows/refactor.md +105 -97
  166. package/.agent/workflows/review-ai.md +63 -102
  167. package/.agent/workflows/review.md +71 -110
  168. package/.agent/workflows/session.md +53 -113
  169. package/.agent/workflows/status.md +42 -88
  170. package/.agent/workflows/strengthen-skills.md +90 -51
  171. package/.agent/workflows/swarm.md +114 -129
  172. package/.agent/workflows/test.md +125 -102
  173. package/.agent/workflows/tribunal-backend.md +60 -78
  174. package/.agent/workflows/tribunal-database.md +62 -100
  175. package/.agent/workflows/tribunal-frontend.md +62 -82
  176. package/.agent/workflows/tribunal-full.md +56 -100
  177. package/.agent/workflows/tribunal-mobile.md +65 -94
  178. package/.agent/workflows/tribunal-performance.md +62 -105
  179. package/.agent/workflows/ui-ux-pro-max.md +72 -121
  180. package/README.md +11 -15
  181. package/package.json +1 -1
  182. package/.agent/skills/api-patterns/api-style.md +0 -42
  183. package/.agent/skills/api-patterns/auth.md +0 -24
  184. package/.agent/skills/api-patterns/documentation.md +0 -26
  185. package/.agent/skills/api-patterns/graphql.md +0 -41
  186. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  187. package/.agent/skills/api-patterns/response.md +0 -37
  188. package/.agent/skills/api-patterns/rest.md +0 -40
  189. package/.agent/skills/api-patterns/security-testing.md +0 -122
  190. package/.agent/skills/api-patterns/trpc.md +0 -41
  191. package/.agent/skills/api-patterns/versioning.md +0 -22
  192. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  193. package/.agent/skills/app-builder/feature-building.md +0 -53
  194. package/.agent/skills/app-builder/project-detection.md +0 -34
  195. package/.agent/skills/app-builder/scaffolding.md +0 -118
  196. package/.agent/skills/app-builder/tech-stack.md +0 -40
  197. package/.agent/skills/architecture/context-discovery.md +0 -43
  198. package/.agent/skills/architecture/examples.md +0 -94
  199. package/.agent/skills/architecture/pattern-selection.md +0 -68
  200. package/.agent/skills/architecture/patterns-reference.md +0 -50
  201. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  202. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -360
  203. package/.agent/skills/database-design/database-selection.md +0 -43
  204. package/.agent/skills/database-design/indexing.md +0 -39
  205. package/.agent/skills/database-design/migrations.md +0 -48
  206. package/.agent/skills/database-design/optimization.md +0 -36
  207. package/.agent/skills/database-design/orm-selection.md +0 -30
  208. package/.agent/skills/database-design/schema-design.md +0 -56
  209. package/.agent/skills/dotnet-core-expert/SKILL.md +0 -103
  210. package/.agent/skills/framer-motion-animations/SKILL.md +0 -74
  211. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  212. package/.agent/skills/frontend-design/color-system.md +0 -329
  213. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  214. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  215. package/.agent/skills/frontend-design/typography-system.md +0 -363
  216. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  217. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  218. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  219. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  220. package/.agent/skills/game-development/SKILL.md +0 -236
  221. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  222. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  223. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  224. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  225. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  226. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  227. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  228. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  229. package/.agent/skills/intelligent-routing/router-manifest.md +0 -65
  230. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  231. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  232. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  233. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  234. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  235. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  236. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  237. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  238. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  239. package/.agent/skills/mobile-design/platform-android.md +0 -666
  240. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  241. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  242. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  243. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  244. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  245. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  246. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  247. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  248. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  249. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  250. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
@@ -1,108 +1,227 @@
1
- ---
2
- name: react-specialist
3
- description: Senior React specialist (React 18+) focusing on advanced patterns, state management, performance optimization, and production architectures (Next.js/Remix).
4
- allowed-tools: Read, Write, Edit, Glob, Grep
5
- version: 1.0.0
6
- last-updated: 2026-03-12
7
- applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
- ---
9
-
10
- # React Specialist - Claude Code Sub-Agent
11
-
12
- You are a senior React specialist with expertise in React 18+ and the modern React ecosystem. Your focus spans advanced patterns, performance optimization, state management, and production architectures with emphasis on creating scalable applications that deliver exceptional user experiences.
13
-
14
- ## Configuration & Context Assessment
15
- When invoked:
16
- 1. Query context manager for React project requirements and architecture
17
- 2. Review component structure, state management, and performance needs
18
- 3. Analyze optimization opportunities, patterns, and best practices
19
- 4. Implement modern React solutions with performance and maintainability focus
20
-
21
- ---
22
-
23
- ## The React Excellence Checklist
24
- - React 18+ features utilized effectively
25
- - TypeScript strict mode enabled properly
26
- - Component reusability > 80% achieved
27
- - Performance score > 95 maintained
28
- - Test coverage > 90% implemented
29
- - Bundle size optimized thoroughly
30
- - Accessibility compliant consistently
31
-
32
- ---
33
-
34
- ## Core Architecture Decision Framework
35
-
36
- ### Advanced React Patterns & Hooks Mastery
37
- * Compound components, Render props, Custom hooks design, Ref forwarding, Portals.
38
- * `useState` patterns, `useEffect` optimization, `useMemo`/`useCallback` carefully applied, `useReducer` complex state, custom hooks library.
39
- * Concurrent features (`useTransition`, `useDeferredValue`, Suspense for data/streaming HTML).
40
-
41
- ### State Management & Components
42
- * **State:** Server state (React Query/TanStack), Global state (Zustand, Redux Toolkit, Jotai), Local and URL state.
43
- * **Structure:** Atomic design, Container/presentational separation, Error boundaries, Fragment usage.
44
-
45
- ### extreme Performance Optimization
46
- * `React.memo` usage, Code splitting, Virtual scrolling.
47
- * Selective hydration, Bundle analysis, Tree shaking.
48
- * Core Web Vitals driven implementation (LCP, FID, CLS).
49
-
50
- ### Production Architectures (SSR)
51
- * **Next.js/Remix:** Server components, Streaming SSR, Progressive enhancement, SEO optimization.
52
- * **Ecosystem:** React Query, Tailwind CSS, Framer Motion, React Hook Form.
53
-
54
- ---
55
-
56
- ## Output Format
57
-
58
- When this skill produces or reviews code, structure your output as follows:
59
-
60
- ```
61
- ━━━ React Specialist Report ━━━━━━━━━━━━━━━━━━━━━━━━
62
- Skill: React Specialist
63
- Language: [detected language / framework]
64
- Scope: [N files · N functions]
65
- ─────────────────────────────────────────────────
66
- ✅ Passed: [checks that passed, or "All clean"]
67
- ⚠️ Warnings: [non-blocking issues, or "None"]
68
- ❌ Blocked: [blocking issues requiring fix, or "None"]
69
- ─────────────────────────────────────────────────
70
- VBC status: PENDING VERIFIED
71
- Evidence: [test output / lint pass / compile success]
72
- ```
73
-
74
- **VBC (Verification-Before-Completion) is mandatory.**
75
- Do not mark status as VERIFIED until concrete terminal evidence is provided.
76
-
77
-
78
- ---
79
-
80
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
81
-
82
- **Slash command: `/tribunal-frontend`**
83
- **Active reviewers: `logic` · `security` · `frontend` · `type-safety`**
84
-
85
- ### Forbidden AI Tropes in React
86
- 1. **Sloppy Layout Generation** never build UI without explicit dimensional boundaries. You MUST apply strict numeric design tokens (e.g. 4px grid spacing) and explicit flex/grid layouts.
87
- 2. **Unnecessary `useEffect` Data Fetching** never fetch raw data inside a `useEffect` if a framework pattern (Server Components, SWR, React Query) is available.
88
- 3. **Missing `key` in maps** — always provide a unique, stable key. No using iteration index as the key.
89
- 4. **Prop Drilling Nightmare** — avoid passing props more than 3 levels deep; use Context or atomic stores (Zustand) instead.
90
- 4. **Over-Memoization** — do not slap `useMemo`/`useCallback` on everything prematurely. Only use it when profiling proves a performance bottleneck.
91
- 5. **Class Components** — never hallucinate class `extends React.Component` or lifecycle methods (`componentDidMount`) in a modern React 18+ app unless explicitly requested for legacy migration.
92
-
93
- ### Pre-Flight Self-Audit
94
-
95
- Review these questions before generating React code:
96
- ```text
97
- ✅ Did I use strictly functional components with hooks?
98
- ✅ Is my component free of side effects during the render phase?
99
- ✅ Are array maps properly utilizing unique and stable `key` attributes?
100
- Did I configure proper fallbacks using `<Suspense>` and Error Boundaries?
101
- ✅ When handling state, did I ensure that mutated state is returned as a deeply cloned or immutable structure?
102
- ```
103
-
104
- ### 🛑 Verification-Before-Completion (VBC) Protocol
105
-
106
- **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
107
- - ❌ **Forbidden:** Assuming a React component "works" just because it compiles or because the bundler gives no immediate warnings.
108
- - ✅ **Required:** You are explicitly forbidden from completing your UI assignment without providing **concrete terminal/test evidence** (e.g., passing Jest/Vitest logs, successful build output, or specific CLI execution results) proving the build is error-free.
1
+ ---
2
+ name: react-specialist
3
+ description: React 19+ specialist. use(), useActionState, useOptimistic, React Compiler, Server/Client Components, Zustand/Jotai, React Query. Use when building components, managing state, optimizing renders.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ version: 3.1.0
6
+ last-updated: 2026-04-06
7
+ ---
8
+
9
+ # React 19+ — Dense Reference
10
+
11
+ ## Hallucination Traps (Read First)
12
+ - `useFormState` `useActionState` (stable name)
13
+ - ❌ `useContext()` in conditionals → ✅ `use(Context)` CAN be conditional
14
+ - `useMemo/useCallback/React.memo` in React 19+ projects → ✅ React Compiler handles this
15
+ - ❌ `exitBeforeEnter` (Framer) → ✅ `mode="wait"` on `<AnimatePresence>`
16
+ - `next/router` `next/navigation` in App Router
17
+ - Server Components using `useState/useEffect` must be `"use client"`
18
+
19
+ ---
20
+
21
+ ## React 19 Core APIs
22
+
23
+ ### `use()` Replaces many useEffect patterns
24
+ ```tsx
25
+ import { use } from "react";
26
+ // Reads promises (suspends until resolved)
27
+ function UserProfile({ userPromise }: { userPromise: Promise<User> }) {
28
+ const user = use(userPromise); // suspends
29
+ return <h1>{user.name}</h1>;
30
+ }
31
+ // Reads context — CAN be called conditionally (unlike useContext)
32
+ function Admin({ isAdmin }: { isAdmin: boolean }) {
33
+ if (isAdmin) return <Panel theme={use(ThemeContext)} />;
34
+ return <PublicPanel />;
35
+ }
36
+ ```
37
+
38
+ ### `useActionState` Form actions with state
39
+ ```tsx
40
+ import { useActionState } from "react"; // NOT useFormState
41
+
42
+ async function submitForm(prevState: FormState, formData: FormData) {
43
+ const email = formData.get("email") as string;
44
+ if (!email.includes("@")) return { error: "Invalid email" };
45
+ await saveToDatabase(email);
46
+ return { error: null, success: true };
47
+ }
48
+
49
+ function SignupForm() {
50
+ const [state, formAction, isPending] = useActionState(submitForm, { error: null });
51
+ return (
52
+ <form action={formAction}>
53
+ <input name="email" disabled={isPending} />
54
+ {state.error && <p>{state.error}</p>}
55
+ <button disabled={isPending}>{isPending ? "Saving..." : "Submit"}</button>
56
+ </form>
57
+ );
58
+ }
59
+ ```
60
+
61
+ ### `useOptimistic` Instant UI feedback
62
+ ```tsx
63
+ import { useOptimistic } from "react";
64
+ function TodoList({ todos }: { todos: Todo[] }) {
65
+ const [optimistic, addOptimistic] = useOptimistic(
66
+ todos,
67
+ (current, newTodo: Todo) => [...current, newTodo]
68
+ );
69
+ async function handleAdd(formData: FormData) {
70
+ addOptimistic({ id: crypto.randomUUID(), title: formData.get("title"), pending: true });
71
+ await saveTodo(formData.get("title") as string);
72
+ }
73
+ return (
74
+ <form action={handleAdd}>
75
+ {optimistic.map(t => <li key={t.id} style={{ opacity: t.pending ? 0.5 : 1 }}>{t.title}</li>)}
76
+ </form>
77
+ );
78
+ }
79
+ ```
80
+
81
+ ### `useFormStatus` — Button pending state (must be INSIDE `<form>`)
82
+ ```tsx
83
+ import { useFormStatus } from "react-dom";
84
+ // ❌ TRAP: Cannot be called in the same component as <form>
85
+ function SubmitButton() {
86
+ const { pending } = useFormStatus(); // reads nearest parent form
87
+ return <button disabled={pending}>{pending ? "Saving..." : "Save"}</button>;
88
+ }
89
+ ```
90
+
91
+ ### `useTransition` Non-blocking updates (React 19: supports async)
92
+ ```tsx
93
+ const [isPending, startTransition] = useTransition();
94
+ startTransition(async () => {
95
+ const data = await search(query); // async supported in React 19 only
96
+ setResults(data);
97
+ });
98
+ ```
99
+
100
+ ### `useDeferredValue` Stale-while-rerender
101
+ ```tsx
102
+ const deferredQuery = useDeferredValue(query);
103
+ const isStale = query !== deferredQuery;
104
+ return <div style={{ opacity: isStale ? 0.6 : 1 }}><ExpensiveList query={deferredQuery} /></div>;
105
+ // React 19: useDeferredValue(value, initialFallback) — 2-arg form
106
+ ```
107
+
108
+ ---
109
+
110
+ ## React Compiler (React 19)
111
+ - Auto-memoizes components/values/callbacks. **Don't manually memoize in React 19 projects.**
112
+ - ❌ `useMemo(() => calc(a), [a])` / `useCallback(fn, [id])` / `React.memo(Comp)` — legacy
113
+ - ✅ Write plain functions/values. Compiler optimizes automatically.
114
+ - Exception: still use manual memo if compiler is explicitly disabled in config.
115
+
116
+ ---
117
+
118
+ ## Component Patterns
119
+
120
+ ### Compound Components (shared state via context)
121
+ ```tsx
122
+ const TabsContext = createContext<{ active: string; setActive: (id: string) => void } | null>(null);
123
+ function Tabs({ children, defaultTab }: { children: ReactNode; defaultTab: string }) {
124
+ const [active, setActive] = useState(defaultTab);
125
+ return <TabsContext value={{ active, setActive }}><div>{children}</div></TabsContext>;
126
+ }
127
+ function Tab({ id, children }: { id: string; children: ReactNode }) {
128
+ const ctx = use(TabsContext)!;
129
+ return <button onClick={() => ctx.setActive(id)} aria-selected={ctx.active === id}>{children}</button>;
130
+ }
131
+ ```
132
+
133
+ ### Render Props / Higher Order Hooks
134
+ Prefer custom hooks over render props for modern React.
135
+
136
+ ### Context Performance Pattern
137
+ ```tsx
138
+ // Split context — prevents all consumers from re-rendering on every change
139
+ const CountStateCtx = createContext<number>(0);
140
+ const CountDispatchCtx = createContext<Dispatch<Action>>(() => {});
141
+ ```
142
+
143
+ ---
144
+
145
+ ## State Management
146
+
147
+ ### Zustand (preferred for global state)
148
+ ```tsx
149
+ import { create } from "zustand";
150
+ import { persist } from "zustand/middleware";
151
+ const useStore = create<Store>()(
152
+ persist(
153
+ (set, get) => ({
154
+ count: 0,
155
+ increment: () => set(s => ({ count: s.count + 1 })),
156
+ getDoubled: () => get().count * 2,
157
+ }),
158
+ { name: "my-store" }
159
+ )
160
+ );
161
+ // ❌ TRAP: Do NOT destructure the whole store — causes re-render on every change
162
+ // ✅ const count = useStore(s => s.count); // selector
163
+ ```
164
+
165
+ ### Jotai (preferred for derived/atomic state)
166
+ ```tsx
167
+ import { atom, useAtom, useAtomValue, useSetAtom } from "jotai";
168
+ const countAtom = atom(0);
169
+ const doubledAtom = atom(get => get(countAtom) * 2); // derived atom
170
+ // ❌ TRAP: atomWithStorage is from jotai/utils — NOT from jotai
171
+ import { atomWithStorage } from "jotai/utils";
172
+ ```
173
+
174
+ ### React Query / TanStack Query
175
+ ```tsx
176
+ import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
177
+ const { data, isPending, error } = useQuery({
178
+ queryKey: ["user", userId],
179
+ queryFn: () => fetchUser(userId),
180
+ staleTime: 5 * 60 * 1000, // don't refetch for 5 minutes
181
+ });
182
+ // Optimistic update:
183
+ const qc = useQueryClient();
184
+ const mutation = useMutation({
185
+ mutationFn: updateUser,
186
+ onMutate: async (newUser) => {
187
+ await qc.cancelQueries({ queryKey: ["user", newUser.id] });
188
+ const prev = qc.getQueryData(["user", newUser.id]);
189
+ qc.setQueryData(["user", newUser.id], newUser);
190
+ return { prev };
191
+ },
192
+ onError: (_, __, ctx) => qc.setQueryData(["user"], ctx?.prev),
193
+ onSettled: () => qc.invalidateQueries({ queryKey: ["user"] }),
194
+ });
195
+ ```
196
+
197
+ ---
198
+
199
+ ## Performance
200
+
201
+ | Technique | When |
202
+ |-----------|------|
203
+ | `useDeferredValue` | Expensive derived render (charts, filters) |
204
+ | `useTransition` | Page nav, tab switches, data load |
205
+ | `lazy()` + `Suspense` | Code-split heavy components |
206
+ | `<Virtuoso>` / `<WindowVirtualizer>` | Lists > 200 items |
207
+ | Avoid `useEffect` for state transforms | Use `useMemo` or derived atoms |
208
+
209
+ ---
210
+
211
+ ## Refs & DOM
212
+
213
+ ```tsx
214
+ // React 19: ref is now a prop (no forwardRef needed)
215
+ function Input({ ref, ...props }: ComponentProps<"input"> & { ref?: Ref<HTMLInputElement> }) {
216
+ return <input ref={ref} {...props} />;
217
+ }
218
+ // ❌ TRAP: forwardRef is deprecated in React 19 — still works but not needed
219
+ ```
220
+
221
+ ---
222
+
223
+ ## Testing Checklist
224
+ - ✅ Use React Testing Library — test behavior, not implementation
225
+ - ✅ `userEvent` over `fireEvent` (async, closer to real interaction)
226
+ - ✅ Mock server calls with MSW (Mock Service Worker)
227
+ - ❌ Never test internal state, ref values, or component instances
@@ -9,8 +9,6 @@ applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
9
9
 
10
10
  # README Builder Skill
11
11
 
12
- > A great README is a product pitch, a user manual, and a contributor's welcome — all in one document.
13
-
14
12
  ---
15
13
 
16
14
  ## Ground Rules
@@ -46,7 +44,7 @@ Before generating any README content, answer these questions by scanning the pro
46
44
  ```markdown
47
45
  # [Project Name]
48
46
 
49
- > [One-line tagline: what it does and for whom]
47
+ [One-line tagline: what it does and for whom]
50
48
 
51
49
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
52
50
  [![Version](https://img.shields.io/npm/v/package-name)](https://www.npmjs.com/package/package-name)
@@ -106,10 +104,10 @@ package-name init --config ./config.json --output ./dist
106
104
 
107
105
  ## ⚙️ Configuration
108
106
 
109
- | Option | Type | Default | Description |
107
+ |Option|Type|Default|Description|
110
108
  |--------|------|---------|-------------|
111
- | `option1` | `string` | `"default"` | What it controls |
112
- | `option2` | `boolean` | `false` | What it controls |
109
+ |`option1`|`string`|`"default"`|What it controls|
110
+ |`option2`|`boolean`|`false`|What it controls|
113
111
 
114
112
  ---
115
113
 
@@ -185,12 +183,12 @@ Add a dedicated `## Commands` section:
185
183
  ```markdown
186
184
  ## Commands
187
185
 
188
- | Command | Description |
186
+ |Command|Description|
189
187
  |---------|-------------|
190
- | `tool init` | Initialize a new project |
191
- | `tool build` | Compile and bundle |
192
- | `tool deploy` | Deploy to production |
193
- | `tool --help` | Show all available options |
188
+ |`tool init`|Initialize a new project|
189
+ |`tool build`|Compile and bundle|
190
+ |`tool deploy`|Deploy to production|
191
+ |`tool --help`|Show all available options|
194
192
  ```
195
193
 
196
194
  ### Libraries / SDKs
@@ -203,10 +201,10 @@ Add a `## API Reference` section with function signatures:
203
201
 
204
202
  Returns: `ReturnType`
205
203
 
206
- | Parameter | Type | Description |
204
+ |Parameter|Type|Description|
207
205
  |-----------|------|-------------|
208
- | `param1` | `string` | Description |
209
- | `param2` | `options` | Optional config |
206
+ |`param1`|`string`|Description|
207
+ |`param2`|`options`|Optional config|
210
208
  ```
211
209
 
212
210
  ### Monorepos
@@ -215,10 +213,10 @@ Add a `## Packages` table:
215
213
  ```markdown
216
214
  ## Packages
217
215
 
218
- | Package | Version | Description |
216
+ |Package|Version|Description|
219
217
  |---------|---------|-------------|
220
- | [`@org/core`](packages/core) | [![npm](https://img.shields.io/npm/v/@org/core)](https://npm.im/@org/core) | Core engine |
221
- | [`@org/cli`](packages/cli) | [![npm](https://img.shields.io/npm/v/@org/cli)](https://npm.im/@org/cli) | CLI interface |
218
+ |[`@org/core`](packages/core)|[![npm](https://img.shields.io/npm/v/@org/core)](https://npm.im/@org/core)|Core engine|
219
+ |[`@org/cli`](packages/cli)|[![npm](https://img.shields.io/npm/v/@org/cli)](https://npm.im/@org/cli)|CLI interface|
222
220
  ```
223
221
 
224
222
  ---
@@ -242,71 +240,3 @@ Evidence: [file written at path / content reviewed]
242
240
  ```
243
241
 
244
242
  ---
245
-
246
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
247
-
248
- **Slash command: `/review` or `/generate`**
249
- **Active reviewers: `logic` · `frontend` · `documentation`**
250
-
251
- ### ❌ Forbidden AI Tropes in README Generation
252
-
253
- 1. **Placeholder content** — "Add your description here", "TODO", "Coming soon" are never acceptable.
254
- 2. **Fabricated badges** — never create badge URLs with invented package names or repo paths.
255
- 3. **Untested code blocks** — never write installation or usage commands without verifying them against the actual `package.json` or project config.
256
- 4. **Version number invention** — always read the actual version from `package.json`, `pyproject.toml`, or `Cargo.toml`.
257
- 5. **Generic feature claims** — "fast", "powerful", "easy to use" without concrete evidence or metrics.
258
-
259
- ### ✅ Pre-Flight Self-Audit
260
-
261
- Review these questions before generating README content:
262
-
263
- ```
264
- ✅ Did I read the actual project files first (package.json, source)?
265
- ✅ Is the project name correct (not a guess)?
266
- ✅ Are all code block commands runnable against this actual project?
267
- ✅ Are badge URLs pointing to the real repo/package?
268
- ✅ Is the version number read from actual project files, not guessed?
269
- ✅ Does every feature bullet describe a concrete, provable capability?
270
- ```
271
-
272
-
273
- ---
274
-
275
- ## 🤖 LLM-Specific Traps
276
-
277
- AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
278
-
279
- 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
280
- 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
281
- 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
282
- 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
283
- 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
284
-
285
- ---
286
-
287
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
288
-
289
- **Slash command: `/review` or `/tribunal-full`**
290
- **Active reviewers: `logic-reviewer` · `security-auditor`**
291
-
292
- ### ❌ Forbidden AI Tropes
293
-
294
- 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
295
- 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
296
- 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
297
-
298
- ### ✅ Pre-Flight Self-Audit
299
-
300
- Review these questions before confirming output:
301
- ```
302
- ✅ Did I rely ONLY on real, verified tools and methods?
303
- ✅ Is this solution appropriately scoped to the user's constraints?
304
- ✅ Did I handle potential failure modes and edge cases?
305
- ✅ Have I avoided generic boilerplate that doesn't add value?
306
- ```
307
-
308
- ### 🛑 Verification-Before-Completion (VBC) Protocol
309
-
310
- **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
311
- - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
312
- - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.