design
Design consistency and visual styling for the Svelte client UI. Use when creating or modifying visual elements, colors, typography, buttons, inputs, or cards.
Best use case
design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Design consistency and visual styling for the Svelte client UI. Use when creating or modifying visual elements, colors, typography, buttons, inputs, or cards.
Teams using design should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/design/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How design Compares
| Feature / Agent | design | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Design consistency and visual styling for the Svelte client UI. Use when creating or modifying visual elements, colors, typography, buttons, inputs, or cards.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Design
> All code must follow the **Coding Principles** in AGENTS.md (functional, minimal, readable, modular).
## Core principles
- No scrolling — ever. The webview is a fixed sandboxed canvas (min 320×320px).
- Mobile-first. Design for the smallest viewport, then scale up.
- Tailwind only. No `<style>` blocks, no inline `style=` attributes.
- Functional over decorative. Every visual element should serve the user.
---
## Spacing scale
Use Tailwind's default spacing scale. Avoid arbitrary values (`p-[13px]`).
| Use case | Class |
|----------|-------|
| Component padding | `p-4` (16px) |
| Section gap | `gap-4` or `space-y-4` |
| Tight inline gap | `gap-2` |
| Card/panel padding | `p-4` or `p-6` |
| Page horizontal padding | `px-4` |
| Page vertical padding | `py-3` |
---
## Typography
```svelte
<h1 class="text-xl font-bold tracking-tight">Title</h1>
<h2 class="text-base font-semibold">Section</h2>
<p class="text-sm text-gray-700 dark:text-gray-300">Body</p>
<span class="text-xs text-gray-500">Caption / meta</span>
```
- Base body size: `text-sm` (14px). Never below `text-xs` for readable content.
- Line length: `max-w-sm` or `max-w-xs` for prose.
- No custom fonts — use the system font stack (Tailwind default).
---
## Color
| Role | Light | Dark |
|------|-------|------|
| Background | `bg-white` | `dark:bg-gray-900` |
| Surface / card | `bg-gray-50` | `dark:bg-gray-800` |
| Border | `border-gray-200` | `dark:border-gray-700` |
| Primary text | `text-gray-900` | `dark:text-gray-100` |
| Secondary text | `text-gray-500` | `dark:text-gray-400` |
| Accent / brand | `text-orange-500` | same |
| Destructive | `text-red-500` | same |
| Success | `text-green-500` | same |
Always pair a light and dark variant. Reddit renders in both modes.
---
## Buttons
```svelte
<!-- Primary -->
<button class="w-full rounded-lg bg-orange-500 px-4 py-2.5 text-sm font-semibold text-white
hover:bg-orange-600 active:scale-95 transition-all disabled:opacity-50
disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2
focus-visible:ring-orange-400">
Submit
</button>
<!-- Secondary -->
<button class="w-full rounded-lg border border-gray-300 dark:border-gray-600 px-4 py-2.5
text-sm font-semibold text-gray-700 dark:text-gray-200
hover:bg-gray-100 dark:hover:bg-gray-700 active:scale-95 transition-all">
Cancel
</button>
```
- Minimum tap target: `min-h-[44px]` or `py-2.5` on `text-sm`.
- Always include `disabled:opacity-50 disabled:cursor-not-allowed`.
- Always include `active:scale-95 transition-all` for tactile feedback.
---
## Inputs
```svelte
<input
class="w-full rounded-lg border border-gray-300 dark:border-gray-600 bg-white
dark:bg-gray-800 px-3 py-2 text-sm text-gray-900 dark:text-gray-100
placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-orange-400"
/>
```
---
## UI states
Every data-driven component must handle all four states:
| State | Pattern |
|-------|---------|
| Loading | `animate-pulse` skeleton or spinner with label |
| Error | Red tinted surface, human-readable message |
| Empty | Neutral muted text, optionally a CTA |
| Success | Normal render; optionally brief `text-green-500` confirmation |
---
## Cards & surfaces
```svelte
<div class="rounded-xl border border-gray-200 dark:border-gray-700
bg-white dark:bg-gray-800 p-4 shadow-sm">
<!-- content -->
</div>
```
- `rounded-xl` for cards, `rounded-lg` for inputs/buttons, `rounded-md` for badges.
- `shadow-sm` only — avoid heavy shadows.
- Max two surface levels deep (page → card → no deeper).
---
## Animation
- Only Tailwind built-in transitions: `transition-all`, `transition-colors`, `transition-opacity`.
- Default duration (`150ms`). No custom durations.
- `animate-pulse` for loading, `animate-spin` for spinners.
- No entrance animations.
---
## Checklist before finishing
- [ ] No `<style>` blocks — Tailwind classes only
- [ ] No arbitrary values (`p-[13px]`) — use scale steps
- [ ] Dark mode variants on all color classes
- [ ] Buttons have `disabled`, `active:scale-95`, and `focus-visible:ring` classes
- [ ] Minimum tap target size respected
- [ ] Typography follows the hierarchy (xl → base → sm → xs)Related Skills
game-design
Game design principles. GDD structure, balancing, player psychology, progression.
frontend-design
Create distinctive, bold UI designs that avoid generic AI aesthetics. This skill should be used when users want frontend components with strong visual identity, creative typography, intentional color palettes, and production-grade animations - specifically to avoid the bland, safe, homogeneous "AI slop" that plagues most generated interfaces.
figma-design
Access Figma designs, extract design systems, and retrieve component specifications. Use when implementing UI from Figma mockups, extracting design tokens, or analyzing design files.
faion-ui-designer
UI design: wireframes, prototypes, design systems, visual design.
event-store-design
Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
detect-design
Design system detection with drift findings and evidence blocks. Use when auditing design system consistency.
design_responsive
Breakpoints, fluid typography, container queries ve modern CSS features.
Design Undo/Redo Systems
CREATE comprehensive undo/redo systems with Command Pattern. Design state management for complex applications with canvas interactions, multiple stores, and user actions. Use when building new undo/redo functionality from scratch.
design-system
design system with Tailwind v4.0, accessibility patterns, and project-specific UI/UX rules. Use for all KKOOKK frontend development.
design-system-starter
Create and evolve design systems with design tokens, component architecture, accessibility guidelines, and documentation templates. Ensures consistent, scalable, and accessible UI across products.
design-system-guard
Validate UI screens against Lucid Labs design system rules. Use after implementing UI components to verify adherence to brand colors, typography, layout patterns, and service board logic.
design-strategy
Strategic alignment of design initiatives with business goals using the TRACES framework. Use when (1) aligning design projects with corporate strategy, (2) identifying and mitigating external threats (Technical Debt, Regulatory, Audience, Competition, Economic, Substitute Technology), (3) assessing design maturity/capability, (4) structuring design teams for specific outcomes, (5) managing designer career growth, or (6) communicating design value (ROI, ESG, business outcomes) to senior leadership.