Help us improve
Share bugs, ideas, or general feedback.
From quality-gates
Deterministic checks first, agent review second, regression test for every real bug fixed or document why not. Targets the blind spot where an agent writes and reviews its own code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/quality-gates:ai-regression-testingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
When an agent writes code and then reviews it, it carries the same assumptions into both steps. Automated tests break this cycle.
Share bugs, ideas, or general feedback.
When an agent writes code and then reviews it, it carries the same assumptions into both steps. Automated tests break this cycle.
/bug-check after a change sessionAgent writes fix → Agent reviews fix → Agent says "looks correct" → Bug still present
The most common blind spot: an agent fixes the production path but leaves the sandbox/mock path unchanged, or vice versa.
Run in order. Do not skip to agent review if automated steps fail.
npm test # or: pytest, cargo test, go test ./...
npm run build # TypeScript build / type check
With tests passing, do a focused review for patterns agents commonly miss:
For every bug found and fixed, add a test immediately:
Bug: <description>
File: <path>
Regression test: <test name and what it asserts>
If you cannot write a test, document why:
Bug: <description>
Regression test: DEFERRED — <reason> (e.g., requires E2E harness not yet in place)
Do not silently skip. Every real bug should either have a test or an explicit deferral note.
Test the contract, not the implementation:
// Test what the consumer receives, not how it's computed
const REQUIRED_RESPONSE_FIELDS = ["id", "email", "settings", "created_at"];
it("profile endpoint returns all required fields", async () => {
const res = await GET(createRequest("/api/user/profile"));
const json = await res.json();
for (const field of REQUIRED_RESPONSE_FIELDS) {
expect(json.data).toHaveProperty(field);
}
});
Name tests after the bug category, not the fix:
it("sandbox path returns same field set as production path (BUG-CLASS: path-parity)")
it("notification_settings is not undefined after SELECT * removal (regression)")
| Pattern | Check | Priority |
|---|---|---|
| Execution path parity | Same response shape across all paths | High |
| Query field omission | All response fields present in DB query | High |
| Error state leakage | State cleared before error is returned | Medium |
| Missing rollback | Previous state restored on API failure | Medium |
Do not aim for coverage percentage. Write tests only for bugs that were found. Bug clusters naturally: if three bugs appeared in /api/user/profile, that endpoint needs tests. An endpoint that has never had a bug does not need tests yet.
Tests added this way grow organically with the bug history and cannot be gamed by coverage metrics.
npx claudepluginhub yeaight7/agent-powerups --plugin quality-gatesGuides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.