Vibe check
⚡ SOTA agent skills for OpenClaw — observability, security, code quality, incident response, and more. Built by Anvil AI.
npx -y skills add cacheforge-ai/cacheforge-skills --skill vibe-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Audit code for "vibe coding sins" — patterns that indicate AI-generated code was accepted without proper review. Produces a scored report card with fix suggestions.
SKILL.md
5.1 KB, as published. Nobody here has run it
🎭 Vibe Check
Audit code for "vibe coding" — AI-generated code accepted without proper human review. Get a scored report card with specific findings and fix suggestions.
Trigger
Activate when the user mentions any of:
- "vibe check"
- "vibe-check"
- "audit code"
- "code quality"
- "vibe score"
- "check my code"
- "review this code for vibe coding"
- "code review"
- "vibe audit"
Instructions
1. Determine the Target
Ask the user what code to analyze. Accepted inputs:
- Single file:
app.py,src/utils.ts - Directory:
src/,.,my-project/ - Git diff: last N commits, staged changes, or branch comparison
2. Run the Analysis
# Single file or directory
bash "$SKILL_DIR/scripts/vibe-check.sh" TARGET
# With fix suggestions
bash "$SKILL_DIR/scripts/vibe-check.sh" --fix TARGET
# Git diff (last 3 commits)
bash "$SKILL_DIR/scripts/vibe-check.sh" --diff HEAD~3
# Staged changes with fixes
bash "$SKILL_DIR/scripts/vibe-check.sh" --staged --fix
# Save to file
bash "$SKILL_DIR/scripts/vibe-check.sh" --fix --output report.md TARGET
3. Present the Report
The output is a Markdown report. Present it directly — it's designed to be screenshot-worthy.
Discord v2 Delivery Mode (OpenClaw v2026.2.14+)
When the conversation is happening in a Discord channel:
- Send a compact summary first (grade, score, file count, top 3 findings), then ask if the user wants the full report.
- Keep the first message under ~1200 characters and avoid wide Markdown tables in the first response.
- If Discord components are available, include quick actions:
Show Top FindingsShow Fix SuggestionsRun Diff Mode
- If components are not available, provide the same follow-ups as a numbered list.
- Prefer short follow-up chunks (<=15 lines per message) when sending the full report.
Quick Reference
| Command | Description |
|---|---|
vibe-check FILE | Analyze a single file |
vibe-check DIR | Scan directory recursively |
vibe-check --diff | Check last commit's changes |
vibe-check --diff HEAD~5 | Check last 5 commits |
vibe-check --staged | Check staged changes |
vibe-check --fix DIR | Include fix suggestions |
vibe-check --output report.md DIR | Save report to file |
Sin Categories (what it checks)
| Category | Weight | What It Catches |
|---|---|---|
| Error Handling | 20% | Missing try/catch, bare exceptions, no edge cases |
| Input Validation | 15% | No type checks, no bounds checks, trusting all input |
| Duplication | 15% | Copy-pasted logic, DRY violations |
| Dead Code | 10% | Unused imports, commented-out blocks, unreachable code |
| Magic Values | 10% | Hardcoded strings/numbers/URLs without constants |
| Test Coverage | 10% | No test files, no test patterns, no assertions |
| Naming Quality | 10% | Vague names (data, result, temp, x), misleading names |
| Security | 10% | eval(), exec(), hardcoded secrets, SQL injection |
Scoring
- A (90-100): Pristine code, minimal issues
- B (80-89): Clean code with minor issues
- C (70-79): Decent but lazy patterns crept in
- D (60-69): Needs human attention
- F (<60): Heavy vibe coding detected
Notes for the Agent
- The report is the star. Present it in full — it's designed to look great.
- After presenting, offer to run
--fixmode if they didn't already. - Suggest the README badge:
 - For large codebases, suggest focusing on specific directories or using
--diffmode. - If no LLM API key is set, the tool falls back to heuristic analysis (less accurate but still useful).
- Supported languages (v1): Python, TypeScript, JavaScript only.
References
scripts/vibe-check.sh— Main entry pointscripts/analyze.sh— LLM code analysis engine (with heuristic fallback)scripts/git-diff.sh— Git diff file extractorscripts/report.sh— Markdown report generatorscripts/common.sh— Shared utilities and constants
Examples
Example 1: Audit a Directory
User: "Vibe check my src directory"
Agent runs:
bash "$SKILL_DIR/scripts/vibe-check.sh" src/
Output: Full scorecard with per-file breakdown, category scores, and top findings.
Example 2: Check with Fixes
User: "Review this code for vibe coding and suggest fixes"
Agent runs:
bash "$SKILL_DIR/scripts/vibe-check.sh" --fix src/
Output: Scorecard + unified diff patches for each finding.
Example 3: Git Diff Mode
User: "Check the code quality of my last 3 commits"
Agent runs:
bash "$SKILL_DIR/scripts/vibe-check.sh" --diff HEAD~3
Output: Scorecard focused only on recently changed files.