jwynia/devcontainer
Diagnose devcontainer configuration problems and guide development environment setup. This skill should be used when the user asks to 'set up devcontainer', 'fix container startup', 'configure VS Code dev container', 'Codespaces setup', or has Docker development environment issues. Keywords: devcontainer, docker, VS Code, Codespaces, container, development environment, Dockerfile.
npx skills add https://github.com/jwynia/agent-skills --skill devcontainer
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 setupTake jwynia/devcontainer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip, npm, apt.
Without those the skill loads but fails at the first command.