.agents/skills/debug-frontend-with-browser/SKILL.md
Find the first boundary where correct data becomes incorrect. This skill extends
agent-testing; it does not define a separate test workflow.
Before any browser, Electron, network, cache, or application interaction:
../agent-testing/SKILL.md in full.agent-testing has established the
approved execution surface. If its environment or auth gate is blocked, stop
there instead of inventing another execution path.If agent-testing is unavailable, say so and stop before touching a live surface.
agent-testing owns | This skill adds |
|---|---|
| Environment isolation and service lifecycle | Falsifiable symptom and event timeline |
| Authentication and fixture seeding | Boundary-by-boundary state comparison |
| Browser/Electron driver setup | Safe minimal fixture extraction |
| Approval and mutation authority | Pure-function replay and commit A/B |
| Evidence, report, publication, teardown | Earliest-boundary fix guidance |
Do not duplicate or weaken agent-testing rules here. When the two skills appear
to conflict, agent-testing and the project adapter control execution.
Write one expected invariant and one observed violation. Record:
For timing or ordering defects, define the expected and observed event timelines before reading implementation code.
Use the surface and capture method chosen by agent-testing; do not relaunch or
reattach to the user's resident application.
Compare the same entity IDs at each layer and mark each boundary correct or
incorrect.
| Boundary | Inspect | What it distinguishes |
|---|---|---|
| DOM / visible row | Text, order, recording | Symptom only |
| Renderer input | Component props, virtual-list data | Renderer vs upstream input |
| Derived state | Selectors, parsed/display items | Derivation vs raw state |
| Raw client state | Store records, SWR state, persisted cache | Cache vs transformation |
| Network / server | Structural response and persisted row | Client vs server |
| Pure transformation | Exact parser/normalizer input | Runtime vs deterministic logic |
Important:
Create the fixture through the isolated environment's supported seed path. Keep only fields required by the suspected boundary, such as:
id, type or role, parent linkage, and timestamps;Store reusable inputs through the agent-testing fixture layout. Do not copy
private production content into fixtures or tracked files.
Do not infer causality from PR timing or filenames.
After diagnosis or a fix, resume the parent agent-testing workflow. It owns the
focused checks, isolated visual replay, evidence inspection, structured report,
publication, and cleanup. Do not publish a separate browser-debugging verdict.
Read references/pitfalls.md when the suspected boundary involves retained React roots, virtualized data, optimistic reconciliation, stale client caches, pure replay, or regression attribution.