meticulous-iterative-dev — Claude Code skill: per-step visual checks
Runs a frontend change step by step and replays recorded Meticulous sessions after each one, so a visual regression shows up where it started.
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a claude-codeWhat meticulous-iterative-dev does
The skill lays out a loop. You make the edits for one step, run meticulous local relevant-sessions to locate sessions that touch the changed code, then replay one or two of them against your local dev server and diff the result against the base replay. Sessions flagged IsRelevant exercise the change directly and are picked first. Each visual difference gets sorted: an intended consequence of the edit, or an unexpected shift that needs investigating. Clear cause — patch the code and simulate again. Unclear cause — open a debug workspace with meticulous debug replay <headReplayId> --baseReplayId=<baseReplayId>.
Commit after every step. The next --startingPointSha call then diffs from that checkpoint, so earlier work does not inflate the relevant session set. When the last step is done, a cloud run covers the whole recorded set — that part belongs to the meticulous-test skill.
You need a local dev server serving the app at a known URL such as http://localhost:3000, the CLI on PATH, and a Meticulous login. Use meticulous auth whoami for OAuth, or put a token in METICULOUS_API_TOKEN or ~/.meticulous/config.json. Simulation is headless: the agent never drives a visible browser. Should no session come back, no recording covers the change — commit and let the closing cloud run check it.
What it helps with
- catch a visual regression right after the step that caused it
- diff the current render against the base branch on recorded sessions
- filter out unintended UI side effects before the cloud run
- locate recorded sessions that exercise changed code
- diagnose a puzzling visual difference in a separate debug workspace
Example prompts for the agent
- Make this step's edits, then replay the relevant Meticulous sessions against
http://localhost:3000 - Find sessions touched by my uncommitted changes and simulate one in headless mode
- The layout shifted and I can't tell why — set up a debug replay and point at the culprit
How to install meticulous-iterative-dev
1Skills CLI (Vercel)
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a claude-code2Manually: put the files in place
~/.claude/skills/meticulous-iterative-dev/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/meticulous-iterative-dev/
1Skills CLI (Vercel)
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a codex2Manually: put the files in place
.agents/skills/meticulous-iterative-dev/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a cursor2Manually: put the files in place
.cursor/skills/meticulous-iterative-dev/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install alwaysmeticulous/skills meticulous-iterative-dev2Manually: put the files in place
.github/skills/meticulous-iterative-dev/SKILL.md1Skills CLI (Vercel)
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a gemini-cli2Platform CLI
gemini skills install https://github.com/alwaysmeticulous/skills --path skills/meticulous-iterative-devManually: put the files in place
.devin/skills/meticulous-iterative-dev/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about meticulous-iterative-dev
How do I install meticulous-iterative-dev in Claude Code?
Run npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a claude-code. The skill file lands at ~/.claude/skills/meticulous-iterative-dev/SKILL.md.
What does meticulous-iterative-dev do?
It structures frontend work as a sequence of steps, each validated locally by replaying recorded Meticulous sessions and comparing the render to the base replay.
What has to be set up before it runs?
A local dev server with a known URL, a Meticulous login, and the CLI on PATH. Authentication goes through meticulous auth whoami or a token in METICULOUS_API_TOKEN.
Source text
SKILL.md · ISC
--- name: meticulous-iterative-dev description: Iterative frontend development loop using Meticulous for per-step visual validation. Use when implementing a multi-step frontend change and want to catch visual regressions and unintended side effects at each step, before the final cloud test run. user-invocable: true --- # 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. > Before starting, run the `meticulous-cli-update` skill to ensure the Meticulous CLI and skills are up to date — unless it has already run earlier in this conversation, in which case skip it. ## Prerequisites - Local dev server running (e.g. `npm run dev` or `pnpm dev`), serving the app at a known URL such as `http://localhost:3000` - Authenticated with Meticulous: run `meticulous auth whoami` to log in via OAuth (an API token via `METICULOUS_API_TOKEN` or `~/.meticulous/config.json` also works) - Meticulous CLI installed and on `PATH` (the `meticulous-cli-update` skill handles this) --- ## 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: ```bash 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: ```bash meticulous local relevant-sessions --startingPointSha=<sha-of-last-commit> ``` For full option reference see the `meticulous-cli` skill's [`local` reference](../meticulous-cli/references/local.md). The key fields to extract from each session in the output: - **Session ID** — pass as `--sessionId` when simulating - **Base replay ID** — the replay of this session on the base branch; pass as `--baseReplayId` to diff against. May be absent if the session has never been replayed on the base branch. - **Relevance** — `IsRelevant` / `IsRelevantBeta` means 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: - `--sessionId` and `--baseReplayId` from 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 debug.md): ```bash 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: ```bash 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 `meticulous-test` skill. The cloud run compares your branch against the base branch across the full golden set of sessions and reports any visual regressions. --- ## Final step — Report feedback to Meticulous After the cloud test run completes (the `meticulous-test`/`meticulous-review` skills end with their own feedback step covering the run itself), submit one brief feedback note about the iterative loop: did per-step simulation catch regressions early, and what would have made the workflow easier? ```bash # CLI meticulous agent submit-feedback --message="<one or two sentences>" --outcome=<helped|neutral|hindered> --skill=meticulous-iterative-dev # MCP submit_feedback(message="<one or two sentences>", outcome="<helped|neutral|hindered>", skill="meticulous-iterative-dev") ```
© alwaysmeticulous · ISC · alwaysmeticulous/skills