design
Skill4 starsChanged 13 days agoMITView on GitHub
Knowledge base and rules for the design-builder plugin. Three-layer model (commands -> filters -> knowledge base) for building distinctive production-grade interfaces on web + iOS. Backed by designlib MCP (palettes, fonts, inspiration_pages, landing_patterns, icons, animations), iOS HIG references (iOS 18/26 Liquid Glass), designer motion perspectives (Emil/Jakub/Jhey), anti-pattern detection. This skill is the source of truth — actions live in the plugin's commands/.
197 other projects use a version of this.
Adopted by
Most recently taken up by
- dialog-db/dialog-dbtheir own version, first seen Nov 9, 2026
- BermanRoman/promt-seo-geotheir own version, first seen Nov 8, 2026
- anorth/agent-skillstheir own version, first seen Nov 8, 2026
- gspencergoog/skillstheir own version, first seen Nov 8, 2026
- PeanutGT/NutsSkillstheir own version, first seen Nov 8, 2026
- Integralist/agent-skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use banner-design, ui-styling and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
seikaikyoSkillbanner-design
Design banners for social media, ads, website heroes, creative assets, and print. Multiple art direction options with optional generated or supplied visuals. Actions: design, create, generate banner. Platforms: Facebook, Twitter/X, LinkedIn, YouTube, Instagram, Google Display, website hero, print. Styles: minimalist, gradient, bold typography, photo-based, illustrated, geometric, retro, glassmorphism, 3D, neon, duotone, editorial, collage.
Also in 38 projects that use this
MicrosoftSkillui-styling
Guide for the visual style, structure, and shared building blocks used by Semantic Link Labs interactive UI tools (HTML widgets and anywidget-based widgets). Use this when adding a new interactive UI, modifying an existing one, or adding shared visual components.
Also in 39 projects that use this
seikaikyoSkillbrand
Brand voice, visual identity, messaging frameworks, asset management, brand consistency. Activate for branded content, tone of voice, marketing assets, brand compliance, style guides.
Also in 43 projects that use this
mayankjain1815-commitsSkillinfra-audit
Reads docker-compose, env files, ORM configs, and connection strings to map current infrastructure. Flags missing layers (cache, queue, analytics) based on observed access patterns. Outputs a structured infrastructure manifest.
Also in 3 projects that use this
JetBrainsSkillslides
Create and edit presentation slide decks (`.pptx`) with PptxGenJS and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying slide content while preserving editable output, adding charts/diagrams/visuals, or diagnosing layout issues such as overflow, overlaps, and font substitution.
Also in 42 projects that use this
AnthropicSkilldesign-system
Audit, document, or extend your design system. Use when checking for naming inconsistencies or hardcoded values across components, writing documentation for a component's variants, states, and accessibility notes, or designing a new pattern that fits the existing system.
Also in 49 projects that use this
Other versions197 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 197
- nextlevelbuilder/ui-ux-pro-max-skill★ 147ksame name
- Yeachan-Heo/oh-my-codex★ 34ksame name
- tokio-rs/toasty★ 3.3ksame name
- PaulWoitaschek/Voice★ 3.3ksame name
- joye61/pic-smaller★ 2.9ksame name
- oxsecurity/megalinter★ 2.6ksame name
- Infisical/agent-vault★ 2.5ksame name
- static-web-server/static-web-server★ 2.4ksame name
- SethGammon/Citadel★ 927same name
- Ohh-889/skyroc-admin★ 795same name
187 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- design-builderSkill
- figma-useSkill
- motionSkill
- playwright-cliSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 174 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Use setup discovery for a new, undecided design direction.
- Very specific: line 22
When a command asks for "2-3 candidates" (/setup's direction proposal, /design_page's and /design_screen's reference picker), your default …
- Very specific: line 28
If you find yourself drafting a generic A/B/C narrative — stop.
- Distinctive: line 56
THE RULE: every command emits design output by (1) resolving facts through Layer 1 in the fixed source order, (2) gating output through all …
- Very specific: line 85
If designlib MCP is NOT connected and a user starts a design system from scratch, tell them once:
- Distinctive: line 218
Commit to a BOLD direction.
- Distinctive: line 230
When approaching token limit: write at full quality to a clean breakpoint, then:
- Distinctive: line 267
If you showed this interface to someone and said "AI made this," would they believe immediately?
- Very specific: line 282
Check package.json / Swift Package deps before importing any 3rd-party library.
“Common” is measured: kept by at least 6 in 10 of the 174 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Design Knowledge Base — for design-builder
You are the knowledge base behind the design-builder plugin. Commands in commands/ (/setup, /start, /design_page, /design_screen, /build, /improve, /review) activate you to resolve facts, apply filters, and enforce rules. The portable design-builder skill also activates these same workflows in Codex. Read host compatibility first; use actual host tools and preserve the user's scope.
The two failure modes this skill exists to prevent — read first.
Discovery proportional to the task
Use setup discovery for a new, undecided design direction. Reuse a supplied brief, existing tokens and choices already accepted in this chat. For scoped reviews and fixes, proceed with the available project context. If the user delegates choices, state your assumptions and continue; ask only for consequential missing information.
Failure mode 2 — describing variants in prose instead of rendering
When a command asks for "2-3 candidates" (/setup's direction proposal, /design_page's and /design_screen's reference picker), your default is to write paragraphs of prose: "A. Editorial — light, warm. B. Forest-block — dark, confident…" Don't.
For /setup direction candidates: each candidate gets the verbose block format defined in commands/setup.md Phase 3. The HTML preview in Phase 4 is mandatory (unless explicitly skipped) — never offer "I can render previews if you want", they are required.
For /design_page and /design_screen page references: each reference gets the card format defined in commands/design_page.md Phase 3.
If you find yourself drafting a generic A/B/C narrative — stop. Use the structured per-candidate format and (for /setup) render the HTML preview.
Architecture — three layers
┌──────────────────────────────────────────────────────────────────┐
│ COMMANDS (commands/setup,start,design_page,design_screen,build,improve,review.md) │
│ Entry points the user invokes. Thin scenarios. │
└────────────────────────────┬─────────────────────────────────────┘
│ activate this skill, which:
▼
┌──────────────────────────────────────────────────────────────────┐
│ Layer 2: DESIGN FILTERS (gating — what we will not emit) │
│ Direction · Dials · Aesthetics · Anti-Patterns · │
│ Distinctiveness Gate · Output Rules │
│ ALL SIX always run before emit. Silent skip = AI slop. │
└────────────────────────────┬─────────────────────────────────────┘
│ candidate facts come from ↓
┌──────────────────────────────────────────────────────────────────┐
│ Layer 1: KNOWLEDGE BASE (informing — where facts come from) │
│ Project tokens · designlib MCP (incl. inspiration_pages) · │
│ local CSV · iOS HIG · free generation │
│ Resolved via get_design_reference(type, filters) │
└──────────────────────────────────────────────────────────────────┘THE RULE: every command emits design output by (1) resolving facts through Layer 1 in the fixed source order, (2) gating output through all six Layer 2 filters, in that order. Silently skipping Layer 2 is the single most common way this skill produces "AI slop" — do not do it.
Architecture detail + extension points: references/architecture.md.
Agent delegation
The shared audit lives in references/audit-workflow.md; run it inline when delegation is unavailable or disallowed. Claude also has one native adapter in agents/:
| Trigger | Sub-agent | Why this one is an agent |
/review | design-auditor | Loads many references (a11y, perf, HIG, motion, AI-slop criteria), greps the project, returns a structured P0-P3 report. Heavy multi-file reads + structured JSON output — both qualities of a useful agent. |
/setup, /design_page, /design_screen, /build, /improve run inline through this skill — no delegation. The earlier v1.2 plugin shipped six agents (design-system-architect, design-critic, motion-auditor, polish-fixer, brand-agent); they were removed because Claude doesn't reliably auto-delegate, and the rules had to live inline anyway. Only the auditor survives.
Layer 1: Knowledge Base — where facts come from
get_design_reference(type, filters) describes resolver pseudocode, not an executable tool. Apply that source-selection process with available host tools. See references/layer1-resolvers.md for the full contract, the MCP_TOOL_MAP, and the resolution-order pseudocode.
Source order (strict)
- Project tokens —
design/tokens.css,design/design-system.md,design/style-guide.md,design/content-library.md,tailwind.config.*,*.xcassets. Read when a command wants "use what the user has". 1.5. Spec files (only for /build) —design/pages/<name>.md,design/screens/<name>.md. /build's primary Layer 1 source: the spec already committed to the references during/design_page//design_screen, including chosen anchorinspiration_pageIDs and per-section anchors. /build does NOT re-resolve references; it honors what the spec captured. (For /design_page, /design_screen, /setup, /improve, /review — sources 1, 2, 3, 4, 5 apply as before, no spec source.) - designlib MCP — primary source for most types. New in v2.0:
inspiration_pages(whole-page references with palette / typography / sections / generation_prompt) vialist/get_inspiration_pages, plusanimations(whole React component recipes — hero / background / text-effect / loader / overlay, verbatim TSX inprompt_text) vialist/get_animations. Existing: palettes, styles, font_pairs, icons, landing_patterns, chart_types, domains. Filters are SINGULAR (one mood, one signature, one keyword, one category); to combine values, call multiple times and dedupe. - Local CSV —
scripts/search.pyoverdata/. UX guidelines, tech-stack specifics, react-performance, ui-reasoning, app-interface, anti-patterns. (Charts, landing_patterns, icons → designlib MCP, no longer local.) - iOS HIG references —
references/ios/. Apple-specific rules. Use when filters specifyplatform='ios'. - Free generation — last resort. Mark
source='free'on the result.
If designlib MCP is NOT connected and a user starts a design system from scratch, tell them once:
"designlib MCP is not connected. It gives authoritative palettes/fonts/inspiration_pages for web + iOS. Check the plugin MCP connection in your host. Proceeding with local CSV fallback."
Motion sub-source (KB-EXTENSION)
When the resolved type is animation or the spec includes an animation: block, the designlib MCP gives what to do (the recipe / inspiration); the motion sister skill at ../motion/SKILL.md gives how to implement it (library choice, registration patterns, easing, performance, accessibility). Always consult both — the MCP picks the candidate, the motion skill writes correct code.
The motion skill also owns video mode (HyperFrames) when the user asks for an MP4 / WebM / short-video deliverable rather than UI motion.
Live web reference capture (visual augmenter, KB-EXTENSION)
Not a Layer 1 source on its own — a visual augmenter for sources that already return a record with a url field (today: inspiration_pages.url; future: any whole-page reference). The canonical fact still comes from designlib MCP; playwright-cli (../playwright-cli/SKILL.md) just adds rendered pixels so commands can reason about composition, not only metadata.
Used by /improve --restructure (caches inspiration_page captures to design/.cache/inspiration/<page_id>.png) and /review (captures user-supplied URLs to design/screenshots/<slug>.<viewport>.png for the auditor). Skip silently if playwright-cli is unavailable — never block a rebuild on it.
<!-- KB-EXTENSION: add new source here -->Schema map for inspiration_pages
references/inspiration_pages.md — vocab, filter triad, field semantics, known issues. Load whenever a command resolves type='page'. Key facts: inspiration_pages are web-only; list_inspiration_pages returns a SUBSET of fields (deep-fetch via get_inspiration_page(page_id=...) for palette/typography/sections/generation_prompt).
Platform router
Primary platforms: web · ios · cross.
Inference: SwiftUI/UIKit code present → ios; tailwind.config / package.json with React/Next → web; both → ask the user.
iOS output: xcassets, SwiftUI Color extensions, Dynamic Type, .sensoryFeedback, Liquid Glass on iOS 26.
Web output: CSS custom properties + Tailwind/shadcn.
iOS deep references: references/ios/ — 18 files. Load on demand.
Context gathering
Required minimum: target audience, top 3 use cases, brand personality (3 concrete words), platform.
Where to find: design/.cache/interview.json (written by /setup), or by reading the project's brief/PRD.
For new branding, do not invent audience or product facts. For bounded review/fix work, code and the user's request can supply enough context; mark unavailable visual or brand evidence as unassessed.
Reference index
Token sources
| Path | Purpose |
references/designlib-mcp.md | designlib MCP guide |
references/inspiration_pages.md | inspiration_pages schema map (vocab, filters, field semantics) |
references/animations.md | animations schema map (vocab, filters, field semantics, mood→style_tag map) |
references/layer1-resolvers.md | get_design_reference() contract + MCP_TOOL_MAP |
references/system/web-pipeline.md | Web token output (tokens.css, Tailwind, shadcn) |
references/system/ios-pipeline.md | iOS token output (xcassets, SwiftUI theme files) |
Platform-agnostic
| Path | Purpose |
references/architecture.md | Three-layer model + extension points |
references/design-dials.md | Design Dials detail (VARIANCE / MOTION / DENSITY) |
references/distinctiveness-gate.md | Pre-emit gate; HARD on /setup, SOFT on /design_page and /design_screen, evaluator inside /review |
references/ux-writing.md | General UX writing principles |
Web
| Path | Purpose |
references/web/ | Typography, color, spatial, motion, interaction, responsive, style presets, craft/extract/redesign workflows |
references/web/motion/ | Designer perspectives (Emil/Jakub/Jhey), audit checklist, motion gaps, enter/exit recipes |
references/ui-styling/ | shadcn/ui components, Tailwind utilities, theming |
references/system/web-pipeline.md | Web token architecture and output |
iOS
| Path | Purpose |
references/ios/ | 18 HIG-sourced refs |
Figma (when MCP available)
| Path | Purpose |
references/figma/README.md | Routing hub |
references/figma/ios-swiftui.md | Figma → iOS/SwiftUI |
references/figma/implement-design/ | Figma → web code |
references/figma/generate-library/ | Build / update DS in Figma |
references/figma/generate-design/ | Build screens in Figma |
references/figma/create-new-file/ | Create blank Figma file |
references/figma/design-system-rules/ | Project-specific Figma-to-code rules |
references/figma/code-connect-batch.md | Batch Code Connect mapping |
../../figma-use/ | Top-level skill — mandatory prerequisite for every Figma write via use_figma |
Brand & assets
| Path | Purpose |
references/brand/ | Voice, visual identity, color, typography, logo, messaging |
references/design/ | Logo, CIP, banner sizes, icons, social photos |
references/slides/ | Presentation creation, layout patterns, copywriting |
Data & scripts
| Path | Purpose |
data/ | CSV databases (UX guidelines, tech stacks, etc.). Charts/landing/icons live in designlib MCP. |
scripts/search.py | BM25 search engine |
scripts/design_system.py | Design system generator (fallback when MCP offline) |
scripts/generate_system_preview.py | Renders HTML preview of system candidates with 1/2/3 switcher |
scripts/detect-antipatterns.mjs | Anti-pattern detector (30+ checks) |
Templates
| Path | Purpose |
templates/ios/Theme/ | SwiftUI theme starters |
references/system/web-pipeline.md | CSS / Tailwind / shadcn guidance |
templates/system-preview.html | HTML shell for generate_system_preview.py |
templates/brand-guidelines-starter.md | Brand guidelines template |
Layer 2: Design Filters — what we will not emit
Every command-emitted output MUST pass through all six filters before emit. If a filter rejects, either re-resolve Layer 1 with tighter constraints, or ask the user to relax the filter explicitly. Do not bypass silently.
<!-- FILTER-EXTENSION: add new filter here -->Distinctiveness Gate
The Anti-Pattern filter catches technical AI-slop (3-column rows, gradient text, side-stripe). It does not catch outputs that are technically clean and creatively forgettable.
The Distinctiveness Gate asks the model — privately, before showing the user — 8 questions: one-line takeaway, 30-second-without-context test, risk inventory, named reference, brief-shaped element, cross-variant differentiation, load-bearing element, and layout posture (only when VARIANCE ≥ 7). Adjective answers fail; concrete answers pass.
- HARD mode on
/setupdirection candidates: failures regenerate silently. - HARD-with-1-retry on
/design_pageand/design_screenpage output: first failure regenerates once with a changed input; second failure emits SOFT with aRisks taken & gapsblock. - SOFT mode on
/improve(default mechanical mode): annotate, don't regenerate user code. - Evaluator mode inside
/review: the auditor applies it to as-built surfaces.
Full spec: references/distinctiveness-gate.md.
Design Direction
Commit to a BOLD direction. Purpose / tone / differentiation. Bold maximalism and refined minimalism both work — the key is intentionality. For /design_page, /design_screen, and /build, the direction is read from design/design-system.md (set by /setup); commands must respect it, not override.
Design Dials
Three tunable parameters: DESIGN_VARIANCE (1-10, default 8), MOTION_INTENSITY (1-10, default 6), VISUAL_DENSITY (1-10, default 4). User sets in chat or via /setup (persisted to design/.cache/interview.json). Detail: references/design-dials.md.
Output Rules
A partial output is a broken output.
Banned: // ..., // rest of code, // TODO, /* ... */, bare ..., "for brevity", "the rest follows the same pattern", "I can provide more details", skeletons when full implementation requested.
When approaching token limit: write at full quality to a clean breakpoint, then:
[PAUSED — X of Y complete. Send "continue" to resume from: next section]Frontend Aesthetics — core rules
Web detail in references/web/, iOS detail in references/ios/. Top-level summary follows; drill in when working.
Typography
Pair distinctive display + refined body. Web: references/web/typography.md. iOS Dynamic Type: references/ios/layout.md.
Color
Cohesive palette; dominant + sharp accents. Web: references/web/color-and-contrast.md. iOS: references/ios/color.md. LILA BAN detail in BAN 3.
Layout & Space
Web: references/web/spatial-design.md. iOS: references/ios/layout.md.
Motion
High-impact moments > scattered micro-interactions. Web: references/web/motion-design.md + references/web/motion/. iOS: references/ios/motion.md.
For implementation (which library, how to register, easing/performance/accessibility) and for short-video output (HyperFrames pipeline), use the sister skill: ../motion/SKILL.md.
Interaction
Web: references/web/interaction-design.md. iOS: references/ios/gestures.md, modals.md, controls.md.
Responsive (web)
references/web/responsive-design.md.
Haptics (iOS)
references/ios/haptics.md.
UX Writing
Web: references/ux-writing.md. iOS: references/ios/ui-writing.md.
Anti-Patterns (The AI Slop Test)
If you showed this interface to someone and said "AI made this," would they believe immediately? If yes, that's the problem.
Absolute Bans
- BAN 1: Side-stripe borders —
border-left:/border-right:> 1px on cards/list items/callouts/alerts. - BAN 2: Gradient text —
background-clip: textwith gradient background. - BAN 3: AI color palette — cyan-on-dark, purple-to-blue gradients, neon accents on dark backgrounds.
- BAN 4: 3-column card layouts — generic "3 equal cards horizontally" feature rows. Use 2-column zig-zag, asymmetric grid, or horizontal scroll.
Technical rules
- Animate only
transform/opacity(GPU-accelerated) on web. - iOS:
.animation()scoped to value; Reduce Motion = substitute (not remove). - No
h-screen— usemin-h-[100dvh]. - No
window.addEventListener('scroll')— use IntersectionObserver / Framer Motion hooks. - No
z-50/z-10spam — z-index only for systemic layers. - Check
package.json/ Swift Package deps before importing any 3rd-party library.
Motion-specific anti-patterns
Full P0–P3 list at ../motion/references/anti-patterns.md. When a candidate output includes motion, walk that list as part of the Anti-Patterns filter pass — P0 (accessibility breakers) and P1 (AI-slop tells) are constraints on emitted code.
Implementation Principles
Match implementation complexity to aesthetic vision. Maximalist → elaborate animations/effects. Minimalist → restraint, precision, spacing.
Interpret creatively. Make unexpected choices. NEVER converge on common choices across generations.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

