Kishi Design Architect
Use this skill as the default design brain for Codex. It turns UI work into a disciplined architecture process: brand DNA first, system constraints second, implementation third, verification last.
This skill is intentionally stricter than generic UI inspiration skills. It protects Kishi's projects from generic AI SaaS visuals, mismatched branding, weak hierarchy, inaccessible components, and pretty-but-fragile frontend code.
Activation Law
Invoke this skill for any task involving:
- Branding, visual identity, design direction, design systems, tokens, typography, color, iconography, imagery, or motion.
- UI/UX design, frontend visual design, component styling, layouts, responsive behavior, accessibility, or interaction states.
- React, Next.js, Tailwind, shadcn/ui, Magic UI, Lucide, forms, modals, navbars, cards, tables, charts, dashboards, pricing, landing pages, onboarding, checkout, or marketing sections.
- Phrases like "make it premium", "fix the UI", "polish this", "match the brand", "looks off", "frontend design", "UX", "more like Linear/Stripe/Vercel/Skool/Apple/DesignJoy", or "use our branding".
Do not invoke for pure backend, database, infrastructure, algorithm, terminal, or file-processing work unless there is a user-facing interface, visual output, or UX consequence.
Source Rules
Follow this priority order:
- Explicit user request in current turn.
- Closest project
AGENTS.md.
- Existing design docs, brand docs, tokens, CSS variables, Tailwind config, shadcn config, components, and page patterns.
- This skill and its references.
- External inspiration or generic best practices.
Never let a famous reference brand override the actual product identity.
Required Workflow
1. Inspect Before Taste
Before writing UI code or final design recommendations, inspect likely design sources:
AGENTS.md, README.md, product/brand docs
package.json
tailwind.config.*, components.json, postcss.config.*
app/globals.css, src/styles/**, styles/**
app/layout.*, src/app/layout.*
components/ui/**, src/components/ui/**
- existing pages or components similar to the target
- assets, logos, icons, screenshots, theme files
If a page needs visual confidence, render it with the browser when possible. Do not claim visual findings without rendered evidence.
2. Extract Brand DNA
Summarize the operating design system in a compact map:
| Layer |
What To Identify |
| Brand |
product category, tone, sharp/soft/playful/technical/luxury/editorial feel |
| Color |
neutrals, primary action, semantic colors, dark/light behavior |
| Type |
font families, scale, weight, heading/body relationship |
| Shape |
radius, border style, card style, icon style |
| Layout |
containers, grid rhythm, density, spacing, section order |
| Motion |
duration, easing, allowed animated properties |
| Components |
button, card, nav, form, modal, table, pricing, proof conventions |
Use references/brand-dna-protocol.md for brand-sensitive work.
3. Architect Screen Intent
Before implementation, know:
- User goal.
- Primary action.
- Screen hierarchy.
- Component inventory.
- State map.
- Responsive behavior.
- Accessibility requirements.
- Verification plan.
Keep this plan short unless the user asked for strategy.
4. Implement Inside Existing System
Use existing stack conventions first.
For React/Next/Tailwind:
- Prefer existing
components/ui/** primitives.
- Use project
cn() helper if present.
- Use
cva only if already installed or established.
- Map repeated UI from typed arrays.
- Respect App Router client/server boundaries.
- Use semantic tags:
main, section, header, nav, article, aside, footer, button, form, label, ul, li, table, th, td.
- Escape JSX text correctly.
- Keep exported props typed with
interface; use type for unions.
Do not add new UI libraries or design frameworks without explicit need.
Kishi UI Law
These rules override generic inspiration:
- No purple gradients.
- No blur abuse.
- No decorative bokeh/orb/blob backgrounds.
- No heavy drop shadows unless existing brand justifies them.
- No transitions above 200ms.
- No
transition-all.
- Animate
transform and opacity only.
- No default Tailwind palette as design identity; use OKLCH/design tokens where available.
- No emoji as icons in landing copy or UI controls.
- No centered-everything layouts.
- No nested UI cards.
- No rounded text-pills where a standard icon/control is clearer.
- Cards default to 8px radius or less unless existing system says otherwise.
- Use Lucide icons when available.
- Use shadcn/ui base + Magic UI effects only when they fit the system.
Senior Design Rules
Hierarchy
Use size, weight, and color/opacity. Do not max out all three. Primary content must dominate; labels and secondary help text must support scanning without becoming invisible.
Spacing
Use a 4px baseline and existing spacing tokens. Avoid arbitrary values unless matching existing pixel-perfect assets. Related things sit closer together than unrelated things.
Typography
Use existing fonts. Body text needs readable line-height. Do not center long paragraphs. Do not uppercase long copy. Do not add letter spacing to body text.
Color
Use tokens and semantic colors. Avoid raw hex in components. Red is destructive/error, green is success, yellow/orange is warning, unless brand semantics already say otherwise.
Depth
Prefer borders and surface layers before shadows. One focal treatment per section. If glass/blur exists, support it with contrast, borders, and fallback surfaces.
Motion
Motion must explain feedback, state, or spatial relationship. Respect reduced motion. Hover must not shift layout dimensions.
Accessibility
Semantic HTML first. Every interactive element needs focus-visible state. Inputs need persistent labels. Errors need visible text and ARIA wiring. Icon-only buttons need aria-label. Touch targets need 44px minimum on mobile.
Component Contract
Every created or modified component needs:
- Semantic structure and heading hierarchy.
- Variants only when useful.
- Default, hover, active, focus-visible, disabled, loading, selected/current, empty/error states where relevant.
- Mobile-first responsive behavior.
- Light/dark support if project supports it.
- Accessible roles, labels, keyboard path, focus management.
- Stable dimensions for fixed-format controls.
- Data-driven rendering for repeated items.
- No random one-off CSS values.
Use references/component-state-matrix.md for detailed component rules.
Product Screen Patterns
Landing Pages
Sequence by buyer psychology:
- Hero: what it is, who it is for, outcome, CTA, proof.
- Problem: concrete friction.
- Mechanism: why it works.
- Benefits/features: outcomes, not generic features.
- Proof: real proof only.
- Offer/pricing: clear plan boundaries and recommended path.
- Objection handling: FAQ, risk reversal, technical concerns.
- Final CTA: one clear action.
Use references/ux-conversion-rulebook.md.
Dashboards
Optimize decision speed:
- Most important status first.
- Metrics include units, date range, trend, threshold, or comparison.
- Actions stay near affected objects.
- Tables use compact readable density.
- Empty/loading/error/stale/permission states are explicit.
- Avoid decorative charts that do not change decisions.
Forms
Reduce accidental friction:
- Visible labels.
- Correct input types/autocomplete.
- Inline validation on blur or submit.
- Error recovery path.
- Loading/disabled submit state.
- Desktop width constraints.
Anti-Pattern Gate
Before final response, audit against:
references/ai-antipattern-audit.md
references/ui-rulebook.md
references/component-state-matrix.md
references/ux-conversion-rulebook.md
When code changed, run the heuristic script if Node is available:
node ~/.agents/skills/kishi-design-architect/scripts/audit-ui-antipatterns.mjs app src components pages
Fix hard failures before declaring completion.
Output Shape
When implementing:
- Files changed.
- Design decisions.
- Accessibility/state coverage.
- Verification run.
- Remaining gaps.
When only planning/auditing:
**Brand DNA**
| Layer | Finding | Rule |
|---|---|---|
**UI/UX Plan**
| Area | Decision | Reason |
|---|---|---|
**Risks**
| Risk | Fix |
|---|---|
Keep final answers concise. Let implementation and verification carry the weight.
1---2name: kishi-design-architect3description: Mandatory first-pass skill for branding, UI, UX, frontend design, React/Next.js components, Tailwind, shadcn/ui, landing pages, dashboards, pricing pages, forms, navbars, cards, typography, color systems, design systems, motion, accessibility, responsive behavior, and visual polish. Always use this skill before writing or reviewing user-facing frontend code or brand/design recommendations. Skip only for backend-only, database-only, infrastructure-only, CLI-only, or algorithm-only tasks with no UI/UX/branding impact.4---56# Kishi Design Architect78Use this skill as the default design brain for Codex. It turns UI work into a disciplined architecture process: brand DNA first, system constraints second, implementation third, verification last.910This skill is intentionally stricter than generic UI inspiration skills. It protects Kishi's projects from generic AI SaaS visuals, mismatched branding, weak hierarchy, inaccessible components, and pretty-but-fragile frontend code.1112## Activation Law1314Invoke this skill for any task involving:1516- Branding, visual identity, design direction, design systems, tokens, typography, color, iconography, imagery, or motion.17- UI/UX design, frontend visual design, component styling, layouts, responsive behavior, accessibility, or interaction states.18- React, Next.js, Tailwind, shadcn/ui, Magic UI, Lucide, forms, modals, navbars, cards, tables, charts, dashboards, pricing, landing pages, onboarding, checkout, or marketing sections.19- Phrases like "make it premium", "fix the UI", "polish this", "match the brand", "looks off", "frontend design", "UX", "more like Linear/Stripe/Vercel/Skool/Apple/DesignJoy", or "use our branding".2021Do not invoke for pure backend, database, infrastructure, algorithm, terminal, or file-processing work unless there is a user-facing interface, visual output, or UX consequence.2223## Source Rules2425Follow this priority order:26271. Explicit user request in current turn.282. Closest project `AGENTS.md`.293. Existing design docs, brand docs, tokens, CSS variables, Tailwind config, shadcn config, components, and page patterns.304. This skill and its references.315. External inspiration or generic best practices.3233Never let a famous reference brand override the actual product identity.3435## Required Workflow3637### 1. Inspect Before Taste3839Before writing UI code or final design recommendations, inspect likely design sources:4041- `AGENTS.md`, `README.md`, product/brand docs42- `package.json`43- `tailwind.config.*`, `components.json`, `postcss.config.*`44- `app/globals.css`, `src/styles/**`, `styles/**`45- `app/layout.*`, `src/app/layout.*`46- `components/ui/**`, `src/components/ui/**`47- existing pages or components similar to the target48- assets, logos, icons, screenshots, theme files4950If a page needs visual confidence, render it with the browser when possible. Do not claim visual findings without rendered evidence.5152### 2. Extract Brand DNA5354Summarize the operating design system in a compact map:5556| Layer | What To Identify |57|---|---|58| Brand | product category, tone, sharp/soft/playful/technical/luxury/editorial feel |59| Color | neutrals, primary action, semantic colors, dark/light behavior |60| Type | font families, scale, weight, heading/body relationship |61| Shape | radius, border style, card style, icon style |62| Layout | containers, grid rhythm, density, spacing, section order |63| Motion | duration, easing, allowed animated properties |64| Components | button, card, nav, form, modal, table, pricing, proof conventions |6566Use `references/brand-dna-protocol.md` for brand-sensitive work.6768### 3. Architect Screen Intent6970Before implementation, know:7172- User goal.73- Primary action.74- Screen hierarchy.75- Component inventory.76- State map.77- Responsive behavior.78- Accessibility requirements.79- Verification plan.8081Keep this plan short unless the user asked for strategy.8283### 4. Implement Inside Existing System8485Use existing stack conventions first.8687For React/Next/Tailwind:8889- Prefer existing `components/ui/**` primitives.90- Use project `cn()` helper if present.91- Use `cva` only if already installed or established.92- Map repeated UI from typed arrays.93- Respect App Router client/server boundaries.94- Use semantic tags: `main`, `section`, `header`, `nav`, `article`, `aside`, `footer`, `button`, `form`, `label`, `ul`, `li`, `table`, `th`, `td`.95- Escape JSX text correctly.96- Keep exported props typed with `interface`; use `type` for unions.9798Do not add new UI libraries or design frameworks without explicit need.99100## Kishi UI Law101102These rules override generic inspiration:103104- No purple gradients.105- No blur abuse.106- No decorative bokeh/orb/blob backgrounds.107- No heavy drop shadows unless existing brand justifies them.108- No transitions above 200ms.109- No `transition-all`.110- Animate `transform` and `opacity` only.111- No default Tailwind palette as design identity; use OKLCH/design tokens where available.112- No emoji as icons in landing copy or UI controls.113- No centered-everything layouts.114- No nested UI cards.115- No rounded text-pills where a standard icon/control is clearer.116- Cards default to 8px radius or less unless existing system says otherwise.117- Use Lucide icons when available.118- Use shadcn/ui base + Magic UI effects only when they fit the system.119120## Senior Design Rules121122### Hierarchy123124Use size, weight, and color/opacity. Do not max out all three. Primary content must dominate; labels and secondary help text must support scanning without becoming invisible.125126### Spacing127128Use a 4px baseline and existing spacing tokens. Avoid arbitrary values unless matching existing pixel-perfect assets. Related things sit closer together than unrelated things.129130### Typography131132Use existing fonts. Body text needs readable line-height. Do not center long paragraphs. Do not uppercase long copy. Do not add letter spacing to body text.133134### Color135136Use tokens and semantic colors. Avoid raw hex in components. Red is destructive/error, green is success, yellow/orange is warning, unless brand semantics already say otherwise.137138### Depth139140Prefer borders and surface layers before shadows. One focal treatment per section. If glass/blur exists, support it with contrast, borders, and fallback surfaces.141142### Motion143144Motion must explain feedback, state, or spatial relationship. Respect reduced motion. Hover must not shift layout dimensions.145146### Accessibility147148Semantic HTML first. Every interactive element needs focus-visible state. Inputs need persistent labels. Errors need visible text and ARIA wiring. Icon-only buttons need `aria-label`. Touch targets need 44px minimum on mobile.149150## Component Contract151152Every created or modified component needs:153154- Semantic structure and heading hierarchy.155- Variants only when useful.156- Default, hover, active, focus-visible, disabled, loading, selected/current, empty/error states where relevant.157- Mobile-first responsive behavior.158- Light/dark support if project supports it.159- Accessible roles, labels, keyboard path, focus management.160- Stable dimensions for fixed-format controls.161- Data-driven rendering for repeated items.162- No random one-off CSS values.163164Use `references/component-state-matrix.md` for detailed component rules.165166## Product Screen Patterns167168### Landing Pages169170Sequence by buyer psychology:1711721. Hero: what it is, who it is for, outcome, CTA, proof.1732. Problem: concrete friction.1743. Mechanism: why it works.1754. Benefits/features: outcomes, not generic features.1765. Proof: real proof only.1776. Offer/pricing: clear plan boundaries and recommended path.1787. Objection handling: FAQ, risk reversal, technical concerns.1798. Final CTA: one clear action.180181Use `references/ux-conversion-rulebook.md`.182183### Dashboards184185Optimize decision speed:186187- Most important status first.188- Metrics include units, date range, trend, threshold, or comparison.189- Actions stay near affected objects.190- Tables use compact readable density.191- Empty/loading/error/stale/permission states are explicit.192- Avoid decorative charts that do not change decisions.193194### Forms195196Reduce accidental friction:197198- Visible labels.199- Correct input types/autocomplete.200- Inline validation on blur or submit.201- Error recovery path.202- Loading/disabled submit state.203- Desktop width constraints.204205## Anti-Pattern Gate206207Before final response, audit against:208209- `references/ai-antipattern-audit.md`210- `references/ui-rulebook.md`211- `references/component-state-matrix.md`212- `references/ux-conversion-rulebook.md`213214When code changed, run the heuristic script if Node is available:215216```bash217node ~/.agents/skills/kishi-design-architect/scripts/audit-ui-antipatterns.mjs app src components pages218```219220Fix hard failures before declaring completion.221222## Output Shape223224When implementing:2252261. Files changed.2272. Design decisions.2283. Accessibility/state coverage.2294. Verification run.2305. Remaining gaps.231232When only planning/auditing:233234```markdown235**Brand DNA**236| Layer | Finding | Rule |237|---|---|---|238239**UI/UX Plan**240| Area | Decision | Reason |241|---|---|---|242243**Risks**244| Risk | Fix |245|---|---|246```247248Keep final answers concise. Let implementation and verification carry the weight.