with one click
docker-development
This skill should be used when the user asks to "analyze a Dockerfile", "optimize Docker layers", "validate docker-compose", "check container best practices", or "audit Docker configurations".
Menu
This skill should be used when the user asks to "analyze a Dockerfile", "optimize Docker layers", "validate docker-compose", "check container best practices", or "audit Docker configurations".
Design a product metrics dashboard — North Star + input metrics + guardrails — that the team actually uses to make decisions. Distinct from north-star-metric (defines THE one number) by focusing on the full dashboard architecture: layers, owners, cadence, visualization, and the discipline that prevents 30-chart dashboards.
Opportunity Solution Tree (Teresa Torres) — a continuous discovery artifact mapping desired outcomes → opportunities → solutions → assumption tests. Use when prioritizing discovery work, structuring weekly customer interviews, mapping multiple solutions to one problem, or auditing whether your roadmap actually moves outcomes.
Plan a sprint that ships — capacity, commitment vs stretch, dependencies, risk-identification, and the pre-sprint discipline that prevents mid-sprint surprises. Distinct from scrum-master (process facilitation) by focusing on the planning artifact itself.
Map stakeholders by power × interest (or influence × support), design a communication plan, and run the stakeholder-management discipline that prevents surprise objections. Use when launching a major initiative, navigating an enterprise deal, planning a re-org, or pre-empting political resistance to a roadmap change.
Generate complete test scenario coverage from a feature spec: happy paths, edge cases, error handling, accessibility, security, and performance scenarios. Includes a coverage analyzer that flags gaps before QA writes the test plan. Distinct from automated test generation — this is the WHAT to test before HOW.
Go-to-market strategy: ICP × motion × channels × messaging × success metrics × launch plan. Distinct from individual marketing or sales skills by being the integrated cross-functional strategy spanning product, marketing, sales, CS, and finance. Use when launching a new product, entering a new segment, or auditing why an existing GTM isn't working.
| name | docker-development |
| description | This skill should be used when the user asks to "analyze a Dockerfile", "optimize Docker layers", "validate docker-compose", "check container best practices", or "audit Docker configurations". |
| license | MIT + Commons Clause |
| metadata | {"version":"1.0.0","author":"borghei","category":"engineering","domain":"containers","updated":"2026-04-02T00:00:00.000Z","tags":["docker","containers","devops","compose","dockerfile"]} |
Category: Engineering Domain: Container Development & Optimization
The Docker Development skill provides automated analysis of Dockerfiles and docker-compose configurations. It identifies layer optimization opportunities, security issues, best practice violations, and compose service misconfigurations. Use this skill to enforce container standards across your team and catch issues before they reach production.
# Analyze a Dockerfile for best practices
python scripts/dockerfile_analyzer.py --file Dockerfile
# Analyze with JSON output
python scripts/dockerfile_analyzer.py --file Dockerfile --format json
# Validate a docker-compose file
python scripts/compose_validator.py --file docker-compose.yml
# Check for port conflicts across compose files
python scripts/compose_validator.py --file docker-compose.yml --check-ports
Analyzes Dockerfiles for best practices, security issues, and optimization opportunities.
| Feature | Description |
|---|---|
| Layer optimization | Detects unnecessary layers, recommends combining RUN statements |
| Multi-stage analysis | Validates multi-stage build patterns and final image size |
| Security scanning | Flags running as root, use of latest tags, exposed secrets |
| Base image checks | Recommends smaller base images (alpine, distroless, slim) |
| Cache optimization | Identifies poor layer ordering that breaks Docker cache |
# Full analysis
python scripts/dockerfile_analyzer.py --file Dockerfile
# Security-focused scan
python scripts/dockerfile_analyzer.py --file Dockerfile --security-only
# JSON output for CI integration
python scripts/dockerfile_analyzer.py --file Dockerfile --format json
Validates docker-compose files for correctness, dependency issues, and port conflicts.
| Feature | Description |
|---|---|
| Schema validation | Checks compose file structure and syntax |
| Dependency graph | Validates depends_on chains for circular dependencies |
| Port conflict detection | Identifies duplicate host port bindings |
| Volume mount checks | Validates volume paths and mount configurations |
| Network analysis | Checks network definitions and service connectivity |
# Full validation
python scripts/compose_validator.py --file docker-compose.yml
# Check port conflicts only
python scripts/compose_validator.py --file docker-compose.yml --check-ports
# JSON output
python scripts/compose_validator.py --file docker-compose.yml --format json
# Example GitHub Actions step
- name: Docker Lint
run: |
python scripts/dockerfile_analyzer.py --file Dockerfile --format json > results.json
python scripts/compose_validator.py --file docker-compose.yml --format json >> results.json
| Pattern | Good | Bad |
|---|---|---|
| Base image | FROM python:3.12-slim | FROM python:latest |
| User | USER appuser | Running as root |
| Layer combining | RUN apt-get update && apt-get install -y pkg | Separate RUN for update and install |
| COPY ordering | Copy requirements first, then code | Copy everything at once |
| Multi-stage | Use builder stage + minimal runtime | Single stage with build tools |
| Secrets | Use build secrets or env at runtime | COPY .env . or ENV SECRET=value |
| Health checks | HEALTHCHECK CMD curl -f http://localhost/ | No health check defined |
| .dockerignore | Include node_modules, .git, etc. | No .dockerignore file |
| Pattern | Good | Bad |
|---|---|---|
| Restart policy | restart: unless-stopped | No restart policy |
| Resource limits | deploy.resources.limits set | Unlimited resources |
| Named volumes | volumes: [db-data:/var/lib/postgresql] | Anonymous volumes |
| Networks | Explicit network definitions | Default bridge only |
| Environment | env_file: .env | Inline secrets in compose |