pui-regression
Reproduce and repair a bounded Proto UI regression whose expected behavior and owning layer are already governed. Use this before domain implementation skills whenever work starts from a reproducible
SKILL.md.agents/skills/pui-regression/SKILL.md
GitHubRepair a governed regression
For event ordering, input attribution, CSS ownership or a suspect fixture, read internal/agent-operations/testing-method.md before designing the red case. Separate injected facts from observations and retain meaningful assertions when correcting an older test.
- Require a minimal reproduction,
pui-tracemap, fixed expected behavior, affected surfaces, and explicit exclusions. - Classify the owning layer before editing. Keep the regression transition primary even when the owning layer is an Adapter, Module, Host Capability, or Prototype; propose a domain leaf later only if a separately governed artifact must change.
- Add or identify evidence that fails for the governed reason before the fix.
- Repair the smallest owning layer. Preserve unrelated behavior and avoid opportunistic refactoring.
- Update
T-*mapping only to the extent the executable evidence proves. - Record another domain leaf in the handoff only when its governed artifact genuinely must change; do not load it here.
- Record the focused failure/pass evidence, affected integration checks, and broader validation boundary for a later
pui-validatetransition.
When the repair would change a normative criterion, owner, public API, compatibility promise, or lifecycle, continue only if current authority already fixes that transition; otherwise route the smallest product-direction decision. Do not edit the spec merely to make the implementation pass, hide a lower-layer defect in a Prototype or stylesheet, or treat screenshots as sole protocol evidence.
Explicit handoff
Do not load or execute another skill. Return exactly one handoff conforming to internal/agent-operations/schemas/skill-handoff.schema.json. Carry required prior artifacts by reference, include every artifact this leaf produces according to skills.yaml, and set nextSkillId to one eligible registered leaf or null.
Communicate with the user in the user's current language. Keep technical identifiers canonical.