← ClaudeAtlas

vibe-doctorlisted

Environment health check and auto-remediation for vibe-* projects. Checks node_modules vs package.json drift, nested .git directories, Tailwind and shadcn version mismatches, dotenv load order, Vite HMR WebSocket config, husky hook permissions, ESLint config validity, TypeScript path resolution, and missing dependencies in generated code. Auto-remediates where safe. Flags where human action is needed. Outputs a health report and writes vibe/.doctor-last-run for vibe-progress. Triggers on "doctor:", "check environment", "fix my environment", "env check", "why won't my app start", "something is broken at startup", "app won't start". Also invoked by vibe-fix-bug when an environment bug is detected in triage. Run manually or via PreToolUse hook.
aakashdhar/vibe-skill · ★ 7 · Code & Development · score 68
Install: claude install-skill aakashdhar/vibe-skill
# Vibe Doctor Skill Environment health check and auto-remediation. Catches the failure modes that compound across sessions before they waste build time. Runs in 20-40 seconds. Auto-fixes what it can. Flags what it cannot. **Always run in Plan Mode for diagnosis. Auto-exits to execute remediations.** --- ## Why this skill exists The most common session-wasting pattern in vibe-* projects: session starts → command fails → agent investigates → discovers env problem → spends 20 minutes fixing config → never gets to the actual work. These failures are all checkable in 30 seconds: - node_modules missing or stale (package.json changed since last install) - Tailwind v3 project running v4 syntax from generated code - dotenv loaded after code that reads process.env - Vite HMR WebSocket not configured for dev server - husky hooks not executable (no chmod) - Nested .git directory breaking git operations - TypeScript paths not matching folder structure - Missing package referenced in generated import Check once at session start. Fix everything. Build with confidence. --- ## Setting up the PreToolUse hook (recommended) After running doctor: for the first time, it offers to install itself as a hook. Or add manually to `.claude/settings.json` at project root: ```json { "hooks": { "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "[ -f vibe/.doctor-last-run ] && [ $(( $(date +%s) - $(cat vibe/.doctor-last-run 2>/dev/null