.agents/skills/optik-design/SKILL.md
Design intelligence engine for frontend interfaces. Measures and enforces design quality through scoring algorithms, mathematical scales, and anti-pattern detection. Goes beyond subjective prompting with computable metrics across typography, color, layout, motion, and accessibility. Use when building any frontend UI to ensure output avoids generic AI aesthetics and hits measurable quality thresholds.
npx skillsauth add Dragoon0x/optik optik-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.
This skill replaces subjective design guidance with measurable intelligence. Every recommendation is backed by a scoring algorithm. Every suggestion comes with a metric. The AI doesn't learn opinions — it runs analysis.
Before writing any code, OPTIK requires three decisions:
Aesthetic commitment — Pick a direction and commit fully. Brutalist, editorial, maximalist, organic, industrial, retro-futuristic, luxury. Half-commitments produce the worst output. Bold minimalism beats timid maximalism every time.
Design score target — Set a minimum threshold (default: 75/100). Every decision gets evaluated against the five pillars: Typography, Color, Layout, Motion, Accessibility. If the score drops below target, the AI must fix before continuing.
Anti-pattern enforcement — OPTIK maintains a strict banlist. Violations are automatic failures.
Mathematical type scales only. No arbitrary font sizes.
Pick a ratio and compute:
Given a base size (16px) and ratio (1.250), the scale is: 16, 20, 25, 31.25, 39.06, 48.83, 61.04. Round to whole pixels. Use at minimum 5 distinct sizes for proper hierarchy depth.
Banned fonts (automatic -25 points): Inter, Roboto, Arial, Helvetica, system-ui, -apple-system, Open Sans, Lato, Montserrat, Poppins, Nunito, Space Grotesk, Raleway, Source Sans Pro
Required checks:
Palette generation from a single brand color.
Given one hex value, generate:
Contrast requirements (WCAG 2.1):
Anti-patterns (automatic deductions):
Required implementation:
Spacing must be systematic, not arbitrary.
Given a base unit (default: 4px), the spacing scale is: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96, 128
Every padding, margin, and gap value MUST come from this scale. Off-grid values are automatic deductions.
Grid requirements:
Anti-patterns:
Required checks:
Motion must be purposeful, not decorative.
Start at 50/100 (neutral). Earn points for intentional motion. Lose points for violations.
Earning points:
Losing points:
Required easing curves:
Accessibility is scored, not suggested.
Required (failure = deduction):
These patterns are automatically flagged. Each one triggers specific deductions across the relevant pillar.
| Pattern | Pillar | Deduction | Fix | |---------|--------|-----------|-----| | Inter/Roboto/Arial font | Typography | -25 | Use distinctive typeface | | Purple gradient on white | Color | -30 | Choose a bold, non-generic palette | | Cards nested inside cards | Layout | -20 | Flatten visual hierarchy | | No CSS custom properties | Color | -15 | Define all colors as variables | | outline:none without replacement | Accessibility | -20 | Add :focus-visible styles | | No media queries | Layout | -15 | Add responsive breakpoints | | All text same weight | Typography | -10 | Use 2-4 weights for hierarchy | | Pure black text (#000) | Color | -5 | Tint dark colors | | Arbitrary spacing values | Layout | -3 each | Snap to 4px/8px grid | | Generic box-shadow | Layout | -5 | Use elevation system |
When generating design tokens, output in ALL of these formats simultaneously:
CSS Custom Properties:
:root {
--color-surface: #0A0A0F;
--color-text: #E8E6E3;
--type-scale-base: 16px;
--type-scale-ratio: 1.25;
--space-unit: 4px;
}
Tailwind Config:
module.exports = {
theme: {
extend: {
colors: { surface: '#0A0A0F', text: '#E8E6E3' },
fontSize: { base: '16px', lg: '20px', xl: '25px' },
spacing: { 1: '4px', 2: '8px', 3: '12px' }
}
}
}
W3C Design Tokens (JSON):
{
"color": { "surface": { "$value": "#0A0A0F", "$type": "color" } },
"typography": { "scale-base": { "$value": "16px", "$type": "dimension" } }
}
For every frontend task:
The AI must never ship code that scores below 65/100 without explicit user override. The target is 80+. Exceptional work scores 90+.
OPTIK is not about making things pretty. It's about making design decisions measurable, repeatable, and defensible. Every choice has a number attached. Every violation has a specific fix. The AI doesn't guess what good design looks like — it computes it.
testing
Comprehensive design quality audit with severity ratings, specific line references, and actionable fix instructions. Deeper than /score — examines every declaration.
testing
Audit and fix ARIA attributes. Ensures proper aria-label, aria-hidden, aria-live, and role usage throughout the interface.
content-media
--- name: animate description: Add purposeful motion and transitions to the interface. Focuses on high-impact moments: page load reveals, hover states, and scroll-triggered entries. Not decorative jitter. user-invokable: true --- # /animate — Purposeful Motion Add motion that serves a purpose: **Page load:** Staggered fade-up reveals for above-fold content. Use animation-delay in 80-120ms increments. Total reveal sequence should complete within 600ms. **Hover states:** Scale (1.02-1.05), sub
testing
Verify visual alignment across sections. Check that headings, text, images, and components share consistent alignment points.