Creates devcontainers with Claude Code, language-specific tooling (Python/Node/Rust/Go), and persistent volumes. Use when adding devcontainer support to a project, setting up isolated development envi
Install
The skill file stays in the publisher's repository.
Paste the copied command in a terminal. It installs this SKILL.md into that agent.
npx skills add trailofbits/skills --skill devcontainer-setup -a cursor -y
Creates devcontainers with Claude Code, language-specific tooling (Python/Node/Rust/Go), and persistent volumes. Use when adding devcontainer support to a project, setting up isolated development environments, or configuring sandboxed Claude Code workspaces.
Questions
How do I install devcontainer-setup?
Download plugins/devcontainer-setup/skills/devcontainer-setup/SKILL.md from the publisher, or copy the path and open the repository. PlugMCP lists the skill and does not host the file.
Where does devcontainer-setup live?
The publisher keeps it at https://github.com/trailofbits/skills.
Which agents can use devcontainer-setup?
Claude, Cursor, and Codex can read a SKILL.md you add from the publisher's repository.
Creates devcontainers with Claude Code, language-specific tooling (Python/Node/Rust/Go), and persistent volumes. Use when adding devcontainer support to a project, setting up isolated development environments, or configuring sandboxed Claude Code workspaces.
name: devcontainer-setup
description: Creates devcontainers with Claude Code, language-specific tooling (Python/Node/Rust/Go), and persistent volumes. Use when adding devcontainer support to a project, setting up isolated development environments, or configuring sandboxed Claude Code workspaces.
Devcontainer Setup Skill
Creates a pre-configured devcontainer with Claude Code and language-specific tooling.
When to Use
User asks to "set up a devcontainer" or "add devcontainer support"
User wants a sandboxed Claude Code development environment
User needs isolated development environments with persistent configuration
When NOT to Use
User already has a devcontainer configuration and just needs modifications
User is asking about general Docker or container questions
User wants to deploy production containers (this is for development only)
For multi-language postCreateCommand, chain all setup commands:
uv run /opt/post_install.py && uv sync && npm ci
Extensions and settings from all detected languages should be merged into the configuration.
Phase 2: Generate Configuration
Start with base templates from resources/ directory. Substitute:
{{PROJECT_NAME}} → Human-readable name (e.g., "My Project")
{{PROJECT_SLUG}} → Slug for volumes (e.g., "my-project")
Then apply language-specific modifications below.
Base Template Features
The base template includes:
Claude Code with marketplace plugins (anthropics/skills, trailofbits/skills, trailofbits/skills-curated)
Sandboxing via bubblewrap and socat
Python 3.13 via uv (fast binary download)
Node 22 via fnm (Fast Node Manager)
ast-grep for AST-based code search
Network isolation tools (iptables, ipset) with NET_ADMIN capability
Security mounts: .devcontainer/ mounted read-only to prevent container escape
Token forwarding: CLAUDE_CODE_OAUTH_TOKEN and ANTHROPIC_API_KEY via remoteEnv
Modern CLI tools: ripgrep, fd, fzf, tmux, git-delta
Language-Specific Sections
Python Projects
Detection:pyproject.toml, requirements.txt, setup.py, or *.py files
Dockerfile additions:
The base Dockerfile already includes Python 3.13 via uv. If a different version is required (detected from pyproject.toml), modify the Python installation:
# Install Python via uv (fast binary download, not source compilation)
RUN uv python install <version> --default
Generate these files in the project's .devcontainer/ directory:
Dockerfile - Container build instructions
devcontainer.json - VS Code/devcontainer configuration
post_install.py - Post-creation setup script
.zshrc - Shell configuration
install.sh - CLI helper for managing the devcontainer (devc command)
Validation Checklist
Before presenting files to the user, verify:
All {{PROJECT_NAME}} placeholders are replaced with the human-readable name
All {{PROJECT_SLUG}} placeholders are replaced with the slugified name
JSON syntax is valid in devcontainer.json (no trailing commas, proper nesting)
Language-specific extensions are added for all detected languages
postCreateCommand includes all required setup commands (chained with &&)
User Instructions
After generating, inform the user:
How to start: "Open in VS Code and select 'Reopen in Container'"
Alternative: devcontainer up --workspace-folder .
CLI helper: Run .devcontainer/install.sh self-install to add the devc command to PATH
How do I install devcontainer-setup?
Download plugins/devcontainer-setup/skills/devcontainer-setup/SKILL.md from the publisher, or copy the path and open the repository. PlugMCP lists the skill and does not host the file.
Where does devcontainer-setup live?
The publisher keeps it at https://github.com/trailofbits/skills.
Which agents can use devcontainer-setup?
Claude, Cursor, and Codex can read a SKILL.md you add from the publisher's repository.