# 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 or the ask is the wording (the copy pass, `microcopy.md` § The copy pass on an existing app), 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.
