.agents/skills/forge-design/SKILL.md
Design system generator and enforcer. Generates a complete, project-aware design foundation from a single brand color and project type. Produces color palettes, semantic tokens, mathematical type scales, spacing scales, shadow systems, and border radii. Every command operates on YOUR generated system, not generic rules. Use when building any frontend UI to ensure consistent, intentional design decisions from the first line of code.
npx skillsauth add Dragoon0x/forge forge-designInstall 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.
FORGE generates and enforces a complete design system from two inputs: a brand color and a project type. Every command references YOUR system, stored in .forge.json. The AI doesn't guess what good design looks like — it checks your code against your own design language.
Running /forge-init creates .forge.json in the project root. This file is the single source of truth. Every FORGE command reads it. The structure:
{
"brand": "#e8590c",
"type": "saas",
"palette": { "50": "#fff7ed", "100": "...", ..., "950": "#431407" },
"tokens": { "surface": "palette.50", "text": "palette.900", "accent": "palette.500", ... },
"typeScale": { "ratio": 1.25, "base": 16, "display": "Outfit", "body": "DM Sans", "mono": "JetBrains Mono" },
"spacing": { "base": 4 },
"shadows": { "sm": "...", "md": "...", "lg": "...", "xl": "...", "2xl": "..." },
"radius": { "sm": 4, "md": 8, "lg": 12, "xl": 16, "2xl": 24, "full": 9999 }
}
Changing the brand field and running /forge-update recomputes the entire system.
Given one hex color:
Tokens reference palette shades, not raw hex values. This means changing the brand color cascades through the entire system.
Required tokens:
surface — primary backgroundsurface-elevated — cards, modals, popupssurface-sunken — recessed areas, inputstext — primary texttext-secondary — secondary contenttext-muted — placeholders, hintsborder — default bordersborder-strong — emphasized bordersaccent — primary interactive coloraccent-hover — hover statedanger — error statesdanger-subtle — error backgroundssuccess — success statessuccess-subtle — success backgroundsThese fonts are NEVER used by any FORGE command: Inter, Roboto, Arial, Helvetica, system-ui, -apple-system, Open Sans, Lato, Montserrat, Poppins, Nunito, Space Grotesk, Raleway, Source Sans Pro
Base unit: 4px. Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96, 128.
Every padding, margin, and gap value in the codebase MUST come from this scale. Off-scale values are violations caught by /forge-spacing-audit.
Shadows are tinted with the brand hue, not generic gray. This creates cohesion between elevation and brand identity.
Five levels: sm (subtle), md (cards), lg (dropdowns), xl (modals), 2xl (dramatic).
FORGE exports in five formats:
:root block)theme.extend)For every frontend task:
.forge.json exist? If not, prompt for /forge-init./forge-audit to verify adherence./forge-fix for automatic corrections.The AI must never write CSS that uses raw color values when tokens exist. The AI must never use spacing values outside the scale. The AI must never use fonts on the banlist.
content-media
Regenerate the entire design system from a new brand color while preserving the project type. Updates .forge.json and shows what changed.
development
Regenerate the type scale from your .forge.json ratio and base size. Outputs 8 steps with px values and CSS custom properties.
tools
Snap all font sizes to the nearest step in your type scale. Replaces arbitrary values with var(--type-step) references.
development
Find every font-size in the codebase that doesn't match your type scale. Lists violations with suggested scale values.