Kimmy's Skills

Design System

Turn scattered UI into one system, delivered as two artifacts: a runnable showcase and a specification that a human or agent can implement from.

Modes

Pick the mode first; it changes how you gather evidence, not what you produce.

Approach

  1. Establish the ground before styling. Who uses it, which jobs they do, how often, on which surfaces, and which constraints are fixed — including who owns each surface’s palette (you, or a host such as a terminal, an OS high-contrast mode, or a third-party embed). In Extract and Rebuild, read the real sources — style files, configs, component code, plans — and quote actual values and paths. Never invent a value you could read.
  2. Define scope. Decide which surfaces and which layers this system governs, which it explicitly leaves alone, and what is deliberately shared across surfaces versus kept per-surface. Fix that boundary before styling anything; every later rule depends on it. Content owned by someone else is the common case that must be named here, not silently restyled.
  3. Draft principles with rationale. Aim for a handful of rules that actually decide arguments. Each states the rule and why it holds, so a future proposal can be judged against it.
  4. Lay the foundations in a fixed order. Color → typography → copy → layout → components → motion → accessibility. Later layers may only use names from earlier ones.
  5. Write the specification and the showcase together. The spec is the source of truth; the showcase proves it and hosts the verification. Neither may drift from the other.
  6. Verify by measurement, not by eye. Compute contrast, check token drift, exercise the interactions.
  7. Hand over the decision list. Anything you could not determine belongs in an explicit “to confirm” list, not in a silent assumption.

Non-negotiables

Principles

Check the draft against established interaction principles rather than inventing a private list:

Do not reproduce these in the deliverable. Use resources/checklist.md to sweep coverage and keep only the principles that change decisions in this product; state each kept principle in the product’s own words.

Surface supplements

The process is surface-independent; the medium is not. Read the supplement for every surface class in scope before laying foundations. Each adds binding constraints and derivation prompts for its medium and never replaces this process or the two-artifact output. When two apply — a mobile game, a terminal inside a desktop app — read both and keep each rule attributed to its source.

Foundations and verification

resources/checklist.md holds the principle sweep (framework principles plus general aspects), the foundations coverage checklist, and the verification steps. It is reference material for deriving your own decisions, not a script to run through.

Output

Two files, always both:

Both artifacts must agree; the strongest form is both generated from one token source. Add a check that parses both and fails on drift, including undeclared cross-surface references, and prove the check by mutating an artifact and confirming it fails. Keep the two files together, in whatever location the user’s project uses for documentation.

Boundary

This skill produces a system, not a product change. Implementing it in the codebase is a separate, plannable effort; reviewing an existing artifact is a verification task; attacking a proposal is a critique task. If the user wants any of those, say so and hand off rather than expanding scope here.