Diagnoses devcontainer configuration problems and guides setup for VS Code, Codespaces, and Docker environments. Useful for slow startup, parity issues, or multi-service complexity.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jwynia-agent-skills-1:devcontainerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Diagnose devcontainer and Docker development environment problems. Help create reproducible, fast-starting development environments that work consistently across VS Code, GitHub Codespaces, and team members.
Diagnose devcontainer and Docker development environment problems. Help create reproducible, fast-starting development environments that work consistently across VS Code, GitHub Codespaces, and team members.
Use this skill when:
Do NOT use this skill when:
Development containers should provide instant productivity. Every configuration choice affects startup time, reproducibility, and team onboarding. Make these trade-offs explicit.
Symptoms: Manual setup, "check the README", works on one machine fails on others
Interventions:
assets/devcontainer-simple.md templateSymptoms: 5+ minute startup, heavy postCreateCommand, avoiding rebuilds
Key Questions:
Interventions:
scripts/analyze-devcontainer.tsSymptoms: JSON errors, VS Code won't connect, features conflicting
Checklist:
Symptoms: Works in VS Code, fails in Codespaces (or vice versa)
Common Issues:
| Issue | Local VS Code | Codespaces |
|---|---|---|
| Docker socket | Usually available | Docker-in-Docker needed |
| Secrets | .env files work | Use Codespaces secrets |
| File watching | Native | May need polling |
Symptoms: Need database/cache/queue, services can't communicate
Interventions:
assets/devcontainer-compose.md templateSymptoms: Build failures, huge images, no caching
Best Practices:
FROM mcr.microsoft.com/devcontainers/base:ubuntu
# Dependencies first (cached)
RUN apt-get update && apt-get install -y \
build-essential && rm -rf /var/lib/apt/lists/*
# Copy deps then install (cached if deps unchanged)
COPY package*.json ./
RUN npm install
# Code last (changes frequently)
COPY . .
Indicators:
| Script | Purpose | Usage |
|---|---|---|
analyze-devcontainer.ts | Find issues and optimizations | deno run --allow-read scripts/analyze-devcontainer.ts |
validate-dockerfile.ts | Check Dockerfile best practices | deno run --allow-read scripts/validate-dockerfile.ts |
scan-image.ts | Vulnerability scanning (wraps Trivy) | deno run --allow-run scripts/scan-image.ts [image] |
Installing every tool "just in case" - 10+ minute startups. Fix: Start minimal. Add only when needed.
Everything in postCreateCommand - runs every time. Fix: Move stable operations to Dockerfile.
Manual changes inside running containers. Fix: ALL changes go in config files.
assets/devcontainer-simple.md - Basic single-container setupassets/devcontainer-dockerfile.md - Custom Dockerfile approachassets/devcontainer-compose.md - Multi-service setupnpx claudepluginhub joshuarweaver/cascade-content-creation-misc-1 --plugin jwynia-agent-skills-1Configures dev containers and GitHub Codespaces with devcontainer.json schema, features, lifecycle hooks, port forwarding, and VS Code customizations.
Scaffolds a complete VS Code Dev Container configuration with Docker, docker-compose, and optional Claude Code CLI support.
Creates devcontainers with language-specific tooling (Python/Node/Rust/Go) and persistent volumes. Use when adding devcontainer support to a project or setting up isolated development environments.