Frontend design entry point: direction, design system, visual philosophy. Use whenever building or touching the look of any web UI (components, pages, dashboards, React/Vue/HTML-CSS) or when the user says "make this look better", "fix the spacing/layout", or mentions styling, color, type, or polish.
Use whenever building or styling web UIs — components, pages, dashboards, landing pages, React/Vue/HTML-CSS layouts — or whenever the user asks to make something "look better/nicer", fix spacing/layout, or mentions styling, color, typography, fonts, responsive design, polish, or aesthetics, even without the word "design".
Source: connerkward/ckw-design-skill (MIT).
Use this skill when the user asks to build or style web UIs: components, pages, dashboards, landing pages, React/Vue/HTML-CSS layouts, or any frontend interface. Goal: distinctive, production-grade output that avoids generic AI aesthetics.
Before reporting any design "done": render it and have a separate judge critique the image (not the code, not self-grading) — see design-spatial §1. Blind generation can't see its own collisions; this applies to all design output, not just spatial work.
MANDATORY HORIZONTAL-OVERFLOW GATE — runs before ANY web UI is "done". Measure
document.documentElement.scrollWidth - document.documentElement.clientWidthat a narrow width (~390px and ~1024px), this turn, and confirm it's0. This bug is invisible at desktop width and re-appears every time a row (header, nav, toolbar) gains an item, so it ships repeatedly. Default toflex-wrap:wrapon header/toolbar rows +body{overflow-x:clip}, and re-measure after adding any element to a horizontal row. Full procedure + recurrence cases: design-spatial §4. If you haven't measured narrow, you are not done — don't claim it.
When design-thinking identifies a need for visual assets (logos, icons, hero images, textures, backgrounds):
When design work involves running an LLM (generative assets, VLM analysis, layout critique, prompt generation, etc.):
media-attribution-rule for generative assets and extends it to any LLM operation in the design workflow.Examples:
Whenever a UI surfaces an algorithm or model to the user (an "ⓘ how this works"
panel, a model breakdown, a methods note), include the actual equation, typeset,
with its key terms annotated — don't settle for prose. A scorer described only in
words ("ranks by how much of the picked color is present") is unfalsifiable hand-
waving; the formula score = Σ fracᵢ · max(0, 1 − ΔEᵢ/τ) with each term labelled
tells the user exactly what the knob does and builds trust that there's real math
under the hood.
How to apply:
e_x, w, τ, Q each are,
in one line each. An unlabelled equation is decoration; a labelled one is a spec.Example (a logistic head):
P(personal │ x) = σ(w·eₓ + b), σ(z) = 1 / (1 + e⁻ᶻ) • eₓ — the image's 768-d embedding · w, b — weights learned from your labels · decision: personal if P ≥ 0.55, reference if P ≤ 0.40.
Any "Select all" affordance MUST be paired with a way to clear the selection — preferably the same button, label-flipped when everything is already selected ("Select all" ⇄ "Deselect all"). A select-all with no inverse is a trap: the user over-selects (or hits it by reflex), then has to un-click items one by one, or reload the page, to get back. The cost is silent — it only bites after they've committed to the wrong set.
How to apply:
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/ckw-design · pinned to the source commit
# Run from your project root
git clone https://github.com/sickn33/agentic-awesome-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 5cf4dfeb13ea966daa1e117897689cd7991e3f44
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/plugins/agentic-awesome-skills-claude/skills/ckw-design" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/sickn33/agentic-awesome-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 5cf4dfeb13ea966daa1e117897689cd7991e3f44
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/plugins/agentic-awesome-skills-claude/skills/ckw-design" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/ckw-design
Scanner static-checks@0.1.0 · commit 5cf4dfeb13ea. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.