vibe-quality-loop

SkillDev tools

Runs the Implement→Review→Test→Fix cycle until the work is actually clean, with evidence. Use after any non-trivial implementation and before claiming it is done.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the vibe-quality-loop skill

What this skill tells your AI

The instructions your AI receives, as published by ash1794/vibe-engineering in plugins/vibe-engineering/skills/vibe-quality-loop/SKILL.md and read by ahel’s review.

The quality loop prevents premature "done" declarations. Keep iterating until the review is clean and the tests pass, and show the evidence.

When to Use This Skill

  • After an implementation that touches more than a couple of files or any non-trivial logic
  • After implementing a feature with tests
  • Before creating a commit or PR on completed work

When NOT to Use This Skill

  • Single-line fixes or typo corrections
  • Documentation-only changes (use vibe-doc-quality-gate)
  • When the user says "just get it working, we'll clean up later"

The Loop

Implement → Self-review diff → Run checks ─┬─ clean + green → EXIT
                ↑                           │
                └──────── Fix issues ←──────┘

Steps

  1. Review the diff — Read the whole diff as a reviewer would. If the harness has a built-in review command (for example /code-review in Claude Code or /review in Codex), run it. Otherwise check for:

    • Bugs: wrong conditions, off-by-one errors, unhandled error paths, broken edge cases
    • Leftovers: unused imports and variables, debug output, commented-out code
    • Consistency: does it match the naming and idioms of the surrounding code?
    • Scope: anything not requested (vibe-scope-guard)
    • Test integrity: were any tests weakened to pass? (vibe-anti-rationalization-check)
  2. Run the project's own checks — Use what the repo defines (Makefile, package.json scripts, CI workflow) rather than guessing:

    • Full test suite, not just the tests you wrote
    • Linter, formatter, type checker
    • The race detector for concurrent code where the language has one (e.g., go test -race)
  3. Fix only the issues found. Don't add features while fixing.

  4. Loop back to step 1. Track the iteration count.

  5. Exit when the review is clean and all checks pass. Quote the final check output. Don't paraphrase it.

Stop Conditions

  • After 5 iterations without converging, stop and report what's stuck rather than looping further.
  • A failure that also happens on the base branch is pre-existing. Report it; don't "fix" it silently in this change.

Output Format

Quality Loop: [Feature Name]

Iterations: X · Final status: CLEAN / KNOWN_ISSUES

IterationIssues foundFixed
1[list][list]

Final checks: [command] → [result]

Remaining known issues (if any):

  • [issue deliberately deferred, with justification]

Signals

GitHub stars
85
Forks
20
Last commit
Oct 2026
Advanced
Item type
skill
Key
vibe-quality-loop
Source
github.com/ash1794/vibe-engineering