with one click
frontend-test-worker
// Build and verify page-flow and E2E coverage for the tracking browser surface.
// Build and verify page-flow and E2E coverage for the tracking browser surface.
Use when working in this repository after receiving recurring coding feedback, adding or reviewing durable lint guardrails from AGENTS.md, updating Rules/*.md, or finishing changes that should be checked by harness-lint.
Build and verify real-Postgres Go tests and thin transport smoke for tracking behavior.
Build cross-layer regression coverage that ties browser-visible behavior to backend truth.
Harden shared test infrastructure, runtime readiness, schema setup, and parallel lane behavior.
Update backend timer/time-entry contracts, regressions, and source docs for the timer refactor mission.
Audit and finalize inline source-document status blocks for the timer refactor mission.
| name | frontend-test-worker |
| description | Build and verify page-flow and E2E coverage for the tracking browser surface. |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the work procedure.
Use for features that add or fix frontend page-flow tests, Playwright E2E coverage, browser fixtures, shell navigation checks, and workspace/timer view regressions.
vite-plus — use for repo-local JS/toolchain commands and website test execution.agent-browser — use for manual browser verification of the changed story path on the reused local runtime.mission.md, mission AGENTS.md, .factory/services.yaml, and .factory/library/user-testing.md.E2E already means real runtime, so new tests should use normal *.spec.ts.5173 and 8080; do not move to alternate local ports unless the orchestrator changes the boundary.goto.calendar, list, and timesheet under the same seeded facts and stable /timer URL. Do not stop at shared-header or container-level proof; each subview must have at least one view-local assertion for the seeded fact or running timer being verified.agent-browser after the automated tests pass to confirm one real story path and capture any mismatch between runtime behavior and the test surface. For narrow Playwright assertion-fix features that do not change browser-visible behavior beyond the covered assertions, passing real-runtime Playwright evidence is sufficient if no new manual/browser-only risk was introduced. If a pre-existing Chrome DevTools or agent-browser session conflict blocks manual verification, record that conflict in the handoff and rely on the passing real-runtime Playwright evidence instead of fabricating a manual check.{
"salientSummary": "Added timer page-family browser coverage for `/timer` default calendar landing, subview switching, and shell navigation entry. Verified the same seeded running timer remains visible across calendar/list/timesheet on the reused 5173/8080 runtime.",
"whatWasImplemented": "Created page-flow and Playwright coverage for the tracking timer mainline. The browser tests now prove direct `/timer` entry and shell navigation converge on the same timer state, `/timer` keeps a stable URL while subviews switch, and running/stopped timer facts remain consistent across calendar, list, and timesheet.",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{
"command": "vp run test:e2e:website -- e2e/timer-page.spec.ts",
"exitCode": 0,
"observation": "Timer E2E passed against the reused local runtime."
},
{
"command": "vp run check -r",
"exitCode": 0,
"observation": "Repo-wide JS checks passed after the frontend test updates."
}
],
"interactiveChecks": [
{
"action": "Used agent-browser to click the visible Timer nav item from the authenticated shell and then switched calendar/list/timesheet.",
"observed": "The page stayed on `/timer`, Timer nav became active, and the same seeded timer facts remained visible according to each view."
}
]
},
"tests": {
"added": [
{
"file": "apps/website/e2e/timer-page.spec.ts",
"cases": [
{
"name": "opens `/timer` on calendar and keeps stable URL while switching subviews",
"verifies": "VAL-TIMER-001 and VAL-TIMER-002"
},
{
"name": "shows the same running timer across calendar, list, and timesheet",
"verifies": "VAL-TIMER-004"
}
]
}
]
},
"discoveredIssues": []
}
5173/8080 runtime is unavailable or unstable