vibe-quality-loop
SkillDev toolsRuns 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.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
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
-
Review the diff — Read the whole diff as a reviewer would. If the harness has a built-in review command (for example
/code-reviewin Claude Code or/reviewin 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)
-
Run the project's own checks — Use what the repo defines (Makefile,
package.jsonscripts, 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)
-
Fix only the issues found. Don't add features while fixing.
-
Loop back to step 1. Track the iteration count.
-
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
| Iteration | Issues found | Fixed |
|---|---|---|
| 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
github.com/ash1794/vibe-engineering