# Improve, judge, and extract on existing apps

The same machinery runs on existing UIs, under a preservation contract.

## Judge — a user-invoked service

A critique of an existing UI against the brief, the project's `design.md` (the path `--project .` resolves), the archetype checklists, and the workspace's taste profile (`get_preferences`), producing a **severity-ranked (never scored) report**. Judge is a service the user asks for — never a self-check the skill runs on its own output. Read the actual rendered state (screenshots the user provides, or captures the user asks for); refuse to critique from source alone when the ask is "does it look right", and never imagine what unrendered code looks like. Each finding: severity, the on-screen element, what's wrong, the exact fix.

## Improve — judge + the fix pass

Whole-canvas authority holds, under the **preservation contract**:

1. **Pre-flight findings block** — record the incumbent system with file citations: tokens, fonts, framework, component conventions. When the product already lives on an official design system, that system is respected, never replaced. The primitives switch reads `native` on these runs unless the incumbent already uses `@nurix/components`.
2. **Preserve/introduce declaration** precedes any change: what stays, what enters, in one block.
3. **The never-silently-change list** holds regardless of authority: routes and slugs, nav labels, form field names and IDs, brand marks, legal copy. The no-jails law is about *our* generated files; a user's existing brand and IA are theirs. Changing anything on this list requires the user's explicit ask.

Improve runs then proceed through the standard steps as scoped: intake (against the incumbent — the package choice may be "extract", below), structure only where surfaces change, content only where data is fake, compose with the finishing pass, and the ship gate on what was touched.

## Extract — reading an identity package out of a foreign UI

A supported entry path, under **attestation and provenance**:

- Record what the source is and whose it is: own product / public reference / third party.
- Extract **structure and system, never pixels or assets**: roles, ramps, spacing, elevation, motion posture — into a `tier: project` design.md in the package schema at the path `--project .` resolves, validator-checked.
- Write a provenance block into the extracted file (`source-package: extracted@<date>` plus the attestation lines).
- Record what **is**, never what should be — extraction is documentation, not improvement; the improve pass comes after, separately, if asked.
- Admission of an extracted package into the shared roster later requires the provenance check to pass; third-party extractions stay project-local.
