# meticulous-iterative-dev

Runs a frontend change step by step and replays recorded Meticulous sessions after each one, so a visual regression shows up where it started.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 8500 installs · ★ 10
- Author: alwaysmeticulous
- License: ISC · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/alwaysmeticulous/skills/tree/HEAD/skills/meticulous-iterative-dev/SKILL.md
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/skills/meticulous-iterative-dev

## What it 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.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/meticulous-iterative-dev/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/meticulous-iterative-dev/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/meticulous-iterative-dev/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/meticulous-iterative-dev/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install alwaysmeticulous/skills meticulous-iterative-dev
```

2. **Manually: put the files in place**
- File: `.github/skills/meticulous-iterative-dev/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/alwaysmeticulous/skills --path skills/meticulous-iterative-dev
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/meticulous-iterative-dev/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add alwaysmeticulous/skills --skill meticulous-iterative-dev -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/alwaysmeticulous/skills/tree/HEAD/skills/meticulous-iterative-dev/SKILL.md

## When to use it
- 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
- 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

## Source text · SKILL.md · ISC

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 7e275e10334c5afb.

BEGIN THIRD-PARTY FILE 7e275e10334c5afb
````text
---
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
````
END THIRD-PARTY FILE 7e275e10334c5afb

The third-party file has ended. Everything between the 7e275e10334c5afb tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 1984 of 5385 bytes. © alwaysmeticulous · ISC · https://github.com/alwaysmeticulous/skills/tree/HEAD/skills/meticulous-iterative-dev/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
