tribunal-kit 4.5.1 → 4.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/.shared/ui-ux-pro-max/README.md +4 -4
- package/.agent/ARCHITECTURE.md +282 -277
- package/.agent/agents/accessibility-reviewer.md +187 -187
- package/.agent/agents/ai-code-reviewer.md +199 -199
- package/.agent/agents/api-architect.md +71 -66
- package/.agent/agents/backend-specialist.md +219 -215
- package/.agent/agents/cloud-engineer.md +98 -0
- package/.agent/agents/code-archaeologist.md +168 -161
- package/.agent/agents/database-architect.md +184 -184
- package/.agent/agents/db-latency-auditor.md +213 -216
- package/.agent/agents/debugger.md +198 -191
- package/.agent/agents/dependency-reviewer.md +106 -103
- package/.agent/agents/devops-engineer.md +218 -218
- package/.agent/agents/documentation-writer.md +209 -201
- package/.agent/agents/explorer-agent.md +167 -160
- package/.agent/agents/frontend-reviewer.md +162 -160
- package/.agent/agents/frontend-specialist.md +257 -248
- package/.agent/agents/game-developer.md +48 -48
- package/.agent/agents/logic-reviewer.md +118 -116
- package/.agent/agents/mobile-developer.md +197 -200
- package/.agent/agents/mobile-reviewer.md +159 -162
- package/.agent/agents/orchestrator.md +187 -181
- package/.agent/agents/penetration-tester.md +160 -157
- package/.agent/agents/performance-optimizer.md +183 -183
- package/.agent/agents/performance-reviewer.md +178 -178
- package/.agent/agents/precedence-reviewer.md +251 -250
- package/.agent/agents/product-manager.md +149 -142
- package/.agent/agents/product-owner.md +81 -80
- package/.agent/agents/project-planner.md +152 -142
- package/.agent/agents/qa-automation-engineer.md +216 -225
- package/.agent/agents/resilience-reviewer.md +88 -88
- package/.agent/agents/schema-reviewer.md +67 -67
- package/.agent/agents/security-auditor.md +180 -174
- package/.agent/agents/seo-specialist.md +188 -193
- package/.agent/agents/sql-reviewer.md +159 -161
- package/.agent/agents/supervisor-agent.md +173 -184
- package/.agent/agents/swarm-worker-contracts.md +170 -166
- package/.agent/agents/swarm-worker-registry.md +92 -92
- package/.agent/agents/system-architect.md +85 -0
- package/.agent/agents/test-coverage-reviewer.md +158 -160
- package/.agent/agents/test-engineer.md +118 -118
- package/.agent/agents/throughput-optimizer.md +291 -299
- package/.agent/agents/type-safety-reviewer.md +182 -175
- package/.agent/agents/ui-ux-auditor.md +300 -292
- package/.agent/agents/vitals-reviewer.md +223 -223
- package/.agent/mcp_config.json +37 -40
- package/.agent/patterns/generator.md +11 -9
- package/.agent/patterns/inversion.md +14 -12
- package/.agent/patterns/pipeline.md +11 -9
- package/.agent/patterns/reviewer.md +15 -13
- package/.agent/patterns/tool-wrapper.md +11 -9
- package/.agent/routing_index.json +714 -0
- package/.agent/rules/GEMINI.md +359 -352
- package/.agent/scripts/compile_router.py +112 -0
- package/.agent/scripts/migrate_skills_frontmatter.py +64 -0
- package/.agent/scripts/strengthen_skills.js +1 -1
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +56 -0
- package/.agent/skills/agent-organizer/SKILL.md +156 -150
- package/.agent/skills/agentic-patterns/SKILL.md +313 -315
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +190 -184
- package/.agent/skills/api-patterns/SKILL.md +253 -247
- package/.agent/skills/api-security-auditor/SKILL.md +195 -193
- package/.agent/skills/app-builder/SKILL.md +573 -572
- package/.agent/skills/app-builder/templates/SKILL.md +108 -115
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -122
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -122
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -169
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -134
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -119
- package/.agent/skills/appflow-wireframe/SKILL.md +146 -145
- package/.agent/skills/architecture/SKILL.md +226 -219
- package/.agent/skills/authentication-best-practices/SKILL.md +197 -189
- package/.agent/skills/backend-security-expert/SKILL.md +16 -2
- package/.agent/skills/bash-linux/SKILL.md +179 -179
- package/.agent/skills/behavioral-modes/SKILL.md +239 -223
- package/.agent/skills/brainstorming/SKILL.md +498 -486
- package/.agent/skills/browser-native-ai/SKILL.md +57 -4
- package/.agent/skills/building-native-ui/SKILL.md +202 -202
- package/.agent/skills/cicd-pro/SKILL.md +442 -0
- package/.agent/skills/clean-code/SKILL.md +400 -381
- package/.agent/skills/cloud-architect/SKILL.md +439 -0
- package/.agent/skills/code-review-checklist/SKILL.md +203 -194
- package/.agent/skills/config-validator/SKILL.md +165 -165
- package/.agent/skills/containerization-pro/SKILL.md +452 -0
- package/.agent/skills/csharp-developer/SKILL.md +518 -518
- package/.agent/skills/data-validation-schemas/SKILL.md +333 -328
- package/.agent/skills/database-design/SKILL.md +247 -240
- package/.agent/skills/deployment-procedures/SKILL.md +172 -169
- package/.agent/skills/devops-engineer/SKILL.md +345 -345
- package/.agent/skills/devops-incident-responder/SKILL.md +143 -137
- package/.agent/skills/documentation-templates/SKILL.md +291 -279
- package/.agent/skills/edge-computing/SKILL.md +183 -181
- package/.agent/skills/emil-design-eng/SKILL.md +147 -0
- package/.agent/skills/error-resilience/SKILL.md +411 -428
- package/.agent/skills/extract-design-system/SKILL.md +160 -158
- package/.agent/skills/framer-motion-expert/SKILL.md +253 -244
- package/.agent/skills/frontend-design/SKILL.md +208 -201
- package/.agent/skills/frontend-security-expert/SKILL.md +16 -3
- package/.agent/skills/game-design-expert/SKILL.md +132 -129
- package/.agent/skills/game-engineering-expert/SKILL.md +148 -146
- package/.agent/skills/generative-ui-expert/SKILL.md +57 -1
- package/.agent/skills/geo-fundamentals/SKILL.md +148 -147
- package/.agent/skills/git-pro/SKILL.md +435 -0
- package/.agent/skills/github-operations/SKILL.md +335 -329
- package/.agent/skills/gsap-core/SKILL.md +319 -308
- package/.agent/skills/gsap-frameworks/SKILL.md +213 -207
- package/.agent/skills/gsap-performance/SKILL.md +139 -133
- package/.agent/skills/gsap-plugins/SKILL.md +486 -480
- package/.agent/skills/gsap-react/SKILL.md +202 -189
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +357 -350
- package/.agent/skills/gsap-timeline/SKILL.md +165 -161
- package/.agent/skills/gsap-utils/SKILL.md +344 -338
- package/.agent/skills/harness-protocol/SKILL.md +48 -0
- package/.agent/skills/i18n-localization/SKILL.md +174 -163
- package/.agent/skills/intelligent-routing/SKILL.md +202 -246
- package/.agent/skills/knowledge-graph/SKILL.md +60 -52
- package/.agent/skills/lint-and-validate/SKILL.md +261 -261
- package/.agent/skills/llm-engineering/SKILL.md +400 -394
- package/.agent/skills/local-first/SKILL.md +178 -178
- package/.agent/skills/mcp-builder/SKILL.md +143 -142
- package/.agent/skills/mobile-design/SKILL.md +272 -263
- package/.agent/skills/monorepo-management/SKILL.md +335 -334
- package/.agent/skills/motion-engineering/SKILL.md +266 -234
- package/.agent/skills/nextjs-react-expert/SKILL.md +236 -234
- package/.agent/skills/nodejs-best-practices/SKILL.md +547 -548
- package/.agent/skills/observability/SKILL.md +343 -343
- package/.agent/skills/parallel-agents/SKILL.md +143 -146
- package/.agent/skills/performance-profiling/SKILL.md +259 -267
- package/.agent/skills/plan-writing/SKILL.md +150 -142
- package/.agent/skills/platform-engineer/SKILL.md +148 -147
- package/.agent/skills/playwright-best-practices/SKILL.md +188 -187
- package/.agent/skills/powershell-windows/SKILL.md +162 -162
- package/.agent/skills/project-idioms/SKILL.md +137 -137
- package/.agent/skills/python-patterns/SKILL.md +260 -259
- package/.agent/skills/python-pro/SKILL.md +324 -323
- package/.agent/skills/react-specialist/SKILL.md +305 -277
- package/.agent/skills/readme-builder/SKILL.md +310 -300
- package/.agent/skills/realtime-patterns/SKILL.md +323 -319
- package/.agent/skills/red-team-tactics/SKILL.md +231 -218
- package/.agent/skills/review-animations/SKILL.md +72 -0
- package/.agent/skills/review-animations/STANDARDS.md +73 -0
- package/.agent/skills/rust-pro/SKILL.md +671 -673
- package/.agent/skills/seo-fundamentals/SKILL.md +179 -179
- package/.agent/skills/server-management/SKILL.md +218 -214
- package/.agent/skills/shadcn-ui-expert/SKILL.md +231 -231
- package/.agent/skills/skill-creator/SKILL.md +87 -86
- package/.agent/skills/sql-pro/SKILL.md +629 -629
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +97 -97
- package/.agent/skills/swiftui-expert/SKILL.md +204 -201
- package/.agent/skills/system-design-pro/SKILL.md +345 -0
- package/.agent/skills/systematic-debugging/SKILL.md +153 -142
- package/.agent/skills/tailwind-patterns/SKILL.md +610 -566
- package/.agent/skills/tdd-workflow/SKILL.md +169 -161
- package/.agent/skills/test-result-analyzer/SKILL.md +313 -309
- package/.agent/skills/testing-patterns/SKILL.md +566 -579
- package/.agent/skills/trend-researcher/SKILL.md +243 -237
- package/.agent/skills/typescript-advanced/SKILL.md +336 -335
- package/.agent/skills/ui-ux-pro-max/SKILL.md +590 -562
- package/.agent/skills/ui-ux-researcher/SKILL.md +244 -244
- package/.agent/skills/vue-expert/SKILL.md +294 -275
- package/.agent/skills/vulnerability-scanner/SKILL.md +416 -404
- package/.agent/skills/web-accessibility-auditor/SKILL.md +219 -218
- package/.agent/skills/web-design-guidelines/SKILL.md +192 -186
- package/.agent/skills/webapp-testing/SKILL.md +167 -169
- package/.agent/skills/webgpu-performance/SKILL.md +56 -2
- package/.agent/skills/whimsy-injector/SKILL.md +346 -325
- package/.agent/skills/workflow-optimizer/SKILL.md +231 -229
- package/.agent/workflows/acf.md +141 -0
- package/.agent/workflows/api-tester.md +176 -151
- package/.agent/workflows/audit.md +150 -127
- package/.agent/workflows/brainstorm.md +134 -110
- package/.agent/workflows/changelog.md +140 -112
- package/.agent/workflows/create.md +168 -124
- package/.agent/workflows/debug.md +190 -165
- package/.agent/workflows/deploy.md +201 -180
- package/.agent/workflows/enhance.md +154 -128
- package/.agent/workflows/fix.md +136 -114
- package/.agent/workflows/generate.md +198 -183
- package/.agent/workflows/marathon.md +37 -11
- package/.agent/workflows/migrate.md +184 -160
- package/.agent/workflows/orchestrate.md +192 -168
- package/.agent/workflows/performance-benchmarker.md +135 -114
- package/.agent/workflows/plan.md +196 -173
- package/.agent/workflows/preview.md +103 -80
- package/.agent/workflows/refactor.md +192 -161
- package/.agent/workflows/review-ai.md +125 -101
- package/.agent/workflows/review.md +141 -116
- package/.agent/workflows/session.md +122 -94
- package/.agent/workflows/status.md +101 -79
- package/.agent/workflows/strengthen-skills.md +164 -138
- package/.agent/workflows/super-prompt.md +24 -0
- package/.agent/workflows/swarm.md +193 -179
- package/.agent/workflows/test.md +211 -189
- package/.agent/workflows/tribunal-backend.md +136 -105
- package/.agent/workflows/tribunal-database.md +129 -95
- package/.agent/workflows/tribunal-frontend.md +140 -96
- package/.agent/workflows/tribunal-full.md +131 -100
- package/.agent/workflows/tribunal-mobile.md +129 -95
- package/.agent/workflows/tribunal-performance.md +136 -110
- package/.agent/workflows/tribunal-speed.md +209 -183
- package/.agent/workflows/ui-ux-pro-max.md +155 -122
- package/README.md +107 -55
- package/mcp_config.json +1 -3
- package/package.json +94 -94
- package/.agent/GEMINI.md +0 -121
- package/.agent/skills/doc.md +0 -177
|
@@ -1,271 +1,261 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: performance-profiling
|
|
3
|
-
description: Performance profiling mastery. Core Web Vitals (LCP, CLS, INP), Lighthouse auditing, JavaScript profiling, React rendering optimization, bundle analysis, memory leak detection, database query profiling (EXPLAIN ANALYZE), load testing, and performance budgets. Use when optimizing performance, debugging slow pages, or establishing performance standards.
|
|
4
|
-
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
-
version: 2.0.0
|
|
6
|
-
last-updated: 2026-04-01
|
|
7
|
-
applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
|
|
54
|
-
#
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
// ❌ import
|
|
63
|
-
// ✅ import
|
|
64
|
-
|
|
65
|
-
// ❌ import
|
|
66
|
-
// ✅
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
//
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
--
|
|
172
|
-
--
|
|
173
|
-
--
|
|
174
|
-
--
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
225
|
-
|
|
226
|
-
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
227
|
-
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
228
|
-
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
229
|
-
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
230
|
-
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
**Slash command: `/review` or `/tribunal-full`**
|
|
237
|
-
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
238
|
-
|
|
239
|
-
### ❌ Forbidden AI Tropes
|
|
240
|
-
|
|
241
|
-
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
242
|
-
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
243
|
-
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
Review these questions before confirming output:
|
|
248
|
-
```
|
|
249
|
-
✅ Did I rely ONLY on real, verified tools and methods?
|
|
250
|
-
✅ Is this solution appropriately scoped to the user's constraints?
|
|
251
|
-
✅ Did I handle potential failure modes and edge cases?
|
|
252
|
-
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
256
|
-
|
|
257
|
-
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
258
|
-
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
259
|
-
- ✅ **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.
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
## Pre-Flight Checklist
|
|
263
|
-
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
264
|
-
- [ ] Have I checked the environment for relevant existing implementations?
|
|
265
|
-
|
|
266
|
-
## VBC Protocol (Verification-Before-Completion)
|
|
267
|
-
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
1
|
+
---
|
|
2
|
+
name: performance-profiling
|
|
3
|
+
description: Performance profiling mastery. Core Web Vitals (LCP, CLS, INP), Lighthouse auditing, JavaScript profiling, React rendering optimization, bundle analysis, memory leak detection, database query profiling (EXPLAIN ANALYZE), load testing, and performance budgets. Use when optimizing performance, debugging slow pages, or establishing performance standards.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
version: 2.0.0
|
|
6
|
+
last-updated: 2026-04-01
|
|
7
|
+
applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
|
|
8
|
+
routing:
|
|
9
|
+
domain: general
|
|
10
|
+
tier: basic
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Performance Profiling — Measurement-Driven Optimization
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Core Web Vitals
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
LCP (Largest Contentful Paint) → Loading speed
|
|
21
|
+
✅ Good: ≤ 2.5s │ ⚠️ Needs work: 2.5-4s │ ❌ Poor: > 4s
|
|
22
|
+
What: Time until the largest visible element renders
|
|
23
|
+
Fix: Optimize images, preload fonts, reduce server time
|
|
24
|
+
|
|
25
|
+
INP (Interaction to Next Paint) → Responsiveness
|
|
26
|
+
✅ Good: ≤ 200ms │ ⚠️ Needs work: 200-500ms │ ❌ Poor: > 500ms
|
|
27
|
+
What: Delay between user interaction and visual response
|
|
28
|
+
Fix: Break long tasks, use web workers, defer non-critical JS
|
|
29
|
+
|
|
30
|
+
CLS (Cumulative Layout Shift) → Visual stability
|
|
31
|
+
✅ Good: ≤ 0.1 │ ⚠️ Needs work: 0.1-0.25 │ ❌ Poor: > 0.25
|
|
32
|
+
What: How much the page layout shifts unexpectedly
|
|
33
|
+
Fix: Set explicit dimensions on images/ads, font-display: swap
|
|
34
|
+
|
|
35
|
+
TTFB (Time to First Byte) → Server responsiveness
|
|
36
|
+
✅ Good: ≤ 800ms
|
|
37
|
+
Fix: CDN, caching, optimize database queries, use edge
|
|
38
|
+
|
|
39
|
+
// ❌ HALLUCINATION TRAP: FID is deprecated. Use INP (Interaction to Next Paint).
|
|
40
|
+
// FID only measured the FIRST interaction. INP measures ALL interactions.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## JavaScript Profiling
|
|
46
|
+
|
|
47
|
+
### Bundle Analysis
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Analyze what's in your JavaScript bundle
|
|
51
|
+
npx vite-bundle-visualizer # Vite
|
|
52
|
+
npx @next/bundle-analyzer # Next.js
|
|
53
|
+
|
|
54
|
+
# Key targets:
|
|
55
|
+
# Total JS < 200KB (gzipped) for initial load
|
|
56
|
+
# No single dependency > 50KB (gzipped)
|
|
57
|
+
# Tree-shaking working (no dead code)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
// Common bundle bloat sources:
|
|
62
|
+
// ❌ import _ from "lodash"; // 72KB — imports everything
|
|
63
|
+
// ✅ import debounce from "lodash/debounce"; // 1KB — specific import
|
|
64
|
+
|
|
65
|
+
// ❌ import { format } from "date-fns"; // may import entire library
|
|
66
|
+
// ✅ import { format } from "date-fns/format"; // specific import
|
|
67
|
+
|
|
68
|
+
// ❌ import moment from "moment"; // 67KB + locales
|
|
69
|
+
// ✅ Use native Intl.DateTimeFormat or date-fns (tree-shakeable)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### React Rendering Profiling
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// React DevTools Profiler — find unnecessary re-renders
|
|
76
|
+
|
|
77
|
+
// 1. Why Did You Render (development tool)
|
|
78
|
+
// npm i @welldone-software/why-did-you-render -D
|
|
79
|
+
|
|
80
|
+
// 2. Manual render tracking
|
|
81
|
+
const RenderCounter = ({ label }: { label: string }) => {
|
|
82
|
+
const renderCount = useRef(0);
|
|
83
|
+
renderCount.current++;
|
|
84
|
+
console.log(`[${label}] rendered ${renderCount.current} times`);
|
|
85
|
+
return null;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// 3. React.memo — prevent re-renders when props haven't changed
|
|
89
|
+
const ExpensiveList = React.memo(function ExpensiveList({ items }: Props) {
|
|
90
|
+
return items.map((item) => <ListItem key={item.id} {...item} />);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// 4. useMemo / useCallback — memoize expensive computations
|
|
94
|
+
const sortedItems = useMemo(
|
|
95
|
+
() => items.toSorted((a, b) => a.name.localeCompare(b.name)),
|
|
96
|
+
[items],
|
|
97
|
+
);
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Memory Leak Detection
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
// Common memory leaks in JavaScript:
|
|
104
|
+
// 1. Event listeners not cleaned up
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
const handler = () => console.log("resize");
|
|
107
|
+
window.addEventListener("resize", handler);
|
|
108
|
+
return () => window.removeEventListener("resize", handler); // ✅ cleanup
|
|
109
|
+
}, []);
|
|
110
|
+
|
|
111
|
+
// 2. Timers not cleared
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
const interval = setInterval(pollData, 5000);
|
|
114
|
+
return () => clearInterval(interval); // ✅ cleanup
|
|
115
|
+
}, []);
|
|
116
|
+
|
|
117
|
+
// 3. AbortController not used for fetch
|
|
118
|
+
useEffect(() => {
|
|
119
|
+
const controller = new AbortController();
|
|
120
|
+
fetch("/api/data", { signal: controller.signal })
|
|
121
|
+
.then((res) => res.json())
|
|
122
|
+
.then(setData)
|
|
123
|
+
.catch((e) => {
|
|
124
|
+
if (e.name !== "AbortError") throw e;
|
|
125
|
+
});
|
|
126
|
+
return () => controller.abort(); // ✅ cancel on unmount
|
|
127
|
+
}, []);
|
|
128
|
+
|
|
129
|
+
// Detection: Chrome DevTools → Memory → Heap Snapshot
|
|
130
|
+
// Take snapshot, perform action, take another, compare growth
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Image Optimization
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<!-- Modern image loading -->
|
|
139
|
+
<img src="hero.webp" srcset="hero-480.webp 480w, hero-768.webp 768w, hero-1200.webp 1200w" sizes="(max-width: 768px) 100vw, 50vw" width="1200" height="800" loading="lazy" decoding="async" alt="Product hero" fetchpriority="high" />
|
|
140
|
+
|
|
141
|
+
<!-- Rules:
|
|
142
|
+
- ALWAYS set width and height (prevents CLS)
|
|
143
|
+
- Use WebP/AVIF (30-50% smaller than JPEG)
|
|
144
|
+
- loading="lazy" for below-the-fold images
|
|
145
|
+
- fetchpriority="high" for LCP image
|
|
146
|
+
- Use srcset for responsive images
|
|
147
|
+
- Serve from CDN with auto-format negotiation
|
|
148
|
+
-->
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Database Query Profiling
|
|
154
|
+
|
|
155
|
+
```sql
|
|
156
|
+
-- Always EXPLAIN before optimizing
|
|
157
|
+
EXPLAIN ANALYZE SELECT u.*, COUNT(p.id) AS post_count
|
|
158
|
+
FROM users u
|
|
159
|
+
LEFT JOIN posts p ON p.author_id = u.id
|
|
160
|
+
WHERE u.is_active = true
|
|
161
|
+
GROUP BY u.id
|
|
162
|
+
ORDER BY post_count DESC
|
|
163
|
+
LIMIT 20;
|
|
164
|
+
|
|
165
|
+
-- Look for:
|
|
166
|
+
-- Seq Scan → needs an index (on large tables)
|
|
167
|
+
-- Nested Loop → consider index or different join strategy
|
|
168
|
+
-- Sort → can an index provide sorted data?
|
|
169
|
+
-- execution time > 100ms → optimize
|
|
170
|
+
|
|
171
|
+
-- Common fixes:
|
|
172
|
+
-- Add index: CREATE INDEX idx_posts_author ON posts (author_id);
|
|
173
|
+
-- Use partial index: CREATE INDEX idx_active_users ON users (id) WHERE is_active;
|
|
174
|
+
-- Avoid SELECT *: SELECT only needed columns
|
|
175
|
+
-- Paginate with cursor: WHERE id > $cursor ORDER BY id LIMIT 20
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Performance Budgets
|
|
181
|
+
|
|
182
|
+
```javascript
|
|
183
|
+
// Lighthouse CI budget
|
|
184
|
+
// lighthouserc.js
|
|
185
|
+
module.exports = {
|
|
186
|
+
ci: {
|
|
187
|
+
assert: {
|
|
188
|
+
assertions: {
|
|
189
|
+
"categories:performance": ["error", { minScore: 0.9 }],
|
|
190
|
+
"first-contentful-paint": ["error", { maxNumericValue: 1500 }],
|
|
191
|
+
"largest-contentful-paint": ["error", { maxNumericValue: 2500 }],
|
|
192
|
+
"cumulative-layout-shift": ["error", { maxNumericValue: 0.1 }],
|
|
193
|
+
"total-byte-weight": ["error", { maxNumericValue: 500000 }],
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
Performance budget targets:
|
|
202
|
+
Total JS (gzipped): < 200KB
|
|
203
|
+
Total CSS (gzipped): < 50KB
|
|
204
|
+
Total page weight: < 500KB
|
|
205
|
+
LCP: < 2.5s
|
|
206
|
+
INP: < 200ms
|
|
207
|
+
CLS: < 0.1
|
|
208
|
+
TTFB: < 800ms
|
|
209
|
+
Time to Interactive: < 3.8s
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
268
217
|
|
|
218
|
+
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
219
|
+
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
220
|
+
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
221
|
+
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
222
|
+
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
**Slash command: `/review` or `/tribunal-full`**
|
|
227
|
+
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
228
|
+
|
|
229
|
+
### ❌ Forbidden AI Tropes
|
|
230
|
+
|
|
231
|
+
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
232
|
+
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
233
|
+
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
234
|
+
|
|
235
|
+
Review these questions before confirming output:
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
✅ Did I rely ONLY on real, verified tools and methods?
|
|
239
|
+
✅ Is this solution appropriately scoped to the user's constraints?
|
|
240
|
+
✅ Did I handle potential failure modes and edge cases?
|
|
241
|
+
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
245
|
+
|
|
246
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
247
|
+
|
|
248
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
249
|
+
- ✅ **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.
|
|
250
|
+
|
|
251
|
+
## Pre-Flight Checklist
|
|
252
|
+
|
|
253
|
+
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
254
|
+
- [ ] Have I checked the environment for relevant existing implementations?
|
|
255
|
+
|
|
256
|
+
## VBC Protocol (Verification-Before-Completion)
|
|
257
|
+
|
|
258
|
+
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
269
259
|
|
|
270
260
|
---
|
|
271
261
|
|
|
@@ -295,6 +285,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
|
|
|
295
285
|
### ✅ Pre-Flight Self-Audit
|
|
296
286
|
|
|
297
287
|
Review these questions before confirming output:
|
|
288
|
+
|
|
298
289
|
```
|
|
299
290
|
✅ Did I rely ONLY on real, verified tools and methods?
|
|
300
291
|
✅ Is this solution appropriately scoped to the user's constraints?
|
|
@@ -305,5 +296,6 @@ Review these questions before confirming output:
|
|
|
305
296
|
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
306
297
|
|
|
307
298
|
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
299
|
+
|
|
308
300
|
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
309
301
|
- ✅ **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.
|