tribunal-kit 1.0.0 → 2.4.2
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 +3 -3
- package/.agent/ARCHITECTURE.md +205 -10
- package/.agent/GEMINI.md +37 -7
- package/.agent/agents/accessibility-reviewer.md +134 -0
- package/.agent/agents/ai-code-reviewer.md +129 -0
- package/.agent/agents/frontend-specialist.md +3 -0
- package/.agent/agents/game-developer.md +21 -21
- package/.agent/agents/logic-reviewer.md +12 -0
- package/.agent/agents/mobile-reviewer.md +79 -0
- package/.agent/agents/orchestrator.md +56 -26
- package/.agent/agents/performance-reviewer.md +36 -0
- package/.agent/agents/supervisor-agent.md +156 -0
- package/.agent/agents/swarm-worker-contracts.md +166 -0
- package/.agent/agents/swarm-worker-registry.md +92 -0
- package/.agent/rules/GEMINI.md +134 -5
- package/.agent/scripts/bundle_analyzer.py +259 -0
- package/.agent/scripts/dependency_analyzer.py +247 -0
- package/.agent/scripts/lint_runner.py +188 -0
- package/.agent/scripts/patch_skills_meta.py +177 -0
- package/.agent/scripts/patch_skills_output.py +285 -0
- package/.agent/scripts/schema_validator.py +279 -0
- package/.agent/scripts/security_scan.py +224 -0
- package/.agent/scripts/session_manager.py +144 -3
- package/.agent/scripts/skill_integrator.py +234 -0
- package/.agent/scripts/strengthen_skills.py +220 -0
- package/.agent/scripts/swarm_dispatcher.py +317 -0
- package/.agent/scripts/test_runner.py +192 -0
- package/.agent/scripts/test_swarm_dispatcher.py +163 -0
- package/.agent/skills/agent-organizer/SKILL.md +132 -0
- package/.agent/skills/agentic-patterns/SKILL.md +335 -0
- package/.agent/skills/api-patterns/SKILL.md +226 -50
- package/.agent/skills/app-builder/SKILL.md +215 -52
- package/.agent/skills/architecture/SKILL.md +176 -31
- package/.agent/skills/bash-linux/SKILL.md +150 -134
- package/.agent/skills/behavioral-modes/SKILL.md +152 -160
- package/.agent/skills/brainstorming/SKILL.md +148 -101
- package/.agent/skills/brainstorming/dynamic-questioning.md +10 -0
- package/.agent/skills/clean-code/SKILL.md +139 -134
- package/.agent/skills/code-review-checklist/SKILL.md +177 -80
- package/.agent/skills/config-validator/SKILL.md +165 -0
- package/.agent/skills/csharp-developer/SKILL.md +107 -0
- package/.agent/skills/database-design/SKILL.md +252 -29
- package/.agent/skills/deployment-procedures/SKILL.md +122 -175
- package/.agent/skills/devops-engineer/SKILL.md +134 -0
- package/.agent/skills/devops-incident-responder/SKILL.md +98 -0
- package/.agent/skills/documentation-templates/SKILL.md +175 -121
- package/.agent/skills/dotnet-core-expert/SKILL.md +103 -0
- package/.agent/skills/edge-computing/SKILL.md +213 -0
- package/.agent/skills/frontend-design/SKILL.md +76 -0
- package/.agent/skills/frontend-design/color-system.md +18 -0
- package/.agent/skills/frontend-design/typography-system.md +18 -0
- package/.agent/skills/game-development/SKILL.md +69 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +158 -99
- package/.agent/skills/github-operations/SKILL.md +354 -0
- package/.agent/skills/i18n-localization/SKILL.md +158 -96
- package/.agent/skills/intelligent-routing/SKILL.md +89 -285
- package/.agent/skills/intelligent-routing/router-manifest.md +65 -0
- package/.agent/skills/lint-and-validate/SKILL.md +229 -27
- package/.agent/skills/llm-engineering/SKILL.md +258 -0
- package/.agent/skills/local-first/SKILL.md +203 -0
- package/.agent/skills/mcp-builder/SKILL.md +159 -111
- package/.agent/skills/mobile-design/SKILL.md +102 -282
- package/.agent/skills/nextjs-react-expert/SKILL.md +143 -227
- package/.agent/skills/nodejs-best-practices/SKILL.md +201 -254
- package/.agent/skills/observability/SKILL.md +285 -0
- package/.agent/skills/parallel-agents/SKILL.md +124 -118
- package/.agent/skills/performance-profiling/SKILL.md +143 -89
- package/.agent/skills/plan-writing/SKILL.md +133 -97
- package/.agent/skills/platform-engineer/SKILL.md +135 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -104
- package/.agent/skills/python-patterns/SKILL.md +149 -361
- package/.agent/skills/python-pro/SKILL.md +114 -0
- package/.agent/skills/react-specialist/SKILL.md +107 -0
- package/.agent/skills/readme-builder/SKILL.md +270 -0
- package/.agent/skills/realtime-patterns/SKILL.md +296 -0
- package/.agent/skills/red-team-tactics/SKILL.md +136 -134
- package/.agent/skills/rust-pro/SKILL.md +237 -173
- package/.agent/skills/seo-fundamentals/SKILL.md +134 -82
- package/.agent/skills/server-management/SKILL.md +155 -104
- package/.agent/skills/sql-pro/SKILL.md +104 -0
- package/.agent/skills/systematic-debugging/SKILL.md +156 -79
- package/.agent/skills/tailwind-patterns/SKILL.md +163 -205
- package/.agent/skills/tdd-workflow/SKILL.md +148 -88
- package/.agent/skills/test-result-analyzer/SKILL.md +299 -0
- package/.agent/skills/testing-patterns/SKILL.md +141 -114
- package/.agent/skills/trend-researcher/SKILL.md +228 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +107 -0
- package/.agent/skills/ui-ux-researcher/SKILL.md +234 -0
- package/.agent/skills/vue-expert/SKILL.md +118 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +228 -188
- package/.agent/skills/web-design-guidelines/SKILL.md +148 -33
- package/.agent/skills/webapp-testing/SKILL.md +171 -122
- package/.agent/skills/whimsy-injector/SKILL.md +349 -0
- package/.agent/skills/workflow-optimizer/SKILL.md +219 -0
- package/.agent/workflows/api-tester.md +279 -0
- package/.agent/workflows/audit.md +168 -0
- package/.agent/workflows/brainstorm.md +65 -19
- package/.agent/workflows/changelog.md +144 -0
- package/.agent/workflows/create.md +67 -14
- package/.agent/workflows/debug.md +122 -30
- package/.agent/workflows/deploy.md +82 -31
- package/.agent/workflows/enhance.md +59 -27
- package/.agent/workflows/fix.md +143 -0
- package/.agent/workflows/generate.md +84 -20
- package/.agent/workflows/migrate.md +163 -0
- package/.agent/workflows/orchestrate.md +66 -17
- package/.agent/workflows/performance-benchmarker.md +305 -0
- package/.agent/workflows/plan.md +76 -33
- package/.agent/workflows/preview.md +73 -17
- package/.agent/workflows/refactor.md +153 -0
- package/.agent/workflows/review-ai.md +140 -0
- package/.agent/workflows/review.md +83 -16
- package/.agent/workflows/session.md +154 -0
- package/.agent/workflows/status.md +74 -18
- package/.agent/workflows/strengthen-skills.md +99 -0
- package/.agent/workflows/swarm.md +194 -0
- package/.agent/workflows/test.md +80 -31
- package/.agent/workflows/tribunal-backend.md +55 -13
- package/.agent/workflows/tribunal-database.md +62 -18
- package/.agent/workflows/tribunal-frontend.md +58 -12
- package/.agent/workflows/tribunal-full.md +70 -11
- package/.agent/workflows/tribunal-mobile.md +123 -0
- package/.agent/workflows/tribunal-performance.md +152 -0
- package/.agent/workflows/ui-ux-pro-max.md +100 -82
- package/README.md +117 -62
- package/bin/tribunal-kit.js +542 -288
- package/package.json +10 -6
|
@@ -1,269 +1,227 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tailwind-patterns
|
|
3
|
-
description: Tailwind CSS v4 principles. CSS-first configuration, container queries,
|
|
3
|
+
description: Tailwind CSS v4+ principles for extreme frontend engineering. CSS-first configuration, scroll-driven animations, logical properties, advanced container style queries, and `@property` Houdini patterns.
|
|
4
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
|
|
5
8
|
---
|
|
6
9
|
|
|
7
|
-
# Tailwind CSS
|
|
10
|
+
# Tailwind CSS v4+ Pro-Max Patterns
|
|
8
11
|
|
|
9
|
-
>
|
|
12
|
+
> Tailwind is not inline styles. It is a highly-tuned, statically extracted token constraint system.
|
|
13
|
+
> The moment you write arbitrary values everywhere (`w-[317px]`), you've lost the benefit. The moment you ignore CSS-first `@theme`, you are writing legacy code.
|
|
10
14
|
|
|
11
15
|
---
|
|
12
16
|
|
|
13
|
-
##
|
|
17
|
+
## v4+ Key Paradigm: CSS-First & Generative
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
Tailwind CSS v4+ completely removes the need for `tailwind.config.js`. Everything is a native CSS variable controlled via `@theme`.
|
|
16
20
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
| PostCSS plugin | Oxide engine (10x faster) |
|
|
21
|
-
| JIT mode | Native, always-on |
|
|
22
|
-
| Plugin system | CSS-native features |
|
|
23
|
-
| `@apply` directive | Still works, discouraged |
|
|
21
|
+
```css
|
|
22
|
+
/* v4+: configure via CSS @theme */
|
|
23
|
+
@import "tailwindcss";
|
|
24
24
|
|
|
25
|
-
### v4 Core Concepts
|
|
26
|
-
|
|
27
|
-
| Concept | Description |
|
|
28
|
-
|---------|-------------|
|
|
29
|
-
| **CSS-first** | Configuration in CSS, not JavaScript |
|
|
30
|
-
| **Oxide Engine** | Rust-based compiler, much faster |
|
|
31
|
-
| **Native Nesting** | CSS nesting without PostCSS |
|
|
32
|
-
| **CSS Variables** | All tokens exposed as `--*` vars |
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## 2. CSS-Based Configuration
|
|
37
|
-
|
|
38
|
-
### Theme Definition
|
|
39
|
-
|
|
40
|
-
```
|
|
41
25
|
@theme {
|
|
42
|
-
/*
|
|
43
|
-
--
|
|
44
|
-
|
|
45
|
-
--color-
|
|
26
|
+
/* Generative Color Base via OKLCH */
|
|
27
|
+
--hue-brand: 250;
|
|
28
|
+
|
|
29
|
+
--color-brand-base: oklch(65% 0.25 var(--hue-brand));
|
|
30
|
+
--color-brand-surface: oklch(15% 0.02 var(--hue-brand));
|
|
46
31
|
|
|
47
|
-
/*
|
|
48
|
-
--
|
|
49
|
-
--
|
|
50
|
-
--spacing-md: 1rem;
|
|
51
|
-
--spacing-lg: 2rem;
|
|
32
|
+
/* Fluid Typography Native Setup */
|
|
33
|
+
--font-sans: "Inter Variable", sans-serif;
|
|
34
|
+
--text-fluid-body: clamp(1rem, 0.8rem + 1vw, 1.25rem);
|
|
52
35
|
|
|
53
|
-
/*
|
|
54
|
-
--
|
|
55
|
-
--font-mono: 'JetBrains Mono', monospace;
|
|
36
|
+
/* Logical Padding variables (RTL/LTR native) */
|
|
37
|
+
--spacing-fluid-inline: clamp(1rem, 5vw, 3rem);
|
|
56
38
|
}
|
|
57
39
|
```
|
|
58
40
|
|
|
59
|
-
### When to Extend vs Override
|
|
60
|
-
|
|
61
|
-
| Action | Use When |
|
|
62
|
-
|--------|----------|
|
|
63
|
-
| **Extend** | Adding new values alongside defaults |
|
|
64
|
-
| **Override** | Replacing default scale entirely |
|
|
65
|
-
| **Semantic tokens** | Project-specific naming (primary, surface) |
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## 3. Container Queries (v4 Native)
|
|
70
|
-
|
|
71
|
-
### Breakpoint vs Container
|
|
72
|
-
|
|
73
|
-
| Type | Responds To |
|
|
74
|
-
|------|-------------|
|
|
75
|
-
| **Breakpoint** (`md:`) | Viewport width |
|
|
76
|
-
| **Container** (`@container`) | Parent element width |
|
|
77
|
-
|
|
78
|
-
### Container Query Usage
|
|
79
|
-
|
|
80
|
-
| Pattern | Classes |
|
|
81
|
-
|---------|---------|
|
|
82
|
-
| Define container | `@container` on parent |
|
|
83
|
-
| Container breakpoint | `@sm:`, `@md:`, `@lg:` on children |
|
|
84
|
-
| Named containers | `@container/card` for specificity |
|
|
85
|
-
|
|
86
|
-
### When to Use
|
|
87
|
-
|
|
88
|
-
| Scenario | Use |
|
|
89
|
-
|----------|-----|
|
|
90
|
-
| Page-level layouts | Viewport breakpoints |
|
|
91
|
-
| Component-level responsive | Container queries |
|
|
92
|
-
| Reusable components | Container queries (context-independent) |
|
|
93
|
-
|
|
94
41
|
---
|
|
95
42
|
|
|
96
|
-
##
|
|
97
|
-
|
|
98
|
-
###
|
|
43
|
+
## Bleeding-Edge Architectures
|
|
44
|
+
|
|
45
|
+
### 1. Logical Properties (Mandatory for i18n)
|
|
46
|
+
Never use physical properties (`ml-4`, `pr-2`, `w-screen`) in modern web development. They break on Right-To-Left (RTL) languages or horizontal writing modes.
|
|
47
|
+
- **Use `ms-4` (margin-start)** instead of `ml-4`.
|
|
48
|
+
- **Use `px-4` / `pi-4` (padding-inline)** instead of explicit left/right.
|
|
49
|
+
- **Use `dvw` / `dvh` (dynamic viewport)** instead of `vw` / `vh` to account for mobile browser UI shifts.
|
|
50
|
+
|
|
51
|
+
### 2. Container Style Queries
|
|
52
|
+
v4+ makes container queries (`@container`) first-class. A component should not care about the viewport; it only cares about where it is placed.
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<!-- Parent sets the query context -->
|
|
56
|
+
<div class="@container">
|
|
57
|
+
<!-- Child responds to parent size, not browser window size -->
|
|
58
|
+
<div class="grid grid-cols-1 @md:grid-cols-2 @[800px]:grid-cols-3">
|
|
59
|
+
...
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
```
|
|
99
63
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
| (none) | 0px | Mobile-first base |
|
|
103
|
-
| `sm:` | 640px | Large phone / small tablet |
|
|
104
|
-
| `md:` | 768px | Tablet |
|
|
105
|
-
| `lg:` | 1024px | Laptop |
|
|
106
|
-
| `xl:` | 1280px | Desktop |
|
|
107
|
-
| `2xl:` | 1536px | Large desktop |
|
|
64
|
+
**Advanced Querying:** Container queries can now query *styles*, not just sizes.
|
|
65
|
+
*(Always use `// VERIFY: CSS Style Queries browser support` if heavily relying on them).*
|
|
108
66
|
|
|
109
|
-
###
|
|
67
|
+
### 3. Native Scroll-Driven Animations
|
|
68
|
+
CSS `@scroll-timeline` natively hooks into scroll position without JS listeners. Integrate this directly into Tailwind workflows.
|
|
110
69
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
70
|
+
```css
|
|
71
|
+
@layer utilities {
|
|
72
|
+
.animate-on-scroll {
|
|
73
|
+
animation: fade-in-up linear both;
|
|
74
|
+
animation-timeline: view();
|
|
75
|
+
animation-range: entry 10% cover 30%;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
114
79
|
|
|
115
80
|
---
|
|
116
81
|
|
|
117
|
-
##
|
|
118
|
-
|
|
119
|
-
### Configuration Strategies
|
|
82
|
+
## Houdini `@property` Patterns
|
|
120
83
|
|
|
121
|
-
|
|
122
|
-
|--------|----------|----------|
|
|
123
|
-
| `class` | `.dark` class toggles | Manual theme switcher |
|
|
124
|
-
| `media` | Follows system preference | No user control |
|
|
125
|
-
| `selector` | Custom selector (v4) | Complex theming |
|
|
84
|
+
To animate gradients or specific variable values, you must declare them explicitly in your main CSS to allow the browser to interplate them.
|
|
126
85
|
|
|
127
|
-
|
|
86
|
+
```css
|
|
87
|
+
@property --angle {
|
|
88
|
+
syntax: "<angle>";
|
|
89
|
+
initial-value: 0deg;
|
|
90
|
+
inherits: false;
|
|
91
|
+
}
|
|
128
92
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
93
|
+
@layer utilities {
|
|
94
|
+
.animated-gradient-border {
|
|
95
|
+
background: conic-gradient(from var(--angle), transparent, var(--color-brand-base));
|
|
96
|
+
animation: rotate 3s linear infinite;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
@keyframes rotate { to { --angle: 360deg; } }
|
|
100
|
+
```
|
|
134
101
|
|
|
135
102
|
---
|
|
136
103
|
|
|
137
|
-
##
|
|
104
|
+
## Extreme Anti-Patterns
|
|
138
105
|
|
|
139
|
-
|
|
106
|
+
| Pattern | Problem | Fix |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| `[400px]` arbitrary values | Breaks the constraint system | Add to `@theme` and use the token |
|
|
109
|
+
| `w-screen` / `h-screen` | Causes scrollbars / mobile jumps | Use `w-dvw` and `h-dvh` |
|
|
110
|
+
| `!important` | Specificity arms race | Correct the layer ordering or CSS specificity |
|
|
111
|
+
| String concatenation for classes | Tailwind purges them | Use `clsx` or `tailwind-merge` properly |
|
|
140
112
|
|
|
141
|
-
|
|
142
|
-
|---------|---------|
|
|
143
|
-
| Center (both axes) | `flex items-center justify-center` |
|
|
144
|
-
| Vertical stack | `flex flex-col gap-4` |
|
|
145
|
-
| Horizontal row | `flex gap-4` |
|
|
146
|
-
| Space between | `flex justify-between items-center` |
|
|
147
|
-
| Wrap grid | `flex flex-wrap gap-4` |
|
|
113
|
+
### Dynamic Class Pitfall & `tailwind-merge`
|
|
148
114
|
|
|
149
|
-
|
|
115
|
+
```tsx
|
|
116
|
+
// ❌ Tailwind cannot detect this — will be purged
|
|
117
|
+
const color = isDanger ? 'red' : 'green';
|
|
118
|
+
<div class={`bg-${color}-500`}>
|
|
150
119
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
| Auto-fit responsive | `grid grid-cols-[repeat(auto-fit,minmax(250px,1fr))]` |
|
|
154
|
-
| Asymmetric (Bento) | `grid grid-cols-3 grid-rows-2` with spans |
|
|
155
|
-
| Sidebar layout | `grid grid-cols-[auto_1fr]` |
|
|
120
|
+
// ✅ Use full class names
|
|
121
|
+
const className = isDanger ? 'bg-red-500' : 'bg-green-500';
|
|
156
122
|
|
|
157
|
-
|
|
123
|
+
// 🚀 PRO-MAX LEVEL: Use tailwind-merge to prevent clash bugs
|
|
124
|
+
import { twMerge } from 'tailwind-merge';
|
|
125
|
+
export const Button = ({ className }) => (
|
|
126
|
+
<button className={twMerge('px-4 py-2 bg-blue-500 rounded-md', className)}>
|
|
127
|
+
Click
|
|
128
|
+
</button>
|
|
129
|
+
)
|
|
130
|
+
```
|
|
158
131
|
|
|
159
132
|
---
|
|
160
133
|
|
|
161
|
-
##
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
134
|
+
## True OLED Dark Mode via CSS
|
|
135
|
+
|
|
136
|
+
Do not rely on Javascript to toggle simple dark modes if it can be avoided. Media queries prevent FOUC (Flash of Unstyled Content).
|
|
137
|
+
|
|
138
|
+
```css
|
|
139
|
+
/* v4 dark mode via CSS media query */
|
|
140
|
+
@layer base {
|
|
141
|
+
:root {
|
|
142
|
+
--color-bg: oklch(98% 0.002 250);
|
|
143
|
+
--color-text: oklch(15% 0.005 250);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* OLED optimization: True 0% lightness */
|
|
147
|
+
@media (prefers-color-scheme: dark) {
|
|
148
|
+
:root {
|
|
149
|
+
--color-bg: oklch(0% 0 0);
|
|
150
|
+
--color-text: oklch(95% 0.002 250);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
```
|
|
178
155
|
|
|
179
156
|
---
|
|
180
157
|
|
|
181
|
-
##
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
| Type | Recommended |
|
|
186
|
-
|------|-------------|
|
|
187
|
-
| Sans | `'Inter', 'SF Pro', system-ui, sans-serif` |
|
|
188
|
-
| Mono | `'JetBrains Mono', 'Fira Code', monospace` |
|
|
189
|
-
| Display | `'Outfit', 'Poppins', sans-serif` |
|
|
190
|
-
|
|
191
|
-
### Type Scale
|
|
192
|
-
|
|
193
|
-
| Class | Size | Use |
|
|
194
|
-
|-------|------|-----|
|
|
195
|
-
| `text-xs` | 0.75rem | Labels, captions |
|
|
196
|
-
| `text-sm` | 0.875rem | Secondary text |
|
|
197
|
-
| `text-base` | 1rem | Body text |
|
|
198
|
-
| `text-lg` | 1.125rem | Lead text |
|
|
199
|
-
| `text-xl`+ | 1.25rem+ | Headings |
|
|
158
|
+
## Performance Rules
|
|
159
|
+
- **Layer Splitting:** `@layer components` and `@layer utilities` prevent specificity issues and allow Tailwind's engine to order CSS correctly.
|
|
160
|
+
- **Do not install plugins without measuring:** Heavy plugins (like unpruned icon libraries) destroy CSS parsing times.
|
|
161
|
+
- **Validate DOM Depth:** Tailwind encourages flat HTML. Avoid nested `<div class="flex">` chains that go 10 layers deep; rebuild with CSS Grid.
|
|
200
162
|
|
|
201
163
|
---
|
|
202
164
|
|
|
203
|
-
##
|
|
204
|
-
|
|
205
|
-
### Built-in Animations
|
|
165
|
+
## Output Format
|
|
206
166
|
|
|
207
|
-
|
|
208
|
-
|-------|--------|
|
|
209
|
-
| `animate-spin` | Continuous rotation |
|
|
210
|
-
| `animate-ping` | Attention pulse |
|
|
211
|
-
| `animate-pulse` | Subtle opacity pulse |
|
|
212
|
-
| `animate-bounce` | Bouncing effect |
|
|
167
|
+
When this skill produces or reviews code, structure your output as follows:
|
|
213
168
|
|
|
214
|
-
|
|
169
|
+
```
|
|
170
|
+
━━━ Tailwind Patterns Report ━━━━━━━━━━━━━━━━━━━━━━━━
|
|
171
|
+
Skill: Tailwind Patterns
|
|
172
|
+
Language: [detected language / framework]
|
|
173
|
+
Scope: [N files · N functions]
|
|
174
|
+
─────────────────────────────────────────────────
|
|
175
|
+
✅ Passed: [checks that passed, or "All clean"]
|
|
176
|
+
⚠️ Warnings: [non-blocking issues, or "None"]
|
|
177
|
+
❌ Blocked: [blocking issues requiring fix, or "None"]
|
|
178
|
+
─────────────────────────────────────────────────
|
|
179
|
+
VBC status: PENDING → VERIFIED
|
|
180
|
+
Evidence: [test output / lint pass / compile success]
|
|
181
|
+
```
|
|
215
182
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
| All properties | `transition-all duration-200` |
|
|
219
|
-
| Specific | `transition-colors duration-150` |
|
|
220
|
-
| With easing | `ease-out` or `ease-in-out` |
|
|
221
|
-
| Hover effect | `hover:scale-105 transition-transform` |
|
|
183
|
+
**VBC (Verification-Before-Completion) is mandatory.**
|
|
184
|
+
Do not mark status as VERIFIED until concrete terminal evidence is provided.
|
|
222
185
|
|
|
223
|
-
---
|
|
224
186
|
|
|
225
|
-
## 10. Component Extraction
|
|
226
187
|
|
|
227
|
-
|
|
188
|
+
---
|
|
228
189
|
|
|
229
|
-
|
|
230
|
-
|--------|--------|
|
|
231
|
-
| Same class combo 3+ times | Extract component |
|
|
232
|
-
| Complex state variants | Extract component |
|
|
233
|
-
| Design system element | Extract + document |
|
|
190
|
+
## 🤖 LLM-Specific Traps
|
|
234
191
|
|
|
235
|
-
|
|
192
|
+
AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
|
|
236
193
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
194
|
+
1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
|
|
195
|
+
2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
|
|
196
|
+
3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
|
|
197
|
+
4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
198
|
+
5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
|
|
242
199
|
|
|
243
200
|
---
|
|
244
201
|
|
|
245
|
-
##
|
|
202
|
+
## 🏛️ Tribunal Integration (Anti-Hallucination)
|
|
246
203
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
| Arbitrary values everywhere | Use design system scale |
|
|
250
|
-
| `!important` | Fix specificity properly |
|
|
251
|
-
| Inline `style=` | Use utilities |
|
|
252
|
-
| Duplicate long class lists | Extract component |
|
|
253
|
-
| Mix v3 config with v4 | Migrate fully to CSS-first |
|
|
254
|
-
| Use `@apply` heavily | Prefer components |
|
|
204
|
+
**Slash command: `/review` or `/tribunal-full`**
|
|
205
|
+
**Active reviewers: `logic-reviewer` · `security-auditor`**
|
|
255
206
|
|
|
256
|
-
|
|
207
|
+
### ❌ Forbidden AI Tropes
|
|
257
208
|
|
|
258
|
-
|
|
209
|
+
1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
|
|
210
|
+
2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
|
|
211
|
+
3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
|
|
259
212
|
|
|
260
|
-
|
|
261
|
-
|-----------|----------------|
|
|
262
|
-
| **Purge unused** | Automatic in v4 |
|
|
263
|
-
| **Avoid dynamism** | No template string classes |
|
|
264
|
-
| **Use Oxide** | Default in v4, 10x faster |
|
|
265
|
-
| **Cache builds** | CI/CD caching |
|
|
213
|
+
### ✅ Pre-Flight Self-Audit
|
|
266
214
|
|
|
267
|
-
|
|
215
|
+
Review these questions before confirming output:
|
|
216
|
+
```
|
|
217
|
+
✅ Did I rely ONLY on real, verified tools and methods?
|
|
218
|
+
✅ Is this solution appropriately scoped to the user's constraints?
|
|
219
|
+
✅ Did I handle potential failure modes and edge cases?
|
|
220
|
+
✅ Have I avoided generic boilerplate that doesn't add value?
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
268
224
|
|
|
269
|
-
|
|
225
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
226
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
227
|
+
- ✅ **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.
|