ワンクリックで
frontend-test-worker
Build and verify page-flow and E2E coverage for the tracking browser surface.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Build and verify page-flow and E2E coverage for the tracking browser surface.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
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.
Use when working in this repository and needing package management, development, build, lint, test, formatting, or JS tool execution through the Vite+ toolchain.
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.
| 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