Skip to content
UI Craft/ docs

Design memory

The typed .ui-craft/ directory — durable, project-local design decisions plus self-correction that the skill reads at Discovery.

Updated 2026-06-26

UI Craft remembers each project’s design decisions in a typed .ui-craft/ directory — plain markdown, project-local, committable. The skill reads it at Discovery so decisions survive across sessions and corrections stop being re-litigated.

The directory

.ui-craft/
  brief.md          # always loaded — purpose, user, ranked principles, success metric, scope
  tokens.md         # always loaded — the resolved token spine
  decisions.md      # lazy — architectural / product design decisions
  patterns.md       # lazy — recurring component + layout patterns
  spec.md           # the composition decision (written by /sddesign and /shape)
  surfaces/
    *.md            # lazy — per-surface specs

brief.md and tokens.md are always loaded. The rest load lazily, only when the task needs them — so memory scales without bloating every prompt.

Self-correction

When you reject or redirect a choice, /remember appends a dated learned constraint to brief.md (§6) — pinning what and why. Learned constraints rank with the project principles.

The precedence ladder:

  1. Accessibility / correctness floor — never overridden.
  2. Project memory — learned constraints + the brief.
  3. Skill defaults — the built-in baseline.

Project memory can invert a skill default (your brand is blue; you do want ALL CAPS labels here) but never the floor. That’s how the skill adapts per-project while keeping one curated quality baseline.

Spec

.ui-craft/spec.md records the composition decision per surface — chosen recipe, layout skeleton, component inventory, state lattice, and acceptance bar. It’s written by /sddesign (the full spec-driven pipeline) or /shape (opt-in), and is the bridge between the brief (why) and the build (how).


Spotted something out of date? Open an issue on GitHub →