tribunal-kit 5.8.2 โ 5.8.4
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/ARCHITECTURE.md +12 -12
- package/.agent/agents/complexity-reviewer.md +53 -0
- package/.agent/agents/precedence-reviewer.md +12 -12
- package/.agent/agents/swarm-worker-registry.md +3 -3
- package/.agent/history/integrity_manifest.json +958 -0
- package/.agent/history/memory/.memory.idx +305 -1
- package/.agent/history/memory/MEMORY.md +21 -1
- package/.agent/rules/GEMINI.md +31 -28
- package/.agent/scripts/case_law_manager.js +3 -15
- package/.agent/scripts/context_broker.js +3 -1
- package/.agent/scripts/guardrail_engine.js +643 -0
- package/.agent/scripts/integrity_manifest.js +486 -0
- package/.agent/scripts/signal_detector.js +1 -1
- package/.agent/scripts/skill_evolution.js +3 -15
- package/.agent/scripts/skill_integrator.js +2 -12
- package/.agent/scripts/swarm_dispatcher.js +2 -12
- package/.agent/skills/12-principles-of-animation/SKILL.md +69 -0
- package/.agent/skills/60fps-animation/SKILL.md +78 -0
- package/.agent/skills/accessible-animation/SKILL.md +86 -0
- package/.agent/skills/adapt/SKILL.md +75 -0
- package/.agent/skills/animation-on-scroll/SKILL.md +110 -0
- package/.agent/skills/animation-systems/SKILL.md +69 -0
- package/.agent/skills/antfu-conventions/SKILL.md +74 -0
- package/.agent/skills/app-builder/SKILL.md +1 -1
- package/.agent/skills/apple-design/SKILL.md +108 -0
- package/.agent/skills/audit-and-fix/SKILL.md +83 -0
- package/.agent/skills/baseline-ui/SKILL.md +74 -0
- package/.agent/skills/better-colors/SKILL.md +124 -0
- package/.agent/skills/better-typography/SKILL.md +111 -0
- package/.agent/skills/better-ui/SKILL.md +102 -0
- package/.agent/skills/bolder/SKILL.md +68 -0
- package/.agent/skills/build-primitive/SKILL.md +70 -0
- package/.agent/skills/clarify/SKILL.md +75 -0
- package/.agent/skills/cobejs/SKILL.md +96 -0
- package/.agent/skills/codebase-design/SKILL.md +84 -0
- package/.agent/skills/colorize/SKILL.md +77 -0
- package/.agent/skills/compact-landing/SKILL.md +70 -0
- package/.agent/skills/company-logos/SKILL.md +73 -0
- package/.agent/skills/create-design-md/SKILL.md +104 -0
- package/.agent/skills/critique/SKILL.md +95 -0
- package/.agent/skills/delight/SKILL.md +65 -0
- package/.agent/skills/design-lab/SKILL.md +59 -0
- package/.agent/skills/diagnosing-bugs/SKILL.md +190 -0
- package/.agent/skills/distill/SKILL.md +65 -0
- package/.agent/skills/domain-modeling/SKILL.md +78 -0
- package/.agent/skills/fixing-accessibility/SKILL.md +98 -0
- package/.agent/skills/fixing-metadata/SKILL.md +97 -0
- package/.agent/skills/fixing-motion-performance/SKILL.md +96 -0
- package/.agent/skills/gpt-taste/SKILL.md +68 -0
- package/.agent/skills/harden/SKILL.md +74 -0
- package/.agent/skills/impeccable/SKILL.md +72 -0
- package/.agent/skills/improve-codebase-architecture/SKILL.md +67 -0
- package/.agent/skills/improve-ui/SKILL.md +83 -0
- package/.agent/skills/landing-page/SKILL.md +88 -0
- package/.agent/skills/lint-and-validate/SKILL.md +1 -2
- package/.agent/skills/local-first-architecture/SKILL.md +66 -0
- package/.agent/skills/lottie-animation/SKILL.md +82 -0
- package/.agent/skills/marquee-loop/SKILL.md +96 -0
- package/.agent/skills/masked-reveal/SKILL.md +88 -0
- package/.agent/skills/micro-interaction/SKILL.md +100 -0
- package/.agent/skills/morphing-icons/SKILL.md +85 -0
- package/.agent/skills/page-transition-animation/SKILL.md +108 -0
- package/.agent/skills/parallel-agents/SKILL.md +5 -5
- package/.agent/skills/polish/SKILL.md +63 -0
- package/.agent/skills/pricing-page/SKILL.md +68 -0
- package/.agent/skills/progressive-blur/SKILL.md +100 -0
- package/.agent/skills/project-idioms/SKILL.md +7 -7
- package/.agent/skills/quieter/SKILL.md +68 -0
- package/.agent/skills/react-doctor/SKILL.md +70 -0
- package/.agent/skills/redesign-skill/SKILL.md +65 -0
- package/.agent/skills/shape/SKILL.md +73 -0
- package/.agent/skills/soft-skill/SKILL.md +72 -0
- package/.agent/skills/sounds-on-the-web/SKILL.md +100 -0
- package/.agent/skills/svg-animation/SKILL.md +91 -0
- package/.agent/skills/swiss-design/SKILL.md +64 -0
- package/.agent/skills/taste-skill/SKILL.md +71 -0
- package/.agent/skills/tdd-workflow/SKILL.md +36 -165
- package/.agent/skills/test-result-analyzer/SKILL.md +1 -1
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +82 -0
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +66 -0
- package/.agent/skills/transitions-dev/SKILL.md +101 -0
- package/.agent/skills/typeset/SKILL.md +76 -0
- package/.agent/skills/ui-skills-root/SKILL.md +85 -0
- package/.agent/skills/web-quality-audit/SKILL.md +67 -0
- package/.agent/workflows/fix.md +2 -2
- package/.agent/workflows/preview.md +5 -5
- package/.agent/workflows/status.md +1 -1
- package/.agent/workflows/tribunal-full.md +3 -3
- package/.agent/workflows/tribunal-speed.md +2 -2
- package/README.md +348 -238
- package/bin/tribunal-kit.js +62 -1482
- package/dist/cli.js +13 -0
- package/dist/commands/align.js +1 -1
- package/dist/commands/compile.js +1 -1
- package/dist/commands/guardrail.js +275 -0
- package/dist/commands/init.js +10 -9
- package/dist/commands/optimize.js +318 -0
- package/dist/utils/version.js +1 -1
- package/package.json +10 -8
- package/scripts/fix-vbc.js +98 -0
- package/scripts/fix-vbc.ps1 +119 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pricing-page
|
|
3
|
+
description: SaaS pricing table architecture, billing cycle toggles (Monthly/Annual), feature comparison matrices, tier highlighting, and conversion optimization.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Pricing Architecture & SaaS Conversion
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [landing-page, frontend-design]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [pricing-page, pricing table, billing toggle, tier comparison, popular tier highlight, SaaS pricing]
|
|
13
|
+
weak: [pricing UI, plan table]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Pricing Page โ SaaS Pricing Architecture & Comparison Grids
|
|
17
|
+
|
|
18
|
+
Architect high-converting SaaS pricing tables with clear billing toggles, tier differentiation, and feature comparison matrices.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 4 Pricing Table Rules
|
|
23
|
+
|
|
24
|
+
### 1. The Billing Cycle Toggle (Monthly vs Annual)
|
|
25
|
+
- Provide a clear segmented control or switch for **Monthly** / **Annual (Save 20%)**.
|
|
26
|
+
- Display an explicit "Save 20%" badge next to the annual option.
|
|
27
|
+
- Smoothly transition price numbers when toggling billing frequencies using `font-variant-numeric: tabular-nums`.
|
|
28
|
+
|
|
29
|
+
### 2. Tier Visual Hierarchy (Max 3-4 Tiers)
|
|
30
|
+
- **Hobby / Starter**: Quiet surface, border outline, ghost CTA button (*"Start free"*).
|
|
31
|
+
- **Pro / Business (Featured Tier)**: Prominent accent border, subtle glow/gradient header, "Most Popular" pill badge, solid primary CTA button (*"Start 14-day trial"*).
|
|
32
|
+
- **Enterprise**: Solid dark surface or neutral card, contact sales CTA (*"Talk to sales"*).
|
|
33
|
+
|
|
34
|
+
### 3. Price Display Formatting
|
|
35
|
+
- Big bold price numeral (`3.5rem` font size) + billing cadence label (`/month billed annually` in smaller muted text).
|
|
36
|
+
- Always include `$0` or `Free` tier explicitly if available.
|
|
37
|
+
|
|
38
|
+
### 4. Feature Checklist Consistency
|
|
39
|
+
- Group bullet points with green checkmark icons (`โ`).
|
|
40
|
+
- Explicitly list features included vs excluded (using muted dashed icons or opacity for missing features).
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## ๐ค LLM-Specific Traps
|
|
45
|
+
|
|
46
|
+
1. **Jittering Price Numeral Transitions**: Price numbers shifting layout width when toggling monthly/annual billing. Use `font-variant-numeric: tabular-nums`.
|
|
47
|
+
2. **Identical Visual Treatment**: Making all 3 pricing tiers look identical, preventing users from spotting the recommended plan.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
52
|
+
|
|
53
|
+
**Active reviewers: `frontend-reviewer` ยท `ui-ux-auditor`**
|
|
54
|
+
|
|
55
|
+
### โ
Pre-Flight Self-Audit
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
โ
Is the "Most Popular / Pro" tier visually distinct with primary CTA styling?
|
|
59
|
+
โ
Is `tabular-nums` applied to price numerals to prevent toggle layout shifts?
|
|
60
|
+
โ
Is the Annual discount savings badge clearly visible next to the billing toggle?
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
64
|
+
|
|
65
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
66
|
+
|
|
67
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
68
|
+
- โ
**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.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: progressive-blur
|
|
3
|
+
description: Smooth progressive backdrop blurs, depth overlays, and modern glassmorphism using CSS mask-image and multi-layered backdrop filters without GPU performance drops.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Glassmorphism & Depth Engineering
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [frontend-design, 60fps-animation]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [progressive-blur, backdrop blur, glassmorphism, depth overlay, progressive backdrop, frosted glass]
|
|
13
|
+
weak: [blur effect, blur background]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Progressive Blur โ Multi-Layered Glassmorphism & Depth
|
|
17
|
+
|
|
18
|
+
Architect high-performance, progressive backdrop blurs and frosted glass interfaces that feel tactile and fluid.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 3 Progressive Blur Techniques
|
|
23
|
+
|
|
24
|
+
### 1. Multi-Step Masked Progressive Blur
|
|
25
|
+
To prevent harsh edge cutoffs in blurred headers or footers, blend 4 progressive blur layers using linear gradient masks:
|
|
26
|
+
|
|
27
|
+
```css
|
|
28
|
+
.progressive-blur-header {
|
|
29
|
+
position: sticky;
|
|
30
|
+
top: 0;
|
|
31
|
+
z-index: 40;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.blur-layer-1 {
|
|
36
|
+
backdrop-filter: blur(2px);
|
|
37
|
+
mask: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 25%);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.blur-layer-2 {
|
|
41
|
+
backdrop-filter: blur(8px);
|
|
42
|
+
mask: linear-gradient(to bottom, rgba(0,0,0,1) 25%, rgba(0,0,0,0) 65%);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.blur-layer-3 {
|
|
46
|
+
backdrop-filter: blur(16px);
|
|
47
|
+
mask: linear-gradient(to bottom, rgba(0,0,0,1) 65%, rgba(0,0,0,1) 100%);
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Glass Card Depth Recipe
|
|
52
|
+
```css
|
|
53
|
+
.glass-card {
|
|
54
|
+
background: rgba(255, 255, 255, 0.65);
|
|
55
|
+
backdrop-filter: blur(16px) saturate(180%);
|
|
56
|
+
-webkit-backdrop-filter: blur(16px) saturate(180%);
|
|
57
|
+
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
58
|
+
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.08);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@media (prefers-color-scheme: dark) {
|
|
62
|
+
.glass-card {
|
|
63
|
+
background: rgba(18, 18, 20, 0.70);
|
|
64
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
65
|
+
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 3. GPU Hardware Acceleration Protection
|
|
71
|
+
Backdrop blurs can cause frame drops if animated directly.
|
|
72
|
+
- **Rule**: Never animate `backdrop-filter: blur()` properties during scroll or transitions. Animate `opacity` of a static blurred pseudo-element instead!
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## ๐ค LLM-Specific Traps
|
|
77
|
+
|
|
78
|
+
1. **Animating `backdrop-filter` radius**: Animating `blur(0px)` to `blur(20px)` on every frame, which tanks GPU performance to under 20fps.
|
|
79
|
+
2. **Missing vendor prefixes**: Forgetting `-webkit-backdrop-filter` for Safari compatibility.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
84
|
+
|
|
85
|
+
**Active reviewers: `frontend-reviewer` ยท `performance-optimizer`**
|
|
86
|
+
|
|
87
|
+
### โ
Pre-Flight Self-Audit
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
โ
Are `-webkit-backdrop-filter` vendor prefixes present?
|
|
91
|
+
โ
Is `opacity` animated instead of directly interpolating `backdrop-filter` radius?
|
|
92
|
+
โ
Is dark mode contrast preserved over frosted glass surfaces?
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
96
|
+
|
|
97
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
98
|
+
|
|
99
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
100
|
+
- โ
**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.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: project-idioms
|
|
3
3
|
description: >
|
|
4
4
|
Auto-evolved skill containing project-specific architectural idioms extracted
|
|
5
|
-
from the developer's own code decisions. Generated by skill_evolution.
|
|
5
|
+
from the developer's own code decisions. Generated by skill_evolution.js.
|
|
6
6
|
Commit this file to share your Engineering Culture across the team.
|
|
7
7
|
Every agent MUST respect these idioms above generic defaults.
|
|
8
8
|
version: auto
|
|
@@ -33,7 +33,7 @@ routing:
|
|
|
33
33
|
## How Idioms Are Born
|
|
34
34
|
|
|
35
35
|
1. Developer commits code that **differs** from what the AI proposed.
|
|
36
|
-
2. `skill_evolution.
|
|
36
|
+
2. `skill_evolution.js digest` extracts the architectural delta (semantic filter).
|
|
37
37
|
3. A minimal LLM prompt (< 500 tokens) identifies the **WHY** behind the change.
|
|
38
38
|
4. The idiom is recorded here with a stable pattern + reason pair.
|
|
39
39
|
5. All future code generations must align with these idioms.
|
|
@@ -54,16 +54,16 @@ Run after committing or staging a meaningful architectural change:
|
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
56
|
# Analyze staged changes (default)
|
|
57
|
-
|
|
57
|
+
node .agent/scripts/skill_evolution.js digest
|
|
58
58
|
|
|
59
59
|
# Preview without writing
|
|
60
|
-
|
|
60
|
+
node .agent/scripts/skill_evolution.js digest --dry-run
|
|
61
61
|
|
|
62
62
|
# Analyze last commit instead of staged
|
|
63
|
-
|
|
63
|
+
node .agent/scripts/skill_evolution.js digest --head
|
|
64
64
|
|
|
65
65
|
# Check current idiom count and token savings
|
|
66
|
-
|
|
66
|
+
node .agent/scripts/skill_evolution.js status
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
---
|
|
@@ -87,7 +87,7 @@ python .agent/scripts/skill_evolution.py status
|
|
|
87
87
|
Last digest: `never`
|
|
88
88
|
Total cycles: `0`
|
|
89
89
|
|
|
90
|
-
Run `
|
|
90
|
+
Run `node .agent/scripts/skill_evolution.js status` to see full statistics.
|
|
91
91
|
|
|
92
92
|
---
|
|
93
93
|
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quieter
|
|
3
|
+
description: Tone down overly loud, noisy, visually aggressive, or distracting designs while maintaining high visual quality. Use when a UI feels cluttered, overwhelming, tacky, or visually hyperactive.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Visual Design & Restraint
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [distill, swiss-design, compact-landing]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [quieter, tone down, too loud, visual noise, too aggressive, tacky, calm ui, simplify visual]
|
|
13
|
+
weak: [subdue, tone down colors, lessen contrast]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Quieter โ Visual Restraint & Calm Interface Design
|
|
17
|
+
|
|
18
|
+
Reduce visual noise, eliminate unnecessary color competition, and restore calm focus to chaotic interfaces.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 5 Restraint Tactics
|
|
23
|
+
|
|
24
|
+
### 1. Palette Subjugation
|
|
25
|
+
- **Reduce Primary Colors**: Limit saturated colors to a single primary action. Turn secondary accent colors into subtle monochrome tones (`oklch(0.92 0.01 240)`).
|
|
26
|
+
- **Mute Background Surfaces**: Replace multi-colored cards or high-saturation gradient backgrounds with quiet, neutral monochrome surfaces.
|
|
27
|
+
|
|
28
|
+
### 2. De-emphasize Borders & Outlines
|
|
29
|
+
- **Subtle Surface Elevation**: Replace harsh 100% black/white borders with subtle surface background differences ($L \pm 3\%$) or ultra-light 5% opacity borders.
|
|
30
|
+
|
|
31
|
+
### 3. Subdue Typography Scaling
|
|
32
|
+
- **Reduce Font Weight Spikes**: Replace heavy 900 bold display headings with refined semibold (`600`) or medium (`500`) typography.
|
|
33
|
+
- **Normalize Font Sizes**: Reduce font size jumps between section headers and subheaders to create smooth visual harmony.
|
|
34
|
+
|
|
35
|
+
### 4. Calm Motion & Animations
|
|
36
|
+
- **Eliminate Continuous Animations**: Remove spinning gradient borders, pulsing badges, and bouncing icons. Restrict motion exclusively to user-initiated actions.
|
|
37
|
+
- **Shorten Transitions**: Keep hover state transitions subtle and fast ($\le 150\text{ms}$).
|
|
38
|
+
|
|
39
|
+
### 5. Expand Negative Space
|
|
40
|
+
- **Increase Padding**: Give content room to breathe by increasing section paddings by 25%-50%, reducing cognitive overload.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## ๐ค LLM-Specific Traps
|
|
45
|
+
|
|
46
|
+
1. **Making Text Unreadable**: Reducing color saturation so much that text fails WCAG AA contrast (below 4.5:1).
|
|
47
|
+
2. **Stripping Functional Indicators**: Removing error/warning colors when reducing palette noise. Keep functional colors crisp.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
52
|
+
|
|
53
|
+
**Active reviewers: `frontend-reviewer` ยท `ui-ux-auditor`**
|
|
54
|
+
|
|
55
|
+
### โ
Pre-Flight Self-Audit
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
โ
Are saturated colors restricted to primary actions?
|
|
59
|
+
โ
Did I retain minimum 4.5:1 text contrast for all body and label copy?
|
|
60
|
+
โ
Has unnecessary layout animation or pulsing been eliminated?
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
64
|
+
|
|
65
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
66
|
+
|
|
67
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
68
|
+
- โ
**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.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react-doctor
|
|
3
|
+
description: Scan React and Next.js applications for security, performance, re-render inefficiencies, memory leaks, and correctness issues.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: React Optimization & Code Health
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [react-specialist, nextjs-react-expert, performance-profiling]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [react-doctor, React performance scan, fix React re-renders, React memory leak, Million.js audit]
|
|
13
|
+
weak: [React audit, fix React bugs]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# React Doctor โ React Performance & Health Audit
|
|
17
|
+
|
|
18
|
+
Diagnose and resolve unnecessary re-renders, state synchronization bugs, memory leaks, and hook dependency issues in React applications.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 4 React Health Checks
|
|
23
|
+
|
|
24
|
+
### 1. Unnecessary Re-render Prevention
|
|
25
|
+
- **Inline Object/Array Props**: Passing inline objects `<Child config={{ color: 'blue' }} />` creates new references every render. Wrap with `useMemo` or declare outside component scope.
|
|
26
|
+
- **Inline Callback Props**: Passing inline functions `<Child onClick={() => doSomething()} />` breaks `React.memo`. Wrap callbacks with `useCallback`.
|
|
27
|
+
|
|
28
|
+
### 2. State Colocation
|
|
29
|
+
- Don't lift state higher than necessary. Keep state local to the component consuming it to isolate re-render subtrees.
|
|
30
|
+
|
|
31
|
+
### 3. Cleanup in `useEffect`
|
|
32
|
+
- Every event listener, interval, or subscription created in `useEffect` MUST return a cleanup function to prevent memory leaks:
|
|
33
|
+
```tsx
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
const handleResize = () => setWidth(window.innerWidth);
|
|
36
|
+
window.addEventListener('resize', handleResize);
|
|
37
|
+
return () => window.removeEventListener('resize', handleResize);
|
|
38
|
+
}, []);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 4. Derived State Anti-Pattern
|
|
42
|
+
- Never duplicate props into state (`const [name, setName] = useState(props.name)`). Calculate derived values during rendering directly.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## ๐ค LLM-Specific Traps
|
|
47
|
+
|
|
48
|
+
1. **Over-using `useCallback` everywhere**: Wrapping trivial primitives or 1-line functions that aren't passed to memoized children.
|
|
49
|
+
2. **Missing `useEffect` Dependencies**: Omitting referenced variables from effect dependency arrays without proper `useCallback` or ref wrapping.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
54
|
+
|
|
55
|
+
**Active reviewers: `react-specialist` ยท `type-safety`**
|
|
56
|
+
|
|
57
|
+
### โ
Pre-Flight Self-Audit
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
โ
Are event listeners and timers properly cleaned up in `useEffect` returns?
|
|
61
|
+
โ
Are expensive calculations wrapped in `useMemo`?
|
|
62
|
+
โ
Is state colocated to minimize re-render scope?
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
66
|
+
|
|
67
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
68
|
+
|
|
69
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
70
|
+
- โ
**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.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: redesign-skill
|
|
3
|
+
description: Audit and upgrade existing interfaces to premium visual quality while preserving product functionality and business logic.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Interface Redesign & UI Upgrade
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [taste-skill, better-ui, baseline-ui]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [redesign-skill, redesign existing project, UI upgrade, overhaul interface, modernize UI, upgrade visual quality]
|
|
13
|
+
weak: [redesign UI, revamp site]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Redesign Skill โ UI Upgrade Methodology
|
|
17
|
+
|
|
18
|
+
Audit legacy or unstyled user interfaces and transform them into modern, production-grade products without breaking underlying business logic.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 4 Redesign Upgrade Steps
|
|
23
|
+
|
|
24
|
+
### Step 1: Logic & State Isolation
|
|
25
|
+
Before touching CSS or HTML layout:
|
|
26
|
+
- Extract all state hooks (`useState`), event handlers (`onClick`), and API props. **Zero business logic may be deleted or altered.**
|
|
27
|
+
|
|
28
|
+
### Step 2: Spatial & Typographic Grid Overhaul
|
|
29
|
+
- Replace arbitrary pixel margins with an 8px spatial system (`gap-4`, `p-6`).
|
|
30
|
+
- Apply modular font scaling (`text-sm`, `text-base`, `text-2xl`, `text-4xl`) with `text-wrap: balance` on headings.
|
|
31
|
+
|
|
32
|
+
### Step 3: Color & Surface Elevation Upgrade
|
|
33
|
+
- Replace raw `#fff` / `#000` colors with an OKLCH surface hierarchy (`--bg-base`, `--bg-surface`, `--bg-elevated`).
|
|
34
|
+
- Replace hard black borders with subtle 8% opacity surface borders and multi-layered ambient shadows.
|
|
35
|
+
|
|
36
|
+
### Step 4: Micro-Interaction & Polish Pass
|
|
37
|
+
- Add `:active` scale press feedback (`scale(0.97)`), smooth hover state transitions, and keyboard focus rings (`:focus-visible`).
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## ๐ค LLM-Specific Traps
|
|
42
|
+
|
|
43
|
+
1. **Breaking Functionality During Redesign**: Deleting event handlers, state hooks, or form field inputs while redesigning the layout.
|
|
44
|
+
2. **Generic Template Replacement**: Replacing a unique custom feature with a stock generic card grid.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
49
|
+
|
|
50
|
+
**Active reviewers: `frontend-reviewer` ยท `ui-ux-auditor`**
|
|
51
|
+
|
|
52
|
+
### โ
Pre-Flight Self-Audit
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
โ
Are all original props, event handlers, and state variables 100% preserved?
|
|
56
|
+
โ
Is the visual hierarchy upgraded using OKLCH surface levels and multi-layer shadows?
|
|
57
|
+
โ
Have interactive controls received tactile `:active` press feedback?
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
61
|
+
|
|
62
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
63
|
+
|
|
64
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
65
|
+
- โ
**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.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shape
|
|
3
|
+
description: Plan feature UX before writing code via structured Socratic design interviews. Use when a user asks to plan a new screen, onboarding flow, feature UX, or user interaction before implementation.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Pre-Code UX Shaping
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [appflow-wireframe, brainstorming, plan-writing]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [shape, UX shaping, feature design, pre-code planning, user flow interview, shape workflow]
|
|
13
|
+
weak: [plan UI, spec out feature]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Shape โ Pre-Code UX & Feature Shaping
|
|
17
|
+
|
|
18
|
+
Uncover core requirements, define interaction boundaries, and lock down screen flows BEFORE writing frontend code.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## The 3-Step Shaping Workflow
|
|
23
|
+
|
|
24
|
+
### Step 1: High-Ambiguity Socratic Interview
|
|
25
|
+
Before designing components, ask 2 targeted questions about high-ambiguity choices:
|
|
26
|
+
1. **Primary User Goal**: *What is the single most important action the user must accomplish on this screen?*
|
|
27
|
+
2. **Context & Entry Point**: *Where does the user arrive from, and where do they expect to go after completing this step?*
|
|
28
|
+
|
|
29
|
+
### Step 2: Screen Boundaries & State Inventory
|
|
30
|
+
Define the component states before implementation:
|
|
31
|
+
- **Default State**: Primary layout with standard populated data.
|
|
32
|
+
- **Empty State**: Zero-data view with creation prompt.
|
|
33
|
+
- **Loading State**: Skeleton placeholders.
|
|
34
|
+
- **Error State**: Graceful fallback UI with retry action.
|
|
35
|
+
- **Success State**: Instant feedback toast or confirmation view.
|
|
36
|
+
|
|
37
|
+
### Step 3: Architecture Contract
|
|
38
|
+
Summarize the screen contract in a concise visual outline before coding:
|
|
39
|
+
```
|
|
40
|
+
[Screen Title]
|
|
41
|
+
โโโ Entry Point: (e.g. Dashboard -> "New Project" button)
|
|
42
|
+
โโโ Primary Action: (e.g. Create Project Form)
|
|
43
|
+
โโโ Secondary Actions: (e.g. Import from GitHub)
|
|
44
|
+
โโโ Exit Point: (e.g. Redirect to /project/[id])
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## ๐ค LLM-Specific Traps
|
|
50
|
+
|
|
51
|
+
1. **Jumping straight to code**: Writing CSS/React components without clarifying user goals or entry/exit points.
|
|
52
|
+
2. **Over-asking questions**: Asking more than 2-3 questions. Prioritize only blocking architectural ambiguities.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
57
|
+
|
|
58
|
+
**Active reviewers: `ui-ux-auditor`**
|
|
59
|
+
|
|
60
|
+
### โ
Pre-Flight Self-Audit
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
โ
Are the entry and exit points of the screen explicitly defined?
|
|
64
|
+
โ
Are all 5 screen states (default, empty, loading, error, success) planned?
|
|
65
|
+
โ
Has the user confirmed the core interaction boundary before code generation?
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
69
|
+
|
|
70
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
71
|
+
|
|
72
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
73
|
+
- โ
**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.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: soft-skill
|
|
3
|
+
description: High-end visual design guidance for premium typography, spacing, depth, and animation systems.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Luxury Visual Design & Soft Depth
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [taste-skill, progressive-blur, impeccable]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [soft-skill, high end visual design, luxury depth, soft UI, elegant spacing system, soft shadow UI]
|
|
13
|
+
weak: [elegant UI, soft style]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Soft Skill โ High-End Luxury Visual Design & Depth
|
|
17
|
+
|
|
18
|
+
Craft high-end, luxury interfaces featuring soft depth, gentle surface transitions, quiet typography, and tactile spatial rhythm.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 4 Soft Design Rules
|
|
23
|
+
|
|
24
|
+
### 1. Multi-Layer Soft Ambient Depth
|
|
25
|
+
- Avoid harsh drop-shadows. Use low-opacity multi-layered ambient lighting shadows:
|
|
26
|
+
```css
|
|
27
|
+
.soft-depth-card {
|
|
28
|
+
background: var(--surface);
|
|
29
|
+
box-shadow:
|
|
30
|
+
0 2px 4px rgba(0, 0, 0, 0.02),
|
|
31
|
+
0 8px 16px rgba(0, 0, 0, 0.04),
|
|
32
|
+
0 24px 48px rgba(0, 0, 0, 0.06);
|
|
33
|
+
border: 1px solid rgba(0, 0, 0, 0.06);
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 2. Generous Negative Space Cadence
|
|
38
|
+
- Increase component padding by 1.5x (e.g. `24px` -> `36px`, `32px` -> `48px`). Generous negative space is the ultimate indicator of luxury software.
|
|
39
|
+
|
|
40
|
+
### 3. Subdued Monochrome Color Harmonies
|
|
41
|
+
- Use quiet, low-chroma monochromatic palettes (`oklch(0.97 0.005 240)` background with `oklch(0.22 0.01 240)` primary text).
|
|
42
|
+
|
|
43
|
+
### 4. Fluid, Low-Velocity Transitions
|
|
44
|
+
- Transition speeds should be gentle ($\approx 250\text{ms}$) with strong ease-out curves (`cubic-bezier(0.16, 1, 0.3, 1)`).
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## ๐ค LLM-Specific Traps
|
|
49
|
+
|
|
50
|
+
1. **Muddy Dark Shadows**: Using heavy `rgba(0,0,0,0.5)` drop shadows on light surfaces.
|
|
51
|
+
2. **Cramped Containers**: Packing text elements tightly inside small containers with minimal padding.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
56
|
+
|
|
57
|
+
**Active reviewers: `frontend-reviewer` ยท `ui-ux-auditor`**
|
|
58
|
+
|
|
59
|
+
### โ
Pre-Flight Self-Audit
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
โ
Are drop shadows multi-layered with opacity under 6% per layer?
|
|
63
|
+
โ
Is container padding generous ($\ge 24\text{px}$)?
|
|
64
|
+
โ
Is color palette subdued and monochromatic?
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
68
|
+
|
|
69
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
70
|
+
|
|
71
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
72
|
+
- โ
**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.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sounds-on-the-web
|
|
3
|
+
description: Web Audio API procedural sound synthesis for tactile micro-interaction feedback (clicks, pops, success chimes) with mute toggles and accessibility awareness.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Audio Feedback & Tactile Sound Synthesis
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [delight, micro-interaction]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [sounds-on-the-web, Web Audio API sound, UI sound feedback, procedural audio click, audio feedback toggle]
|
|
13
|
+
weak: [ui sound, audio click]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Sounds on the Web โ Web Audio API Sound Feedback
|
|
17
|
+
|
|
18
|
+
Synthesize lightweight, zero-dependency tactile sound effects for web micro-interactions.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Zero-Asset Web Audio API Click Synthesizer
|
|
23
|
+
|
|
24
|
+
Never load external MP3 audio files for simple UI clicks. Synthesize clean sine/triangle pops procedurally in under 10 lines of code:
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
// Lightweight procedural Web Audio pop synthesizer
|
|
28
|
+
class SoundFeedback {
|
|
29
|
+
private ctx: AudioContext | null = null;
|
|
30
|
+
private isMuted: boolean = false;
|
|
31
|
+
|
|
32
|
+
private init() {
|
|
33
|
+
if (!this.ctx && typeof window !== 'undefined') {
|
|
34
|
+
const AudioCtx = window.AudioContext || (window as any).webkitAudioContext;
|
|
35
|
+
if (AudioCtx) this.ctx = new AudioCtx();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public playPop(frequency = 600, duration = 0.04) {
|
|
40
|
+
if (this.isMuted) return;
|
|
41
|
+
this.init();
|
|
42
|
+
if (!this.ctx) return;
|
|
43
|
+
|
|
44
|
+
if (this.ctx.state === 'suspended') {
|
|
45
|
+
this.ctx.resume();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const osc = this.ctx.createOscillator();
|
|
49
|
+
const gain = this.ctx.createGain();
|
|
50
|
+
|
|
51
|
+
osc.type = 'sine';
|
|
52
|
+
osc.frequency.setValueAtTime(frequency, this.ctx.currentTime);
|
|
53
|
+
// Frequency pitch drop for tactile "pop"
|
|
54
|
+
osc.frequency.exponentialRampToValueAtTime(120, this.ctx.currentTime + duration);
|
|
55
|
+
|
|
56
|
+
gain.gain.setValueAtTime(0.12, this.ctx.currentTime); // Low volume
|
|
57
|
+
gain.gain.exponentialRampToValueAtTime(0.001, this.ctx.currentTime + duration);
|
|
58
|
+
|
|
59
|
+
osc.connect(gain);
|
|
60
|
+
gain.connect(this.ctx.destination);
|
|
61
|
+
|
|
62
|
+
osc.start();
|
|
63
|
+
osc.stop(this.ctx.currentTime + duration);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
public setMute(muted: boolean) {
|
|
67
|
+
this.isMuted = muted;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const soundFX = new SoundFeedback();
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## ๐ค LLM-Specific Traps
|
|
77
|
+
|
|
78
|
+
1. **Autoplay Audio Errors**: Triggering Web Audio API before user gesture interaction (violating browser autoplay policies).
|
|
79
|
+
2. **Missing Mute Toggle**: Failing to provide a persistent sound toggle switch in application settings.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
84
|
+
|
|
85
|
+
**Active reviewers: `frontend-reviewer`**
|
|
86
|
+
|
|
87
|
+
### โ
Pre-Flight Self-Audit
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
โ
Is AudioContext initialized strictly inside/after user gesture handlers?
|
|
91
|
+
โ
Is volume gain kept subtle ($\le 0.15$ max volume)?
|
|
92
|
+
โ
Is a persistent sound mute option provided?
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
96
|
+
|
|
97
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
98
|
+
|
|
99
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
100
|
+
- โ
**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.
|