← the whole session plugin/skills/feature-completion-ux-test/SKILL.md
End-to-end UX validation workflow. Use when confirming a change is truly complete: define intended UX, set conditions, execute the action, inspect request payloads, and verify the project's own logs and admin/observability surfaces. If the project has a doc mapping which surface logs which kind of event (one example is $how-to-log-to-each-internal-log), reference it; otherwise identify the right surface yourself as part of step 4.
Feature Completion UX Test
Rule
For each change: define intended UX → set conditions → perform action → verify logs → report → commit.
Workflow
Identify the exact intended UX change.
- State the user-facing expectation in one sentence.
- State the system expectation in one sentence (what should be logged where).
Set test conditions.
- If the project has an auto-login or test-user setup (see the project's own dev/test docs, or a skill like $how-to-log-to-each-internal-log if one exists), use it.
- Pick the correct user type (admin vs non-admin, or whatever roles this project has).
- If simulating a non-authenticated or non-admin user, log in as admin and use admin tools to simulate that role, if such tooling exists — otherwise use a real second account.
Execute the action.
- Recreate the exact scenario (e.g., select preset, send message, submit a form).
- Capture the request payload in DevTools (or the equivalent network inspector) for the action.
Verify logs.
- Identify which of the project's own logging/observability surfaces should record this event. Every real project has at least one (an error log, a request log, an admin dashboard, an events table, a telemetry stream) — find it by reading the code path the action goes through, or by asking the person which surface they check for this kind of thing.
- Example (opt-in illustration — replace with your project's own surfaces): session-scoped events go to a session-diagnostics view, one flow type goes to a "pulse" log, alerts to the product owner go to a notifications feed, and general errors/warnings go to a system log.
- Confirm payload fields match intent.
Decide outcome.
- If correct: document evidence and commit the change.
- If incorrect: fix and repeat this workflow.
Report Format
- Intended UX:
- Conditions set:
- Action performed:
- Payload evidence:
- Log evidence:
- Result: pass/fail
Note
Always verify against the project's real logging surfaces, not just the code that's supposed to write to them — a log line that never fires is a silent failure. If a skill exists in this project mapping which surface to check for which event (an example being $how-to-log-to-each-internal-log), reference it; otherwise this workflow's step 4 is how you work that out from scratch.