Agent skill · operations · aiskillstore

env-doctor-free

Diagnose local project environment issues that prevent apps from starting or running. Use when the user says "why won't this run", "check my environment", "env doctor", "diagnose startup issue", "it works on my machine", or asks for help debugging missing dependencies, runtime versions, port conflicts, .env problems, file permissions, or stopped services.

Why this skill is useful

Adds specific commands and checks for diagnosing environment issues that the AI wouldn't reliably generate on its own.

What it needs

Requires docker installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.

What this skill does

Env Doctor Diagnose the local environment before changing application code. Treat the project as innocent until the environment is ruled out. Workflow 1. Detect project type from files: Node: package.json Python: requirements.txt, pyproject.toml, Pipfile, or manage.py Go: go.mod Docker: Dockerfile or docker-compose.yml 2. Check runtime availability and versions: Node: node --version and npm --version Python: python --version or python3 --version Go: go version Docker: docker --version and docker compose version 3. Check dependencies: Node projects with no nodemodules/: flag as high priority and suggest npm install. Python projects with no .venv/, venv/, or active virtual environment: flag and suggest creating one, then installing requirements. Go projects: run go mod tidy only after explaining it mutates go.mod/go.sum; otherwise suggest it as the fix. Docker projects: check whether Docker is running before suggesting rebuilds. 4. Check common port conflicts for 3000, 3001, 5000, 8000, and 8080. Detect the operating system before providing commands. On macOS/Linux, inspect listeners with lsof -nP -iTCP:<port> -sTCP:LISTEN, then identify the PID with ps. On Windows PowerShell, inspect listeners with Get-NetTCPConnection -LocalPort <port>, then identify the owning PID with Get-Process. Report the PID, executable or service name, and available ownership evidence before suggesting any stop action. Prefer the application's documented stop command, Ctrl+C in its owning terminal, or a targeted service stop. Never assume a listener is stale or belongs to the project. Do not terminate any process without the user's explicit approval. Never default to kill -9, Stop-Process -Force, or a broad process-name kill. Escalation to a force-kill requires a confirmed target, a failed normal stop, and separate explicit approval. 5. Validate environment variables: Compare .env.example against .env when both or either exist. Flag missing .env if .env.example exists. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aiskillstore/env-doctor-free

View the source on GitHub

Browse the @skills marketplace