setup-claude-devcontainer
Install Claude Code into an existing shared devcontainer generated by the setup-devcontainer skill — its own install step, optional YOLO alias, and optional…
Skill by ken-guru
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ken-guru-setup-claude-devcontainer
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/setup-claude-devcontainer
What's inside
- Skill name
setup-claude-devcontainer- Description
- Install Claude Code into an existing shared devcontainer generated by the setup-devcontainer skill — its own install step, optional YOLO alias, and optional automatic skill sync, added idempotently without touching anything else in the container. Use when the user wants to add Claude Code to a devcontainer, or re-run this after the container definition already exists.
- License
- MIT
- Instructions
- 123 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- files: referenced but missing: scripts/patch-if-absent.sh
Files (6)
- SKILL.md
- install-block.sh · templates/
- network-manifest-entries.json · templates/
- post-start-block.sh · templates/
- readme-bullet.md · templates/
- yolo-alias-block.sh · templates/
SKILL.md (first lines)
# Setup Claude Code Devcontainer
Adds Claude Code to a devcontainer already generated by the
[setup-devcontainer](../setup-devcontainer/SKILL.md) skill. This skill never
touches `devcontainer.json` or the `Dockerfile` — it appends its own
marker-keyed content to `post-create.sh`, `post-start.sh` (if skill sync is
opted into), and `README.md`, and idempotently ensures its own Network
Manifest entry exists in `.devcontainer/network-manifest.json`.
## 0. Security & Trust
This skill's generated automation touches three areas an external audit may flag. Each is
opt-in, scoped to this container, and exists for a specific reason — none of it runs on the
host, only inside the generated devcontainer.
- **Installer Provenance**: installs Claude Code via Anthropic's own official installer
(`https://claude.ai/install.sh`, documented at code.claude.com/docs/en/quickstart). Runs
once, at container creation (`postCreateCommand`), not on every start — and only if
`~/.local/bin/claude` doesn't already exist.
- **Agent Authority**: the optional `claude-yolo` alias uses `--permission-mode auto
--worktree --remote-control`, deliberately not `--dangerously-skip-permissions` — that flag
triggers Claude Code's own bwrap sandbox, whose mount-namespace view of the repo conflicts
with git's worktree identity check and breaks worktree creation. Off by default; only added
if accepted during setup.
- **Skill Source Trust**: if skill sync is accepted, `~/.claude/skills` is wiped and
repopulated from the source(s) you name, on every container start. The wipe is scoped to
that one fixed directory inside this container — it can't reach anything else. The real
trust decision is the source itself: naming one means trusting its skills unattended, with
no per-skill review step, every time the container starts. Off by default.
See [ADR-0007](../setup-devcontainer/docs/adr/0007-agent-trust-hub-audit-response.md) for the
full reasoning and the alternatives rejected.
## 1. Detect the base devcontainer
```bash
test -f .devcontainer/devcontainer.json && test -f .devcontainer/post-create.sh && echo ok
```
If either file is missing, **refuse** — tell the user to run
`setup-devcontainer` first, and stop. Do not generate or patch anything.
## 2. Ask this tool's options
- **YOLO alias**: add `claude-yolo` for fast, unattended iteration? Uses
classifier-based auto permission mode, not `--dangerously-skip-permissions`
(which breaks `--worktree` — see the template's own comment for why).
- **Automatic skill sync**: sync AI-agent skills into `~/.claude/skills`
automatically on every container start? Two ready-made suites are
available — `mattpocock/skills` and `ken-guru/skills` — plus any
individually named skill in `owner/repo/skill-name` form. Validate each
individually-named pick live before rendering anything:
`npx -y skills add <source> --list`; re-ask on a typo or unresolved source
rather than rendering a broken command. **Only naming a source you trust
matters here** — this installs and re-syncs that source's skills
unattended, with no per-skill review step, and an installed skill's
instructions can influence what the agent does inside the container.
## 3. Patch `post-create.sh`
Append [templates/install-block.sh](templates/install-block.sh) verbatim,
keyed on its own first line as the idempotency marker:
```bash
scripts/patch-if-absent.sh append .devcontainer/post-create.sh "# --- Claude Code ---" templates/install-block.sh
```
(`scripts/patch-if-absent.sh` is the base skill's shared, base-owned
primitive — reference it from `setup-devcontainer/scripts/`, don't copy it.)
If YOLO alias was accepted, also append
[templates/yolo-alias-block.sh](templates/yolo-alias-block.sh), under its own
independent marker so declining now and adding it later never re-triggers
the install:
```bash
scripts/patch-if-absent.sh append .devcontainer/post-create.sh "# --- Claude Code yolo-alias ---" templates/yolo-alias-block.sh
```
## 4. Patch the Network Manifest — unconditional, every run
Ensure Claude Code's own `.claude.networkAllowlist` entry exists in
`.devcontainer/network-manifest.json`, regardless of any answer above — this
is what lets an opted-in network firewall (a separate, base-owned layer)
allow the hosts Claude Code itself needs:
```bash
scripts/patch-json-array-if-absent.sh .devcontainer/network-manifest.json .claude.networkAllowlist templates/network-manifest-entries.json
```
## 5. Patch `post-start.sh` (only if skill sync was accepted)
Render [templates/post-start-block.sh](templates/post-start-block.sh) with
`{{SKILLS_SOURCES_COMMANDS}}` substituted to one `npx -y skills add <source>
--skill '*' -a claude-code -y --copy -g` line per whole-suite source (or
`--skill '<name>'` per individual pick), then append it:
```bash
scripts/patch-if-absent.sh append .devcontainer/post-start.sh "# --- Claude Code skill-sync ---" <rendered-block>
```
## 6. Patch `README.md`
Append [templates/readme-bullet.md](templates/readme-bullet.md) to the end of
the file — the base skill positions `## Installed CLI Tools` as `README.md`'s
last section, so a plain append always lands in the right place:
```bash
scripts/patch-if-absent.sh append .devcontainer/README.md "- Claude Code" templates/readme-bullet.md
```
## 7. Verify
Re-run every `patch-if-absent.sh`/`patch-json-array-if-absent.sh` command
from steps 3–6 a second time — each should produce zero diff. No dedicated
verify script exists for this skill; this re-run *is* the verification.
## 8. Report next stepsFrom ken-guru/skills, MIT.
More from ken-guru/skills
- 0.592score
drafting-slides
ken-guru
Drafts a slide deck as one editable Marp Markdown file, with a heading and speaker notes on every slide, citations for every factual claim, and a plan for…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
creating-charts
ken-guru
Creates static, accessible data charts (bar, line, scatter, area, and more) from a data file with Vega-Lite, checks their text is readable at final size, and…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
creating-diagrams
ken-guru
Creates legible diagrams from D2 source (flows, architectures, sequences, decision paths) and checks they stay readable at their final size.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
generating-images
ken-guru
Generates illustrations and photos with an AI image provider (Gemini or OpenAI) after the person approves the cost, and marks every result as AI-generated.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
planning-presentation
ken-guru
Plans a presentation with the person: interviews them until the audience, goal, and premises are clear, records the Brief, and builds an approved storyline…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
rendering-slides
ken-guru
Renders a Marp slide deck to HTML, a tagged PDF, and a speaker-notes script with a polished theme, installing the pinned tools it needs and checking the result.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
reviewing-presentation
ken-guru
Reviews a slide deck for factual accuracy and sourcing, language, legibility, accessibility, timing, and how the rendered slides look, and reports what to fix…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
researching-sources
ken-guru
Finds, vets, and organises credible sources for a question into a Source Set, judging each source's credibility and turning conflicting claims into explicit…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
setup-devcontainer
ken-guru
Generate a shared devcontainer (Ubuntu base image, Node, GitHub CLI, one persistent config volume) in the current repo — one container every AI CLI installs…
SkillAFreshness: A★ 1Claude Code +9 - 0.583score
setup-copilot-devcontainer
ken-guru
Install GitHub Copilot CLI into an existing shared devcontainer generated by the setup-devcontainer skill — its own install step, optional YOLO guidance, and…
SkillAFreshness: A★ 1Claude Code +9 - 0.583score
setup-codex-devcontainer
ken-guru
Install Codex into an existing shared devcontainer generated by the setup-devcontainer skill — its own install step, sandbox capability grant, optional YOLO…
SkillAFreshness: A★ 1Claude Code +9 - 0.547score
unslop
ken-guru
Load when the user asks to edit prose for a more natural voice while preserving meaning, tone, technical precision, and structured output.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 6
- Last commit (this folder)
- Sep 18, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ken-guru/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ken-guru
- 0.592score
creating-charts
ken-guru
Creates static, accessible data charts (bar, line, scatter, area, and more) from a data file with Vega-Lite, checks their text is readable at final size, and…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
creating-diagrams
ken-guru
Creates legible diagrams from D2 source (flows, architectures, sequences, decision paths) and checks they stay readable at their final size.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
generating-images
ken-guru
Generates illustrations and photos with an AI image provider (Gemini or OpenAI) after the person approves the cost, and marks every result as AI-generated.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
planning-presentation
ken-guru
Plans a presentation with the person: interviews them until the audience, goal, and premises are clear, records the Brief, and builds an approved storyline…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
rendering-slides
ken-guru
Renders a Marp slide deck to HTML, a tagged PDF, and a speaker-notes script with a polished theme, installing the pinned tools it needs and checking the result.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
drafting-slides
ken-guru
Drafts a slide deck as one editable Marp Markdown file, with a heading and speaker notes on every slide, citations for every factual claim, and a plan for…
SkillAFreshness: A★ 1Claude Code +9
Cite this page
setup-claude-devcontainer skill. Agent Mart. https://agentmart.dev/skills/ken-guru-setup-claude-devcontainer (last updated 2026-10-24)