Reflexo Release
Myriad-Dreamin/typst.ts
Guide Reflexo/typst.ts release preparation and operator handoffs.
Add a new AI coding agent to Agent Sandbox. An agent skill from mattolson/agent-sandbox.
$ npx skills add mattolson/agent-sandbox --skill add-agent -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mattolson/agent-sandbox add-agent --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mattolson/agent-sandbox.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-agent .claude/skills/add-agent && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-agent" agent skill from https://github.com/mattolson/agent-sandbox/tree/main/.agents/skills/add-agent into .claude/skills/add-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-agent", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mattolson/agent-sandbox/tree/main/.agents/skills/add-agentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mattolson/agent-sandbox --skill add-agent -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mattolson/agent-sandbox add-agent --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mattolson/agent-sandbox.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/add-agent .agents/skills/add-agent && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-agent" agent skill from https://github.com/mattolson/agent-sandbox/tree/main/.agents/skills/add-agent into .agents/skills/add-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-agent", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mattolson/agent-sandbox --skill add-agent -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mattolson/agent-sandbox add-agent --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mattolson/agent-sandbox.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/add-agent .cursor/skills/add-agent && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-agent" agent skill from https://github.com/mattolson/agent-sandbox/tree/main/.agents/skills/add-agent into .cursor/skills/add-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-agent", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mattolson/agent-sandbox.git --path .agents/skills/add-agent--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mattolson/agent-sandbox --skill add-agent -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mattolson/agent-sandbox add-agent --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mattolson/agent-sandbox.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/add-agent .gemini/skills/add-agent && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-agent" agent skill from https://github.com/mattolson/agent-sandbox/tree/main/.agents/skills/add-agent into .gemini/skills/add-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-agent", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mattolson/agent-sandbox add-agentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mattolson/agent-sandbox --skill add-agent -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mattolson/agent-sandbox.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/add-agent .github/skills/add-agent && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-agent" agent skill from https://github.com/mattolson/agent-sandbox/tree/main/.agents/skills/add-agent into .github/skills/add-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-agent", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mattolson/agent-sandbox --skill add-agent -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mattolson/agent-sandbox add-agent --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mattolson/agent-sandbox.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/add-agent .opencode/skills/add-agent && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-agent" agent skill from https://github.com/mattolson/agent-sandbox/tree/main/.agents/skills/add-agent into .opencode/skills/add-agent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-agent", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-agentAdd a new AI coding agent to Agent Sandbox. An agent skill from mattolson/agent-sandbox.
Add Agent is an agent skill from mattolson/agent-sandbox. Add a new AI coding agent to Agent Sandbox. Creates all required files (Dockerfile, templates, CI, docs) and wires the agent into the CLI, proxy, and build system.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Containers. It works with Docker, npm and GitHub. The repository describes itself as: Secure local dev environment for collaboration with AI coding agents. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c5b65e7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmghcurldockergoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, gh, curl and docker, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Agent loads about 3.2k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 1,520 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from mattolson/agent-sandbox at commit c5b65e7, republished under its MIT licence (© mattolson). 1,520 words, ~3,245 tokens.
.claude/skills/add-agent/SKILL.md (or your agent's skills folder).This skill generates all the files needed to add a new AI coding agent to Agent Sandbox. It follows the established patterns from Claude, Copilot, and Codex implementations.
The skill takes a single argument: the agent name (lowercase, no spaces). Example: gemini, opencode, factory.
Ask the user for the following (skip any already provided):
npm view {package} versiongh api repos/{owner}/{repo}/releases/latest --jq .tag_namerust-v prefix)GEMINI_VERSION)/home/dev/.gemini)config.toml to disable its internal sandbox)--dangerously-skip-permissions, --yolo, --full-auto)github.copilot-chat), or "none" for CLI-only agentscom.anthropic.code.plugin), or "none"Generate all files listed below. Read the reference files first to match the exact format and structure.
Create images/agents/{agent}/Dockerfile.
Pattern:
ARG BASE_IMAGE=agent-sandbox-base:local + FROM ${BASE_IMAGE}~/.local/bin if installing a binary thereCOPY config.toml /home/dev/.{agent}/config.toml)USER devENV PATH="/home/dev/.local/bin:$PATH" if installing to ~/.local/binARG TARGETARCH for multi-arch, prefer musl (statically linked) over gnu variantsorg.opencontainers.image.description and version labelIf the agent needs default config files, create them alongside the Dockerfile (e.g., images/agents/{agent}/config.toml).
Create internal/embeddata/templates/{agent}/cli/agent.yml.
This is a compose overlay that layers on top of the shared internal/embeddata/templates/compose/base.yml. It contains only agent-specific configuration. Read an existing agent.yml for the exact format.
Contents:
services.proxy.volumes: [] (required placeholder for compose merge)services.agent.image - the GHCR image referenceservices.agent.volumes - agent-specific state and history volumesservices.agent.environment - agent-specific env vars (if any)Do NOT include proxy config, HTTP_PROXY, HTTPS_PROXY, capabilities, or other shared settings. Those live in base.yml.
Create internal/embeddata/templates/{agent}/devcontainer/devcontainer.json.
This file references a layered array of compose files. Read an existing devcontainer.json for the exact format.
Key points:
dockerComposeFile is an array of 5 paths pointing into .agent-sandbox/compose/:
base.yml, agent.{name}.yml, mode.devcontainer.yml, user.override.yml, user.agent.{name}.override.ymlservice: "agent"workspaceFolder: "/workspace"remoteUser: "dev"overrideCommand: falseEdit cli/lib/agent.bash:
supported_agents_display() (space-separated string)supported_agents() (printf list)select_agent() (option list)validate_agent() case statementEdit cli/lib/cli-compose.bash:
CLAUDE.md and settings.json), add a conditional block in scaffold_cli_agent_override_if_missing() following the Claude pattern. This adds commented-out volume entries to user.agent.{name}.override.yml.Two test files reference the agent list string:
cli/test/init/init.bats: update the "rejects invalid --agent value" assertion to include the new agent name.cli/test/switch/switch.bats:stub select_option call in "switch prompts for agent when --agent is omitted" to include the new agent in the argument list.Both assertions and the stub match the output of supported_agents_display() / select_agent().
Two files in the proxy image need updating:
images/proxy/service_catalog.py: add a new entry to the SIMPLE_SERVICE_HOSTS dict.
Guidelines:
*.openai.com covers api.openai.com, auth.openai.com, regional endpoints)chatgpt.com is separate from openai.com)If the service needs rule-level semantics (repo scoping, method narrowing beyond the generic readonly mapping), add a dedicated expander function following the GitHub pattern instead of using SIMPLE_SERVICE_HOSTS.
images/proxy/render-policy: add the new agent name to the KNOWN_AGENTS set. This script renders the effective proxy policy at startup and validates the AGENTBOX_ACTIVE_AGENT env var against this set. If the agent is missing, the proxy will refuse to start with an "Unknown agent" error.
Edit images/build.sh to add:
: "${GEMINI_VERSION:=latest}"): "${GEMINI_EXTRA_PACKAGES:=}")build_{agent}() function following the pattern of existing agent build functionsall target)Create docs/agents/{agent}.md following this structure (see docs/agents/codex.md for exact format):
# {Display Name} Sandbox Templateagentbox compose down for stopping.services: YAML snippet with the agent's service name.Edit README.md:
:large_blue_circle: Preview for CLI and devcontainer modes.docs/{agent}/README.md in the "Agent-specific setup" sectionCreate the CI files directly in .github/workflows/. They follow a clear pattern and can be written without drafting.
Edit .github/workflows/build-images.yml:
{AGENT}_IMAGE_NAME env var (e.g., GEMINI_IMAGE_NAME)build-{agent} job following the pattern of build-codex (for GitHub releases) or build-copilot (for npm)npm view {package} versiongh api repos/{owner}/{repo}/releases/latest --jq .tag_name with any tag prefix stripping via sedneeds arrayCreate .github/workflows/check-{agent}-version.yml following the pattern of existing version check workflows.
{agent}- for the GHCR tag checkbuild-images.yml if the version tag doesn't exist in GHCRAfter creating all files:
./images/build.sh {agent}docker run --rm agent-sandbox-{agent}:local {agent} --versionagentbox init --agent {agent} --mode cli --path /tmp/test-projectgo test ./...curl -x http://proxy:8080 https://{api-domain}curl -x http://proxy:8080 https://example.comWhen generating files, read these for the exact patterns:
images/agents/claude/Dockerfile (npm install pattern)images/agents/copilot/Dockerfile (npm install with Node.js pattern)images/agents/codex/Dockerfile (direct binary download pattern, multi-arch, config file baking)images/agents/codex/config.toml (baked config file example)internal/embeddata/templates/compose/base.yml (shared compose base layer with proxy and agent skeleton)internal/embeddata/templates/compose/mode.devcontainer.yml (devcontainer mode overlay)internal/embeddata/templates/claude/cli/agent.yml (agent compose layer with env vars)internal/embeddata/templates/copilot/cli/agent.yml (simplest agent compose layer)internal/embeddata/templates/claude/devcontainer/devcontainer.json (devcontainer with extensions and JetBrains plugins)internal/embeddata/templates/codex/devcontainer/devcontainer.json (CLI-only agent, no extensions)internal/runtime/agents.go (agent registry: supported list and validation)internal/scaffold/init.go (CLI and devcontainer init flow entrypoints)internal/scaffold/devcontainer.go (devcontainer JSON rendering and merge behavior)internal/cli/init_test.go (init command assertions and prompting expectations)internal/cli/switch_test.go (switch command assertions and agent validation coverage)images/proxy/addons/enforcer.py (service domains, alphabetical ordering)images/proxy/render-policy (KNOWN_AGENTS set, policy rendering validation)images/build.sh (build functions and case statement)docs/agents/codex.md (simplest agent doc, CLI-only)docs/agents/copilot.md (agent doc with IDE notes)README.md (supported agents table and setup links).github/workflows/build-images.yml (build jobs).github/workflows/check-codex-version.yml (GitHub releases version check).github/workflows/check-copilot-version.yml (npm version check)© mattolson, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/add-agent of mattolson/agent-sandbox.
Open the folder on GitHubat commit c5b65e7
Add Agent next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Agent this skillmattolson/agent-sandbox | 208 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Reflexo ReleaseMyriad-Dreamin/typst.ts | 1.2k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Gating Production DeploysPostHog/posthog-foss | 721 | — | ~751 | Automated safety check: Pass | MIT | |
| Project Releaseswimmwatch/cloakbrowser-mcp | 161 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Devcontainer Devstacklok/toolhive-studio | 170 | — | ~3.8k | Automated safety check: Notes | Apache-2.0 | |
| Opentagamplifthq/opentag | 1.4k | — | ~1.3k | Automated safety check: Notes | MIT |
Myriad-Dreamin/typst.ts
Guide Reflexo/typst.ts release preparation and operator handoffs.
PostHog/posthog-foss
A skill your agent uses when adding or editing a GitHub Actions workflow that pushes a container image to a registry (ECR/ghcr/Docker Hub via build-push-action) or dispatches a production deploy (a…
swimmwatch/cloakbrowser-mcp
Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.
stacklok/toolhive-studio
Spin up and interact with ToolHive Studio's containerized dev environment (Xvfb + noVNC + DinD).
amplifthq/opentag
Deploy or operate OpenTag's supported paired setup when a user needs to bootstrap the self-hosted Docker Compose Control Plane and Slack Source App, configure or pair a local ACP Runner with a…
arch3rPro/1Panel-Appstore
A skill your agent uses when packaging Docker deployments as 1Panel local app store apps, including GitHub projects, docker-compose.yml files, docker run commands, app metadata, version directories…
mattolson/agent-sandbox
Read this when you are an AI coding agent running inside an Agent Sandbox container.
mattolson/agent-sandbox
Entry point for the three-tier planning system. An agent skill from mattolson/agent-sandbox.
mattolson/agent-sandbox
Break a milestone into discrete tasks. An agent skill from mattolson/agent-sandbox.
mattolson/agent-sandbox
Create a project plan for a new initiative. An agent skill from mattolson/agent-sandbox.
mattolson/agent-sandbox
Plan and track execution of a task. An agent skill from mattolson/agent-sandbox.
Categories
Add a new AI coding agent to Agent Sandbox. An agent skill from mattolson/agent-sandbox. Add Agent is an agent skill from mattolson/agent-sandbox. Add a new AI coding agent to Agent Sandbox.
Add Agent fits situations like: tasks that involve Containers.
Run `npx skills add mattolson/agent-sandbox --skill add-agent -a claude-code`. Or copy the skill folder (.agents/skills/add-agent in mattolson/agent-sandbox) into .claude/skills/add-agent in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mattolson/agent-sandbox --skill add-agent -a codex`. Or copy the skill folder (.agents/skills/add-agent in mattolson/agent-sandbox) into .agents/skills/add-agent in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mattolson/agent-sandbox --skill add-agent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-agent, .gemini/skills/add-agent, .github/skills/add-agent and .opencode/skills/add-agent in your project.
Going by SKILL.md and its folder, Add Agent needs the command-line tools its instructions call (npm, gh, curl, docker and go). Our summary lists: Node.js; Docker.
SKILL.md contains no URLs. Its commands use npm, gh, curl and docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Add Agent is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Agent: Reflexo Release (Myriad-Dreamin/typst.ts, 1.2k stars), Gating Production Deploys (PostHog/posthog-foss, 721 stars), Project Release (swimmwatch/cloakbrowser-mcp, 161 stars) and Devcontainer Dev (stacklok/toolhive-studio, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mattolson (a GitHub user) maintains it in mattolson/agent-sandbox, which has 208 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 1, 2026.
Source: mattolson/agent-sandbox on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.