educlopez/ui-craft-opencode-ui-craft-minimal
Minimal / clean / Linear / Notion / Vercel / whitespace-heavy UIs. Locked knobs: CRAFT=8, MOTION=3, DENSITY=2. Monochrome + one accent, Inter/Geist, hairline borders over shadows. Trigger on: minimal, clean, Linear-like, Notion-like, Vercel-like, whitespace-heavy.
This is a copy. The original lives at educlopez/ui-craft-minimal.
npx skills add https://github.com/educlopez/ui-craft --skill ui-craft-minimal
<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->
Pre-committed minimal style: editorial clean, Linear / Notion / Vercel. Whitespace is the composition. One accent, hairline borders, almost no motion.
Do not re-ask these in Discovery. Skip straight to accent + font confirmation if ambiguous.
1px solid oklch(92% 0.005 250) in place of shadows.All rules in ../ui-craft/SKILL.md apply. This file overrides knob defaults and adds style-specific guidance below. The anti-slop and craft tests still apply in full.
Typography
system-ui, -apple-system as fallback stack.tracking-tight / -0.02em above 24px, 500 or 600 max.text-wrap: balance on headings, text-wrap: pretty on paragraphs.Color
oklch(99% 0 0) (light) / oklch(14% 0.005 250) (dark).oklch(18% 0.01 250) primary, oklch(46% 0.01 250) secondary.oklch(92% 0.005 250) light / oklch(24% 0.008 250) dark. No colored borders.Spacing & layout
py-24 md:py-32 lg:py-40 (96 / 128 / 160px) minimum; 200px for hero on large screens.max-w-5xl typical; max-w-3xl for reading content.Borders & elevation
Motion
prefers-reduced-motion.Composition
Keep the reading list tight. Load only these from ../ui-craft/references/:
layout.md — spacing, hierarchy, compositiontypography.md — scale, readability, weightcolor.md — monochrome scales, OKLCH, dark modeaccessibility.md — focus, contrast, keyboardSkip dashboard.md, stack.md, sound.md unless explicitly relevant.
ui-craft-dense-dashboard.Take educlopez/ui-craft-opencode-ui-craft-minimal from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.