dxe
Review interface work in this precedence order:
- Intent before decoration.
- Correct semantics and accessibility before visual convenience.
- Interaction feel before implementation technique; use the most native implementation that preserves the intended feel.
- Production trust before prototype cleverness.
Read references/dxe-core.md before starting. It is the shared rubric for every mode. Do not load every sibling skill by default.
Modes
Infer the mode from the request; use review when unspecified.
A path after dxe scopes any mode to that path. Treat “apply all skills” as dxe exhaustive.
| Mode |
Scope |
Mutation |
dxe quick |
Shared rubric on one representative surface; load no sibling unless essential |
No |
dxe / dxe review |
Full evidence matrix and representative repo sampling; progressively load triggered siblings |
No |
dxe fix |
Review, then implement and verify bounded high-confidence fixes |
Yes, within the requested scope |
dxe exhaustive |
Inspect every available surface and read the full sibling suite |
No unless the user also asks to fix |
Review mode is strictly non-mutating. Do not edit files, install dependencies, start external mutations, or change production systems. Read-only inspection and local verification are allowed. In fix mode, preserve unrelated work and existing design-system materials.
Scope and sampling
Identify the repository or paths, primary user tasks, stack, tokens, primitives, and interaction/runtime libraries. Prefer existing materials over invented replacements.
For a repository review, select representative surfaces rather than implying equal inspection of every screen:
- primary landing or task page;
- content/detail and list/index pages when present;
- one form or mutation flow;
- one overlay, dialog, or menu;
- an available loading, empty, or error state;
- primary and contrasting target form factors, relevant input methods, and reduced-motion variants.
State omissions in the report. In exhaustive mode, enumerate all discoverable surfaces and states before inspection.
Evidence protocol
Write a short hypothesis and non-goals, then collect the minimum evidence appropriate to the mode. For normal review/fix, record:
| Evidence |
Minimum |
| Materials |
Stack, tokens, primitives, motion/runtime libraries |
| Source |
Representative routes and shared components |
| Verification |
Existing typecheck/tests and production build, when safe and available |
| Form factors |
Rendered primary and contrasting layouts, clipping/overflow, and task hierarchy |
| Interaction |
First meaningful input sequence; overlay/menu/sheet state, return, and touch/pointer/keyboard parity where relevant |
| Accessibility |
Platform names, roles/traits/semantics, states, focus/return, and reduced motion |
| Production |
Loading/error/empty behaviour, platform metadata, and platform-specific runtime logs |
| Confidence |
confirmed-rendered, confirmed-source, likely, unverified, or environment-only |
Do not claim a rendered defect from source inspection alone. If rendering or a check is unavailable, label the limit instead of guessing.
Separate observations into:
- confirmed product defects;
- source-level risks;
- environment or tooling failures;
- unverified suspicions.
Reproduce a user-facing failure before promoting tooling noise to a product finding. Distinguish browser errors, server errors, expected local-service failures, and framework/tooling warnings.
For checks that trigger a state change, wait for an observable settled condition before recording state. Prefer the target platform accessibility/semantics value, focus destination, transition completion, or animation settlement over an arbitrary delay. Do not report the immediate post-action sample as final evidence when rendering or animation is still in flight.
Choose the verification lane that matches the delivered platform:
| Platform |
Required runtime evidence |
| Web |
Browser console.error, uncaught pageerror, server logs, responsive overflow, keyboard sequence |
| Apple native |
Xcode build/tests when available, simulator/device diagnostics, accessibility inspection, Dynamic Type, target form factors |
| Android native |
Gradle build/tests when available, Logcat errors/fatals, semantics/TalkBack checks, font scale, target window sizes |
Compact cross-phase pass
Consider every phase, but do not manufacture a finding for each one.
Intent
- State what the interface helps the user accomplish.
- Mark duplicate actions, unexplained chrome, and generated residue for removal.
- Preserve elements whose purpose is clear and useful.
Platform
- Prefer native elements and state contracts over
div plus ARIA reconstructions.
- Check navigation/focus order, names, roles, states, disabled behaviour, and form participation.
- Prefer native CSS/HTML where it can express the behaviour without weakening it.
Feel
- Check input discoverability across keyboard, touch, and fine pointers.
- Motion should be responsive, interruptible where needed, and have a reduced-motion path.
- Delight should improve anticipation, reliability, or care—not add novelty without purpose.
Bridge
- Check that design structure maps deliberately to code, tokens, primitives, rendering, and accessibility.
- Flag one-off values or abstractions that fight the existing system.
Shipping
- Exercise relevant loading, empty, error, auth, validation, focus, metadata, and repeat-use paths.
- Separate prototype shortcuts from confirmed release risks.
- Look for tests around critical contracts rather than requiring blanket coverage.
Progressive sibling routing
Load a sibling SKILL.md only when the materials map, initial evidence, or requested depth triggers it. Collection siblings are installed adjacent to this skill, so first resolve ../<skill-name>/SKILL.md before treating a lens as unavailable. If a sibling exists and is readable, use its content even when this session’s discovery registry omits it. A registry refresh is needed only to expose it as a separately invocable skill, not to continue the current pass. If neither discovery nor the adjacent path provides a readable skill, continue with the shared rubric, disclose the missing lens, and avoid inventing its detailed guidance.
| Trigger |
Read |
| Product intent is unclear or decisions need rationale |
write-first-design |
| Decorative, redundant, or cognitively heavy UI |
subtractive-design |
| A Danish functionalist design lens is requested |
humane-functionalism |
| Web forms, menus, dialogs, custom controls, or semantic failures |
semantic-html-first |
| Web responsive layout or CSS/HTML implementation questions |
modern-css-html |
| SwiftUI, UIKit, AppKit, Xcode, or Apple-platform UI |
apple-native-ui |
| Kotlin, Android Gradle, Jetpack Compose, Android Views, or Compose Multiplatform |
android-native-ui |
| Gestures, springs, interruption, or shared-element motion |
fluid-design |
| Weak discoverability, hover-only actions, or input mismatch |
interface-affordances |
| A specific opportunity for useful polish |
product-delight |
| Design/code structure or token translation is breaking down |
design-engineering |
| Template-like or AI-generated residue needs judgement |
ai-output-judgement |
| Auth, validation, state, resilience, or release concerns |
prototype-to-production |
dxe exhaustive is the only mode that requires reading every sibling skill in the routing table.
Severity and confidence
- Critical: blocks a primary task, risks data/security loss, causes a confirmed serious accessibility failure, or breaks production rendering.
- Should fix: confirmed damage to comprehension, navigation, semantics, resilience, or trust with a bounded correction.
- Nice to have: polish, consistency, dormant primitive risk, or non-blocking cleanup.
Every finding must include one confidence tag. Never classify unverified or environment-only observations as Critical. Quote only the smallest useful source snippet and anchor findings to a path or rendered surface.
Report
# dxe pass — [scope]
## Hypothesis
## Evidence collected
## Verified strengths
- [skill or core] path/surface — what should be preserved
## Findings
### Critical
- [confidence] [skill or core] path/surface — issue — bounded fix
### Should fix
### Nice to have
## Cuts
## Proposed changes
## Verification status
## Limits and unresolved observations
Verified strengths are evidence, not consolation: record systems that work and should survive later changes. An empty severity section is acceptable. Findings should never be failure quotas.
Verification recipe
When tools and repository scripts permit:
- Run the existing typecheck, tests, and production build.
- Render the primary target and one contrasting viewport, window, device, or form factor.
- Check clipping/overflow, safe areas/insets, and primary task hierarchy as the platform requires.
- Record the first meaningful keyboard, touch, pointer, remote, or assistive-technology sequence.
- Exercise one menu, dialog, sheet, or navigation transition; wait for settled state, then verify state and focus/return.
- Repeat one motion-bearing task with reduced motion; wait for settlement before recording animation state or counts.
- Capture the platform's runtime errors: browser
console.error/pageerror, Apple simulator/device diagnostics, or Android Logcat errors/fatals. Classify them separately from tooling noise.
- In fix mode, repeat affected checks and report exact results.
Never mutate production or external systems as part of a review.
Done when
- Scope, hypothesis, non-goals, sampling, and limits are explicit.
- Every phase was considered; only triggered sibling skills were loaded.
- Claims are tied to evidence, severity, confidence, and a path or surface.
- Confirmed product defects are separated from tooling noise and suspicions.
- Existing strengths and subtractive cuts are recorded when warranted.
- Fixes, when authorized, are bounded and verified in proportion to risk.
1---2name: dxe3description: Review a repository or UI surface for design engineering quality. Use for a DXE pass or broad interface review; fix only when requested and load specialist guidance from evidence.4license: MIT5---67# dxe89Review interface work in this precedence order:10111. Intent before decoration.122. Correct semantics and accessibility before visual convenience.133. Interaction feel before implementation technique; use the most native implementation that preserves the intended feel.144. Production trust before prototype cleverness.1516Read [references/dxe-core.md](references/dxe-core.md) before starting. It is the shared rubric for every mode. Do not load every sibling skill by default.1718## Modes1920Infer the mode from the request; use `review` when unspecified.2122A path after `dxe` scopes any mode to that path. Treat “apply all skills” as `dxe exhaustive`.2324| Mode | Scope | Mutation |25| --- | --- | --- |26| `dxe quick` | Shared rubric on one representative surface; load no sibling unless essential | No |27| `dxe` / `dxe review` | Full evidence matrix and representative repo sampling; progressively load triggered siblings | No |28| `dxe fix` | Review, then implement and verify bounded high-confidence fixes | Yes, within the requested scope |29| `dxe exhaustive` | Inspect every available surface and read the full sibling suite | No unless the user also asks to fix |3031Review mode is strictly non-mutating. Do not edit files, install dependencies, start external mutations, or change production systems. Read-only inspection and local verification are allowed. In fix mode, preserve unrelated work and existing design-system materials.3233## Scope and sampling3435Identify the repository or paths, primary user tasks, stack, tokens, primitives, and interaction/runtime libraries. Prefer existing materials over invented replacements.3637For a repository review, select representative surfaces rather than implying equal inspection of every screen:3839- primary landing or task page;40- content/detail and list/index pages when present;41- one form or mutation flow;42- one overlay, dialog, or menu;43- an available loading, empty, or error state;44- primary and contrasting target form factors, relevant input methods, and reduced-motion variants.4546State omissions in the report. In exhaustive mode, enumerate all discoverable surfaces and states before inspection.4748## Evidence protocol4950Write a short hypothesis and non-goals, then collect the minimum evidence appropriate to the mode. For normal review/fix, record:5152| Evidence | Minimum |53| --- | --- |54| Materials | Stack, tokens, primitives, motion/runtime libraries |55| Source | Representative routes and shared components |56| Verification | Existing typecheck/tests and production build, when safe and available |57| Form factors | Rendered primary and contrasting layouts, clipping/overflow, and task hierarchy |58| Interaction | First meaningful input sequence; overlay/menu/sheet state, return, and touch/pointer/keyboard parity where relevant |59| Accessibility | Platform names, roles/traits/semantics, states, focus/return, and reduced motion |60| Production | Loading/error/empty behaviour, platform metadata, and platform-specific runtime logs |61| Confidence | `confirmed-rendered`, `confirmed-source`, `likely`, `unverified`, or `environment-only` |6263Do not claim a rendered defect from source inspection alone. If rendering or a check is unavailable, label the limit instead of guessing.6465Separate observations into:66671. confirmed product defects;682. source-level risks;693. environment or tooling failures;704. unverified suspicions.7172Reproduce a user-facing failure before promoting tooling noise to a product finding. Distinguish browser errors, server errors, expected local-service failures, and framework/tooling warnings.7374For checks that trigger a state change, wait for an observable settled condition before recording state. Prefer the target platform accessibility/semantics value, focus destination, transition completion, or animation settlement over an arbitrary delay. Do not report the immediate post-action sample as final evidence when rendering or animation is still in flight.7576Choose the verification lane that matches the delivered platform:7778| Platform | Required runtime evidence |79| --- | --- |80| Web | Browser `console.error`, uncaught `pageerror`, server logs, responsive overflow, keyboard sequence |81| Apple native | Xcode build/tests when available, simulator/device diagnostics, accessibility inspection, Dynamic Type, target form factors |82| Android native | Gradle build/tests when available, Logcat errors/fatals, semantics/TalkBack checks, font scale, target window sizes |8384## Compact cross-phase pass8586Consider every phase, but do not manufacture a finding for each one.8788### Intent8990- State what the interface helps the user accomplish.91- Mark duplicate actions, unexplained chrome, and generated residue for removal.92- Preserve elements whose purpose is clear and useful.9394### Platform9596- Prefer native elements and state contracts over `div` plus ARIA reconstructions.97- Check navigation/focus order, names, roles, states, disabled behaviour, and form participation.98- Prefer native CSS/HTML where it can express the behaviour without weakening it.99100### Feel101102- Check input discoverability across keyboard, touch, and fine pointers.103- Motion should be responsive, interruptible where needed, and have a reduced-motion path.104- Delight should improve anticipation, reliability, or care—not add novelty without purpose.105106### Bridge107108- Check that design structure maps deliberately to code, tokens, primitives, rendering, and accessibility.109- Flag one-off values or abstractions that fight the existing system.110111### Shipping112113- Exercise relevant loading, empty, error, auth, validation, focus, metadata, and repeat-use paths.114- Separate prototype shortcuts from confirmed release risks.115- Look for tests around critical contracts rather than requiring blanket coverage.116117## Progressive sibling routing118119Load a sibling `SKILL.md` only when the materials map, initial evidence, or requested depth triggers it. Collection siblings are installed adjacent to this skill, so first resolve `../<skill-name>/SKILL.md` before treating a lens as unavailable. If a sibling exists and is readable, use its content even when this session’s discovery registry omits it. A registry refresh is needed only to expose it as a separately invocable skill, not to continue the current pass. If neither discovery nor the adjacent path provides a readable skill, continue with the shared rubric, disclose the missing lens, and avoid inventing its detailed guidance.120121| Trigger | Read |122| --- | --- |123| Product intent is unclear or decisions need rationale | `write-first-design` |124| Decorative, redundant, or cognitively heavy UI | `subtractive-design` |125| A Danish functionalist design lens is requested | `humane-functionalism` |126| Web forms, menus, dialogs, custom controls, or semantic failures | `semantic-html-first` |127| Web responsive layout or CSS/HTML implementation questions | `modern-css-html` |128| SwiftUI, UIKit, AppKit, Xcode, or Apple-platform UI | `apple-native-ui` |129| Kotlin, Android Gradle, Jetpack Compose, Android Views, or Compose Multiplatform | `android-native-ui` |130| Gestures, springs, interruption, or shared-element motion | `fluid-design` |131| Weak discoverability, hover-only actions, or input mismatch | `interface-affordances` |132| A specific opportunity for useful polish | `product-delight` |133| Design/code structure or token translation is breaking down | `design-engineering` |134| Template-like or AI-generated residue needs judgement | `ai-output-judgement` |135| Auth, validation, state, resilience, or release concerns | `prototype-to-production` |136137`dxe exhaustive` is the only mode that requires reading every sibling skill in the routing table.138139## Severity and confidence140141- **Critical:** blocks a primary task, risks data/security loss, causes a confirmed serious accessibility failure, or breaks production rendering.142- **Should fix:** confirmed damage to comprehension, navigation, semantics, resilience, or trust with a bounded correction.143- **Nice to have:** polish, consistency, dormant primitive risk, or non-blocking cleanup.144145Every finding must include one confidence tag. Never classify `unverified` or `environment-only` observations as Critical. Quote only the smallest useful source snippet and anchor findings to a path or rendered surface.146147## Report148149```markdown150# dxe pass — [scope]151152## Hypothesis153## Evidence collected154## Verified strengths155- [skill or core] path/surface — what should be preserved156157## Findings158### Critical159- [confidence] [skill or core] path/surface — issue — bounded fix160### Should fix161### Nice to have162163## Cuts164## Proposed changes165## Verification status166## Limits and unresolved observations167```168169Verified strengths are evidence, not consolation: record systems that work and should survive later changes. An empty severity section is acceptable. Findings should never be failure quotas.170171## Verification recipe172173When tools and repository scripts permit:1741751. Run the existing typecheck, tests, and production build.1762. Render the primary target and one contrasting viewport, window, device, or form factor.1773. Check clipping/overflow, safe areas/insets, and primary task hierarchy as the platform requires.1784. Record the first meaningful keyboard, touch, pointer, remote, or assistive-technology sequence.1795. Exercise one menu, dialog, sheet, or navigation transition; wait for settled state, then verify state and focus/return.1806. Repeat one motion-bearing task with reduced motion; wait for settlement before recording animation state or counts.1817. Capture the platform's runtime errors: browser `console.error`/`pageerror`, Apple simulator/device diagnostics, or Android Logcat errors/fatals. Classify them separately from tooling noise.1828. In fix mode, repeat affected checks and report exact results.183184Never mutate production or external systems as part of a review.185186## Done when187188- Scope, hypothesis, non-goals, sampling, and limits are explicit.189- Every phase was considered; only triggered sibling skills were loaded.190- Claims are tied to evidence, severity, confidence, and a path or surface.191- Confirmed product defects are separated from tooling noise and suspicions.192- Existing strengths and subtractive cuts are recorded when warranted.193- Fixes, when authorized, are bounded and verified in proportion to risk.