stolinski/s-stack/critique-loop

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Drive a subject to convergence by repeatedly completing its critique-generated Dex epic, re-running the same critique, and reporting what changed — until it's clean or hits a stop condition. Use when asked to "loop the critique", "keep fixing until clean", "re-critique after the fixes", "iterate on the design/UX until it converges", "complete the epic then re-run the critic", or "run the critique loop". Works with any critique that emits the shared report contract (ui-design-critique, ux-critique, …).

Install

npx vskill@latest install stolinski/s-stack/critique-loop

SKILL.md

Critique Loop

Close the loop between critique and fix. One critique pass is rarely enough: fixes miss, land partially, or introduce new problems. This skill runs rounds — complete the epic, re-critique, compare, decide — until the subject converges or a stop condition trips.

It orchestrates existing skills; it does not re-specify them. Critiquing is done by a critique skill (ui-design-critique, ux-critique, or any that emits the shared report contract). Backlogging is done by critique-to-dex. Task tracking is done by the dex skill. Building fixes is delegated to the appropriate implementation skill.

The Invariants (do not violate)

The comparison across rounds is only meaningful if the experiment is controlled. Hold these constant for the entire loop:

  1. Same critique skill — you cannot compare a UX round to a UI round.
  2. Same scope — the same screen/flow/component.
  3. Same anchors — the same DESIGN.md / USERS.md (and same user type, for UX). If an anchor changes mid-loop, the loop restarts at round 1.

If any invariant would change, stop and tell the user; do not silently continue.

Preconditions

  • A subject that has been (or will be) critiqued with a chosen critique skill.
  • The anchors that critique uses, held constant.
  • A way to build the fixes (a dev environment + the relevant implementation skill).
  • Either an existing Dex epic from critique-to-dex, or none (the loop bootstraps round 1).

The Loop

Track progress with this checklist per round:

Round N
- [ ] 1. Ensure a current epic exists
- [ ] 2. Complete the epic (all tasks verified)
- [ ] 3. Re-run the SAME critique (same scope + anchors)
- [ ] 4. Compare to the prior round (delta taxonomy)
- [ ] 5. Report the round
- [ ] 6. Decide: continue / converged / stop
1. Ensure a current epic exists

If starting fresh: run the chosen critique, then critique-to-dex to create the round-1 epic. If an epic already exists from a prior step, use it as the current round's epic. Record which findings (F-IDs + their issue/location) this epic represents — that is the prior finding set for the next comparison.

2. Complete the epic

Work every actionable task to done, delegating the building to the appropriate implementation skill — for UI/visual fixes apply design-engineering craft rather than hacking CSS ad hoc (ad-hoc edits are the usual cause of spacing/alignment regressions each round). Use the exact target values from the finding's recommendation. For each task: implement the fix, then verify it the way that critique verifies (re-walk the flow for ux-critique; re-capture the screen for ui-design-critique) plus the project's own gates (build/check/tests). Mark each task complete in dex with concrete evidence. Do not mark the epic done on intent — only on verified completion.

3. Re-run the same critique

Run the identical critique skill against the identical scope with the identical anchors. Produce a fresh report (the current finding set). If the critique defines a deterministic check (e.g. ui-design-critique's broken-UI smoke test), it must actually be re-run this round — a report whose smoke test was skipped or carried over from a prior round is invalid for comparison.

4. Compare to the prior round

Match current findings against the prior finding set to classify each — Resolved, Persisting, New, Regression. Load references/convergence.md for the matching rules and the delta taxonomy.

5. Report the round

Emit the round report (template below): counts, the delta lists, and the new priority profile. Regressions and Persisting findings are surfaced first — they are the signal that fixes are failing.

6. Decide

Apply the stop conditions in references/convergence.md. Converged requires both no P0/P1 findings and a passing objective gate (the critique's deterministic check, re-run fresh this round) — critic judgment alone never closes the loop when a deterministic check exists. If continuing, feed the current finding set into critique-to-dex to create the next round's epic (Persisting and Regression findings carry a note that a prior fix attempt failed), then loop to step 1 as round N+1.

Autonomy

Default: confirm at each round boundary — present the round report and ask whether to continue. Offer an autonomous mode ("run up to N rounds, then report") when the user asks for it; even then, always stop early and surface regressions or a thrash condition rather than pressing on.

Guardrails

  • Never bury a regression. If the round introduced new problems, that leads the report.
  • Escalate persisting findings. A finding that survives a dedicated fix means the approach is likely wrong — flag it for human judgment instead of retrying the same fix blindly.
  • Respect the loop budget. Default max 3 rounds; stop and report rather than looping indefinitely.
  • Stop on thrash. If a round's regressions ≥ its resolved findings, the changes are making it worse net — stop and surface.
  • Verify before re-critiquing. An unverified epic invalidates the comparison.

Round Report Template

markdown
## Critique Loop — Round N — [subject]
-**Critique:** [skill] · **Anchors:** [DESIGN.md/USERS.md + user type] (constant) · **Scope:** [same]
-**Epic:** <epic_id> — [M/M tasks verified]
-**Current findings:** X — P0: _ · P1: _ · P2: _ · P3: _
-**Objective gate:** Clean at [viewports] / X detector hits / N/A (critique has no deterministic check)
### Delta vs Round N-1
-**⚠ Regressions (new, caused by this round):** [F-ids + titles] — or None
-**↺ Persisting (fix missed/partial — escalate):** [prior F-ids still present] — or None
-**✓ Resolved:** [prior F-ids now gone]
-**+ New (not regressions):** [new F-ids]
-**Net:** [e.g. −4 P0/P1, +1 regression]
### Decision
CONVERGED — [reason] · or · CONTINUE → round N+1 epic <id> · or · STOP — [stop condition]

Final Report Template (when the loop ends)

markdown
## Critique Loop Complete — [subject]
-**Rounds:** N · **Outcome:** Converged / Stopped ([reason]) · **Objective gate:** Passed / Failed / N/A
-**Trajectory:** Round 1 [P0/P1 count] → Round N [P0/P1 count]
-**Resolved overall:** [count] · **Still open:** [remaining findings by priority]
-**Unresolved escalations:** [persisting findings needing human judgment, if any]
-**Next:** [nothing — converged / a specific human decision needed]

Reference Files

FileLoad when
references/convergence.mdAlways — matching rules, delta taxonomy, and stop conditions

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
59
Repository forks
2
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/stolinski/s-stack/critique-loop/badge)](https://verified-skill.com/skills/stolinski/s-stack/critique-loop)

Something wrong with this skill or its page? Tell us.