tribunal-kit 4.5.0 → 4.6.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.
- package/.agent/.shared/ui-ux-pro-max/README.md +4 -4
- package/.agent/ARCHITECTURE.md +279 -277
- package/.agent/GEMINI.md +127 -121
- 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 +654 -0
- package/.agent/rules/GEMINI.md +358 -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/doc.md +209 -177
- package/.agent/skills/documentation-templates/SKILL.md +291 -279
- package/.agent/skills/edge-computing/SKILL.md +183 -181
- 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/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 +122 -95
- package/.agent/workflows/tribunal-frontend.md +221 -96
- package/.agent/workflows/tribunal-full.md +129 -100
- package/.agent/workflows/tribunal-mobile.md +122 -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 +145 -122
- package/README.md +107 -55
- package/bin/mcp-server.js +159 -0
- package/bin/tribunal-kit.js +105 -29
- package/bin/wrapper.js +16 -7
- package/mcp_config.json +9 -0
- package/package.json +94 -86
- package/scripts/changelog.js +4 -3
- package/scripts/validate-payload.js +6 -1
- package/scripts/postinstall.js +0 -127
|
@@ -1,205 +1,210 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: frontend-design
|
|
3
|
-
description: Design thinking for web UI. Micro-interactions, visual hierarchy, typography scaling, HSL color palettes, spacing systems, and CSS-first UI logic. Avoid generic AI aesthetics.
|
|
4
|
-
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
-
version: 3.1.0
|
|
6
|
-
last-updated: 2026-04-06
|
|
7
|
-
applies-to-model: gemini-3-1-pro, claude-3-7-sonnet
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- ❌ Hardcoded pixels (`font-size: 14px`) → ✅ Use `rem` for accessibility and scaling (`1rem = 16px`).
|
|
15
|
-
- ❌ Gray text (`#888`) on white → ✅ Fails WCAG contrast. Text must be `4.5:1` ratio.
|
|
16
|
-
- ❌ Generic sans-serif → ✅ Inter, Geist, Roboto Mono, or system-ui. Typography is 80% of design.
|
|
17
|
-
- ❌ "Bento Box" grids for everything → ✅ Overused pattern. Use directional flow or asymmetric layouts.
|
|
18
|
-
- ❌ Symmetrical layouts out of laziness → ✅ Tension and blank space (negative space) drive premium feel.
|
|
19
|
-
- ❌ Infinite scrolling without context → ✅ Provide clear footers or logical pagination markers.
|
|
20
|
-
- ❌ Over-animating everything (`all elements fade in`) → ✅ Animate state changes (hover, focus, submit), not static entry layout unless scrollytelling.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 1. Color Theory (HSL over HEX)
|
|
25
|
-
|
|
26
|
-
Never use raw flat HEX colors. Use HSL to build cohesive scales.
|
|
27
|
-
|
|
28
|
-
```css
|
|
29
|
-
:root {
|
|
30
|
-
/* HSL allows programmatic adjustment of lightness/saturation */
|
|
31
|
-
--hue: 220;
|
|
32
|
-
--sat: 80%;
|
|
33
|
-
|
|
34
|
-
--bg-base: hsl(var(--hue), 15%, 98%);
|
|
35
|
-
--bg-surface: hsl(var(--hue), 20%, 100%);
|
|
36
|
-
|
|
37
|
-
--text-main: hsl(var(--hue), 40%, 10%);
|
|
38
|
-
--text-muted: hsl(var(--hue), 20%, 40%);
|
|
39
|
-
|
|
40
|
-
--primary: hsl(var(--hue), var(--sat), 50%);
|
|
41
|
-
--primary-hover: hsl(var(--hue), var(--sat), 40%); /* Darken via L */
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/* OLED Dark Mode */
|
|
45
|
-
@media (prefers-color-scheme: dark) {
|
|
46
|
-
:root {
|
|
47
|
-
--bg-base: hsl(var(--hue), 10%, 2%);
|
|
48
|
-
--bg-surface: hsl(var(--hue), 10%, 6%);
|
|
49
|
-
--text-main: hsl(var(--hue), 20%, 95%);
|
|
50
|
-
--text-muted: hsl(var(--hue), 10%, 60%);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## 2. Spatial Systems & Grid Mathematics
|
|
56
|
-
|
|
57
|
-
Design relies on structural rhythm. Use an **8px base system**.
|
|
58
|
-
|
|
59
|
-
- **Micro padding**: `4px`, `8px` (Tags, List items)
|
|
60
|
-
- **Component padding**: `16px`, `24px` (Cards, Inputs, Modals)
|
|
61
|
-
- **Section spacing**: `48px`, `64px`, `96px` (Page sections)
|
|
62
|
-
- **Line height**: Body `1.5`, Headings `1.1` or `1.2`.
|
|
63
|
-
|
|
64
|
-
```css
|
|
65
|
-
/* Fluid Typography (Clamp) */
|
|
66
|
-
h1 {
|
|
67
|
-
/* Min 2rem, fluidly scale between 480px-1200px, Max 4rem */
|
|
68
|
-
font-size: clamp(2rem, 5vw, 4rem);
|
|
69
|
-
letter-spacing: -0.02em; /* Tighten large text */
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
p {
|
|
73
|
-
font-size: 1rem;
|
|
74
|
-
max-width: 65ch; /* Optimal reading length */
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 3. Interaction & "Juice" (Micro-interactions)
|
|
81
|
-
|
|
82
|
-
A premium UI reacts to the user instantly and smoothly. Focus on state transitions.
|
|
83
|
-
|
|
84
|
-
```css
|
|
85
|
-
/* Smooth generic transition */
|
|
86
|
-
.btn {
|
|
87
|
-
transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/* Active Depth - The physical button push */
|
|
91
|
-
.btn:active {
|
|
92
|
-
transform: scale(0.97);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* Hardware-Accelerated Shadows */
|
|
96
|
-
.card {
|
|
97
|
-
box-shadow: 0 4px 6px -1px rgba(0,0,0, 0.1), 0 2px 4px -1px rgba(0,0,0, 0.06);
|
|
98
|
-
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
99
|
-
}
|
|
100
|
-
.card:hover {
|
|
101
|
-
transform: translateY(-4px); /* Float effect */
|
|
102
|
-
box-shadow: 0 20px 25px -5px rgba(0,0,0, 0.1), 0 10px 10px -5px rgba(0,0,0, 0.04);
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## 4. Modern Glassmorphism & Depth
|
|
109
|
-
|
|
110
|
-
Flat design is dead. Modern UI uses depth, layering, and blur.
|
|
111
|
-
|
|
112
|
-
```css
|
|
113
|
-
/* Frosted Glass */
|
|
114
|
-
.glass {
|
|
115
|
-
background: rgba(255, 255, 255, 0.7);
|
|
116
|
-
backdrop-filter: blur(16px);
|
|
117
|
-
-webkit-backdrop-filter: blur(16px);
|
|
118
|
-
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
119
|
-
border-radius: 16px;
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 5. Forms and High-Friction UI
|
|
126
|
-
|
|
127
|
-
Forms are where users drop off. They must be flawless.
|
|
128
|
-
|
|
129
|
-
- **Auto-focus** the first input on modal open.
|
|
130
|
-
- **Labels** must be visible outside the input (not just placeholders).
|
|
131
|
-
- **Validation** happens `onBlur` (when leaving), NOT `onChange` (typing).
|
|
132
|
-
- **Submit buttons** show loading spinners, disable inputs, and prevent double-clicks.
|
|
133
|
-
|
|
134
|
-
```css
|
|
135
|
-
/* Focus-visible: Only show ring for keyboard nav, not mouse clicks */
|
|
136
|
-
button:focus-visible {
|
|
137
|
-
outline: 2px solid var(--primary);
|
|
138
|
-
outline-offset: 2px;
|
|
139
|
-
}
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 6. Accessibility (WCAG 2.2 AA)
|
|
145
|
-
|
|
146
|
-
Design is fundamentally broken if it excludes users.
|
|
147
|
-
|
|
148
|
-
- ✅ Interactive elements need `aria-label` if not visually labeled.
|
|
149
|
-
- ✅ Custom dropdowns/selects must support Arrow Keys and Escape.
|
|
150
|
-
- ✅ Color alone cannot convey state (Error text must have an icon too `❌ Password invalid`).
|
|
151
|
-
- ✅ Hide decorative SVG/icons from screen readers `aria-hidden="true"`.
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
159
|
-
|
|
160
|
-
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
161
|
-
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
162
|
-
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
163
|
-
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
164
|
-
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
**Slash command: `/review` or `/tribunal-full`**
|
|
171
|
-
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
172
|
-
|
|
173
|
-
### ❌ Forbidden AI Tropes
|
|
174
|
-
|
|
175
|
-
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
176
|
-
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
177
|
-
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
Review these questions before confirming output:
|
|
182
|
-
```
|
|
183
|
-
✅ Did I rely ONLY on real, verified tools and methods?
|
|
184
|
-
✅ Is this solution appropriately scoped to the user's constraints?
|
|
185
|
-
✅ Did I handle potential failure modes and edge cases?
|
|
186
|
-
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
190
|
-
|
|
191
|
-
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
192
|
-
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
193
|
-
- ✅ **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.
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
## Pre-Flight Checklist
|
|
197
|
-
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
198
|
-
- [ ] Have I checked the environment for relevant existing implementations?
|
|
199
|
-
|
|
200
|
-
## VBC Protocol (Verification-Before-Completion)
|
|
201
|
-
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: Design thinking for web UI. Micro-interactions, visual hierarchy, typography scaling, HSL color palettes, spacing systems, and CSS-first UI logic. Avoid generic AI aesthetics.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
version: 3.1.0
|
|
6
|
+
last-updated: 2026-04-06
|
|
7
|
+
applies-to-model: gemini-3-1-pro, claude-3-7-sonnet
|
|
8
|
+
routing:
|
|
9
|
+
domain: general
|
|
10
|
+
tier: basic
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Frontend Design — Dense Reference
|
|
202
14
|
|
|
15
|
+
## Hallucination Traps (Read First)
|
|
16
|
+
|
|
17
|
+
- ❌ Purple gradient backgrounds (`from-purple-500 to-blue-500`) → ✅ The worst AI UI cliché. Use high-contrast solid colors, grain, or sophisticated HSL mono-palettes.
|
|
18
|
+
- ❌ Hardcoded pixels (`font-size: 14px`) → ✅ Use `rem` for accessibility and scaling (`1rem = 16px`).
|
|
19
|
+
- ❌ Gray text (`#888`) on white → ✅ Fails WCAG contrast. Text must be `4.5:1` ratio.
|
|
20
|
+
- ❌ Generic sans-serif → ✅ Inter, Geist, Roboto Mono, or system-ui. Typography is 80% of design.
|
|
21
|
+
- ❌ "Bento Box" grids for everything → ✅ Overused pattern. Use directional flow or asymmetric layouts.
|
|
22
|
+
- ❌ Symmetrical layouts out of laziness → ✅ Tension and blank space (negative space) drive premium feel.
|
|
23
|
+
- ❌ Infinite scrolling without context → ✅ Provide clear footers or logical pagination markers.
|
|
24
|
+
- ❌ Over-animating everything (`all elements fade in`) → ✅ Animate state changes (hover, focus, submit), not static entry layout unless scrollytelling.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 1. Color Theory (HSL over HEX)
|
|
29
|
+
|
|
30
|
+
Never use raw flat HEX colors. Use HSL to build cohesive scales.
|
|
31
|
+
|
|
32
|
+
```css
|
|
33
|
+
:root {
|
|
34
|
+
/* HSL allows programmatic adjustment of lightness/saturation */
|
|
35
|
+
--hue: 220;
|
|
36
|
+
--sat: 80%;
|
|
37
|
+
|
|
38
|
+
--bg-base: hsl(var(--hue), 15%, 98%);
|
|
39
|
+
--bg-surface: hsl(var(--hue), 20%, 100%);
|
|
40
|
+
|
|
41
|
+
--text-main: hsl(var(--hue), 40%, 10%);
|
|
42
|
+
--text-muted: hsl(var(--hue), 20%, 40%);
|
|
43
|
+
|
|
44
|
+
--primary: hsl(var(--hue), var(--sat), 50%);
|
|
45
|
+
--primary-hover: hsl(var(--hue), var(--sat), 40%); /* Darken via L */
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* OLED Dark Mode */
|
|
49
|
+
@media (prefers-color-scheme: dark) {
|
|
50
|
+
:root {
|
|
51
|
+
--bg-base: hsl(var(--hue), 10%, 2%);
|
|
52
|
+
--bg-surface: hsl(var(--hue), 10%, 6%);
|
|
53
|
+
--text-main: hsl(var(--hue), 20%, 95%);
|
|
54
|
+
--text-muted: hsl(var(--hue), 10%, 60%);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 2. Spatial Systems & Grid Mathematics
|
|
60
|
+
|
|
61
|
+
Design relies on structural rhythm. Use an **8px base system**.
|
|
62
|
+
|
|
63
|
+
- **Micro padding**: `4px`, `8px` (Tags, List items)
|
|
64
|
+
- **Component padding**: `16px`, `24px` (Cards, Inputs, Modals)
|
|
65
|
+
- **Section spacing**: `48px`, `64px`, `96px` (Page sections)
|
|
66
|
+
- **Line height**: Body `1.5`, Headings `1.1` or `1.2`.
|
|
67
|
+
|
|
68
|
+
```css
|
|
69
|
+
/* Fluid Typography (Clamp) */
|
|
70
|
+
h1 {
|
|
71
|
+
/* Min 2rem, fluidly scale between 480px-1200px, Max 4rem */
|
|
72
|
+
font-size: clamp(2rem, 5vw, 4rem);
|
|
73
|
+
letter-spacing: -0.02em; /* Tighten large text */
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
p {
|
|
77
|
+
font-size: 1rem;
|
|
78
|
+
max-width: 65ch; /* Optimal reading length */
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 3. Interaction & "Juice" (Micro-interactions)
|
|
85
|
+
|
|
86
|
+
A premium UI reacts to the user instantly and smoothly. Focus on state transitions.
|
|
87
|
+
|
|
88
|
+
```css
|
|
89
|
+
/* Smooth generic transition */
|
|
90
|
+
.btn {
|
|
91
|
+
transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Active Depth - The physical button push */
|
|
95
|
+
.btn:active {
|
|
96
|
+
transform: scale(0.97);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* Hardware-Accelerated Shadows */
|
|
100
|
+
.card {
|
|
101
|
+
box-shadow:
|
|
102
|
+
0 4px 6px -1px rgba(0, 0, 0, 0.1),
|
|
103
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
104
|
+
transition:
|
|
105
|
+
transform 0.3s ease,
|
|
106
|
+
box-shadow 0.3s ease;
|
|
107
|
+
}
|
|
108
|
+
.card:hover {
|
|
109
|
+
transform: translateY(-4px); /* Float effect */
|
|
110
|
+
box-shadow:
|
|
111
|
+
0 20px 25px -5px rgba(0, 0, 0, 0.1),
|
|
112
|
+
0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 4. Modern Glassmorphism & Depth
|
|
119
|
+
|
|
120
|
+
Flat design is dead. Modern UI uses depth, layering, and blur.
|
|
121
|
+
|
|
122
|
+
```css
|
|
123
|
+
/* Frosted Glass */
|
|
124
|
+
.glass {
|
|
125
|
+
background: rgba(255, 255, 255, 0.7);
|
|
126
|
+
backdrop-filter: blur(16px);
|
|
127
|
+
-webkit-backdrop-filter: blur(16px);
|
|
128
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
129
|
+
border-radius: 16px;
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 5. Forms and High-Friction UI
|
|
136
|
+
|
|
137
|
+
Forms are where users drop off. They must be flawless.
|
|
138
|
+
|
|
139
|
+
- **Auto-focus** the first input on modal open.
|
|
140
|
+
- **Labels** must be visible outside the input (not just placeholders).
|
|
141
|
+
- **Validation** happens `onBlur` (when leaving), NOT `onChange` (typing).
|
|
142
|
+
- **Submit buttons** show loading spinners, disable inputs, and prevent double-clicks.
|
|
143
|
+
|
|
144
|
+
```css
|
|
145
|
+
/* Focus-visible: Only show ring for keyboard nav, not mouse clicks */
|
|
146
|
+
button:focus-visible {
|
|
147
|
+
outline: 2px solid var(--primary);
|
|
148
|
+
outline-offset: 2px;
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 6. Accessibility (WCAG 2.2 AA)
|
|
155
|
+
|
|
156
|
+
Design is fundamentally broken if it excludes users.
|
|
157
|
+
|
|
158
|
+
- ✅ Interactive elements need `aria-label` if not visually labeled.
|
|
159
|
+
- ✅ Custom dropdowns/selects must support Arrow Keys and Escape.
|
|
160
|
+
- ✅ Color alone cannot convey state (Error text must have an icon too `❌ Password invalid`).
|
|
161
|
+
- ✅ Hide decorative SVG/icons from screen readers `aria-hidden="true"`.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
166
|
+
|
|
167
|
+
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
168
|
+
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
169
|
+
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
170
|
+
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
171
|
+
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
**Slash command: `/review` or `/tribunal-full`**
|
|
176
|
+
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
177
|
+
|
|
178
|
+
### ❌ Forbidden AI Tropes
|
|
179
|
+
|
|
180
|
+
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
181
|
+
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
182
|
+
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
183
|
+
|
|
184
|
+
Review these questions before confirming output:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
✅ Did I rely ONLY on real, verified tools and methods?
|
|
188
|
+
✅ Is this solution appropriately scoped to the user's constraints?
|
|
189
|
+
✅ Did I handle potential failure modes and edge cases?
|
|
190
|
+
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
194
|
+
|
|
195
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
196
|
+
|
|
197
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
198
|
+
- ✅ **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.
|
|
199
|
+
|
|
200
|
+
## Pre-Flight Checklist
|
|
201
|
+
|
|
202
|
+
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
203
|
+
- [ ] Have I checked the environment for relevant existing implementations?
|
|
204
|
+
|
|
205
|
+
## VBC Protocol (Verification-Before-Completion)
|
|
206
|
+
|
|
207
|
+
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
203
208
|
|
|
204
209
|
---
|
|
205
210
|
|
|
@@ -229,6 +234,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
|
|
|
229
234
|
### ✅ Pre-Flight Self-Audit
|
|
230
235
|
|
|
231
236
|
Review these questions before confirming output:
|
|
237
|
+
|
|
232
238
|
```
|
|
233
239
|
✅ Did I rely ONLY on real, verified tools and methods?
|
|
234
240
|
✅ Is this solution appropriately scoped to the user's constraints?
|
|
@@ -239,5 +245,6 @@ Review these questions before confirming output:
|
|
|
239
245
|
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
240
246
|
|
|
241
247
|
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
248
|
+
|
|
242
249
|
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
243
250
|
- ✅ **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.
|
|
@@ -5,12 +5,16 @@ allowed-tools: Read, Write, Edit, Glob, Grep
|
|
|
5
5
|
version: 1.0.0
|
|
6
6
|
last-updated: 2026-05-22
|
|
7
7
|
applies-to-model: gemini-3-1-pro, claude-3-7-sonnet
|
|
8
|
+
routing:
|
|
9
|
+
domain: general
|
|
10
|
+
tier: basic
|
|
8
11
|
---
|
|
9
12
|
|
|
10
13
|
# Frontend Security Expert — Modern Meta-Frameworks
|
|
11
14
|
|
|
12
15
|
## Hallucination Traps (Read First)
|
|
13
|
-
|
|
16
|
+
|
|
17
|
+
- ❌ Focusing on generic OWASP top 10 (SQLi, IDOR) → ✅ This is the _frontend_ skill. Focus strictly on client-side boundaries, SSR hydration, and DOM.
|
|
14
18
|
- ❌ Treating React `useEffect` data fetching as secure → ✅ Data fetched client-side can be intercepted or manipulated.
|
|
15
19
|
- ❌ Recommending LocalStorage for JWTs → ✅ JWTs must go in HttpOnly, Secure, SameSite cookies.
|
|
16
20
|
- ❌ Assuming Next.js SSR is immune to XSS → ✅ Hydration mismatch or dangerouslySetInnerHTML can inject payloads.
|
|
@@ -18,6 +22,7 @@ applies-to-model: gemini-3-1-pro, claude-3-7-sonnet
|
|
|
18
22
|
---
|
|
19
23
|
|
|
20
24
|
## 1. React & Next.js Specific Vulnerabilities
|
|
25
|
+
|
|
21
26
|
Modern frameworks handle basic XSS by escaping text, but specific APIs bypass this.
|
|
22
27
|
|
|
23
28
|
- **`dangerouslySetInnerHTML`**: Never use this with unsanitized user input. If required, mandate the use of DOMPurify.
|
|
@@ -25,16 +30,19 @@ Modern frameworks handle basic XSS by escaping text, but specific APIs bypass th
|
|
|
25
30
|
- **`javascript:` URIs**: React does not automatically prevent `javascript:` URIs in `href` tags. Audit all dynamic links.
|
|
26
31
|
|
|
27
32
|
## 2. Token & State Storage (Web Storage API)
|
|
33
|
+
|
|
28
34
|
- **Local/Session Storage**: Do not store sensitive PII, Auth Tokens (JWTs), or API keys here. They are accessible via any XSS attack.
|
|
29
35
|
- **Cookies**: Use `HttpOnly`, `Secure`, and `SameSite=Strict` (or `Lax`) for all authentication cookies.
|
|
30
36
|
- **In-Memory State**: Store temporary sensitive data in React state/Zustand, recognizing it clears on refresh.
|
|
31
37
|
|
|
32
38
|
## 3. Third-Party Supply Chain
|
|
33
|
-
|
|
39
|
+
|
|
40
|
+
- **External Scripts**: Any `<script src="...">` has full access to the DOM and global window.
|
|
34
41
|
- **Subresource Integrity (SRI)**: Ensure all CDN-loaded scripts use the `integrity` attribute.
|
|
35
42
|
- **Next.js `<Script>` Component**: Use appropriate strategies (`beforeInteractive`, `afterInteractive`) and audit what is loaded.
|
|
36
43
|
|
|
37
44
|
## 4. Cross-Origin & PostMessage
|
|
45
|
+
|
|
38
46
|
- **`postMessage`**: Never use `targetOrigin: '*'` when sending messages. Always validate `event.origin` when receiving messages.
|
|
39
47
|
- **Iframes**: Use the `sandbox` attribute for any user-generated iframes to restrict script execution and top-level navigation.
|
|
40
48
|
|
|
@@ -60,6 +68,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
|
|
|
60
68
|
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
61
69
|
|
|
62
70
|
Review these questions before confirming output:
|
|
71
|
+
|
|
63
72
|
```
|
|
64
73
|
✅ Did I rely ONLY on real, verified tools and methods?
|
|
65
74
|
✅ Is this solution appropriately scoped to the user's constraints?
|
|
@@ -70,16 +79,18 @@ Review these questions before confirming output:
|
|
|
70
79
|
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
71
80
|
|
|
72
81
|
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
82
|
+
|
|
73
83
|
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
74
84
|
- ✅ **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.
|
|
75
85
|
|
|
76
86
|
## Pre-Flight Checklist
|
|
87
|
+
|
|
77
88
|
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
78
89
|
- [ ] Have I checked the environment for relevant existing implementations?
|
|
79
90
|
|
|
80
91
|
## VBC Protocol (Verification-Before-Completion)
|
|
81
|
-
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
82
92
|
|
|
93
|
+
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
83
94
|
|
|
84
95
|
---
|
|
85
96
|
|
|
@@ -109,6 +120,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
|
|
|
109
120
|
### ✅ Pre-Flight Self-Audit
|
|
110
121
|
|
|
111
122
|
Review these questions before confirming output:
|
|
123
|
+
|
|
112
124
|
```
|
|
113
125
|
✅ Did I rely ONLY on real, verified tools and methods?
|
|
114
126
|
✅ Is this solution appropriately scoped to the user's constraints?
|
|
@@ -119,5 +131,6 @@ Review these questions before confirming output:
|
|
|
119
131
|
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
120
132
|
|
|
121
133
|
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
134
|
+
|
|
122
135
|
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
123
136
|
- ✅ **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.
|