Install
openclaw skills install match-loopTwo-agent iterative vibe-coding loop for OpenClaw. Use when the user wants one sub-agent to generate/build/code an app or artifact and a second analyst agent to inspect the code, visually preview the frontend in a browser like a human, run small functional/API tests, and feed concrete fixes back to the generator until the result matches the target. Triggers on requests like "match loop", "generator and analyst", "visual QA loop", "vibe-code then analyze", "have one agent code and another visually inspect it", "iterate until the UI is perfect", or "keep refining until it matches the target".
openclaw skills install match-loopRun a generator ↔ visual analyst loop.
This skill is for vibe-coding where one-shot generation is not enough. The core pattern is:
stopThe defining feature: the analyst must visually inspect the frontend whenever a frontend exists. It should not only read code or logs. It should open the app in a browser, take screenshots or otherwise inspect the rendered UI, interact with it, and verify that it looks and behaves correctly.
Responsible for:
The generator should optimize for fast, working iterations.
Responsible for:
The analyst is not a replacement generator. It should critique toward revision, not rewrite the whole project unless the implementation is structurally broken.
For frontend work, the analyst must not rely on code review alone.
It should:
Look for things that code review often misses:
If browser-native tools fail, escalate using the local browser/computer-use stack rather than pretending visual inspection happened.
Preferred order:
Do not use Safari unless the user explicitly asks. Chrome is the default browser target.
Use this for:
Before spawning the loop, define:
If the target is fuzzy, write the best current target and let the analyst sharpen acceptance criteria during the first review.
Create:
Keep the roles explicit. The parent orchestrates handoffs and convergence.
The generator should create a real working attempt:
The analyst should perform three layers of review:
The analyst feedback should include:
accepted, revise, or blockedThe parent sends the analyst packet to the generator.
The generator should:
Continue generator → analyst → generator until:
stopThe analyst can call the result “perfect” only after:
Do not chase fake perfection. If only tiny polish remains and the output is fit for purpose, stop and report caveats.
Good analyst feedback is:
Good:
Bad:
Pause or stop when:
stopAt the end, summarize:
If needed, also read:
references/loop-patterns.md