复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Your AI coding agent sets up the design system, a scored gate keeps the quality, and the decisio...
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Your AI coding agent sets up the design system, a scored gate keeps the quality, and the decisions live in your repo, maintained across screens and sessions — designed-looking products without a design team. Open source, for Claude Code · Codex · Cursor.
Same product. Same prompt. Only the rules changed.
Measured on 120 rendered benchmark cells: the enforced gate improved both Codex and Claude Code by +5.3 points. Raw rules alone were inconsistent (Codex +1.6, Claude Code −3.7), which is why StyleSeed ships a render → score → revise loop—not a prompt dump. Read BENCH-V1 and inspect the raw evidence →
1. Open your project in Claude Code, Codex, Cursor, or another coding agent.
2. Paste this message:
Install StyleSeed with `npx skills add bitjaru/styleseed`, then set it up for this project. Ask what I am building and only the design choices you need. Choose the right output grammar, brand recipe, and semantic palette—or derive a local grammar from my references. For a full concept with three directions, image/video jobs, and a working interaction reel, use `/ss-studio` in Claude Code or `$ss-studio` in Codex. Otherwise resolve the approved direction with `/ss-resolve` or `$ss-resolve`, build with one clear focal point, score to at least 80, then render and visually verify it before showing me.
3. Approve the install, answer the short setup questions, and describe what you want to build. StyleSeed handles the design lock, build, code gate, and visual check. No design-system knowledge required.
| Agent | If you want to run it manually |
|---|---|
| Claude Code | /ss-studio for exploration, or /ss-setup → /ss-build for a decided screen |
| Codex | $ss-studio for exploration, or $ss-setup → $ss-build from /skills |
| Cursor and others | Paste the message above or use the installed skill picker |
Claude Code guide · Codex guide · See examples · Need help?
Want a first PR? Fix a doc, add a regression fixture, improve a skin, or claim a
good first issue. Small docs and test fixes need no proposal. See the 15-minute contribution path.
The "AI-generated look" isn't bad luck — it's a list of nameable tells. StyleSeed ships 74 rules that ban them, and a 0–100 scored gate that tells an installed agent to revise screens below 80 before presentation. The gate is enforced when the StyleSeed build workflow is actually invoked; a markdown file alone cannot block delivery.
| Banned | Why |
|---|---|
Default indigo #4F46E5 / #5E6AD2 accent | the universal "an AI made this" color |
| Emoji as UI icons 🚗 🧺 ⭐ | inject random colors, render differently per OS |
| The icon-in-a-chip above every feature card | gen-1 AI tell — decoration pretending to be information |
| All-even grid of same-weight centered cards | the #1 machine-composed tell: no focal point |
Pure #000 backgrounds | a flat void — real dark UIs use layered ramps |
| Font sizes outside one fixed table | size drift is why screens feel "off" but you can't say why |
| Hardcoded hex in components | tokens only — otherwise the lock can't hold across screens |
Banning the defaults isn't enough — agents converge on new uniforms once the old ones are blocked. That's why the rules come with an enforced score-then-fix loop, not a checklist. What happens after install ↓
One component. Three token skins. Same chat UI morphing across Toss · Raycast · Arc-inspired token sets. A skin changes color and type material; a StyleSeed brand recipe changes the actual geometry, containment, controls, collections, density, and motion.
Skins are inspired-by token sets, not recreations. Compare the nine structural recipes →
StyleSeed fixes the design method — not one Toss-like aesthetic.
Judgment, not data — how designers think, not a palette collection ·
Right grammar for the result — consumer service, operations, technical, editorial,
commerce, institutional, marketing, or sequential story ·
Real morphology choices — nine brand recipes change structure and component selection,
not just palette ·
Generative palette engine — any key color becomes OKLCH ramps, context-fit surfaces,
a scored companion, semantic roles, contrast evidence, CSS tokens, and media anchors; eight
recipes remain maintained product postures ·
Studio pipeline — three directions, human selection, interaction scenes, image/video jobs,
working prototype, and a prototype-first reel ·
References become rules — /ss-reference compiles screenshots, URLs, Figma, or an existing
UI into an evidence-backed project grammar ·
Only the context you need — /ss-resolve compiles the chosen method into a small,
hash-verifiable project bundle ·
Beyond web UI — adapters for product UI, social carousels, decks, documents, and graphics ·
Fights the AI tells — the default indigo, the icon-chip cliché, template layouts, rainbow lists ·
Auxiliary proof gates — code score + rendered pixel verification before you see it ·
Every agent — ships CLAUDE.md + AGENTS.md + .cursorrules ·
A design lock that stops drift ·
Free & MIT
Core judgment × output grammar × surface adapter × domain/page × brand recipe × palette recipe × optional profile. Read the architecture →
Full pages: before · after · more before/afters →
🔥 We ran an early version of this page through our own gate. It scored 58/100 → here's the receipt
Same product, six looks — each one /ss-restyle <preset> away. Coherent, distinct, never generic.
Easy Start · Studio · Palettes · Claude Code UI guide · Codex UI guide · Brand recipes · Architecture · Engine + Recipes + Skins · Motion · Skills · Wiki · 한국어
Why the prompt installs first: the context compiler and quality gates can only run when the
skills are installed. Installing turns STYLESEED.md into a small source-hashed rule bundle,
then actually scores and fixes the result before you see it. Without installation,
llms.txt still tells any agent how StyleSeed is
structured and where its machine-readable catalog lives, but compilation and gates become a
weaker manual path. Works with Claude Code (CLAUDE.md), Codex / Amp / Gemini CLI
(AGENTS.md), and Cursor (.cursorrules) — StyleSeed ships all three. (Planning first is what
keeps the result from looking random — see Troubleshooting.)
What your agent actually does with StyleSeed loaded:
you ▸ build me a billing settings page
agent ▸ (plan mode) key color? for billing I'd go deep teal — #0F766E, mood: sharp · calm ·
trustworthy (not the default indigo). Motion: Snap. ok? ▸ y
agent ▸ ✓ wrote STYLESEED.md — skin, accent, font, radius, motion locked for project-scoped visual work
agent ▸ building… running the quality gate before I show you anything
gate ▸ ✗ two accent colors ✗ "normal" rows colored ✗ no empty state → fixing
agent ▸ ✓ 88/100 — one accent, grey normal states, real empty/error states. here's the page.
The STYLESEED.md lock is the anti-drift mechanic. Your skin, key color, radius, and motion get written once. Installed project instructions and StyleSeed skills re-read it for visual work, so those decisions can survive new screens and sessions. When the build workflow runs, the Quality Gate reviews and fixes the UI (rainbow lists, two accents, missing states) before presentation — and it can retrofit an old generic build too.
The method stays open and portable. The sources are plain markdown; installation adds the deterministic context compiler, manifest, and executable gates. If installation is unavailable,
llms.txtgives any agent the portable routing contract, but it cannot provide the same reproducible local compile by itself.
Want the 23 core agent skills too (the styleseed router plus 22 ss-* workflows for Studio, context resolution, setup, build, review, score, and verification)?
npx skills add bitjaru/styleseed
Installs all 23 canonical core workflow skills into Claude Code, Codex, Cursor, Gemini CLI,
Amp and more. Then run
/ss-setup → /ss-resolve in Claude Code or $ss-setup → $ss-resolve in Codex (you can
also choose them from Codex's /skills picker). The resolver writes a targeted
.styleseed/effective-rules.md bundle plus a source-hash manifest, so the agent does not need
the 220KB full handbook for every task. Your agent may ask you to approve tools on first use.
No install possible? Read llms.txt for the
portable routing contract.
Your agent, its exact path:
| Your agent | Reads | Fastest install |
|---|---|---|
| Claude Code | CLAUDE.md + /ss-* skills | npx skills add bitjaru/styleseed |
| Cursor | .cursorrules | cp engine/.cursorrules .cursorrules — or paste the prompt above |
| Codex | AGENTS.md + $ss-* skills (.agents/skills) | npx skills add bitjaru/styleseed |
| Amp · Gemini CLI | AGENTS.md + skills | npx skills add bitjaru/styleseed |
| Windsurf · Copilot · any other | the paste-prompt above | no install — paste & go |
More paths (manual copy, Cursor, awesome-design-md brands) in Install by hand below.
There are lots of "help your AI design" projects now. Most solve a slice. StyleSeed is the one that targets the whole "looks AI-generated" problem — and enforces the fix.
| StyleSeed | Brand / DESIGN.md collections | "Make-it-prettier" skills | UI generators (Claude Design, v0…) | |
|---|---|---|---|---|
| Teaches design judgment (how designers think) | ✅ | ❌ data only | ⚠️ a few tips | ❌ |
| Fights the AI-look itself — default indigo, icon-chip cliché, template layouts, rainbow lists | ✅ | ❌ | ❌ | ❌ |
| Scored Quality Gate — reviews + fixes the UI before you see it | ✅ | ❌ | ❌ | ❌ |
| Anti-drift design lock — decisions persist across sessions | ✅ | ❌ | ❌ | ❌ |
| Works across every agent (Claude Code · Cursor · Codex · Amp · Gemini) | ✅ | ⚠️ | ⚠️ | ❌ one tool |
| Brand skins + named motion system | ✅ | ⚠️ colors only | ❌ | ⚠️ |
| Free & MIT | ✅ | ✅ | usually | freemium |
They're not all competitors — a DESIGN.md gives StyleSeed a skin; a generator gives it a first
draft. StyleSeed is the judgment + enforcement layer the others don't have.
The kind of specific, named calls a senior designer makes without thinking — written down so an AI applies them every time:
#2A2A2A, not #000 — a 5-step grayscale ramp, never pure blackinner = outer − padding — concentric corners, so a card and its inner button agreeSee all 74 rules → · the craft & coherence laws →
Every "help LLMs design better" project solves the wrong half of the problem. They feed the model more design data — brand palettes, font specs, shadow tokens, component libraries. I tried that first. Dumped Toss's entire design token JSON into my prompts. The output was still generic.
Then it hit me: a junior designer with Toss's palette still ships ugly dashboards. A senior designer with only grayscale ships something refined. The difference isn't what they have. It's what they know to do with it.
Design data is the paint. Design judgment is knowing where to put it.
See the before/after → — the same dashboard brief, generated generically vs. with the 74 rules applied. Every fix annotated with the rule behind it.
StyleSeed is a design-method engine — 74 craft rules, 8 output grammars, 5 surface adapters, 48 components, a reference compiler, a named motion system, and 23 agent skills:
"The most refined black isn't #000 — it's #2A2A2A"
"One accent color in the entire app. Everything else grayscale. Restraint is elegance."
"Shadows at 4% opacity. If you can see it, it's already too much."
"Numbers and units at 2:1 ratio. 48px number, 24px unit. Always."
"Never repeat the same section type twice. Alternate tall and compact for rhythm."
"Card/background separation matters more than any border."
Nobody writes these down. They're baked into years of experience — invisible to outsiders, invisible to LLMs. StyleSeed writes them down, organizes them into six categories (color discipline, spatial rhythm, information hierarchy, shadow/elevation, component variance, motion/feedback), and hands them to Claude as a single markdown file it reads automatically.
The rules are brand-agnostic — they don't reference specific colors, only semantic tokens. Which means the same rulebook works whether your app looks like Toss, Vercel, or your client's weird purple brand. Swap the skin, the judgment carries over.
Claude Design generates UI fast — but it still picks #000 for text, reaches for six accent colors, and floats cards with no background separation. The missing piece isn't more templates. It's the 74 rules that tell the model when to use which pattern and why.
StyleSeed + Claude Design together:
Drop DESIGN-LANGUAGE.md into your Claude Design workflow and the same model produces noticeably more refined output — without changing a single prompt.
frontend-design skill?"Use both — they solve different halves of the problem. Anthropic's official frontend-design skill scaffolds a clean screen fast, and it's a great starting point. StyleSeed is the layer on top:
Official frontend-design | StyleSeed | |
|---|---|---|
| Gets you a coherent screen | ✅ | ✅ |
| Names & bans the generic-AI tells | — | ✅ by name (default indigo, icon-chip, rainbow lists…) |
| Scored gate that fixes before you see it | — | ✅ /ss-score loops to ≥80 |
| Locks decisions so they don't drift across prompts | — | ✅ STYLESEED.md |
| Presets + dials to move the whole look at once | — | ✅ /ss-restyle, /ss-dial |
Official gets you coherent. StyleSeed keeps you from looking templated. Run the official skill to scaffold, then let StyleSeed's gate refine and enforce.
The fastest path is at the top — paste one prompt, or run npx skills add bitjaru/styleseed. To wire StyleSeed into an existing project manually, use one of the options below.
New to this? Read top to bottom — every step matters. The most common mistake is expecting setup to work before the skill is installed. Claude Code scans
.claude/skills/; Codex scans.agents/skills/.
Step 1 — Install the skills. The portable path for every supported agent is:
npx skills add bitjaru/styleseed
For a manual project-local install, clone StyleSeed and copy the canonical skill folders into the path your agent scans:
git clone https://github.com/bitjaru/styleseed.git /tmp/styleseed
# Claude Code
mkdir -p .claude/skills
cp -r /tmp/styleseed/engine/.claude/skills/* .claude/skills/
# Codex (repository-scoped skills)
mkdir -p .agents/skills
cp -r /tmp/styleseed/engine/.claude/skills/* .agents/skills/
Step 2 — Start a fresh agent session, open your project, and invoke setup:
Claude Code: /ss-setup
Codex: $ss-setup # or open /skills and choose ss-setup
The wizard then walks you through:
enterprise-workbench, public-service, etc.)Don't see the skills? For Claude Code, check
.claude/skills/and use the/ss-prefix. For Codex, check.agents/skills/, open/skills, or invoke$ss-setup. Start a new session after installing if discovery looks stale.
Already did step 1 above? These commands copy the rest of the engine into a typical src/-based React project. The source folder is engine/ (replace /tmp/styleseed with wherever you cloned it):
# Design reference + AI guide
mkdir -p .claude
cp /tmp/styleseed/engine/DESIGN-LANGUAGE.md .claude/DESIGN-LANGUAGE.md
cp /tmp/styleseed/engine/CLAUDE.md ./CLAUDE.md
# Styles and components
mkdir -p src/styles src/components
cp -r /tmp/styleseed/engine/css/* src/styles/
cp -r /tmp/styleseed/engine/components/* src/components/
# Pick a skin — copy its theme.css alongside the other css files
cp /tmp/styleseed/skins/stripe/theme.css src/styles/theme.css
Refer to https://github.com/bitjaru/styleseed — read engine/CLAUDE.md
and engine/DESIGN-LANGUAGE.md, then build a SaaS dashboard.
Use skins/stripe/theme.css for the color palette.
cp engine/.cursorrules your-project/.cursorrules
Want just some skills? npx skills add bitjaru/styleseed --skill ss-motion,ss-page cherry-picks.
The honest reason: consistency comes from constraints. If you used a bare "apply StyleSeed"
prompt (without the plan-mode + key-color + quality-gate steps the prompt above
includes), the agent reads a summary once and improvises — so colors land at random and there's
no key color. The reference demo (styleseed-demo.vercel.app)
came out polished because it was built with the full rules in context and iterated with
/ss-review — not one-shot. Recreate those conditions:
/ss-resolve or $ss-resolve, then make the agent
read .styleseed/effective-rules.md. The manifest pins selections and hashes. Use
llms-full.txt only to debug an unresolved source ambiguity./ss-setup (or just ask the agent to "write a STYLESEED.md design lock"). It records your skin, key color, radius, and motion in STYLESEED.md at the repo root. Install the provider's project entry (CLAUDE.md, AGENTS.md, or .cursorrules) or invoke the installed StyleSeed skill so visual tasks actually read the lock. This is the single strongest fix for inconsistency./ss-review or /ss-score, or tell it: "self-check the effective grammar — coherent geometry, stable color roles, real empty/loading/error states — and fix violations." If it drifts: "re-read CLAUDE.md and fix the coherence violations."More constraints = less variance. Plan mode + a pinned key color + installed rules + a review pass is the difference between "looks generated" and "looks designed."
StyleSeed isn't only for new screens — it's the design counterpart to a code review for UI you already shipped. If an earlier build looks coherent but generic (default indigo, tiny desktop text, the same Lucide-icon-in-a-pale-chip on every card, no focal point):
/ss-score src/… — grades the screen 0–100 and names the exact "AI-made" tells (default
accent, icon-chip cliché, sub-16px body on desktop, no focal point, missing states)./ss-review src/… — the design code-review: applies the fixes (retint to your key color,
drop the chips, bump the type scale, create a focal point), then re-score to ≥80./ss-update → Retrofit — no design lock yet? It writes a STYLESEED.md (mood, key color,
font, surface) so the whole project stops drifting, then upgrades screen by screen.The rules got stronger in v2.5.0, so a screen that passed the old bar may score lower now — that's the point. Fixing it is what makes it stop looking AI-made.
┌─────────────────────────────────────────────────┐
│ StyleSeed Engine (brand-agnostic) │
│ │
│ 74 rules · 8 grammars · 5 adapters · 23 skills │
│ Layout · Composition · Typography · UX · A11y │
└──────────────────────┬──────────────────────────┘
│
Pick a recipe ↓
│
calm · native · enterprise · developer · commerce
public service · creative · editorial · expressive
│
Apply a skin ↓
│
┌──────┬──────┬──────┬──────┬──────┬─────────┐
│ Toss │Stripe│Linear│Vercel│Notion│ 58 more │
│ │ │ │ │ │(awesome)│
└──────┴──────┴──────┴──────┴──────┴─────────┘
Engine = how the artifact is judged (design intelligence)
Brand recipe = how the artifact is shaped (morphology)
BRAND-RECIPES.mdPalette recipe = how color roles relate (semantic hierarchy)
PALETTE-RECIPES.mdSkin = semantic color and type material (visual identity)
theme.css file with color variables--brand and you're done)Data repos (awesome-design-md) = paint colors. StyleSeed = the rulebook for where to put the paint. Use them together: they provide the skin, StyleSeed provides the brain. (Full comparison in Where StyleSeed fits.)
Most AI-generated motion is the same default fade. StyleSeed gives motion a vocabulary — so you (and the LLM) can name a feel and get consistent, intentional animation across every page. Two layers:
1. Seeds = personality. Five named presets, each a spreadable framer-motion recipe in five contexts (entrance / exit / hover / press / layout):
| Seed | Vibe | Inspiration |
|---|---|---|
| Spring | bouncy, energetic, playful | Arc, Toss |
| Silk | smooth, elegant, continuous | Stripe, Linear |
| Snap | instant, decisive, precise | Raycast, Linear |
| Float | weightless, gentle, dreamy | Apple |
| Pulse | rhythmic, alive, punchy | Discord, music apps |
import { spring } from "@engine/motion";
<motion.button {...spring.hover} {...spring.press}>Save</motion.button>
2. Keywords = distinctive moves. A library of copy-paste named motions behind one handle — toggle-flip, toggle-curtain, reveal-blur, pop-in, tilt-3d, magnetic, glow-pulse, confetti-pop, shimmer, and more. Say the keyword while vibe coding (or run /ss-motion toggle-flip) and the same recipe lands in your code.
▶ Preview & copy every motion at the live gallery → · Vibe-code your own → the motion guide
3. Motion is scoped by surface — calm apps, cinematic landing pages. This is the part most rule-sets get wrong: they ban scroll animation everywhere (so your marketing page ends up flat), or allow it everywhere (so your dashboard scroll-jacks). StyleSeed splits it:
| Surface | Motion posture |
|---|---|
| App / dashboard / data / forms | Calm. No scroll-jacking, no gimmick 3D, never animate a balance. The UI gets out of the way. |
| Marketing / landing / brand pages | Cinematic tier. Scroll-linked reveals, pinned/sticky sections, the "product assembles as you scroll" move, subtle parallax, a 3D/tilt hero, animated gradient/mesh or video backgrounds, rich hover — the family.co / stripe.com / linear.app playbook. |
The line StyleSeed draws: scroll-linked (native scroll drives it, you stay in control) is encouraged on brand pages; scroll-jacking (hijacking scroll speed, trapping you) is banned everywhere. The Cinematic tier keeps its guardrails — 60fps (transform/opacity only), never blocks the first read or the CTA, and prefers-reduced-motion always leaves a complete static page. So you can build a Stripe-grade landing page and a calm dashboard from the same engine, each with the right restraint. (Rules: DESIGN-LANGUAGE §43 · PAGE-TYPES → Landing)
All seeds auto-respect prefers-reduced-motion, and the /ss-motion skill pulls every recipe from one source of truth — so motion stays consistent no matter who (or what) writes the code.
| Skin | Style | Source |
|---|---|---|
| toss | Korean fintech — purple, minimal, data-focused | Original |
| stripe | Professional — indigo, clean, multi-layer shadows | awesome-design-md |
| linear | Dark-first — violet, minimal, developer-focused | awesome-design-md |
| vercel | Monochrome — black & white, geometric | awesome-design-md |
| notion | Warm — blue accent, friendly, warm neutrals | awesome-design-md |
| raycast | Dark, punchy — red accent, snappy, launcher energy | awesome-design-md |
| arc | Playful — bold gradients, rounded, expressive | awesome-design-md |
| 58+ more | Any brand from awesome-design-md | Auto-fetched via /ss-setup — nothing vendored |
engine/
├── CLAUDE.md # AI reads this automatically
├── AGENTS.md # Codex and other AGENTS.md-compatible agents
├── DESIGN-LANGUAGE.md # 74 visual design rules (brand-agnostic)
├── .claude/skills/ # 23 core skills: router + 22 ss-* workflows
│ ├── styleseed/ # Route a general request to one first workflow
│ ├── ss-setup/ # Interactive setup wizard
│ ├── ss-page/ # Scaffold pages
│ ├── ss-component/ # Generate components
│ ├── ss-pattern/ # Compose layouts
│ ├── ss-motion/ # Apply named motion (seeds + keywords)
│ ├── ss-review/ # Design compliance check
│ ├── ss-tokens/ # Manage tokens
│ ├── ss-a11y/ # Accessibility audit
│ ├── ss-lint/ # Quick violation scan
│ ├── ss-score/ # Score UI 0-100 + fix list
│ ├── ss-update/ # Pull latest engine
│ ├── ss-flow/ # Design user flows
│ ├── ss-audit/ # UX heuristic evaluation
│ ├── ss-copy/ # Generate microcopy
│ └── ss-feedback/ # Add loading/error/empty states
├── motion/ # 5 motion seeds + keyword library
├── components/
│ ├── ui/ # 32 primitives (shadcn/ui + motion)
│ └── patterns/ # 16 dashboard patterns
├── css/ # base.css, fonts.css, index.css
├── tokens/ # 6 JSON token files
├── utils/ # Formatting utilities
├── icons/ # Custom SVG icon library
└── scaffold/ # Vite 6 + React 18 starter
| Skill | What It Does |
|---|---|
/styleseed | Route a general request — resolve the current artifact and choose exactly one first StyleSeed workflow |
/ss-studio | Run creative direction end to end — role-based references → three directions → human selection → interaction/media plans → working prototype → temporal and visual evidence |
/ss-resolve | Compile only the active context — lock → grammar + adapter + domain/page + brand recipe + profile + craft baseline → small bundle + source-hash manifest |
/ss-build | The whole loop, enforced — lock the look → build → score → fix to ≥80 → then show. Use this instead of building UI free-hand |
/ss-reference | Compile references into a project grammar — evidence, confidence, semantic tokens, anti-patterns, and a transfer validation artifact |
/ss-dial | Turn one axis up/down deterministically — density denser, radius sharper, color more-muted, weight bolder. Moves many tokens together, keeps the guardrails, re-gates |
/ss-restyle | Re-style to a named aesthetic — swiss · editorial · technical · warm-dtc · minimal-mono · brutalist-lite. A coherent coordinate, not a stacked filter |
/ss-setup | Interactive wizard — select output grammar + adapter + brand recipe, then bounded brand/profile values |
| Skill | What It Does |
|---|---|
/ss-component | Generate components following design conventions |
/ss-page | Scaffold pages with proper layout structure |
/ss-pattern | Compose UI patterns (card grid, chart, list) |
/ss-motion | Apply a named motion — a seed or a keyword move (toggle-flip, tilt-3d...) |
/ss-review | Audit code for design system violations |
/ss-tokens | View, add, or modify design tokens |
/ss-a11y | Accessibility audit (WCAG 2.2 AA) |
/ss-lint | Quick automated lint — catches common violations in seconds |
/ss-score | Score UI quality 0-100 with a category breakdown + prioritized fix list (reads the code) |
/ss-verify | The visual gate — render the screen, screenshot it, score what you see (dead whitespace, unloaded fonts, no focal, blank empty states), fix + re-render |
/ss-update | Pull latest engine updates — analyzes your project and updates safely |
| Skill | What It Does |
|---|---|
/ss-flow | Design user flows (progressive disclosure, information pyramid) |
/ss-audit | Nielsen's 10 usability heuristics evaluation |
/ss-copy | Generate UX microcopy (buttons, errors, empty states, toasts) |
/ss-feedback | Add loading/success/error/empty states to any component |
/ss-learn is not part of the 23-skill core or the public npx skills add path. Its source lives
under extensions/learning/ for security development and local contract testing. It records a generalized lesson only after a
person asks for capture, then requires separate caller attestations before acceptance and before
preparing a share package. Known high-risk identity patterns are blocked; this is a guardrail, not
an anonymization guarantee; review the exact package before exposure. Source code, prompts,
screenshots, URLs, brand tokens, and arbitrary extra fields are rejected. The prepared package
stays local and untransmitted. The extension source includes a development-only bridge, but it must
remain disabled until a host-owned proof adapter is verified. If it is ever enabled, one exact approved
package would become visible to the connected client/model after a separate one-time grant. Neither the
CLI nor the bridge uploads to a registry or changes core rules automatically.
The repository now includes a repository development .codex-plugin/plugin.json package boundary
for local testing alongside the same 23 core skills. The implemented default/core install contains
neither ss-learn nor a learning MCP. Public directory release is not verified. npx skills add bitjaru/styleseed remains the portable released installation path today.
/ss-setup # Pick skin, configure project
/ss-page Dashboard # Scaffold main page
/ss-copy "dashboard" # Generate all microcopy
/ss-feedback src/Dashboard # Add loading/error states
/ss-audit src/Dashboard # Check UX quality
/ss-lint src/Dashboard # Quick violation scan
/ss-review src/Dashboard # Deep design compliance check
/ss-update # Pull latest engine updates
New project:
Refer to https://github.com/bitjaru/styleseed — read engine/CLAUDE.md
and engine/DESIGN-LANGUAGE.md. Use skins/stripe/theme.css for colors.
Build a SaaS dashboard with revenue, users, and activity.
Add a page (engine already in project):
Follow CLAUDE.md and DESIGN-LANGUAGE.md rules.
Create a settings page with profile, notifications, and danger zone.
Run /ss-review when done.
Improve existing page:
Refactor src/Dashboard.tsx to follow DESIGN-LANGUAGE.md.
Check visual rhythm (rule 61) and KPI variation (rule 62).
Update engine:
/ss-update
React 18 · TypeScript · Tailwind CSS v4 · Radix UI · Vite 6 · Lucide Icons · CVA
| StyleSeed | shadcn/ui | Tailwind UI | Material UI | Generic AI output | |
|---|---|---|---|---|---|
| Components | ✅ 48 | ✅ 50+ | ✅ | ✅ | ❌ |
| Design judgment (when to use what) | ✅ 74 rules | ❌ | ❌ | Partial | ❌ |
| Claude Code / Cursor integration | ✅ 23 skills | ❌ | ❌ | ❌ | — |
| Brand skins (Toss, Stripe, Linear...) | ✅ | ❌ | ❌ | ❌ | ❌ |
| Price | Free (MIT) | Free | $299+ | Free | — |
| Works with AI coding tools | ✅ | Indirect | Indirect | Indirect | — |
TL;DR: shadcn/ui gives you components. Tailwind UI gives you templates. StyleSeed gives you the design judgment that makes AI output stop looking like AI output.
Q: Why does Claude Code / Cursor generate ugly UI?
Because LLMs optimize for functional correctness, not visual refinement. They'll pick #000 for text, py-4 for spacing, text-xl for everything — all technically valid, all amateur. StyleSeed gives them the rules professional designers use.
Q: Is this a shadcn/ui replacement? No — it's built on top of shadcn/ui patterns. StyleSeed components use the same Radix primitives and CVA conventions. Think of it as shadcn/ui + design judgment + AI-tool integration.
Q: Does it work with Cursor too?
Yes. The 74 design rules live in a .cursorrules file and CLAUDE.md. Cursor reads them automatically.
Q: How is this different from awesome-design-md? awesome-design-md gives you brand DESIGN.md files (what). StyleSeed gives you the engine that turns any brand into a working app (how). They pair well.
Q: Can I use it for a non-fintech app? Yes. The engine is brand-agnostic. Pick any skin, swap the brand color, ship.
Full docs in the Wiki — design rules reference, composition recipes, chart guides, skills reference. Where the project is headed: ROADMAP.md.
Longer-form writing on why AI-built UI looks the way it does (and what actually fixed it):
StyleSeed is a living judgment framework — the rules aren't carved in stone. If you use it and find a pattern that reliably makes UI better, teach it to everyone's AI by proposing it as a rule.
A good rule is a decision + the reason it works, written so a model can apply it — not an opinion.
**Rule:** Numbers are 2:1 with their unit (a 48px value over a 24px unit).
**Why it works:** The eye locks onto magnitude first; equal sizes flatten the value into noise.
**Source:** Refactoring UI.
Open a "Propose a design rule"
issue, or PR it into engine/DESIGN-LANGUAGE.md (visual/layout) or engine/VISUAL-CRAFT.md (craft &
coherence). The judgment compounds as the community adds to it.
Just a theme.css + skin.json:
mkdir skins/your-brand
cp skins/toss/theme.css skins/your-brand/theme.css # copy a skin as a starting point
# Change the --brand color and other values
Better rules → better AI output: more specific design rules, new pattern components, accessibility improvements, new AI skills.
See CONTRIBUTING.md for the full rule format and quality checklist.
Already using StyleSeed? Check the exact rule/skill revision first:
# Claude Code: /ss-update
# Codex: $ss-update
ss-update compares the installed engineRevision, the revision recorded in
.styleseed/manifest.json, and the published revision. A matching semantic version alone is not
enough. Refresh through the original install channel, then re-resolve and inspect the bundle diff.
Preserved by the update contract: STYLESEED.md, app code, tokens, assets, customized
components, and project-owned AGENTS.md / CLAUDE.md / .cursorrules.
Full guide: engine/UPDATE.md
Get notified: Click Watch → Custom → Releases on this repo.
name: ss-setup
description: Configure StyleSeed by selecting the output grammar, domain, page type, brand recipe, semantic palette recipe, optional aesthetic profile, and bounded brand tokens before scaffolding a first screen.
argument-hint: "(no arguments needed)"
allowed-tools: Read, Write, Edit, Grep, Glob, Bash, WebFetchStyleSeed setup chooses a design method for the result, not a favorite brand to imitate.
Use /ss-resolve --list (Claude Code) or $ss-resolve --list (Codex) to inspect the supported
grammar, adapter, domain, page, recipe, palette, and profile IDs without loading the full handbook.
STYLESEED.md → use /ss-update./ss-reference before setup, then select the compiled grammar./ss-component.The method, review, and reference compiler are framework-agnostic. The bundled component scaffold currently targets React and Tailwind v4; on another stack configure the lock and apply the method without pretending the scaffold is portable.
Ask what is being built, who uses it, and whether it is a mobile/desktop product, website,
social carousel, slide deck, document/report, or single-frame graphic. Select a surface adapter
from ADAPTERS.md, then infer domain and page/artifact type.
Recommend exactly one grammar from RULESETS.md and explain the job match in one sentence:
consumer-serviceoperations-consoletechnical-instrumenteditorial-readingcommerce-conversioninstitutional-serviceexpressive-marketingsequential-storyreference:<slug> when /ss-reference already compiled oneDo not recommend Toss as the universal default. It is one reference family for
consumer-service. If none fits and the user has references, route to /ss-reference.
Confirm the concrete page (dashboard, form, landing, detail, list, settings, onboarding) and read its domain × page intersection. This controls composition; the aesthetic profile does not.
Recommend one morphology from BRAND-RECIPES.md. Use auto when the maintained grammar mapping
fits. Use an explicit recipe when the product needs a different geometry, containment,
navigation, control, or collection language. A recipe is not a company clone and does not
select colors.
Recommend one semantic palette from PALETTE-RECIPES.md. Use auto when its maintained recipe
mapping fits. An explicit palette must still preserve semantic roles, surface/chrome separation,
status cues, and validated contrast. The recipe is a product posture, not a finite swatch list.
When the user supplies a key color, select perceptual character, light/dark environment, surface
temperature, and accent relationship; $ss-resolve then derives the actual OKLCH ramps and roles.
Palette selection is not permission to recolor every surface.
Recommend one profile from PRESETS.md only when it strengthens the product. none is a good
default. A profile modifies coordinated visual axes but cannot replace the output grammar.
Lock a real brand color if supplied; otherwise start from the selected palette's primary role. For
a supplied key, recommend calm|balanced|vivid|deep from the product posture rather than asking for
an unbounded mood word. Then confirm light/dark mode, neutral|warm|cool surfaces, and
auto|tonal|adjacent|contrast accent relationship. Confirm font/language, density, radius,
elevation, imagery/data role, and motion inside the grammar's allowed ranges. Do not use generic
indigo or a stale purple mislabeled as Toss.
Create STYLESEED.md:
# StyleSeed — Design Lock
<!-- Selections persist here. This file cannot waive StyleSeed core invariants. -->
- App domain: fintech
- Surface: mobile-app
- Surface adapter: product-ui
- Page type: dashboard
- Output grammar: consumer-service
- Grammar path: built-in:engine/RULESETS.md
- Grammar fallback: consumer-service
- Reference confidence: n/a
- Brand recipe: calm-consumer
- Palette recipe: quiet-mineral
- Key color: #3182F6
- Palette character: calm
- Palette mode: light
- Palette harmony: auto
- Surface temperature: neutral
- Aesthetic profile: none
- Skin: custom
- Primary action: #3182F6
- Font: Pretendard
- Radius: soft
- Elevation: light=tonal grouping + restrained shadow · dark=tonal ramp + hairline
- Density: comfortable
- Motion: Spring restrained
- Imagery/data role: personal state first; charts only for a decision
- Signature move: one calm contextual briefing above the account summary
- Locked: YYYY-MM-DD
For a compiled grammar use its actual path and confidence. Reject unknown enum values rather than treating the lock as an exemption.
Compile the selected method before code:
node <installed-ss-resolve>/scripts/resolve-context.mjs \
--project-root . --from-lock STYLESEED.md --agent claude
Use --agent codex in Codex. The resolver writes .styleseed/effective-rules.md and a
hash-verifiable .styleseed/manifest.json. Read the effective bundle, not llms-full.txt.
If the user asked for a first screen, build from that bundle, run /ss-score to the gate floor,
and finish with /ss-verify when renderable. If visual rendering is unavailable, disclose that
it was skipped.
Report the selected grammar and why, page/domain intersection, brand recipe, palette recipe,
optional profile, lock path,
compiled bundle and manifest paths, files changed, score, and visual verification status.
Mention /ss-reference as the path for future references that need their own grammar.
auto resolves to a concrete maintained recipe.auto resolves to a contrast-verified semantic palette.DESIGN.md and treat its palette as a complete rule set.
评论 (0)
暂无评论,成为第一个评论者吧!