soureeui 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/AGENTS.md +84 -0
- package/LICENSE +6 -0
- package/README.md +210 -0
- package/SKILL.md +148 -0
- package/bin/soureeui.js +491 -0
- package/package.json +47 -0
- package/references/accessibility.md +77 -0
- package/references/anti-ai-patterns.md +74 -0
- package/references/audit-and-refactor.md +64 -0
- package/references/content-and-copy.md +75 -0
- package/references/design-directions.md +81 -0
- package/references/design-system.md +124 -0
- package/references/imagery-and-icons.md +87 -0
- package/references/motion.md +186 -0
- package/references/packages.md +127 -0
- package/references/product-brief.md +68 -0
- package/references/responsive.md +145 -0
- package/references/review-and-done.md +98 -0
- package/references/workflow.md +107 -0
- package/templates/design-plan.md +124 -0
- package/templates/image-prompt.md +71 -0
- package/templates/ui-audit.md +77 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# UI Architect — agent instructions
|
|
2
|
+
|
|
3
|
+
Applies to any task touching UI, UX, layout, visual design, styling, components, responsive behavior, a redesign, or a "make it look better / more modern" request.
|
|
4
|
+
|
|
5
|
+
Act as one person holding five roles: product designer, UX designer, UI designer, design-system designer, frontend engineer. Think about the product and the user before writing code.
|
|
6
|
+
|
|
7
|
+
Framework-agnostic. Do not assume React, Next.js, Tailwind, Vue, Svelte, or anything else before inspecting the project.
|
|
8
|
+
|
|
9
|
+
## The one rule everything else serves
|
|
10
|
+
|
|
11
|
+
**Every visual decision must have a reason rooted in the product, its content, its audience, or the interaction.** Popular, default, or screenshots-well are not reasons.
|
|
12
|
+
|
|
13
|
+
## Operating loop
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Inspect → Understand → Direct → Plan → Systemize → Implement → Review → Refine
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- **Inspect** — stack, styling system, tokens, existing components, icon library, conventions. Never skipped.
|
|
20
|
+
- **Understand** — product, audience, primary user goal, primary action, brand personality. Infer what the repo answers; ask only what changes the work.
|
|
21
|
+
- **Direct** — choose a visual direction and justify it against the product. When several genuinely fit, offer 2–3 named options in three lines each and ask. When one is obvious, state it and continue.
|
|
22
|
+
- **Plan** — short design plan before implementation code: color, typography, layout, components, imagery, interaction, accessibility.
|
|
23
|
+
- **Systemize** — tokens before many components; extend an existing system rather than replacing it.
|
|
24
|
+
- **Implement** — smallest coherent change that fully delivers, in the project's own idiom, with interaction states built in.
|
|
25
|
+
- **Review** — visual and UX review of the rendered result.
|
|
26
|
+
- **Refine** — fix what the review found; delete what has no purpose.
|
|
27
|
+
|
|
28
|
+
Small local changes skip the ceremony. A new screen, a redesign, or "make this modern" does not.
|
|
29
|
+
|
|
30
|
+
## Non-negotiables
|
|
31
|
+
|
|
32
|
+
1. **Never ship vibe-coded UI.** No purple/blue AI gradients, gradient hero with a giant centered heading, floating blobs, glass everywhere, everything rounded, everything a card, repetitive 3-column feature grids, glows, stacked shadows, "AI Powered" badges, fake "Trusted by" rows, invented statistics, sparkle icons, entrance animation on every element, generic SaaS section order on an unrelated product, whitespace without hierarchy. Each is allowed only with a stated product reason.
|
|
33
|
+
2. **Design before code** for anything larger than a local tweak.
|
|
34
|
+
3. **Icons come from a library** — the project's, or one chosen library (Lucide, Heroicons, Phosphor, Tabler, Radix). Never hand-write an SVG the library already has. Never use emoji as UI icons.
|
|
35
|
+
4. **Images are placeholders plus a prompt.** Never invent, hotlink, or embed an arbitrary image. State purpose and aspect ratio, reserve the ratio, and supply a ready-to-use generation prompt.
|
|
36
|
+
5. **Copy is design.** No lorem ipsum, no "Transform your workflow". Write realistic product-specific copy unless placeholders were explicitly requested. Never fabricate customers, logos, testimonials, or metrics.
|
|
37
|
+
6. **Reuse before building:** existing project component → existing dependency → native capability → mature package → custom.
|
|
38
|
+
7. **Tokens, not magic numbers.**
|
|
39
|
+
8. **Mobile is designed, not shrunk.** Decide per section what stacks, reorders, collapses, scrolls, grows. Hover does not exist on touch. No horizontal page scroll at any width.
|
|
40
|
+
9. **Motion earns its place.** Animate only for feedback, continuity, hierarchy, progress, or a real change worth noticing. Tokenized durations and easings, exits faster than enters, transform and opacity in hot paths, and a reduced-motion alternative that preserves the meaning.
|
|
41
|
+
10. **Accessibility is not a later pass.** Semantic HTML, keyboard paths, visible focus, contrast, labels, heading order, touch targets, reduced motion.
|
|
42
|
+
11. **Done means reviewed.** Builds and renders are not done.
|
|
43
|
+
|
|
44
|
+
## Reference files
|
|
45
|
+
|
|
46
|
+
Read on demand with an ordinary file read. Do not preload all of them.
|
|
47
|
+
|
|
48
|
+
| Read | When |
|
|
49
|
+
|---|---|
|
|
50
|
+
| `references/workflow.md` | Substantial UI task; full step-by-step with gates |
|
|
51
|
+
| `references/product-brief.md` | Thin product context; what to ask vs. infer |
|
|
52
|
+
| `references/design-directions.md` | Choosing or presenting a visual direction |
|
|
53
|
+
| `references/design-system.md` | Color, type, spacing, radius, elevation, motion tokens |
|
|
54
|
+
| `references/anti-ai-patterns.md` | Before finalizing any visual design |
|
|
55
|
+
| `references/imagery-and-icons.md` | Any image slot or icon decision |
|
|
56
|
+
| `references/content-and-copy.md` | Writing user-facing text |
|
|
57
|
+
| `references/responsive.md` | Breakpoints, container queries, navigation and table collapse, touch input |
|
|
58
|
+
| `references/motion.md` | Motion justification, duration and easing tokens, choreography, loading, reduced motion |
|
|
59
|
+
| `references/accessibility.md` | Interactive components, forms, modals, custom controls |
|
|
60
|
+
| `references/packages.md` | Build vs. install; component architecture |
|
|
61
|
+
| `references/audit-and-refactor.md` | Improving an interface that already exists |
|
|
62
|
+
| `references/review-and-done.md` | After implementation, before claiming completion |
|
|
63
|
+
|
|
64
|
+
Templates: `templates/design-plan.md` · `templates/ui-audit.md` · `templates/image-prompt.md`
|
|
65
|
+
|
|
66
|
+
Paths are relative to this file's directory.
|
|
67
|
+
|
|
68
|
+
## Output shape for a substantial UI task
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Direction <style> + <at most one supporting technique>, and why it fits this product
|
|
72
|
+
Plan Color · Typography · Layout · Components · Imagery · Interaction · Accessibility
|
|
73
|
+
Avoid patterns that would weaken this specific design
|
|
74
|
+
Reuse existing components and packages being kept
|
|
75
|
+
New packages or custom components, each justified
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Then implement, review, and report what changed, what the review found, and anything left undone.
|
|
79
|
+
|
|
80
|
+
## Golden rule
|
|
81
|
+
|
|
82
|
+
> Build interfaces that look designed by a thoughtful product designer and implemented by a skilled frontend engineer — not generated from a template.
|
|
83
|
+
|
|
84
|
+
Clarity over decoration. Originality over trend. Usability over effect. Product context over generic pattern.
|
package/LICENSE
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# UI Architect
|
|
2
|
+
|
|
3
|
+
> A portable UI/UX design skill for AI coding agents — Claude Code, Codex, Antigravity, Cursor, Windsurf, Gemini CLI, Copilot, and anything else that reads project instructions.
|
|
4
|
+
|
|
5
|
+
**Repository:** https://github.com/shree2698/pro-ui
|
|
6
|
+
|
|
7
|
+
Coding agents left alone produce a recognizable interface: purple gradient hero, giant centered heading, three identical feature cards, glass everywhere, everything rounded, lorem-adjacent copy. Competent, symmetrical, and indistinguishable from ten thousand other products.
|
|
8
|
+
|
|
9
|
+
This skill replaces that default with a design process. When it is active, the agent works as a product designer, UX designer, UI designer, design-system designer, and frontend engineer — thinking about the product before writing code, and reviewing the result before calling it done.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What it enforces
|
|
14
|
+
|
|
15
|
+
| | |
|
|
16
|
+
|---|---|
|
|
17
|
+
| **Design before code** | Direction and plan first for anything larger than a local tweak |
|
|
18
|
+
| **Product first** | Audience, primary goal, primary action, brand — inferred from the repo or asked in one short batch |
|
|
19
|
+
| **Direction with a reason** | One visual language plus at most one supporting technique, chosen from the product, not from what is trending |
|
|
20
|
+
| **No vibe-coded UI** | An explicit pattern ban list, a human-design test, and an originality floor |
|
|
21
|
+
| **Real copy** | No lorem ipsum, no "Transform your workflow", no fabricated customers or metrics |
|
|
22
|
+
| **Images as placeholders plus prompts** | Purpose, aspect ratio, negative space, alt text, and a paste-ready generation prompt |
|
|
23
|
+
| **Icons from a library** | Never a hand-written SVG the library already has; never emoji as UI icons |
|
|
24
|
+
| **Reuse before building** | Existing component → existing dependency → native capability → mature package → custom |
|
|
25
|
+
| **Tokens, not magic numbers** | Color roles, type scale, spacing, radius, elevation, motion, breakpoints |
|
|
26
|
+
| **Mobile designed, not shrunk** | Per-section decisions about what stacks, reorders, collapses, scrolls, grows; container queries over viewport guesses |
|
|
27
|
+
| **Motion that earns its place** | Six legitimate jobs, tokenized durations and easings, transform-and-opacity performance, reduced motion that replaces meaning instead of deleting it |
|
|
28
|
+
| **Accessibility during, not after** | Semantics, keyboard, focus, contrast, labels, touch targets, reduced motion |
|
|
29
|
+
| **Done means reviewed** | Builds and renders are not done; a visual and UX review gate is |
|
|
30
|
+
|
|
31
|
+
Framework-agnostic by design — it inspects the project before recommending anything, and extends an existing design system rather than replacing it.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Install
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx soureeui init --ai cursor
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
That is the whole installation. No clone, no dependency, nothing to build.
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx soureeui init --ai claude,codex # several at once
|
|
45
|
+
npx soureeui init --ai all # every supported agent
|
|
46
|
+
npx soureeui init --ai claude --global # every project on this machine
|
|
47
|
+
npx soureeui init # detects what the project uses, or asks
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Install it permanently if you set up projects often:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm install -g soureeui
|
|
54
|
+
soureeui init --ai antigravity
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Commands
|
|
58
|
+
|
|
59
|
+
| Command | Does |
|
|
60
|
+
|---|---|
|
|
61
|
+
| `soureeui init --ai <agents>` | Install the skill for one or more agents |
|
|
62
|
+
| `soureeui init` | Detect the agents the project already uses, or ask |
|
|
63
|
+
| `soureeui update` | Refresh an existing install to the current version |
|
|
64
|
+
| `soureeui doctor` | Show what is installed and where |
|
|
65
|
+
| `soureeui remove [--ai <agents>]` | Uninstall, cleaning pointer blocks out of instruction files |
|
|
66
|
+
| `soureeui list` | List supported agents |
|
|
67
|
+
|
|
68
|
+
### Options
|
|
69
|
+
|
|
70
|
+
| Flag | Does |
|
|
71
|
+
|---|---|
|
|
72
|
+
| `-a, --ai <list>` | Agents, comma separated, or `all` |
|
|
73
|
+
| `-d, --dir <path>` | Target project, default the current directory |
|
|
74
|
+
| `-g, --global` | Machine-wide, where the agent supports it |
|
|
75
|
+
| `-n, --dry-run` | Print what would change, write nothing |
|
|
76
|
+
| `-f, --force` | Overwrite existing rule files |
|
|
77
|
+
| `-y, --yes` | No prompts |
|
|
78
|
+
|
|
79
|
+
### Where it lands
|
|
80
|
+
|
|
81
|
+
The skill body is copied once to `.soureeui/`. Each agent gets a small pointer file
|
|
82
|
+
telling it to read `.soureeui/AGENTS.md` on UI work, so there is one copy of the content
|
|
83
|
+
no matter how many agents you install. Claude Code is the exception: it uses its own skills
|
|
84
|
+
directory, where `SKILL.md` loads natively.
|
|
85
|
+
|
|
86
|
+
| `--ai` | Installs to | Activation |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| `claude` | `.claude/skills/soureeui/` | Loads automatically on UI work; `/soureeui` invokes it by name |
|
|
89
|
+
| `codex` | `.soureeui/` + pointer in `AGENTS.md` | Read at the start of UI tasks |
|
|
90
|
+
| `antigravity` | `.soureeui/` + pointer in `AGENTS.md` + `.agents/rules/soureeui.md` | Workspace rule, applied on UI work |
|
|
91
|
+
| `cursor` | `.soureeui/` + `.cursor/rules/soureeui.mdc` | Rule attaches on UI work |
|
|
92
|
+
| `windsurf` | `.soureeui/` + `.windsurf/rules/soureeui.md` | Rule attaches on UI work |
|
|
93
|
+
| `gemini` | `.soureeui/` + pointer in `GEMINI.md` | Read at the start of UI tasks |
|
|
94
|
+
| `copilot` | `.soureeui/` + pointer in `.github/copilot-instructions.md` | Read at the start of UI tasks |
|
|
95
|
+
| `generic` | `.soureeui/` only | Point your own agent at `.soureeui/AGENTS.md` |
|
|
96
|
+
|
|
97
|
+
Pointer blocks are fenced with `<!-- soureeui:begin -->` markers and written once.
|
|
98
|
+
Re-running is safe: `soureeui update` refreshes the body and the pointer in place, and
|
|
99
|
+
`soureeui remove` takes the block back out without touching the rest of your instruction file.
|
|
100
|
+
|
|
101
|
+
With `--global`, Claude Code installs to `~/.claude/skills/soureeui/`, and Antigravity
|
|
102
|
+
and Gemini CLI write their pointer to `~/.gemini/GEMINI.md`.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### Agent notes
|
|
107
|
+
|
|
108
|
+
**Claude Code** — `soureeui init --ai claude`. Reads the frontmatter description and loads the
|
|
109
|
+
skill by itself when a task touches UI. `/soureeui` invokes it by name.
|
|
110
|
+
|
|
111
|
+
**Codex** — `soureeui init --ai codex`. Appends the pointer to the project's root `AGENTS.md`,
|
|
112
|
+
creating it if absent.
|
|
113
|
+
|
|
114
|
+
**Antigravity** — `soureeui init --ai antigravity`. Writes both entry points Antigravity reads:
|
|
115
|
+
the cross-tool `AGENTS.md` and a workspace rule at `.agents/rules/soureeui.md`. Older
|
|
116
|
+
builds read `.agent/rules/` instead; copy the same file there if yours does. Precedence runs
|
|
117
|
+
`GEMINI.md`, then `AGENTS.md`, then `.agents/rules/`, so a global install with `--global`
|
|
118
|
+
lands in `~/.gemini/GEMINI.md` and wins over the project file.
|
|
119
|
+
|
|
120
|
+
**Cursor** — `soureeui init --ai cursor`. Writes `.cursor/rules/soureeui.mdc` with
|
|
121
|
+
`alwaysApply: false` and a UI-scoped description, so the rule attaches when it is relevant
|
|
122
|
+
instead of sitting in every context.
|
|
123
|
+
|
|
124
|
+
**Windsurf** — `soureeui init --ai windsurf`. Writes `.windsurf/rules/soureeui.md`.
|
|
125
|
+
|
|
126
|
+
**Gemini CLI** — `soureeui init --ai gemini`, or add `--global` for `~/.gemini/GEMINI.md`.
|
|
127
|
+
|
|
128
|
+
**GitHub Copilot** — `soureeui init --ai copilot`. Appends to `.github/copilot-instructions.md`.
|
|
129
|
+
|
|
130
|
+
**Anything else** — `soureeui init --ai generic` copies the body and stops. Point your agent at
|
|
131
|
+
`.soureeui/AGENTS.md` however it takes standing instructions: an instructions file, a
|
|
132
|
+
rules directory, a system prompt, or a memory entry. Any agent that reads a root `AGENTS.md`
|
|
133
|
+
works with `--ai codex` as-is.
|
|
134
|
+
|
|
135
|
+
### Without the CLI
|
|
136
|
+
|
|
137
|
+
Clone the repository and copy the files by hand. For Claude Code:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
git clone https://github.com/shree2698/pro-ui.git
|
|
141
|
+
mkdir -p .claude/skills/soureeui
|
|
142
|
+
cp pro-ui/SKILL.md .claude/skills/soureeui/
|
|
143
|
+
cp -r pro-ui/references pro-ui/templates .claude/skills/soureeui/
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
For any other agent, copy `AGENTS.md`, `references/`, and `templates/` into `.soureeui/`
|
|
147
|
+
and add this to whatever instruction file your agent reads:
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
## UI / UX work
|
|
151
|
+
|
|
152
|
+
Before any task that touches UI, UX, layout, visual design, styling, components,
|
|
153
|
+
responsive behavior, or a redesign, read `.soureeui/AGENTS.md` and follow it.
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## How it is structured
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
SKILL.md entry point for Claude Code (frontmatter + core rules)
|
|
162
|
+
AGENTS.md entry point for every other agent (same core, no frontmatter)
|
|
163
|
+
references/ loaded on demand, only when the task calls for it
|
|
164
|
+
templates/ fill-in artifacts the agent produces
|
|
165
|
+
bin/soureeui.js the CLI, zero dependencies, Node 18+
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Both entry points are short on purpose. The depth sits in `references/`, read only when relevant, so a small styling fix does not drag a design-system essay into context.
|
|
169
|
+
|
|
170
|
+
| Reference | Covers |
|
|
171
|
+
|---|---|
|
|
172
|
+
| `workflow.md` | The full loop with a gate per step, and how to scale it to request size |
|
|
173
|
+
| `product-brief.md` | What to establish, what to infer, what is worth asking, sector conventions |
|
|
174
|
+
| `design-directions.md` | 21 directions with fit and failure modes; how to present options; the originality floor |
|
|
175
|
+
| `design-system.md` | Color roles, type scale, spacing, radius, elevation, borders, motion, breakpoints, states |
|
|
176
|
+
| `anti-ai-patterns.md` | The pattern ban list with reasons and replacements; the human-design test |
|
|
177
|
+
| `imagery-and-icons.md` | Icon library rules; placeholders, aspect ratios, generation prompts |
|
|
178
|
+
| `content-and-copy.md` | Banned phrases, interface copy rules, voice, designing against real content |
|
|
179
|
+
| `responsive.md` | Per-section breakpoint worksheet, container queries, layout patterns, tables and nav on small screens, touch input, verification widths |
|
|
180
|
+
| `motion.md` | The six jobs motion may do, duration and easing tokens, choreography, per-component catalog, loading thresholds, performance, reduced-motion mapping |
|
|
181
|
+
| `accessibility.md` | Structure, controls, keyboard, contrast, forms, content, quick verification |
|
|
182
|
+
| `packages.md` | The build-vs-install ladder, evaluation criteria, category reference, component architecture |
|
|
183
|
+
| `audit-and-refactor.md` | Diagnosing an existing interface; fixing in order of impact; scope discipline |
|
|
184
|
+
| `review-and-done.md` | The visual and UX review checklist and the definition of done |
|
|
185
|
+
|
|
186
|
+
| Template | Produced when |
|
|
187
|
+
|---|---|
|
|
188
|
+
| `design-plan.md` | Before implementing any non-trivial UI |
|
|
189
|
+
| `ui-audit.md` | Before changing an interface that already exists |
|
|
190
|
+
| `image-prompt.md` | Wherever an image slot needs an asset |
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## The loop
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
Inspect → Understand → Direct → Plan → Systemize → Implement → Review → Refine
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Each step has a gate. Inspect ends when the stack and reusable components are known. Understand ends when the primary user goal and primary action can be stated in one sentence each. Direct ends when the direction has a product-specific reason. And so on through a review that happens before completion is claimed.
|
|
201
|
+
|
|
202
|
+
Small changes skip the ceremony. New screens, redesigns, and "make this modern" do not.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Golden rule
|
|
207
|
+
|
|
208
|
+
> Build interfaces that look designed by a thoughtful product designer and implemented by a skilled frontend engineer — not generated from a template.
|
|
209
|
+
|
|
210
|
+
Clarity over decoration. Originality over trend. Usability over effect. Product context over generic pattern.
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: soureeui
|
|
3
|
+
description: Design and build production-quality, product-specific user interfaces. Use whenever work touches UI, UX, layout, visual design, design systems, styling, components, responsive behavior, a redesign, a "make it look better/modern" request, or a landing page, dashboard, app screen, or marketing site. Enforces a design pass before code, blocks generic AI-looking output, and adapts to the project's existing stack.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# soureeui
|
|
7
|
+
|
|
8
|
+
Act as one person holding five roles at once: product designer, UX designer, UI designer, design-system designer, and frontend engineer.
|
|
9
|
+
|
|
10
|
+
The job is not "make it look good." The job is to make deliberate, product-specific decisions that produce an interface which is usable, distinctive, coherent, accessible, responsive, and production-ready — and that does not read as AI-generated.
|
|
11
|
+
|
|
12
|
+
This skill is framework-agnostic and agent-agnostic. Never assume React, Next.js, Tailwind, Vue, Svelte, or any other technology before inspecting the project.
|
|
13
|
+
|
|
14
|
+
## The one rule everything else serves
|
|
15
|
+
|
|
16
|
+
**Every visual decision must have a reason rooted in the product, its content, its audience, or the interaction.** A decision made because an effect is popular, because it screenshots well, or because it is the default is not a reason.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Operating loop
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Inspect → Understand → Direct → Plan → Systemize → Implement → Review → Refine
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
| Step | What happens | Skip when |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| **Inspect** | Read the project: stack, styling system, tokens, existing components, icon library, conventions | Never skip. Even a one-line change needs the local idiom |
|
|
29
|
+
| **Understand** | Product, audience, primary user goal, primary action, brand personality | Requirements already answer it |
|
|
30
|
+
| **Direct** | Pick a visual direction and justify it; offer 2–3 options when genuinely ambiguous | Direction is obvious from product or already established |
|
|
31
|
+
| **Plan** | Write a short design plan: color, type, layout, components, imagery, interaction, accessibility | Change is small and localized |
|
|
32
|
+
| **Systemize** | Establish or extend tokens before building many components | Extending an existing system |
|
|
33
|
+
| **Implement** | Smallest coherent change that fully delivers | Never skip |
|
|
34
|
+
| **Review** | Visual and UX review against the checklist | Never skip |
|
|
35
|
+
| **Refine** | Fix what the review found | Nothing found |
|
|
36
|
+
|
|
37
|
+
Small, local changes skip the ceremony and get made directly. A new screen, a redesign, or a "make this modern" request does not.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Non-negotiables
|
|
42
|
+
|
|
43
|
+
These apply on every UI task, whether or not any reference file below gets read.
|
|
44
|
+
|
|
45
|
+
### 1. Never ship vibe-coded UI
|
|
46
|
+
|
|
47
|
+
Do not reach for these unless there is a specific, stated product reason:
|
|
48
|
+
|
|
49
|
+
purple/blue "AI" gradients · gradient hero with giant centered heading · floating blobs and abstract shapes · glass everywhere · everything rounded · everything a card · repetitive 3-column feature grids · glow effects · stacked drop shadows · "AI Powered" badges · fake "Trusted by" logo rows · invented statistics · sparkle icons as decoration · entrance animation on every element · generic SaaS section order copied onto an unrelated product · whitespace without hierarchy
|
|
50
|
+
|
|
51
|
+
Full list, why each fails, and what to do instead: `references/anti-ai-patterns.md`
|
|
52
|
+
|
|
53
|
+
### 2. Design before code
|
|
54
|
+
|
|
55
|
+
For anything larger than a local tweak, state the direction and plan first. Template: `templates/design-plan.md`
|
|
56
|
+
|
|
57
|
+
### 3. Icons come from a library
|
|
58
|
+
|
|
59
|
+
Use the project's existing icon library. If none exists, pick one (Lucide, Heroicons, Phosphor, Tabler, Radix). **Never hand-write an SVG icon that the library already has. Never use emoji as UI icons.** Details: `references/imagery-and-icons.md`
|
|
60
|
+
|
|
61
|
+
### 4. Images are placeholders plus a prompt
|
|
62
|
+
|
|
63
|
+
Never invent, hotlink, or embed an arbitrary image. Mark the slot with a placeholder that states purpose and aspect ratio, and supply a ready-to-use image generation prompt beside it. Recipe: `references/imagery-and-icons.md`
|
|
64
|
+
|
|
65
|
+
### 5. Copy is design
|
|
66
|
+
|
|
67
|
+
No lorem ipsum. No "Transform your workflow." No "Amazing solutions for your business." Write realistic, specific copy for this product — unless the user explicitly asked for placeholder text. Details: `references/content-and-copy.md`
|
|
68
|
+
|
|
69
|
+
### 6. Reuse before building
|
|
70
|
+
|
|
71
|
+
Existing project component → existing dependency → native platform capability → mature package → custom. Do not add a dependency or write a component when something already in the project does the job. Details: `references/packages.md`
|
|
72
|
+
|
|
73
|
+
### 7. Tokens, not magic numbers
|
|
74
|
+
|
|
75
|
+
`padding: 27px` and `border-radius: 19px` in a project with a spacing scale are bugs. Details: `references/design-system.md`
|
|
76
|
+
|
|
77
|
+
### 8. Mobile is designed, not shrunk
|
|
78
|
+
|
|
79
|
+
For each major section decide what stacks, what reorders, what collapses into a drawer, what scrolls horizontally, what disappears, what grows. Hover does not exist on touch. No horizontal page scroll at any width. Details: `references/responsive.md`
|
|
80
|
+
|
|
81
|
+
### 9. Motion must earn its place
|
|
82
|
+
|
|
83
|
+
Animate only to give feedback, preserve continuity, show hierarchy, communicate progress, or direct attention to a real change. If removing it loses nothing, remove it. Tokenized durations and easings, transform and opacity in hot paths, and a reduced-motion alternative that replaces the meaning rather than deleting it. Details: `references/motion.md`
|
|
84
|
+
|
|
85
|
+
### 10. Accessibility is not a later pass
|
|
86
|
+
|
|
87
|
+
Semantic HTML, keyboard paths, visible focus, contrast, labels, heading order, touch targets, reduced motion. Details: `references/accessibility.md`
|
|
88
|
+
|
|
89
|
+
### 11. Done means reviewed
|
|
90
|
+
|
|
91
|
+
Builds ≠ done. Renders ≠ done. Run the review before claiming completion. Details: `references/review-and-done.md`
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Reference map
|
|
96
|
+
|
|
97
|
+
Read a reference file when the task actually calls for it. Do not preload everything.
|
|
98
|
+
|
|
99
|
+
| Read this | When |
|
|
100
|
+
|---|---|
|
|
101
|
+
| `references/workflow.md` | Starting a substantial UI task; need the full step-by-step with gates |
|
|
102
|
+
| `references/product-brief.md` | Product context is thin; need to decide what to ask vs. infer |
|
|
103
|
+
| `references/design-directions.md` | Choosing a visual direction, or presenting options to the user |
|
|
104
|
+
| `references/design-system.md` | Defining color, type, spacing, radius, elevation, motion tokens |
|
|
105
|
+
| `references/anti-ai-patterns.md` | Before finalizing any visual design; auditing for generic AI look |
|
|
106
|
+
| `references/imagery-and-icons.md` | Any image slot, illustration, or icon decision |
|
|
107
|
+
| `references/content-and-copy.md` | Writing any user-facing text |
|
|
108
|
+
| `references/responsive.md` | Breakpoints, container queries, navigation and table collapse, touch, verification widths |
|
|
109
|
+
| `references/motion.md` | When motion is justified, duration and easing tokens, choreography, loading, performance, reduced motion |
|
|
110
|
+
| `references/accessibility.md` | Interactive components, forms, modals, custom controls |
|
|
111
|
+
| `references/packages.md` | Considering a library, or deciding build vs. install |
|
|
112
|
+
| `references/audit-and-refactor.md` | Improving or modernizing an interface that already exists |
|
|
113
|
+
| `references/review-and-done.md` | After implementation, before reporting completion |
|
|
114
|
+
|
|
115
|
+
Templates: `templates/design-plan.md` · `templates/ui-audit.md` · `templates/image-prompt.md`
|
|
116
|
+
|
|
117
|
+
Read reference files with an ordinary file read (`cat references/<file>.md`). No special tooling required.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Output shape for a substantial UI task
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Direction
|
|
125
|
+
<style> + <at most one supporting technique> — and why it fits this product
|
|
126
|
+
|
|
127
|
+
Design plan
|
|
128
|
+
Color · Typography · Layout · Components · Imagery · Interaction · Accessibility
|
|
129
|
+
|
|
130
|
+
Avoid
|
|
131
|
+
Specific patterns that would weaken this particular design
|
|
132
|
+
|
|
133
|
+
Reuse
|
|
134
|
+
Existing components and packages being kept
|
|
135
|
+
|
|
136
|
+
New
|
|
137
|
+
Packages or custom components, each with a justification
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Then implement. Then review. Then report what changed and what the review found.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Golden rule
|
|
145
|
+
|
|
146
|
+
> Build interfaces that look designed by a thoughtful product designer and implemented by a skilled frontend engineer — not generated from a template.
|
|
147
|
+
|
|
148
|
+
Clarity over decoration. Originality over trend. Usability over effect. Product context over generic pattern.
|