oxycode-skills 1.0.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/LICENSE +21 -0
- package/README.md +143 -0
- package/index.js +17 -0
- package/package.json +49 -0
- package/skills/anti-slop/README.md +106 -0
- package/skills/anti-slop/SKILL.md +311 -0
- package/skills/anti-slop/examples/before-after.md +380 -0
- package/skills/anti-slop/references/quality-rubric.md +313 -0
- package/skills/anti-slop/references/slop-patterns.md +433 -0
- package/skills/component-architect/README.md +186 -0
- package/skills/component-architect/SKILL.md +644 -0
- package/skills/component-architect/examples/component-patterns.md +569 -0
- package/skills/component-architect/references/atomic-design.md +516 -0
- package/skills/design-audit/README.md +114 -0
- package/skills/design-audit/SKILL.md +305 -0
- package/skills/design-audit/examples/audit-report.md +424 -0
- package/skills/design-audit/references/scoring-rubric.md +498 -0
- package/skills/design-md/README.md +106 -0
- package/skills/design-md/SKILL.md +262 -0
- package/skills/design-md/examples/bad-design.md +195 -0
- package/skills/design-md/examples/good-design.md +250 -0
- package/skills/design-md/references/design-md-spec.md +267 -0
- package/skills/design-md/scripts/validate.sh +134 -0
- package/skills/ui-builder/README.md +169 -0
- package/skills/ui-builder/SKILL.md +357 -0
- package/skills/ui-builder/examples/dashboard.md +323 -0
- package/skills/ui-builder/examples/landing-page.md +396 -0
- package/skills/ui-builder/references/component-patterns.md +396 -0
- package/skills/ui-builder/references/layout-system.md +423 -0
- package/skills/ui-builder/references/polish-checklist.md +221 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 OXYCODE
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# oxycode-skills
|
|
2
|
+
|
|
3
|
+
> Vercel-quality UI skills for AI coding agents. No more AI slop.
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="https://img.shields.io/badge/license-MIT-green" alt="License">
|
|
7
|
+
<img src="https://img.shields.io/badge/version-1.0.0-blue" alt="Version">
|
|
8
|
+
<img src="https://img.shields.io/badge/platform-Claude%20%7C%20Codex%20%7C%20OpenCode%20%7C%20Cursor%20%7C%20Gemini-purple" alt="Platforms">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
## What is this?
|
|
12
|
+
|
|
13
|
+
**oxycode-skills** teaches AI coding agents to produce Vercel-quality UI instead of generic "AI slop" — the purple gradients, Inter font, and centered cards that every developer hates.
|
|
14
|
+
|
|
15
|
+
### The Problem
|
|
16
|
+
|
|
17
|
+
AI-generated UI usually looks like this:
|
|
18
|
+
```tsx
|
|
19
|
+
// ❌ AI Slop
|
|
20
|
+
<div className="bg-gradient-to-br from-purple-500 to-blue-500 p-8 rounded-2xl">
|
|
21
|
+
<h1 className="text-3xl font-bold text-white text-center">Welcome</h1>
|
|
22
|
+
</div>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### The Solution
|
|
26
|
+
|
|
27
|
+
With oxycode-skills, AI generates this:
|
|
28
|
+
```tsx
|
|
29
|
+
// ✅ Vercel-Quality UI
|
|
30
|
+
<section className="bg-zinc-950 border border-zinc-800 rounded-xl p-6">
|
|
31
|
+
<h2 className="text-xl font-semibold text-zinc-100 tracking-tight">
|
|
32
|
+
Welcome
|
|
33
|
+
</h2>
|
|
34
|
+
<p className="mt-2 text-sm text-zinc-400 leading-relaxed">
|
|
35
|
+
Description here
|
|
36
|
+
</p>
|
|
37
|
+
</section>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Skills Included
|
|
41
|
+
|
|
42
|
+
| Skill | Description | Status |
|
|
43
|
+
|-------|-------------|--------|
|
|
44
|
+
| `ui-builder` | Full UI workflow: brief → tokens → components → polish | ✅ Ready |
|
|
45
|
+
| `design-md` | Generate & validate DESIGN.md files (Google's standard) | ✅ Ready |
|
|
46
|
+
| `anti-slop` | Block generic AI patterns | ✅ Ready |
|
|
47
|
+
| `design-audit` | Score UI quality 0-100 | ✅ Ready |
|
|
48
|
+
| `component-architect` | Atomic design patterns | ✅ Ready |
|
|
49
|
+
|
|
50
|
+
## Installation
|
|
51
|
+
|
|
52
|
+
### For Claude Code
|
|
53
|
+
```bash
|
|
54
|
+
/install-skill oxycode-skills/ui-builder
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### For OpenCode / Codex / Cursor / Gemini
|
|
58
|
+
```bash
|
|
59
|
+
npx skills add oxycode-skills --skill ui-builder
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### All Skills
|
|
63
|
+
```bash
|
|
64
|
+
npx skills add oxycode-skills --all
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Quick Start
|
|
68
|
+
|
|
69
|
+
### 1. Create a DESIGN.md
|
|
70
|
+
```markdown
|
|
71
|
+
# My App Design System
|
|
72
|
+
|
|
73
|
+
## Colors
|
|
74
|
+
- Primary: #18181b (zinc-900)
|
|
75
|
+
- Secondary: #27272a (zinc-800)
|
|
76
|
+
- Accent: #3b82f6 (blue-500)
|
|
77
|
+
|
|
78
|
+
## Typography
|
|
79
|
+
- Font: Inter
|
|
80
|
+
- Headings: 600 weight, tracking-tight
|
|
81
|
+
- Body: 400 weight, leading-relaxed
|
|
82
|
+
|
|
83
|
+
## Spacing
|
|
84
|
+
- XS: 4px
|
|
85
|
+
- SM: 8px
|
|
86
|
+
- MD: 16px
|
|
87
|
+
- LG: 24px
|
|
88
|
+
- XL: 32px
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 2. Use the ui-builder skill
|
|
92
|
+
```bash
|
|
93
|
+
# Generate a dashboard
|
|
94
|
+
/ui-builder "Create a analytics dashboard with sidebar navigation"
|
|
95
|
+
|
|
96
|
+
# Generate a landing page
|
|
97
|
+
/ui-builder "Build a SaaS landing page with pricing table"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 3. Get production-ready code
|
|
101
|
+
The skill will output:
|
|
102
|
+
- React/TypeScript components
|
|
103
|
+
- Tailwind CSS styling
|
|
104
|
+
- Responsive design
|
|
105
|
+
- Dark mode support
|
|
106
|
+
- Accessibility attributes
|
|
107
|
+
|
|
108
|
+
## Platforms Supported
|
|
109
|
+
|
|
110
|
+
- ✅ Claude Code
|
|
111
|
+
- ✅ OpenCode
|
|
112
|
+
- ✅ Codex
|
|
113
|
+
- ✅ Cursor
|
|
114
|
+
- ✅ Gemini CLI
|
|
115
|
+
|
|
116
|
+
## What Makes This Different?
|
|
117
|
+
|
|
118
|
+
| Feature | Other Skills | oxycode-skills |
|
|
119
|
+
|---------|--------------|----------------|
|
|
120
|
+
| DESIGN.md support | ❌ | ✅ |
|
|
121
|
+
| Anti-slop enforcement | ❌ | ✅ |
|
|
122
|
+
| React/TypeScript output | ❌ | ✅ |
|
|
123
|
+
| Next.js integration | ❌ | ✅ |
|
|
124
|
+
| Quality scoring | ❌ | ✅ |
|
|
125
|
+
| Cross-platform | ❌ | ✅ |
|
|
126
|
+
|
|
127
|
+
## Contributing
|
|
128
|
+
|
|
129
|
+
Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) first.
|
|
130
|
+
|
|
131
|
+
## License
|
|
132
|
+
|
|
133
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
134
|
+
|
|
135
|
+
## Support
|
|
136
|
+
|
|
137
|
+
- 📧 Email: support@oxycode.ai
|
|
138
|
+
- 🐦 Twitter: @oxycode_ai
|
|
139
|
+
- 💬 Discord: [Join our server](https://discord.gg/oxycode)
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
Built with ❤️ by [OXYCODE](https://github.com/oxycodeai)
|
package/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* oxycode-skills
|
|
3
|
+
*
|
|
4
|
+
* Vercel-quality UI skills for AI coding agents.
|
|
5
|
+
* No more AI slop.
|
|
6
|
+
*
|
|
7
|
+
* @package oxycode-skills
|
|
8
|
+
* @author oxycode-ai
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
const skills = {
|
|
13
|
+
'ui-builder': require('./skills/ui-builder/SKILL.md'),
|
|
14
|
+
'design-md': require('./skills/design-md/SKILL.md'),
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
module.exports = skills;
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "oxycode-skills",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Vercel-quality UI skills for AI coding agents. No more AI slop.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"skills/**/*",
|
|
8
|
+
"README.md",
|
|
9
|
+
"LICENSE"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
13
|
+
"validate": "bash skills/design-md/scripts/validate.sh"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"ai",
|
|
17
|
+
"skills",
|
|
18
|
+
"ui",
|
|
19
|
+
"design",
|
|
20
|
+
"claude",
|
|
21
|
+
"codex",
|
|
22
|
+
"opencode",
|
|
23
|
+
"cursor",
|
|
24
|
+
"gemini",
|
|
25
|
+
"react",
|
|
26
|
+
"nextjs",
|
|
27
|
+
"tailwind",
|
|
28
|
+
"vercel",
|
|
29
|
+
"stitch",
|
|
30
|
+
"design-md",
|
|
31
|
+
"ui-builder",
|
|
32
|
+
"anti-slop",
|
|
33
|
+
"design-audit",
|
|
34
|
+
"component-architect",
|
|
35
|
+
"component-library",
|
|
36
|
+
"design-system",
|
|
37
|
+
"atomic-design"
|
|
38
|
+
],
|
|
39
|
+
"author": "oxycode-ai",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "https://github.com/oxycodeai/OXYCODE-SKILLS.git"
|
|
44
|
+
},
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/oxycodeai/OXYCODE-SKILLS/issues"
|
|
47
|
+
},
|
|
48
|
+
"homepage": "https://github.com/oxycodeai/OXYCODE-SKILLS#readme"
|
|
49
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# anti-slop Skill
|
|
2
|
+
|
|
3
|
+
> Block generic AI-generated UI patterns and enforce Vercel-quality design.
|
|
4
|
+
|
|
5
|
+
## What Does This Skill Do?
|
|
6
|
+
|
|
7
|
+
The `anti-slop` skill teaches AI coding agents to:
|
|
8
|
+
1. **Detect** common AI slop patterns (gradients, centered everything, rainbow colors)
|
|
9
|
+
2. **Score** UI quality on a 0-100 scale
|
|
10
|
+
3. **Fix** AI slop with Vercel-quality patterns
|
|
11
|
+
4. **Enforce** design best practices
|
|
12
|
+
|
|
13
|
+
## Why Use This Skill?
|
|
14
|
+
|
|
15
|
+
Most AI-generated UI looks bad:
|
|
16
|
+
- Purple/blue gradients everywhere
|
|
17
|
+
- Centered everything
|
|
18
|
+
- Rainbow colors
|
|
19
|
+
- Oversized border radius
|
|
20
|
+
- Generic Inter font
|
|
21
|
+
|
|
22
|
+
This skill detects and fixes these patterns to produce professional UI.
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
### Review UI Code
|
|
27
|
+
```bash
|
|
28
|
+
/anti-slop "Review this component for AI slop"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Fix AI Slop
|
|
32
|
+
```bash
|
|
33
|
+
/anti-slop "Fix the AI slop in this code"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Score UI Quality
|
|
37
|
+
```bash
|
|
38
|
+
/anti-slop "Score this UI on a 0-100 scale"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Features
|
|
42
|
+
|
|
43
|
+
- ✅ Detects 10+ AI slop patterns
|
|
44
|
+
- ✅ Scores UI quality 0-100
|
|
45
|
+
- ✅ Generates fixed code
|
|
46
|
+
- ✅ Provides detailed feedback
|
|
47
|
+
- ✅ Enforces design best practices
|
|
48
|
+
|
|
49
|
+
## File Structure
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
skills/anti-slop/
|
|
53
|
+
├── SKILL.md # Main skill instructions
|
|
54
|
+
├── README.md # This file
|
|
55
|
+
├── references/
|
|
56
|
+
│ ├── slop-patterns.md # Complete pattern catalog
|
|
57
|
+
│ └── quality-rubric.md # Scoring criteria
|
|
58
|
+
└── examples/
|
|
59
|
+
└── before-after.md # Before/after comparisons
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Slop Patterns Detected
|
|
63
|
+
|
|
64
|
+
| Pattern | Detection | Fix |
|
|
65
|
+
|---------|-----------|-----|
|
|
66
|
+
| Gradients | `bg-gradient-to-*` | Solid `bg-*` |
|
|
67
|
+
| Centered | `text-center` everywhere | Intentional alignment |
|
|
68
|
+
| Rainbow | `text-purple-*`, `text-blue-*` | Semantic colors |
|
|
69
|
+
| Radius | `rounded-3xl` | `rounded-lg` |
|
|
70
|
+
| Inter | `font-sans` with Inter | System stack |
|
|
71
|
+
| Cards | `bg-white rounded-2xl shadow-xl` | `border rounded-lg` |
|
|
72
|
+
| Hover | `hover:scale-105` | `hover:bg-*` |
|
|
73
|
+
| Fake data | "Lorem ipsum", "John Doe" | Realistic content |
|
|
74
|
+
|
|
75
|
+
## Quality Score
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
Score = 100 - (Slop Patterns × 10)
|
|
79
|
+
|
|
80
|
+
Examples:
|
|
81
|
+
- 0 slop patterns = 100 score
|
|
82
|
+
- 3 slop patterns = 70 score
|
|
83
|
+
- 5 slop patterns = 50 score
|
|
84
|
+
- 10 slop patterns = 0 score
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Score Interpretation
|
|
88
|
+
- **90-100**: Vercel-quality, production-ready
|
|
89
|
+
- **70-89**: Good, minor improvements needed
|
|
90
|
+
- **50-69**: Average, several AI slop patterns
|
|
91
|
+
- **30-49**: Poor, many AI patterns present
|
|
92
|
+
- **0-29**: Terrible, pure AI slop
|
|
93
|
+
|
|
94
|
+
## Examples
|
|
95
|
+
|
|
96
|
+
See [examples/before-after.md](examples/before-after.md) for before/after comparisons.
|
|
97
|
+
|
|
98
|
+
## Resources
|
|
99
|
+
|
|
100
|
+
- [Vercel Design System](https://vercel.com/design)
|
|
101
|
+
- [Linear Design](https://linear.app)
|
|
102
|
+
- [Stripe UI](https://stripe.com)
|
|
103
|
+
|
|
104
|
+
## Contributing
|
|
105
|
+
|
|
106
|
+
See [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
# anti-slop
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Block generic AI-generated UI patterns ("AI slop") and enforce Vercel-quality design. Detects and fixes common AI mistakes like purple gradients, centered everything, rainbow colors, and oversized border radius.
|
|
6
|
+
|
|
7
|
+
## Trigger
|
|
8
|
+
|
|
9
|
+
Use this skill when:
|
|
10
|
+
- User asks to review UI code for quality
|
|
11
|
+
- User wants to fix "AI-looking" UI
|
|
12
|
+
- User says "remove AI slop" or "make it look professional"
|
|
13
|
+
- Reviewing generated UI components
|
|
14
|
+
- User says "anti-slop" followed by code or description
|
|
15
|
+
|
|
16
|
+
## Instructions
|
|
17
|
+
|
|
18
|
+
### Step 1: Detect AI Slop Patterns
|
|
19
|
+
|
|
20
|
+
Scan code for these anti-patterns:
|
|
21
|
+
|
|
22
|
+
#### 1. Gradient Abuse
|
|
23
|
+
```tsx
|
|
24
|
+
// ❌ DETECT: Purple/blue gradients
|
|
25
|
+
className="bg-gradient-to-br from-purple-500 to-blue-500"
|
|
26
|
+
className="bg-gradient-to-r from-violet-500 to-indigo-500"
|
|
27
|
+
className="bg-gradient-to-tl from-fuchsia-500 to-pink-500"
|
|
28
|
+
|
|
29
|
+
// ✅ FIX: Use solid colors
|
|
30
|
+
className="bg-zinc-900"
|
|
31
|
+
className="bg-zinc-800"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
#### 2. Centered Everything
|
|
35
|
+
```tsx
|
|
36
|
+
// ❌ DETECT: Everything centered
|
|
37
|
+
className="text-center flex items-center justify-center"
|
|
38
|
+
|
|
39
|
+
// ✅ FIX: Intentional alignment
|
|
40
|
+
className="text-left" // For text
|
|
41
|
+
className="flex justify-start" // For flex items
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### 3. Rainbow Colors
|
|
45
|
+
```tsx
|
|
46
|
+
// ❌ DETECT: Random colorful classes
|
|
47
|
+
className="text-red-500 text-blue-500 text-green-500 text-purple-500"
|
|
48
|
+
|
|
49
|
+
// ✅ FIX: Use semantic colors
|
|
50
|
+
className="text-zinc-100" // Primary text
|
|
51
|
+
className="text-zinc-500" // Secondary text
|
|
52
|
+
className="text-green-600" // Success only
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### 4. Oversized Border Radius
|
|
56
|
+
```tsx
|
|
57
|
+
// ❌ DETECT: Too round
|
|
58
|
+
className="rounded-3xl rounded-[2rem]"
|
|
59
|
+
className="rounded-full p-8"
|
|
60
|
+
|
|
61
|
+
// ✅ FIX: Subtle radius
|
|
62
|
+
className="rounded-lg"
|
|
63
|
+
className="rounded-xl"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
#### 5. Inter Font Default
|
|
67
|
+
```tsx
|
|
68
|
+
// ❌ DETECT: Explicit Inter (AI loves this)
|
|
69
|
+
className="font-sans" // With Inter as default
|
|
70
|
+
fontFamily: 'Inter, system-ui, sans-serif'
|
|
71
|
+
|
|
72
|
+
// ✅ FIX: Use system stack or specific font
|
|
73
|
+
fontFamily: 'system-ui, -apple-system, sans-serif'
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### 6. Generic Card Patterns
|
|
77
|
+
```tsx
|
|
78
|
+
// ❌ DETECT: Boring centered cards
|
|
79
|
+
<div className="p-8 bg-white rounded-2xl shadow-lg text-center">
|
|
80
|
+
<h2 className="text-2xl font-bold mb-4">Title</h2>
|
|
81
|
+
<p className="text-gray-500">Description</p>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
// ✅ FIX: Purposeful card design
|
|
85
|
+
<div className="p-6 bg-white border border-zinc-200 rounded-lg">
|
|
86
|
+
<h3 className="text-lg font-semibold text-zinc-900">Title</h3>
|
|
87
|
+
<p className="mt-2 text-sm text-zinc-500">Description</p>
|
|
88
|
+
</div>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### 7. Hover Effects Overkill
|
|
92
|
+
```tsx
|
|
93
|
+
// ❌ DETECT: Too many hover transforms
|
|
94
|
+
className="hover:scale-105 hover:shadow-xl hover:rotate-1 transition-all duration-300"
|
|
95
|
+
|
|
96
|
+
// ✅ FIX: Subtle interactions
|
|
97
|
+
className="hover:bg-zinc-800 transition-colors"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### 8. Fake Data Patterns
|
|
101
|
+
```tsx
|
|
102
|
+
// ❌ DETECT: Generic placeholder content
|
|
103
|
+
"Lorem ipsum dolor sit amet"
|
|
104
|
+
"John Doe"
|
|
105
|
+
"johndoe@example.com"
|
|
106
|
+
"123-456-7890"
|
|
107
|
+
|
|
108
|
+
// ✅ FIX: Realistic examples
|
|
109
|
+
"Acme Inc"
|
|
110
|
+
"sales@acme.com"
|
|
111
|
+
"+1 (555) 123-4567"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Step 2: Score the UI
|
|
115
|
+
|
|
116
|
+
Rate the UI on a 0-100 scale:
|
|
117
|
+
|
|
118
|
+
| Score | Description |
|
|
119
|
+
|-------|-------------|
|
|
120
|
+
| 90-100 | Vercel-quality, production-ready |
|
|
121
|
+
| 70-89 | Good, minor improvements needed |
|
|
122
|
+
| 50-69 | Average, several AI slop patterns |
|
|
123
|
+
| 30-49 | Poor, many AI patterns present |
|
|
124
|
+
| 0-29 | Terrible, pure AI slop |
|
|
125
|
+
|
|
126
|
+
### Step 3: Generate Fixed Code
|
|
127
|
+
|
|
128
|
+
Replace AI slop with Vercel-quality patterns:
|
|
129
|
+
|
|
130
|
+
```tsx
|
|
131
|
+
// Before (AI Slop)
|
|
132
|
+
<div className="min-h-screen bg-gradient-to-br from-purple-900 via-blue-900 to-indigo-900 flex items-center justify-center p-8">
|
|
133
|
+
<div className="bg-white/10 backdrop-blur-lg rounded-3xl p-8 text-center max-w-md">
|
|
134
|
+
<h1 className="text-4xl font-bold text-white mb-4">Welcome!</h1>
|
|
135
|
+
<p className="text-purple-200 mb-6">Start your journey today</p>
|
|
136
|
+
<button className="bg-gradient-to-r from-purple-500 to-blue-500 text-white px-8 py-3 rounded-full font-medium hover:scale-105 transition-transform">
|
|
137
|
+
Get Started
|
|
138
|
+
</button>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
// After (Vercel-Quality)
|
|
143
|
+
<div className="min-h-screen bg-zinc-950 flex items-center justify-center p-8">
|
|
144
|
+
<div className="bg-zinc-900 border border-zinc-800 rounded-xl p-8 max-w-md">
|
|
145
|
+
<h1 className="text-2xl font-semibold text-zinc-100">Welcome</h1>
|
|
146
|
+
<p className="mt-2 text-sm text-zinc-400">Start your journey today</p>
|
|
147
|
+
<button className="mt-6 px-4 py-2 text-sm font-medium text-white bg-zinc-100 rounded-lg hover:bg-white transition-colors">
|
|
148
|
+
Get Started
|
|
149
|
+
</button>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Step 4: Apply Design Tokens
|
|
155
|
+
|
|
156
|
+
Replace hardcoded values with design tokens:
|
|
157
|
+
|
|
158
|
+
```tsx
|
|
159
|
+
// ❌ Hardcoded
|
|
160
|
+
className="p-[23px] text-[15px] rounded-[8px]"
|
|
161
|
+
|
|
162
|
+
// ✅ Design tokens
|
|
163
|
+
className="p-6 text-base rounded-lg"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Step 5: Add Quality Checklist
|
|
167
|
+
|
|
168
|
+
Before delivering, verify:
|
|
169
|
+
- [ ] No purple/blue gradients
|
|
170
|
+
- [ ] No centered everything
|
|
171
|
+
- [ ] No rainbow colors
|
|
172
|
+
- [ ] No oversized border radius
|
|
173
|
+
- [ ] No Inter font default
|
|
174
|
+
- [ ] No generic cards
|
|
175
|
+
- [ ] No hover overkill
|
|
176
|
+
- [ ] No fake data
|
|
177
|
+
- [ ] Uses design tokens
|
|
178
|
+
- [ ] Semantic HTML
|
|
179
|
+
|
|
180
|
+
## Slop Pattern Catalog
|
|
181
|
+
|
|
182
|
+
### Gradient Patterns
|
|
183
|
+
| Pattern | Detection | Fix |
|
|
184
|
+
|---------|-----------|-----|
|
|
185
|
+
| `bg-gradient-to-br` | from-purple, from-blue, from-violet | `bg-zinc-900` |
|
|
186
|
+
| `bg-gradient-to-r` | from-fuchsia, from-pink | `bg-zinc-800` |
|
|
187
|
+
| `bg-gradient-to-tl` | from-indigo, from-cyan | `bg-zinc-950` |
|
|
188
|
+
|
|
189
|
+
### Color Patterns
|
|
190
|
+
| Pattern | Detection | Fix |
|
|
191
|
+
|---------|-----------|-----|
|
|
192
|
+
| `text-purple-*` | Any purple text | `text-zinc-100` |
|
|
193
|
+
| `text-blue-*` | Any blue text | `text-zinc-500` |
|
|
194
|
+
| `text-pink-*` | Any pink text | `text-green-600` (if success) |
|
|
195
|
+
|
|
196
|
+
### Layout Patterns
|
|
197
|
+
| Pattern | Detection | Fix |
|
|
198
|
+
|---------|-----------|-----|
|
|
199
|
+
| `text-center` | Everywhere | `text-left` (intentional) |
|
|
200
|
+
| `items-center justify-center` | On every container | Purposeful alignment |
|
|
201
|
+
| `rounded-3xl` | Large radius | `rounded-lg` |
|
|
202
|
+
|
|
203
|
+
### Typography Patterns
|
|
204
|
+
| Pattern | Detection | Fix |
|
|
205
|
+
|---------|-----------|-----|
|
|
206
|
+
| `font-sans` | With Inter default | `font-sans` with system stack |
|
|
207
|
+
| `text-4xl font-bold` | Every heading | Appropriate size/weight |
|
|
208
|
+
| `tracking-tight` | Everywhere | Only for large headings |
|
|
209
|
+
|
|
210
|
+
### Shadow Patterns
|
|
211
|
+
| Pattern | Detection | Fix |
|
|
212
|
+
|---------|-----------|-----|
|
|
213
|
+
| `shadow-xl` | On every card | `shadow-sm` or none |
|
|
214
|
+
| `shadow-2xl` | On modals | `shadow-lg` |
|
|
215
|
+
| `hover:shadow-xl` | On hover | `hover:shadow-md` |
|
|
216
|
+
|
|
217
|
+
## Examples
|
|
218
|
+
|
|
219
|
+
### Example 1: Hero Section
|
|
220
|
+
|
|
221
|
+
**Input (AI Slop):**
|
|
222
|
+
```tsx
|
|
223
|
+
<div className="min-h-screen bg-gradient-to-br from-purple-600 via-blue-600 to-indigo-700 flex items-center justify-center">
|
|
224
|
+
<div className="text-center max-w-3xl px-8">
|
|
225
|
+
<h1 className="text-6xl font-bold text-white mb-6 tracking-tight">
|
|
226
|
+
Build Something Amazing
|
|
227
|
+
</h1>
|
|
228
|
+
<p className="text-xl text-purple-100 mb-8">
|
|
229
|
+
The future of development starts here
|
|
230
|
+
</p>
|
|
231
|
+
<button className="bg-white text-purple-600 px-8 py-4 rounded-full text-lg font-semibold hover:scale-110 transition-transform duration-300 shadow-xl hover:shadow-2xl">
|
|
232
|
+
Get Started Free
|
|
233
|
+
</button>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Output (Vercel-Quality):**
|
|
239
|
+
```tsx
|
|
240
|
+
<div className="min-h-screen bg-zinc-950 flex items-center justify-center px-6">
|
|
241
|
+
<div className="max-w-2xl text-left">
|
|
242
|
+
<h1 className="text-4xl sm:text-5xl font-bold text-zinc-100 tracking-tight">
|
|
243
|
+
Build Something Amazing
|
|
244
|
+
</h1>
|
|
245
|
+
<p className="mt-6 text-lg text-zinc-400">
|
|
246
|
+
The future of development starts here
|
|
247
|
+
</p>
|
|
248
|
+
<div className="mt-8 flex items-center gap-4">
|
|
249
|
+
<button className="px-6 py-3 text-sm font-medium text-zinc-900 bg-zinc-100 rounded-lg hover:bg-white transition-colors">
|
|
250
|
+
Get Started Free
|
|
251
|
+
</button>
|
|
252
|
+
<button className="px-6 py-3 text-sm font-medium text-zinc-400 hover:text-zinc-100 transition-colors">
|
|
253
|
+
Learn more →
|
|
254
|
+
</button>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
</div>
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Example 2: Card Component
|
|
261
|
+
|
|
262
|
+
**Input (AI Slop):**
|
|
263
|
+
```tsx
|
|
264
|
+
<div className="bg-gradient-to-br from-white to-gray-50 p-8 rounded-3xl shadow-2xl hover:shadow-3xl hover:scale-105 transition-all duration-500 border border-gray-100">
|
|
265
|
+
<div className="w-16 h-16 bg-gradient-to-br from-purple-500 to-blue-500 rounded-2xl flex items-center justify-center mb-6">
|
|
266
|
+
<Star className="w-8 h-8 text-white" />
|
|
267
|
+
</div>
|
|
268
|
+
<h3 className="text-2xl font-bold text-gray-900 mb-3 text-center">Premium Feature</h3>
|
|
269
|
+
<p className="text-gray-500 text-center leading-relaxed">
|
|
270
|
+
Unlock powerful tools to supercharge your workflow
|
|
271
|
+
</p>
|
|
272
|
+
<button className="mt-6 w-full bg-gradient-to-r from-purple-500 to-blue-500 text-white py-3 rounded-xl font-medium hover:from-purple-600 hover:to-blue-600 transition-all">
|
|
273
|
+
Upgrade Now
|
|
274
|
+
</button>
|
|
275
|
+
</div>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Output (Vercel-Quality):**
|
|
279
|
+
```tsx
|
|
280
|
+
<div className="bg-white border border-zinc-200 rounded-lg p-6">
|
|
281
|
+
<div className="w-10 h-10 bg-zinc-900 rounded-lg flex items-center justify-center">
|
|
282
|
+
<Star className="w-5 h-5 text-white" />
|
|
283
|
+
</div>
|
|
284
|
+
<h3 className="mt-4 text-lg font-semibold text-zinc-900">Premium Feature</h3>
|
|
285
|
+
<p className="mt-2 text-sm text-zinc-500">
|
|
286
|
+
Unlock powerful tools to supercharge your workflow
|
|
287
|
+
</p>
|
|
288
|
+
<button className="mt-4 w-full px-4 py-2 text-sm font-medium text-white bg-zinc-900 rounded-lg hover:bg-zinc-800 transition-colors">
|
|
289
|
+
Upgrade Now
|
|
290
|
+
</button>
|
|
291
|
+
</div>
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## References
|
|
295
|
+
|
|
296
|
+
- [Vercel Design System](https://vercel.com/design)
|
|
297
|
+
- [Linear Design](https://linear.app)
|
|
298
|
+
- [Stripe UI](https://stripe.com)
|
|
299
|
+
- [Tailwind CSS](https://tailwindcss.com)
|
|
300
|
+
|
|
301
|
+
## Quality Score Calculator
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
Score = 100 - (Slop Patterns × 10)
|
|
305
|
+
|
|
306
|
+
Examples:
|
|
307
|
+
- 0 slop patterns = 100 score
|
|
308
|
+
- 3 slop patterns = 70 score
|
|
309
|
+
- 5 slop patterns = 50 score
|
|
310
|
+
- 10 slop patterns = 0 score
|
|
311
|
+
```
|