Agent skill
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.
Install this agent skill to your Project
npx add-skill https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/devcontainer
Metadata
Additional technical details for this skill
- mode
- diagnostic+generative
- type
- diagnostic
- author
- jwynia
- domain
- development
- version
- 1.0
SKILL.md
Devcontainer Diagnostic
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.
When to Use This Skill
Use this skill when:
- Setting up a new devcontainer
- Container startup is too slow
- Configuration errors or conflicts
- Different behavior in VS Code vs Codespaces
- Multi-service development environment needed
Do NOT use this skill when:
- Writing application code
- Deploying to production
- Configuring CI/CD pipelines
Core Principle
Development containers should provide instant productivity. Every configuration choice affects startup time, reproducibility, and team onboarding. Make these trade-offs explicit.
Diagnostic States
DV0: No Devcontainer Strategy
Symptoms: Manual setup, "check the README", works on one machine fails on others
Interventions:
- Start with pre-built devcontainer base image
- Use
assets/devcontainer-simple.mdtemplate
DV1: Slow Container Startup
Symptoms: 5+ minute startup, heavy postCreateCommand, avoiding rebuilds
Key Questions:
- How long does startup actually take?
- What's in postCreateCommand?
- Are you using prebuilds?
Interventions:
- Move npm install/pip install to Dockerfile (cached)
- Use mcr.microsoft.com/devcontainers/* base images
- Configure prebuilds for team repos
- Run
scripts/analyze-devcontainer.ts
DV2: Configuration Problems
Symptoms: JSON errors, VS Code won't connect, features conflicting
Checklist:
- devcontainer.json passes JSON validation
- Using only ONE of: image, build.dockerfile, dockerComposeFile
- Features are compatible and ordered correctly
- Extensions use correct publisher.extension-name format
DV3: Environment Parity Issues
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 |
DV4: Multi-Service Complexity
Symptoms: Need database/cache/queue, services can't communicate
Interventions:
- Use Docker Compose integration
- Named volumes for persistence
- Health checks for service readiness
- Use
assets/devcontainer-compose.mdtemplate
DV5: Dockerfile Issues
Symptoms: 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 . .
DV6: Devcontainer Validated
Indicators:
- Startup under 2 minutes
- Works in VS Code and Codespaces
- New developers productive in 30 minutes
Available Scripts
| 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] |
Anti-Patterns
The Kitchen Sink
Installing every tool "just in case" - 10+ minute startups. Fix: Start minimal. Add only when needed.
The postCreateCommand Overload
Everything in postCreateCommand - runs every time. Fix: Move stable operations to Dockerfile.
The Snowflake Container
Manual changes inside running containers. Fix: ALL changes go in config files.
Templates
assets/devcontainer-simple.md- Basic single-container setupassets/devcontainer-dockerfile.md- Custom Dockerfile approachassets/devcontainer-compose.md- Multi-service setup
Related Skills
- system-design - Multi-service architecture informs Compose config
- pwa-development - Consistent environment for PWA toolchain
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
document-to-narration
Convert written documents to narrated video scripts with TTS audio and word-level timing. Use when preparing essays, blog posts, or articles for video narration. Outputs scene files, audio, and VTT with precise word timestamps. Keywords: narration, voiceover, TTS, scenes, audio, timing, video script, spoken.
shadcn-layouts
Generate correct shadcn/Tailwind layouts by applying CSS mental models. This skill should be used when the user asks to 'create a shadcn layout', 'fix layout issues', 'debug CSS height problems', 'make scrolling work', or has issues with Tailwind flex/grid. Keywords: shadcn, Tailwind, layout, CSS, flex, grid, height, scroll, overflow.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Provides analysis tools for auditing existing designs and generation tools for creating color palettes, typography systems, design tokens, and component templates. Supports React, Vue, Svelte, and vanilla HTML/CSS. Use when building web components, pages, or applications. Keywords: design, UI, frontend, CSS, components, palette, typography, tokens, accessibility.
react-pwa
pwa-development
Implement Progressive Web App features for React and Svelte projects. This skill should be used when the user asks to 'make a PWA', 'add offline support', 'create a service worker', 'fix caching issues', or wants installable web apps. Keywords: PWA, service worker, offline, manifest, caching, installable, Workbox, vite-pwa.
mastra-hono
Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers. This skill should be used when creating Mastra agents, defining tools with Zod schemas, building workflows with step data flow, setting up Hono API servers with Mastra adapters, or implementing agent networks. Keywords: mastra, hono, agent, tool, workflow, AI, LLM, typescript, API, MCP.
Didn't find tool you were looking for?