Install
openclaw skills install vibe-checkAudit code for "vibe coding sins" — patterns that indicate AI-generated code was accepted without proper review. Produces a scored report card with fix suggestions.
openclaw skills install vibe-checkAudit code for "vibe coding" — AI-generated code accepted without proper human review. Get a scored report card with specific findings and fix suggestions.
Activate when the user mentions any of:
Ask the user what code to analyze. Accepted inputs:
app.py, src/utils.tssrc/, ., my-project/# 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
The output is a Markdown report. Present it directly — it's designed to be screenshot-worthy.
When the conversation is happening in a Discord channel:
Show Top FindingsShow Fix SuggestionsRun Diff Mode| 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 |
| 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 |
--fix mode if they didn't already.--diff mode.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 constantsUser: "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.
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.
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.