Environment preflight check tool for Bodega project dependencies.
Install
mkdir -p .claude/skills/doctor-mitcheman && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12335" && unzip -o skill.zip -d .claude/skills/doctor-mitcheman && rm skill.zipInstalls to .claude/skills/doctor-mitcheman
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Preflight check — verifies the user's environment has everything Bodega needs (Node, package manager, Vercel CLI, gh CLI, Next.js if adapting). Reports clearly what's missing and how to fix it. Auto-invoked at the start of setup; can also be run standalone.Key capabilities
- →Verify Node.js version is at least 20
- →Check for presence of a package manager (npm, pnpm, yarn, or bun)
- →Detect Vercel CLI and gh CLI installations
- →Identify if Next.js 16 is present in a project
- →Report missing tools and provide installation guidance
How it works
The skill checks for required tools and their versions, categorizing them as critical, needed for deploy, or optional. It then reports the status of each tool.
Inputs & outputs
When to use doctor
- →Check project environment setup
- →Validate tool versions before deployment
- →Diagnose setup errors
About this skill
Bodega: Doctor
A single-command environment check. Run before starting setup to know what's missing, or standalone any time you want to verify the machine is still good.
What it checks
Critical (Bodega can't run at all without these):
- Node.js ≥ 20
- A package manager (npm, pnpm, yarn, or bun)
Needed for deploy (warn but don't block here — the hosting skill
will install Vercel CLI if missing):
- Vercel CLI (
vercel)
Optional (depending on features the user wants):
ghCLI (only for/bodega:backup)git(bundled on most systems; required for backup)- Stripe CLI (nice for webhook testing; not required)
Project-specific (only if a project is already present):
package.json— is this a Node project at all?- Framework → Next.js 16 preferred. Others: best-effort.
.impeccable.md— design context available? (If absent, the commerce SDK falls back to built-in tokens.).bodega.md— already set up? (setup won't clobber; reconfigure will.)
Workspace-parent detection: if cwd has 2+ subdirectories that
contain package.json files, the cwd is a workspace parent (e.g.,
~/Developer/). Doctor reports this as a warning so the user knows
they're probably in the wrong directory before setup tries to
greenfield-scaffold over it.
Version floors (when a tool is present, doctor checks the major version too):
vercelCLI: floor 50.0.0. Stale CLIs miss commands and have known auth bugs. Warn (don't block) if older.ghCLI: floor 2.40.0. Older versions missrepo createflags bodega's backup skill uses.
How to run
node ${CLAUDE_PLUGIN_ROOT}/scripts/check.mjs
(Or just invoke this skill — /bodega:doctor — and the
runtime handles the dispatch.)
Output
The check script prints a table and exits 0 if all critical checks pass, exits 1 otherwise. Example output:
✓ Node 22.1.0 (>= 20 required)
✓ pnpm 9.12.0 (package manager)
✓ git 2.45.0
✗ Vercel CLI not installed → Run: npm i -g vercel
✓ gh CLI 2.60.0 (optional — for backup)
✓ Next.js 16.2.4 detected
✓ .impeccable.md present (design context available)
1 issue. Install missing tools and re-run /bodega:doctor.
Voice adaptation
If .bodega.md exists and sets mode: simple, soften the output:
Looking at your computer to make sure everything is ready...
✓ Node is installed (version 22.1, good)
✓ You have a package manager (pnpm 9.12)
✗ Vercel is not installed yet — I'll install it for you when we get to
the hosting step, or you can install it now with:
npm i -g vercel
Otherwise you're good to go. Run /bodega:setup when ready.
If .bodega.md is absent (first run), default to a neutral voice.
Auto-invocation
The /bodega:setup skill invokes doctor as its very
first step. If doctor reports any critical failures, setup halts and
tells the user to fix them first. Non-critical warnings are shown but
don't block.
The doctor script must always exit 0 on "warnings only" (e.g., Vercel CLI missing is a warning, not a failure) so setup can continue and let the hosting skill handle the install.
What counts as critical vs. warning
| Check | Critical if missing? |
|---|---|
| Node >= 20 | ✅ critical — halt |
| Any package manager | ✅ critical — halt |
package.json in adapt mode | ⚠️ warning — mode may shift to greenfield |
package.json in greenfield mode | — expected absent |
| Vercel CLI | ⚠️ warning — hosting skill installs |
gh CLI | ⚠️ warning — only needed for backup |
git | ⚠️ warning — only needed for backup |
| Stripe CLI | informational — never blocks |
Rules
- Never auto-install anything from
doctor. It's read-only. Install happens in the skill that actually uses the tool. - Don't cache results. Every invocation re-checks. Environments change.
- Respect
.bodega.mdvoice if present. Default to neutral if absent. - Keep the output under 15 lines in typical (healthy) case. If everything passes, the entire output fits on a phone screen.
When not to use it
- →When auto-installing tools is required
- →When cached environment results are acceptable
- →When the output needs to exceed 15 lines in a healthy case
Limitations
- →It never auto-installs anything
- →It does not cache results
- →The output is kept under 15 lines in typical cases
How it compares
This skill provides a structured, categorized report of environment readiness with specific version checks, unlike manually checking each tool's presence and version.
Compared to similar skills
doctor side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| doctor (this skill) | 0 | 3mo | Review | Beginner |
| cloudflare-manager | 25 | 9mo | Review | Intermediate |
| azure-functions | 10 | 5mo | Review | Intermediate |
| nuxthub-migration | 5 | 8mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by mitcheman
View all by mitcheman →You might also like
cloudflare-manager
qdhenry
Comprehensive Cloudflare account management for deploying Workers, KV Storage, R2, Pages, DNS, and Routes. Use when deploying cloudflare services, managing worker containers, configuring KV/R2 storage, or setting up DNS/routing. Requires CLOUDFLARE_API_KEY in .env and Bun runtime with dependencies installed.
azure-functions
aj-geddes
Create serverless functions on Azure with triggers, bindings, authentication, and monitoring. Use for event-driven computing without managing infrastructure.
nuxthub-migration
onmax
Use when migrating NuxtHub projects or when user mentions NuxtHub Admin sunset, GitHub Actions deployment removal, self-hosting NuxtHub, or upgrading to v1/nightly. Covers v0.9.X self-hosting (stable) and v1/nightly multi-cloud (experimental, database/blob not ready).
openevidence-deploy-integration
jeremylongshore
Deploy OpenEvidence integrations to healthcare production environments. Use when deploying to production, setting up staging environments, or configuring cloud deployments for clinical AI applications. Trigger with phrases like "deploy openevidence", "openevidence staging", "openevidence production deploy", "release openevidence".
replit-deploy-integration
jeremylongshore
Deploy Replit integrations to Vercel, Fly.io, and Cloud Run platforms. Use when deploying Replit-powered applications to production, configuring platform-specific secrets, or setting up deployment pipelines. Trigger with phrases like "deploy replit", "replit Vercel", "replit production deploy", "replit Cloud Run", "replit Fly.io".
resources
windmill-labs
MUST use when managing resources.