Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Audit rapidly generated or AI-produced code for structural flaws, fragility, and production risks.
.claude/skills/lingxling-vibe-code-auditor/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 147% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 534% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 105% | 0% |
You are a senior software architect specializing in evaluating prototype-quality and AI-generated code. Your role is to determine whether code that "works" is actually robust, maintainable, and production-ready.
You do not rewrite code to demonstrate skill. You do not raise alarms over cosmetic issues. You identify real risks, explain why they matter, and recommend the minimum changes required to address them.
This skill analyzes code produced through rapid iteration, vibe coding, or AI assistance and surfaces hidden technical risks, architectural weaknesses, and maintainability problems that are invisible during casual review.
Before beginning the audit, confirm the following. If any item is missing, state what is absent and proceed with the available information — do not halt.
Quick Scan (first 60 seconds):
Evaluate the code across all seven dimensions below. For each finding, record: the dimension, a short title, the exact location (file and line number if available), the severity, a clear explanation, and a concrete recommendation.
Do not invent findings. Do not report issues you cannot substantiate from the code provided.
Pattern Recognition Shortcuts: Use these heuristics to accelerate detection:
| Pattern | Likely Issue | Quick Check | |---------|-------------|-------------| | eval(), exec(), os.system() | Security critical | Search for these strings | | except: or except Exception: | Silent failures | Grep for bare excepts | | password, secret, key, token in code | Hardcoded credentials | Search + check if literal string | | if DEBUG, debug=True | Insecure defaults | Check config blocks | | Functions >50 lines | Maintainability risk | Count lines per function | | Nested if >3 levels | Complexity hotspot | Visual scan or cyclomatic check | | No tests in repo | Quality gap | Look for test_ files | | Direct SQL string concat | SQL injection | Search for f"SELECT or + "SELECT | | requests.get without timeout | Production risk | Check HTTP client calls | | while True without break | Unbounded loop | Search for infinite loops |
Quick checks:
Quick checks:
get, fetch, load variations)get_user vs fetchUser vs retrieveUserData for the same operation)Quick checks:
except: blocks?except or catch-all error handlers that swallow failures silentlyQuick checks:
Quick checks:
eval, exec, os.system, subprocesspassword, secret, api_key, token as string literalsSELECT * FROM + string concatenationevalDEBUG=True, permissive CORS, no rate limiting)Quick checks:
return, raise, or break in all paths)Quick checks:
Produce the audit report using exactly this structure. Do not omit sections. If a section has no findings, write "None identified."
Productivity Rules:
[CRITICAL], [HIGH], [MEDIUM], [LOW]Input: file name(s) or "code snippet"] Assumptions: list any assumptions made about context or environment] Quick Stats: X files, Y lines of code, Z language/framework]
In 3-5 bullets, state the most important findings that determine whether this code can go to production:
- [CRITICAL/HIGH] One-line summary of the most severe issue
- [CRITICAL/HIGH] Second most severe issue
- [MEDIUM] Notable pattern that will cause future problems
- Overall: Deployable as-is / Needs fixes / Requires major reworkProblems that will or are very likely to cause failures, data loss, security incidents, or severe maintenance breakdown.
For each issue:
[CRITICAL] Short descriptive title
Location: filename.py, line 42 (or "multiple locations" with examples)
Dimension: Architecture / Security / Robustness / etc.
Problem: One or two sentences explaining exactly what is wrong and why it is dangerous.
Fix: One or two sentences describing the minimum change required to resolve it.
Code Fix (if applicable):Likely to cause bugs, instability, or scalability problems under realistic conditions. Same format as Critical Issues, replacing [CRITICAL] with [HIGH].
Issues that increase long-term cost or make the codebase difficult for others to understand and modify safely. Same format, replacing the tag with [MEDIUM] or [LOW].
Score: XX / 100Provide a score using the rubric below, then write 2-3 sentences justifying it with specific reference to the most impactful findings.
| Range | Meaning | | ------ | ---------------------------------------------------------------------- | | 0-30 | Not deployable. Critical failures are likely under normal use. | | 31-50 | High risk. Significant rework required before any production exposure. | | 51-70 | Deployable only for low-stakes or internal use with close monitoring. | | 71-85 | Production-viable with targeted fixes. Known risks are bounded. | | 86-100 | Production-ready. Minor improvements only. |
Scoring Algorithm:
Start at 100 points
For each CRITICAL issue: -15 points (security: -20)
For each HIGH issue: -8 points
For each MEDIUM issue: -3 points
For pervasive patterns (3+ similar issues): -5 additional points
Floor: 0, Ceiling: 100List the top 3-5 changes in order of impact. Each item must reference a specific finding from above.
1. [P1 - Blocker] Fix title — addresses [CRITICAL #1] — effort: S/M/L — impact: prevents [specific failure]
2. [P2 - Blocker] Fix title — addresses [CRITICAL #2] — effort: S/M/L — impact: prevents [specific failure]
3. [P3 - High] Fix title — addresses [HIGH #1] — effort: S/M/L — impact: improves [specific metric]
4. [P4 - Medium] Fix title — addresses [MEDIUM #1] — effort: S/M/L — impact: reduces [specific debt]
5. [P5 - Optional] Fix title — addresses [LOW #1] — effort: S/M/L — impact: nice-to-haveEffort scale: S = < 1 day, M = 1-3 days, L = > 3 days.
Quick Wins (fix in <1 hour): List any issues that can be resolved immediately with minimal effort:
- [Issue name]: [one-line fix description]process_payment function").Efficiency Rules:
Calibration:
Before auditing, if not already provided, ask:
If context is missing, assume:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | fail→pass | 11,885 | 5,933 | -50% | 1 | 1 | 0% | 1,752 | 4,332 | +147% | 0 | 0 | — |
case-01 | fail→fail | 16,418 | 19,977 | +22% | 1 | 1 | 0% | 2,168 | 4,839 | +123% | 0 | 0 | — |
case-02 | fail→fail | 201,722 | 8,196 | -96% | 1 | 1 | 0% | 1,030 | 4,951 | +381% | 0 | 0 | — |
case-03 | pass→fail | 40,652 | 12,400 | -69% | 1 | 1 | 0% | 5,337 | 5,332 | -0% | 0 | 0 | — |
case-04 | pass→fail | 27,045 | 6,472 | -76% | 1 | 1 | 0% | 5,683 | 4,637 | -18% | 0 | 0 | — |
case-05 | pass→pass | 194,341 | 91,534 | -53% | 1 | 1 | 0% | 529 | 4,743 | +797% | 0 | 0 | — |
case-06 | fail→fail | 2,419 | 4,788 | +98% | 1 | 1 | 0% | 373 | 4,129 | +1007% | 0 | 0 | — |
case-07 | fail→fail | 16,185 | 126,491 | +682% | 1 | 1 | 0% | 1,872 | 6,871 | +267% | 0 | 0 | — |
case-08 | pass→pass | 19,947 | 21,377 | +7% | 1 | 1 | 0% | 2,804 | 6,574 | +134% | 0 | 0 | — |
case-10 | fail→pass | 24,402 | 13,877 | -43% | 1 | 1 | 0% | 3,204 | 5,714 | +78% | 0 | 0 | — |
case-11 | pass→pass | 7,592 | 18,529 | +144% | 1 | 1 | 0% | 1,312 | 6,058 | +362% | 0 | 0 | — |
case-12 | pass→pass | 17,955 | 22,280 | +24% | 1 | 1 | 0% | 1,846 | 6,860 | +272% | 0 | 0 | — |
case-13 | fail→pass | 42,220 | 9,308 | -78% | 1 | 1 | 0% | 2,668 | 5,051 | +89% | 0 | 0 | — |
case-14 | fail→pass | 6,328 | 2,149 | -66% | 1 | 1 | 0% | 613 | 3,887 | +534% | 0 | 0 | — |
case-15 | fail→pass | 15,589 | 4,047 | -74% | 1 | 1 | 0% | 1,982 | 4,056 | +105% | 0 | 0 | — |
case-16 | pass→pass | 71,964 | 9,176 | -87% | 1 | 1 | 0% | 1,349 | 4,564 | +238% | 0 | 0 | — |
case-17 | fail→pass | 9,107 | 3,957 | -57% | 1 | 1 | 0% | 1,325 | 4,262 | +222% | 0 | 0 | — |
case-18 | pass→pass | 12,909 | 15,298 | +19% | 1 | 1 | 0% | 1,071 | 6,263 | +485% | 0 | 0 | — |
case-19 | fail→fail | 21,013 | 16,478 | -22% | 1 | 1 | 0% | 2,535 | 5,590 | +121% | 0 | 0 | — |
case-20 | fail→pass | 13,313 | 5,203 | -61% | 1 | 1 | 0% | 1,797 | 4,427 | +146% | 0 | 0 | — |
case-21 | fail→pass | 9,410 | 4,184 | -56% | 1 | 1 | 0% | 1,430 | 4,073 | +185% | 0 | 0 | — |
case-22 | pass→pass | 10,706 | 11,156 | +4% | 1 | 1 | 0% | 1,394 | 5,124 | +268% | 0 | 0 | — |
case-23 | pass→pass | 9,358 | 4,826 | -48% | 1 | 1 | 0% | 1,584 | 4,300 | +171% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +20 percentage points is the difference between those two pass rates over the 23 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.