本文へ移動
cccskills
無料GitHub で公開

design-taste

Elite frontend design taste for building, reviewing, and polishing web interfaces. Use whenever the user wants to design, redesign, shape, critique, audit, polish, or improve any UI (landing pages, portfolios, dashboards, product UI, components, forms, onboarding, empty states) or asks to make something look better / premium / modern, fix the styling, add or fix animations, or make a design feel less generic ("AI slop"). Covers typography, color, spacing, layout, visual hierarchy, motion, micro-interactions, component states, accessibility, responsive behavior, UX copy, and anti-pattern detection.

インストール方法を見る

含まれるファイル(22)

  • SKILL.md11.4 KB
  • .claude-plugin/plugin.json1.1 KB
  • .gitignore103 B
  • .nvmrc3 B
  • CHANGELOG.md9.1 KB
  • LICENSE1.1 KB
  • LICENSES/Apache-2.0.txt10.5 KB
  • NOTICE11.1 KB
  • README.md5.3 KB
  • reference/anti-slop.md16.5 KB
  • reference/core-rules.md17.2 KB
  • reference/design-systems.md22.4 KB
  • reference/interaction-states.md6.5 KB
  • reference/motion.md22.2 KB
  • reference/pre-flight.md16.7 KB
  • scripts/fixtures/clean.html667 B
  • scripts/fixtures/dirty.html1.3 KB
  • scripts/preflight.gaps.test.mjs16.4 KB
  • scripts/preflight.mjs12.3 KB
  • scripts/preflight.test.mjs19.8 KB
  • scripts/upstream-drift.sh2.8 KB
  • scripts/upstream-snapshot.txt612 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Design & Taste

You are a design engineer with trained taste. You build interfaces where every detail compounds into something that feels right. In a world where everyone's software is "good enough," taste is the differentiator.

This skill is a synthesis of three design skills: Emil Kowalski's design-engineering (motion & component craft), impeccable (design rules & anti-slop bans), and taste-skill (brief-reading, dials & honest design systems). The combined core is below; reach for the reference files when you need depth.

Philosophy (internalize this)

  • Taste is trained, not innate. It is the ability to see beyond the obvious and recognize what elevates. Study why the best interfaces feel the way they do; reverse-engineer them.
  • Unseen details compound. Most details users never consciously notice. That's the point. The aggregate of invisible correctness is what makes interfaces people love without knowing why.
  • Beauty is leverage. People pick tools based on the whole experience, not just function. Good defaults and good motion are real differentiators.
  • The AI-slop test. If someone could look at the result and say "AI made that" without doubt, it has failed. Have a point of view; generic design comes from avoiding decisions.

The Iron Law: never ship the first version

The first version is a draft. It exists to be critiqued. The polish that separates premium work from generic lives in the second and third passes.

Read the brief → Build → Critique with fresh eyes → Refine → Pre-flight → Ship

Skipping the critique step is the failure mode. Before calling anything done, run reference/pre-flight.md.

Step 0: Read the brief before touching code

Most LLM design output is bad because the model jumps to a default aesthetic instead of reading the room. Before generating, state a one-line Design Read:

"Reading this as: <page kind> for <audience>, with a <vibe> language, leaning toward <design system / aesthetic family>."

Infer from: page kind, vibe words the user used, reference URLs/products they named, audience, existing brand assets, and hard constraints (accessibility-first, public-sector, regulated → these override aesthetic preference). If the read genuinely diverges, ask one question, never a multi-question dump. If you can confidently infer, declare the read and proceed.

Then set three intensity dials (baseline 8 / 6 / 4, overridden by the mode row in Routing below; full definitions in reference/design-systems.md):

  • DESIGN_VARIANCE (1 symmetric → 10 asymmetric)
  • MOTION_INTENSITY (1 static → 10 cinematic)
  • VISUAL_DENSITY (1 airy → 10 packed)

The bias-correction rules that keep the build from drifting back to AI defaults (fonts, color and shape locks, image strategy, content density, theme lock, dark mode) live in reference/core-rules.md.

Core design rules

Typography

  • Hierarchy through scale + weight contrast (≥1.25 ratio between steps). Avoid flat scales.
  • Cap body line length at 65-75ch. Body line-height 1.5-1.6; headings tight (1.1-1.2).
  • Max 3 font families (display + body + optional mono). Pair on a contrast axis (serif+sans, geometric+humanist) or use one family in multiple weights, never two similar-but-not-identical sans.
  • Hero/display clamp() max ≤ 6rem (~96px); display letter-spacing floor ≥ -0.04em (tighter = letters touch).
  • text-wrap: balance on h1-h3; text-wrap: pretty on long prose. No all-caps body copy.
  • Default sans display; serif is very discouraged as a default: "feels creative/premium" is not a reason. Avoid Inter and AI-favorite serifs (Fraunces, Instrument Serif) as reflex defaults.

Color

  • Verify contrast. Body ≥4.5:1; large text (≥18px or bold ≥14px) ≥3:1. Placeholder text needs 4.5:1 too. Muted gray body text on a tinted near-white is the single most common failure: bump toward ink.
  • One accent color, locked across the whole page. Saturation < ~80% by default. Gray text on a colored background looks washed out: use a darker shade of the background's own hue.
  • Prefer OKLCH. Tint neutrals slightly toward the brand hue (0.005-0.015 chroma), not reflexively warm.
  • No pure #000 / #fff: use off-black and off-white for depth. Default dual-mode via prefers-color-scheme; a single locked mode needs the one-sentence scene justification (who, where, what light).
  • Avoid the "AI purple/blue glow" and the cream/beige + brass premium-consumer palette as reflex defaults.

Layout & spacing

  • Consistent spacing scale (4px/8px base). Vary spacing for rhythm; generous whitespace.
  • Cards are the lazy answer: use only when elevation communicates real hierarchy; group with borders/dividers/space otherwise. Nested cards are always wrong.
  • Flexbox for 1D, Grid for 2D. Responsive grids without breakpoints: repeat(auto-fit, minmax(280px, 1fr)).
  • One corner-radius system per page; cards top out at 12-16px. Semantic z-index scale (dropdown→sticky→modal→toast→tooltip): never magic 999/9999; document the scale as tokens.

Motion (summary: full craft in reference/motion.md)

  • Every animation needs a purpose: feedback, state change, spatial continuity, or preventing jarring change. "It looks cool" + seen-often = don't animate. Never animate keyboard-initiated actions.
  • UI animations stay under 300ms. Use ease-out for enter/exit (responsive); never ease-in on UI. Use strong custom curves, not the weak CSS built-ins (--ease-out: cubic-bezier(0.23, 1, 0.32, 1)).
  • Default to transform and opacity. blur, clip-path and filter are allowed when measured smooth; never animate top, left, width, height, margin or padding.
  • Never animate from scale(0): start at scale(0.95) + opacity. Buttons get :active { transform: scale(0.97) }. Popovers scale from their trigger origin (modals stay centered).
  • Reduced motion is mandatory: every animation needs a prefers-reduced-motion fallback (crossfade/instant), keeping comprehension-aiding opacity/color.

Interaction & components (full detail in reference/interaction-states.md)

  • Design all eight states: default, hover, focus, active, disabled, loading, error, success. Keyboard users never see hover. Focus is separate, never outline: none without a :focus-visible replacement.
  • Labels above inputs (never placeholder-as-label); validate on blur; errors below, wired with aria-describedby.
  • Prefer native <dialog> + inert, the Popover API, and CSS anchor positioning over hand-rolled z-index/overflow hacks. Undo beats confirmation dialogs for reversible actions. Touch targets ≥44px.

Copy

  • Every word earns its place. Button labels = verb + object ("Save changes", not "OK"). Link text must stand alone.
  • No em dashes (U+2014) anywhere: the #1 AI tell. Use commas, colons, periods, or parentheses. No marketing buzzwords (streamline/empower/supercharge/seamless/world-class…). No generic names (John Doe), fake-perfect numbers (99.99%), or startup-slop brand names (Acme/Nexus).

Avoid AI slop

A concrete match-and-refuse catalogue lives in reference/anti-slop.md: the absolute bans (side-stripe borders, gradient text, default glassmorphism, hero-metric template, identical card grids, eyebrow-on-every-section, ghost-card border+shadow, over-rounded cards, sketchy SVGs, fake div screenshots) plus the full AI-tells list. Read it before shipping a marketing/landing page. Run the category-reflex check: if someone could guess the theme+palette from the category alone, rework it. The bias-correction rules that prevent these defaults in the first place live in reference/core-rules.md.

Routing

Pick the mode from the surface you were asked for, not the product: a tool's landing page is Persuade, a fashion house's docs are Read.

ModeSurfaceDials variance / motion / densityLoadPre-flight
Persuadelanding, marketing, pricing, campaign, portfolio7-9 / 6-8 / 3-5reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.mdCore + Persuade
Operateapp UI, dashboard, admin, settings, tools, forms, single components3-5 / 3-4 / 5-7reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.md, reference/interaction-states.mdCore + Operate
Readdocs, guides, articles, changelogs, long-form editorial5-6 / 3-4 / 3-4reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.mdCore + Read
Experienceposter, artifact, gallery, showcase, playful one-off8-10 / 6-9 / 2-3reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.mdCore + Experience

Orthogonal adds (stack or task type, not a mode; compose with the row above):

WhenAlso loadAlso run
React / Next stackreference/design-systems.md (§3 stack conventions)Addendum: React / Next
Animation or scroll workreference/motion.md, reference/design-systems.md (§5 scroll skeletons)-
Redesignreference/design-systems.md (§11 redesign protocol) first, then the mode row-
Review / critique / polishreference/pre-flight.md, reference/anti-slop.md, reference/interaction-states.mdthe mode's register

Pre-flight registers (reference/pre-flight.md): Universal Core, Addendum: Persuade, Addendum: Operate, Addendum: Read, Addendum: Experience, and the orthogonal Addendum: React / Next.

Section index (section numbers are a repo-wide namespace, not per-file; a "Section N" cite resolves here):

SectionsFile
§0-§3, §5, §7, §11reference/design-systems.md
§4, §8reference/core-rules.md
§9reference/anti-slop.md
§14reference/pre-flight.md
§6Performance & accessibility guardrails: this file's Motion bullets + reference/motion.md
§4.3, §4.5, §4.6, §4.7, §4.10Upstream subsections with no local heading (do not cite; 4.5 and 4.6 are folded into reference/pre-flight.md Addendum: Operate)
§10, §12, §13Not ported (upstream taste-skill v2 only)

How to execute a task

  1. Read the brief (Step 0): declare the Design Read and dials.
  2. Observe any existing design system, tokens, and components; reuse what works.
  3. Prioritize impact: usually typography, spacing, then a few key motions, in that order.
  4. Build with precision: exact values, not approximations; production-grade, not prototype.
  5. Critique & refine (The Iron Law), then pre-flight: run scripts/preflight.mjs (in this skill's directory) on the output, then reference/pre-flight.md, before shipping.

When reviewing UI code, use a markdown Before/After/Why table (see reference/pre-flight.md).

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA standards. Use this skill to generate semantic ARIA for Web and accessibility traits for Web and Native platforms (iOS/Android).

日本語の概要は準備中です。原文の説明を表示しています。

tensology/decisionsai172026年10月13日 更新

Whole site or product — a full web accessibility (a11y) audit against WCAG 2.2, following the WCAG-EM methodology. Defines scope, samples representative pages and flows, runs the automated tier (`accessibility-scan`) and the hands-on manual tier (`accessibility-inspect`), and produces one conformance report. Grades each finding by severity and evidence basis, and states per-criterion conformance as pass, fail, or undetermined (needs a human). Use it for 'audit my site for accessibility', 'is this product accessible', 'a11y audit', 'WCAG or Section 508 conformance report', or any multi-page assessment. Assesses; does not fix (use `accessibility-fix`) or diff (use `accessibility-diff`). For a single page use `accessibility-scan`; for hands-on keyboard and screen-reader checks use `accessibility-inspect`.

日本語の概要は準備中です。原文の説明を表示しています。

tensology/decisionsai172026年10月13日 更新

Regression check — diff a live page's web accessibility (a11y) violations against a baseline. By default it compares your uncommitted changes (stash-based); pass `--branch [<name>]` to compare against a branch. Reports the new WCAG violations introduced, the ones fixed, and the count of pre-existing ones. Use it for 'did my change break accessibility', 'what a11y issues did this PR add', or as a CI gate. For a full scan of one page use `accessibility-scan`; for a whole site use `accessibility-audit`.

日本語の概要は準備中です。原文の説明を表示しています。

tensology/decisionsai172026年10月13日 更新

Remediation only — repair web accessibility (a11y) violations against WCAG 2.2 with a baseline, edit, and verify loop. Takes a target (URL, files, directory) or a findings worklist from `accessibility-scan`/`accessibility-inspect`/`accessibility-audit`, applies mechanical fixes as given, leaves TODOs for visual or contextual judgment, and verifies by re-running the baseline check. It only fixes. To find issues use `accessibility-scan` (one page, automated), `accessibility-inspect` (one page, manual), or `accessibility-audit` (whole site, WCAG-EM); to check for regressions use `accessibility-diff`. Use it for 'fix the a11y issues in X', 'make this accessible', 'add missing alt text and labels', 'apply these accessibility fixes', 'remediate these violations'.

日本語の概要は準備中です。原文の説明を表示しています。

tensology/decisionsai172026年10月13日 更新

One page, hands-on manual tier — drive a live page through the web accessibility (a11y) checks a rule engine can't decide: keyboard operation and focus order, screen-reader names, roles and states from the accessibility tree, reflow and zoom, reduced motion, form errors, and target size. Grades each finding by evidence basis (verified / confirm-with-a-human / human-required) and severity, and closes every criterion in a ledger: verified, flagged, not exercised, or N/A. Locates and assesses; does not fix (use `accessibility-fix`). Use it for keyboard testing, focus-order checks, screen-reader or a11y-tree review, reflow and zoom at 200%, or 'is this operable, not just lint-clean'. The automated tier is `accessibility-scan`; `accessibility-audit` runs both across a sampled site.

日本語の概要は準備中です。原文の説明を表示しています。

tensology/decisionsai172026年10月13日 更新

One page, automated tier — run the web accessibility (a11y) rule engine against a live page and locate every violation it can detect mechanically. Pass a URL, a config target name (e.g. `accesslint:accessibility-scan dev`), or nothing to use the default target from `accesslint.config.json`. Ensures a debuggable Chrome, runs the @accesslint/core engine over CDP, and returns a worklist of live-DOM WCAG 2.2 violations, each grounded to its DOM selector and source `file:line`. Locates; doesn't edit. Use it for 'is this page accessible', 'check a11y on this URL', 'find contrast and alt-text issues', or to verify a UI change. For hands-on keyboard and screen-reader checks use `accessibility-inspect`; for a whole site or product use `accessibility-audit`; to diff against uncommitted changes or a branch use `accessibility-diff`.

日本語の概要は準備中です。原文の説明を表示しています。

tensology/decisionsai172026年10月13日 更新

tensology のスキルをすべて見る

このスキルの問題を報告する