skills/design-for-ai/SKILL.md
Visual design principles from Design for Hackers. Use when building or improving UI/frontend design — choosing fonts, building color systems, establishing design direction, generating a unique design system, auditing existing designs, or polishing before shipping. Also use when something 'looks wrong' or 'feels off' about a UI, when designs look generic or AI-generated, or when the user wants theory-backed design guidance rather than vibes. Triggers on: pick fonts, type scale, color palette, design audit, visual hierarchy, spacing feels wrong, looks like a template, redesign, improve the UI, make it look good, needs personality, unique design, design DNA, every design looks the same. Not for: graphic design tools (Figma/Sketch), print layout, logo design, illustration, or CSS framework selection.
npx skillsauth add ryanthedev/design-for-ai design-for-aiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Apply visual design principles from Design for Hackers. Every recommendation traces to a specific principle — never "it looks better" without the why.
Before any mode, gather context:
## Design Context section in CLAUDE.md.If no design context exists and the user hasn't specified a mode, route to design first.
Apply to every mode. Kept separate from mode workflows so they don't dissolve.
Determine what the user needs from their words.
| Mode | User says something like | |------|-------------------------| | design | "Starting a project" / "what direction" / "who is this for" / "purpose" / "unique design" / "new design system" / "make it not look AI-generated" (from scratch) | | fonts | "Pick fonts" / "typography" / "type scale" / "pairing" / "font" / "choose a typeface" | | color | "Colors" / "palette" / "color scheme" / "too many colors" / "build a palette" | | audit | "Something's off" / "review this" / "what's wrong" / "check" / "audit" / "redesign" / "improve" / "fix" / "no hierarchy" / "nothing holds the eye" / "why does it look AI" / "diagnose" | | polish | "Almost done" / "final pass" / "motion" / "responsive" / "make it less generic" / "add states" / "interaction" |
No mode clear → ask what they need, presenting the table.
When audit triggers match but no existing design work is found in the codebase, suggest running design first to establish foundations.
Context needed: what the user is building and who it's for.
Establish foundations, then generate a unique design DNA — archetype-driven, remixed across aesthetic families, never the distributional default.
Read first:
${CLAUDE_SKILL_DIR}/references/chapter-01-why-design-matters.md${CLAUDE_SKILL_DIR}/references/chapter-02-purpose-of-design.md${CLAUDE_SKILL_DIR}/references/foundations.mdGather through conversation (2-3 questions per round, wait for answers):
Round 1: What are you building? Who is the audience? What problem does it solve?
Round 2: Pick 3 words for the personality/feeling. Constraints — framework, accessibility, existing brand assets?
Round 3: Reference site (feel like this) and anti-reference (NOT like this).
Question like a collaborator, not a form:
Gate: purpose, audience, personality words, and register (brand/product) established before continuing.
Read ${CLAUDE_SKILL_DIR}/references/archetypes.md.
Map the interview onto 2-3 candidate brand archetypes (Part C: personality-word table, filtered by content pressure). Confirm with ONE confirmatory question — lead with your recommendation and why: "This reads Sage — measured, evidence-led. Or should it feel more Hero?"
Read ${CLAUDE_SKILL_DIR}/references/design-dna.md and follow its protocol:
node ${CLAUDE_SKILL_DIR}/scripts/palette.mjs --seed <hue|#hex> --chroma <muted|balanced|vivid> --harmony <mono|analogous|complementary|split|triadic|tetradic> --scheme light
(--scheme light keeps previews small; the final run in step 4 uses --scheme both.)AskUserQuestion with one preview per candidate (format in design-dna.md). Invite "none of these" explicitly.For the chosen candidate:
--scheme both; paste its token output and contrast report into DESIGN.md (template in design-dna.md) at the project root.AskUserQuestion: "Lock this in?" / "Adjust". No UI code until locked.## Design Context block to the project's CLAUDE.md pointing at DESIGN.md:## Design Context
- **Register**: product
- **Purpose**: help home cooks discover and save recipes
- **Audience**: busy parents, 30-45, cooking 4x/week, phone-first
- **Personality**: warm, practical, unhurried
- **DNA**: Warm Editorial + type voice from Editorial Minimalism — see DESIGN.md
- **Constraints**: React, WCAG AA, mobile-first
Suggest next step — fonts to finalize the type scale, or straight to implementation against DESIGN.md.
Context needed: rendering medium (screen/print), target devices, desired mood.
Read:
${CLAUDE_SKILL_DIR}/references/chapter-03-typography.md${CLAUDE_SKILL_DIR}/references/appendix-fonts-and-typography.mdConsult the font decision tree in ${CLAUDE_SKILL_DIR}/references/checklists.md.
Walk through:
${CLAUDE_SKILL_DIR}/references/chapter-05-proportions.md for ratios.Register adjusts advice: brand gets display fonts, fluid clamp() scales. Product gets system fonts, fixed rem scales.
Output: font stack, type scale, CSS custom properties, rationale for each choice.
Context needed: desired mood, content density, existing brand colors (if any).
Read:
${CLAUDE_SKILL_DIR}/references/chapter-08-color-science.md${CLAUDE_SKILL_DIR}/references/chapter-09-color-theory.mdConsult the color decision tree in ${CLAUDE_SKILL_DIR}/references/checklists.md.
Walk through:
Register adjusts advice: brand can use Committed/Drenched color strategies. Product defaults to Restrained.
Generate the tokens with the bundled script — never invent hex ramps by hand:
node ${CLAUDE_SKILL_DIR}/scripts/palette.mjs --seed <hue|#hex> --chroma <muted|balanced|vivid> --harmony <rule> --scheme both
It emits 12-step neutral + accent ramps, harmony accents, functional colors, and a WCAG contrast report (contrast solved by construction). Adjust seeds and re-run rather than editing hexes.
Output: color tokens (CSS custom properties from the script), accessibility notes, rationale.
Context needed: the codebase or design files to review.
Systematic design review.
Read ${CLAUDE_SKILL_DIR}/references/checklists.md for the full checklist and decision trees.
Work through each section. For the top 2-3 sections with the worst findings, load the chapter reference to ground the diagnosis:
| Section | Reference file |
|---------|---------------|
| Purpose & foundation | chapter-01-why-design-matters.md, chapter-02-purpose-of-design.md |
| Typography | chapter-03-typography.md, appendix-fonts-and-typography.md |
| Proportions & layout | chapter-05-proportions.md |
| Composition | chapter-06-composition.md |
| Visual hierarchy | chapter-07-visual-hierarchy.md |
| Color | chapter-08-color-science.md, chapter-09-color-theory.md |
| SEO & discoverability | chapter-04-technology-and-culture.md |
| Motion & interaction | motion.md, interaction.md |
| Responsive | responsive.md |
| Design identity | ai-tells.md |
All paths relative to ${CLAUDE_SKILL_DIR}/references/.
For cross-cutting issues, consult ${CLAUDE_SKILL_DIR}/references/techniques.md for transformation patterns.
Output: findings table by severity. Example row:
| Severity | Problem | Principle | Fix | |----------|---------|-----------|-----| | Critical | Body text uses Garamond at 14px on screen | Medium-form mismatch (ch03): angled axis blurs at low ppi | Switch to Georgia or Source Serif Pro; bump to 16px minimum |
Then suggest the right mode to fix each issue.
Context needed: the running interface or built code to review.
Final quality pass before shipping.
Run the checklist below first. Then load reference files only for sections with WARN or FAIL items:
${CLAUDE_SKILL_DIR}/references/motion.md${CLAUDE_SKILL_DIR}/references/interaction.md${CLAUDE_SKILL_DIR}/references/responsive.md${CLAUDE_SKILL_DIR}/references/ai-tells.mdFor each item: PASS, WARN, or FAIL with rationale.
Motion
Interaction
Responsive
Identity
If identity issues found, also read ${CLAUDE_SKILL_DIR}/references/chapter-01-why-design-matters.md and ${CLAUDE_SKILL_DIR}/references/chapter-04-technology-and-culture.md.
Output: scorecard by section, fixes for WARN/FAIL items.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.