DESIGN.md@web · git:20260705.39f1bf7 · 2026-07-05 · sha256 d024de4625f658d5

DESIGN.md@web git:20260705.39f1bf7A

Immutable. This exact content is served forever at /api/v1/blob/d024de4625f658d5.

# Design System: Flc's Skills Marketplace

## 1. Visual Theme & Atmosphere
The interface is a workshop ledger for agent workflows: editorial, precise, and built for scanning. It should feel like a high-quality command archive rather than a marketing page.

- Density: 6/10, balanced for repeated browsing without becoming sparse.
- Variance: 8/10, asymmetric first viewport and staggered catalog rhythm.
- Motion: 6/10, weighty spring motion with subtle perpetual activity on active controls.
- Creativity: 8/10, distinctive but still practical for a developer tool.

Do not reuse the old centered hero, pastel gradient glow, sticker-label typography, rounded pill statistics, or three-equal-card marketplace grid.

## 2. Color Palette & Roles
- **Paper Clay** (#F4F1EA) - Primary page canvas.
- **Bone Surface** (#FBFAF6) - Primary elevated surface and modal body.
- **Register Surface** (#E8E1D4) - Secondary bands, side rails, quiet filled controls.
- **Charcoal Register** (#1D1C19) - Primary text and structural marks. Never use pure black.
- **Graphite Note** (#6D6961) - Secondary copy, helper text, inactive controls.
- **Faint Rule** (rgba(29, 28, 25, 0.12)) - Hairline borders and dividers.
- **Verdigris Mark** (#3E8F78) - The only accent. Use for primary actions, active state, focus rings, and selected metadata.
- **Night Canvas** (#151512) - Dark theme canvas.
- **Night Surface** (#201F1B) - Dark theme elevated surface.
- **Night Rule** (rgba(244, 241, 234, 0.14)) - Dark theme structural lines.

Only Verdigris Mark may behave as an accent. No purple, blue neon, candy gradients, outer glow shadows, or oversaturated highlights.

## 3. Typography Rules
- **Display:** Satoshi, Geist, or a local sans fallback. Tight tracking, controlled clamp scale, high weight only where hierarchy demands it.
- **Body:** Satoshi, Geist, or local sans fallback. Relaxed leading and a maximum readable measure near 65 characters.
- **Mono:** JetBrains Mono, SFMono-Regular, or ui-monospace. Use for commands, install names, dates, file counts, and compact index metadata.
- **Banned:** Inter, generic serif fonts, browser-default control typography, exaggerated hero-scale type in compact panels.

## 4. Component Stylings
- **Buttons:** Flat, tactile, minimum 44px target. Active state translates down 1px. Primary uses Verdigris Mark fill; secondary uses transparent surface with a hairline rule.
- **Cards and records:** Use cards only for individual records, modal bodies, and command surfaces. Catalog records should feel like ledger entries with visible dividers, not floating marketing cards.
- **Inputs:** Label or visible context above or beside the input. Focus ring uses Verdigris Mark. No floating labels.
- **Command blocks:** Mono text, stable height, copy icon button, clear step label, selected command text.
- **Loaders:** Skeleton blocks that match the final layout. No circular spinners.
- **Empty states:** Quiet composed empty state with a structural mark and direct text. No generic decorative icon cluster.
- **Error states:** Inline, close to the failed content, with plain language.

## 5. Layout Principles
- First viewport is asymmetric: editorial copy and primary command surface on one side, live index records on the other.
- Use CSS Grid for major layout. Avoid percentage math and nested cards.
- Multi-column layouts collapse below 768px.
- Every element has its own clear spatial zone. No overlapping text, controls, or decorative content.
- Catalog layout should vary scale and rhythm while keeping predictable scanning.
- Use max-width containment around 1400px.
- Do not create fake metrics or statistics. Counts must come from real data already in the app.

## 6. Motion & Interaction
- Use spring transitions with stiffness 100 and damping 20 for major interactions.
- Animate only transform and opacity.
- Use staggered cascade reveals for skill records.
- Active controls may use a subtle repeating underline, shimmer, or small transform loop.
- Respect reduced motion by keeping interaction readable when motion is minimized.

## 7. Functional Invariants
- Keep generated skill data flow unchanged.
- Keep search by display name and description.
- Keep URL query behavior with `?skill=<slug>`.
- Keep modal fetch through `/api/skills/[slug]`.
- Keep repository install copy behavior and individual skill install copy behavior.
- Keep GitHub source links and relative Markdown link resolution.
- Keep theme switching with `system`, `light`, and `dark`.
- Keep Google Analytics event names and payload intent.
- Keep responsive mobile behavior without horizontal overflow.

## 8. Anti-Patterns (Banned)
- No emojis anywhere.
- No Inter.
- No pure black (#000000).
- No neon glows or outer glow shadows.
- No purple/blue AI gradients.
- No centered hero for the first viewport.
- No three-column equal feature rows as the defining marketplace pattern.
- No fake numbers, fake performance metrics, or fabricated proof points.
- No `LABEL // YEAR` typography.
- No AI copywriting cliches such as "Elevate", "Seamless", "Unleash", or "Next-Gen".
- No scroll prompts, bouncing arrows, or filler helper text.
- No custom mouse cursors.
- No broken remote image dependencies.