Skip to content
Agent Orchestration
Skill

/docker-extend

Use when: User wants to extend Docker with custom tools, personalize the Docker environment, or set up user-specific Docker customization. Triggers: 'extend docker', 'docker-extend', 'add tools to docker', 'customize docker', 'add my tools to the container', 'personalize docker

From plugin
archon
24k7 skills13 agents19 commands

Claude Code

$ npx -y skills add coleam00/Archon --skill docker-extend --agent claude-code

SKILL.md

docker-extend.SKILL.md
name: docker-extend
description: |
  Use when: User wants to extend Docker with custom tools, personalize the Docker environment,
  or set up user-specific Docker customization.
  Triggers: 'extend docker', 'docker-extend', 'add tools to docker', 'customize docker',
            'add my tools to the container', 'personalize docker setup', 'docker user setup',
            'install tools in docker'.
  Does: Interactively sets up Dockerfile.user and docker-compose.override.yml so users can
  add personal tools to their Docker environment without affecting maintainer files or
  committing user-specific config to git.
argument-hint: '[optional: tools to install, e.g. "vim ripgrep jq"]'

Docker Extend

Sets up personal Docker tool customization using the project's gitignored override pattern. Your `Dockerfile.user` and `docker-compose.override.yml` are yours — never committed to git.

Step 1: Detect Context

Determine if the user is in dev (source build) or deploy (GHCR) mode:

!`if [ -f docker-compose.yml ] && grep -q 'build: \.' docker-compose.yml 2>/dev/null; then echo "DEV_MODE: Building from source (root docker-compose.yml)"; elif [ -f deploy/docker-compose.yml ]; then echo "DEPLOY_MODE: Using GHCR image (deploy/docker-compose.yml)"; else echo "UNKNOWN_MODE: No docker-compose.yml found in root or deploy/"; fi`

**Decision:**

  • `DEV_MODE` → work with `Dockerfile.user` + `docker-compose.override.yml` (repo root)
  • `DEPLOY_MODE` → work with `deploy/Dockerfile.user` + `deploy/docker-compose.override.yml`
  • `UNKNOWN_MODE` → ask the user which directory their `docker-compose.yml` lives in before proceeding

Step 2: Check Current State

**DEV_MODE — check root files:**

!`echo "=== Dockerfile.user ===" && (cat Dockerfile.user 2>/dev/null || echo "(not found — will create from example)") && echo "" && echo "=== docker-compose.override.yml ===" && (cat docker-compose.override.yml 2>/dev/null || echo "(not found — will create from example)")`

**DEPLOY_MODE — check deploy/ files:**

!`echo "=== deploy/Dockerfile.user ===" && (cat deploy/Dockerfile.user 2>/dev/null || echo "(not found — will create from example)") && echo "" && echo "=== deploy/docker-compose.override.yml ===" && (cat deploy/docker-compose.override.yml 2>/dev/null || echo "(not found — will create from example)")`

**If both files already exist:** Skip to Step 4 (add tools). **If files are missing:** Proceed to Step 3 (copy from examples). **If example files are missing too:** Tell the user the project hasn't added the example files yet and to check with the maintainers or the docs.

Step 3: Copy Example Files

Run only the copy commands for whichever files are missing. Do NOT overwrite existing files.

**DEV_MODE:**

# Only if Dockerfile.user does not exist:
cp Dockerfile.user.example Dockerfile.user

# Only if docker-compose.override.yml does not exist:
cp docker-compose.override.example.yml docker-compose.override.yml

**DEPLOY_MODE:**

# Only if deploy/Dockerfile.user does not exist:
cp deploy/Dockerfile.user.example deploy/Dockerfile.user

# Only if deploy/docker-compose.override.yml does not exist:
cp deploy/docker-compose.override.example.yml deploy/docker-compose.override.yml

After running the copy commands, confirm to the user which files were created.

Step 4: Add Tools

Parse `$ARGUMENTS` for tool names (space-separated, e.g., `vim ripgrep jq`).

**If tools were specified:** Edit the appropriate `Dockerfile.user` to add (or uncomment) the `RUN apt-get install` block with the requested packages. Use the Edit tool — do not rewrite the entire file.

The block to add/modify:

RUN apt-get update && apt-get install -y --no-install-recommends \
    <tool1> \
    <tool2> \
 && rm -rf /var/lib/apt/lists/*

**If no tools were specified:** Show the user the file and ask which tools they want to add. Then edit the file accordingly.

Step 5: Rebuild

Show the user the rebuild command for their context. Do NOT run it automatically.

**DEV_MODE:**

docker compose build && docker compose up -d

**DEPLOY_MODE:**

cd deploy && docker compose build && docker compose up -d

Summary

Tell the user: 1. Which files were created (if any) 2. Which tools were added to `Dockerfile.user` (if any) 3. The rebuild command to run when ready 4. A reminder that `Dockerfile.user` and `docker-compose.override.yml` are gitignored — they're personal and won't be committed

Read more
@coleam00
Ships witharchon

The first open-source harness builder for AI coding. Make AI coding deterministic and repeatable.

24k7 skills13 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
23.9k
Star history of coleam00/Archon on GitHub, a chart by star-history.com

Other skills on archon.

archon-cli

archon-cli

Drive Archon through its CLI: run AI workflows on a repo, watch and answer the runs that need a decision, drive the SDLC pack's…

@coleam00@coleam00Install Skill
release

release

Create a release from dev branch. Generates changelog entries from commits, bumps version, and creates a PR to main. TRIGGERS -…

@coleam00@coleam00Install Skill
rulecheck

rulecheck

Autonomous rule adherence checker. Scans the codebase for rule violations, fixes the highest-impact ones in an isolated worktree,…

@coleam00@coleam00Install Skill
test-release

test-release

Verify a released archon binary works end-to-end via a specific install path. Use when: cutting a new release, reproducing a user…

@coleam00@coleam00Install Skill
triage

triage

Triage GitHub issues by applying type, effort, priority, and area labels. Runs in an isolated context to avoid polluting the main…

@coleam00@coleam00Install Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis2w393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca2w111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip2w109k
@paperclipai@paperclipaiInstall Skill
adr-create

adr-create

Create a new Architecture Decision Record with sequential numbering and AgentDB registration

@ruvnet@ruvnetInstall Skill

Questions about docker-extend.

Which coding agents can use docker-extend?
docker-extend installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.