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/hugobatista-docker-python
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: devops, writing
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
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/docker-python
What's inside
- Skill name
docker-python- Description
- Dockerfile best practices for Python projects. Covers non-root user (ARG UID/GID/APP_USER), COPY --chown, runtime-writable files, and entrypoint diagnostics.
- License
- MIT
- Instructions
- 83 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- Dockerfile.tmpl · assets/
- config.toml.example · assets/
- ghcr.yml.tmpl · assets/
SKILL.md (first lines)
## Dockerfile
Read `assets/Dockerfile.tmpl`, replace `appname`, and write it to the project root.
Key patterns:
- uv image pinned to `tag@sha256:digest` — guarantees the exact uv version; update the digest when a new stable release has been available for > 30 days
- `ARG UID=1000 GID=1000 APP_USER=appuser` — configurable at build time via `--build-arg UID=568`
- Privileged RUN (package installs, user creation, app directory) happens **before** `USER`
- `COPY --chown=${UID}:${GID}` sets ownership at build time — no runtime `chown` needed
- `/app` is pre-created and chowned before any copy so the working directory is writable
- Runtime-writable config files (e.g. `config.js`) should be pre-created with `chmod 666` so `docker-compose user:` overrides still work
- `USER ${APP_USER}` is the last step before `ENTRYPOINT`
## Bind mounts
For host bind mounts in docker-compose, users must `chown` the host directory to the container UID:
```bash
sudo chown -R 1000:1000 /host/path
```
To use a custom UID, add `user: "<UID>:<GID>"` in docker-compose and ensure runtime-writable files have `chmod 666` set at build time.
## .dockerignore
```dockerignore
.git/
__pycache__/
*.pyc
.venv/
.env
dist/
*.egg-info/
.mypy_cache/
.pytest_cache/
.coverage
```
## Dependency pinning
- **Docker images**: pin all `FROM` lines to `tag@sha256:digest`. Tags are mutable; digests guarantee the exact image.
```dockerfile
FROM python:3.13.12-slim@sha256:f1927c75e81efd1e091dbd64b6c0ecaa5630b38635a3d1c04034ac636e1f94c8 AS builder
```
- **NPM dependencies**: use `npm ci --ignore-scripts` in Dockerfile stages to block postinstall attacks.
```dockerfile
RUN npm ci --prefer-offline --ignore-scripts
```
- **Python dependencies**: export from lockfile with `uv export` and install with `pip install --require-hashes` to verify every package hash.
```dockerfile
RUN uv export --no-dev --no-emit-project -o requirements.txt
RUN pip install --no-cache --require-hashes -r ./requirements.txt
```
## GitHub Actions workflow
When setting up Docker for a project, offer to create a GHCR publish workflow. Ask the user: *"Do you want to set up a GitHub Actions workflow to build and push this image to GHCR?"*
If yes:
1. Ask the user: *"Will this project be hosted on GitHub?"* If no, skip this section.
2. Read `config.toml` from this directory. If it exists, extract `github_owner` and `github_url_base` for defaults. If not, ask the user for these values and write them to `config.toml` (one-time setup).
3. Ask the user for the **GitHub owner** (default: `<github_owner from config>`)
4. Ask the user for the **URL base** for badge links:
- `go.<owner>.com/gh` (default, e.g. `https://<github_url_base from config>`)
- `github.com/<owner>` (e.g. `https://github.com/<github_owner from config>`)
- Custom — user provides their own
4. Ask the user for the **repo name** (read from `pyproject.toml` `[project].name` if it's a Python project; otherwise ask directly)
Read `assets/ghcr.yml.tmpl`, then write it to `.github/workflows/ghcr.yml` (no substitutions needed).
Add the following badge to `README.md`:
```
[](<base>/<repo>/packages)
```
Create the directory before writing:
```
mkdir -p .github/workflows
```From hugobatista/agent-skills, MIT.
More from hugobatista/agent-skills
- 0.582score
web-frontend
hugobatista
Use when building or modifying web frontend code.
SkillAFreshness: A★ 1Claude Code +9 - 0.547score
pyproject-toml
hugobatista
Use when creating or modifying pyproject.toml configuration for Python projects.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
architecture-brief
hugobatista
Generate an architecture overview document from a pull request or local git diff.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
python-cli
hugobatista
Use when building or modifying Python CLI tools.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
markdown-style
hugobatista
Use when writing or editing Markdown documentation (*.md files).
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
mermaid-syntax
hugobatista
Correct Mermaid diagram syntax reference covering all types (flowchart, sequence, class, ERD, state, C4, git, gantt, pie).
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
ste100
hugobatista
Use when writing or editing technical documentation (manuals, procedures, work instructions, warnings, cautions, notes, maintenance guides, user guides).
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
renovate
hugobatista
Use when creating or modifying Renovate configuration for automated dependency management.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
python-project
hugobatista
Use when writing, reviewing, or modifying Python code (*.py files).
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
journal-coach
hugobatista
Socratic coaching grounded in the user's journal, informed by attachment theory, schema therapy, polyvagal theory, and Big Five personality.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
node-ci
hugobatista
Creates GitHub Actions CI workflows for Node.js/Bun projects: typecheck (tsc), tests (bun test), draft releases, and npm publish with OIDC trusted publishing.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
forge-detect
hugobatista
Detect the forge type from the current repo's git remote.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 20, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/hugobatista/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hugobatista
- 0.582score
web-frontend
hugobatista
Use when building or modifying web frontend code.
SkillAFreshness: A★ 1Claude Code +9 - 0.547score
renovate
hugobatista
Use when creating or modifying Renovate configuration for automated dependency management.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
ste100
hugobatista
Use when writing or editing technical documentation (manuals, procedures, work instructions, warnings, cautions, notes, maintenance guides, user guides).
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
markdown-style
hugobatista
Use when writing or editing Markdown documentation (*.md files).
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
mermaid-syntax
hugobatista
Correct Mermaid diagram syntax reference covering all types (flowchart, sequence, class, ERD, state, C4, git, gantt, pie).
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
pyproject-toml
hugobatista
Use when creating or modifying pyproject.toml configuration for Python projects.
SkillBFreshness: B★ 1Claude Code +9
Cite this page
docker-python skill. Agent Mart. https://agentmart.dev/skills/hugobatista-docker-python (last updated 2026-10-24)