iterative-frontend-dev
Iterative Frontend Development with Meticulous
Use this skill when implementing a multi-step frontend change. After each step, run a quick local visual check using Meticulous to catch regressions and unintended side effects early. After all steps are complete, run a full cloud test run to validate across all recorded sessions.
Prerequisites
- Local dev server running (e.g.
npm run devorpnpm dev), serving the app at a known URL such ashttp://localhost:3000 - API token configured:
~/.meticulous/config.jsonorMETICULOUS_API_TOKENenvironment variable - Meticulous CLI available:
npx @alwaysmeticulous/cliormeticulousif installed globally
Per-step loop
Repeat the following for each step of your change.
Step 1 — Implement the step's changes
Make your code changes for this step.
Step 2 — Find relevant sessions
Run:
meticulous local relevant-sessions
If you have already committed previous steps and want to find sessions relevant only to this step's uncommitted changes, pass the SHA of the last commit:
meticulous local relevant-sessions --startingPointSha=<sha-of-last-commit>
For full option reference see the meticulous-cli-local skill. The key fields to extract from each session in the output:
- Session ID — pass as
--sessionIdwhen simulating - Base replay ID — the replay of this session on the base branch; pass as
--baseReplayIdto diff against. May be absent if the session has never been replayed on the base branch. - Relevance —
IsRelevant/IsRelevantBetameans the session directly exercises changed code.
If no sessions are returned, the changed code is not covered by any recorded session. Proceed to Step 4 (commit) and rely on the final cloud run for coverage.
Step 3 — Simulate and analyse
Pick 1–2 of the most relevant sessions (prefer IsRelevant over IsRelevantBeta). For each, follow the meticulous-simulate-and-diff skill using:
--sessionIdand--baseReplayIdfrom step 2's output--appUrl=http://localhost:<port>pointing at your local dev server--headless(required — agents should not operate a visible browser)
If baseReplayId was absent from the output, omit it; use quick-check mode from that skill instead.
Also consider simulating a session for an unexpected flow surfaced by local relevant-sessions — one that covers code you didn't intend to change — to check for unintended side effects.
Once you have the analysis, classify each visual difference:
- Expected — a direct, intended consequence of this step's changes. Proceed.
- Unexpected — a visual change that was not a goal of this step (including side effects of your code, even if explainable). Investigate.
If unexpected and the cause is clear: fix the code and re-simulate.
If the cause is unclear: create a self-contained AI-readable debug workspace using the replay IDs from the simulation output URL (see the meticulous-cli-debug skill):
meticulous debug replay <headReplayId> --baseReplayId=<baseReplayId>
Both IDs come from the simulation output URL: the head replay ID is the last path segment of the View simulation at: URL; the base replay ID is the --baseReplayId used in the simulate command. Open the workspace to diagnose, fix, and re-simulate.
Step 4 — Commit
Once the step's visual output is correct, commit your changes:
git add -p
git commit -m "<concise description of this step>"
Committing after each step means the next iteration's --startingPointSha call computes the diff relative to this checkpoint, preventing prior steps' changes from inflating the set of relevant sessions.
Return to Step 1 for the next step.
After all steps — full cloud test run
Once all steps are complete and committed, run a full cloud test run to validate across all recorded sessions (not just the 1–2 you simulated locally):
Follow the
test-with-meticulousskill.
The cloud run compares your branch against the base branch across the full golden set of sessions and reports any visual regressions.
More from alwaysmeticulous/skills
meticulous-cli
Overview of the Meticulous CLI tool and its global options. Use when asking about the meticulous CLI in general, available commands, or global flags that apply to all commands.
25test-with-meticulous
Run after implementing any frontend change to verify its visual impact. Triggers a Meticulous test run, then inspects screenshot diffs to classify each visual change as intended or unintended. Use this before marking a frontend task as complete.
21meticulous-simulate-and-diff
Run a Meticulous session simulation against a live URL and analyze the visual output — either by inspecting screenshots directly (quick-check mode) or by comparing pixel and HTML diffs against a base replay. Use when checking whether a code change has introduced visual regressions for a specific session.
20meticulous-cli-schema
Meticulous CLI schema command for outputting the full CLI command structure as JSON. Use when you need to programmatically inspect available commands and their options, or when building tooling that drives the Meticulous CLI.
19meticulous-cli-download
Meticulous CLI download commands for fetching recorded sessions, replays, and test runs to the local data directory. Covers `meticulous download session`, `meticulous download replay`, and `meticulous download test-run`.
19meticulous-cli-auth
Meticulous CLI authentication commands. Use when logging in, checking who is authenticated, or logging out of the Meticulous CLI. Covers `meticulous auth whoami` and `meticulous auth logout`.
19