docker-compose-generator
Generates production-ready docker-compose.yml files for any application stack.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generates production-ready docker-compose.yml files for any application stack.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Runs a systematic checklist review on any code diff or file, covering correctness, security, performance, and readability.
Writes a high-quality CLAUDE.md, .cursorrules, or .windsurfrules file that gives a coding agent the right project context, conventions, and constraints to work effectively.
Designs an eval suite for an LLM agent or pipeline including success metrics, trajectory scoring, LLM-as-judge setup, and regression test cases.
Designs a hybrid retrieval pipeline combining dense vector search and BM25 sparse search with reciprocal rank fusion, and explains when to use each configuration.
Converts a workflow description into a LangGraph node/edge graph with typed state, conditional routing, and human-in-the-loop checkpoints.
Audits an AI application for unnecessary token spend and recommends prompt caching, model routing, and token reduction techniques to cut costs.
| name | Docker Compose Generator |
| description | Generates production-ready docker-compose.yml files for any application stack. |
| category | devops |
| tags | ["docker","containers","devops","infrastructure"] |
| author | simplyutils |
This skill directs the agent to gather information about your application stack and produce a production-ready docker-compose.yml file. It includes health checks, named volumes, custom networks, environment variable placeholders, restart policies, and sensible resource limits — all things that are easy to miss when writing a Compose file from scratch.
Use this when bootstrapping a new project, when converting an existing app to run in containers, or when you want a solid starting point to customize from.
Copy this file to .agents/skills/docker-compose-generator/SKILL.md in your project root.
Then ask:
The agent will ask clarifying questions before generating the file if your description is incomplete.
Paste the instructions from the section below into your session along with a description of your stack.
When asked to generate a docker-compose.yml, follow these steps:
Gather requirements. If not already provided, ask for:
Apply these rules to every service:
restart policy (unless-stopped for production, on-failure for dev)healthcheck for every database or cache service${VAR_NAME} placeholders, never hardcoded valuesdepends_on with condition: service_healthy for services that require a healthy DB before startingFor development configs, also:
./src:/app/src)9229 for Node.js inspector).env.example reminder commentFor production configs, also:
deploy.resources.limits for memory and CPUread_only: true on containers where the filesystem does not need to be writableOutput:
docker-compose.yml in a fenced code block.env.example snippet showing all required variablesInput to Agent:
"Use the Docker Compose Generator skill. I have a Node.js Express API (port 3000), a PostgreSQL 16 database, and a Redis 7 cache. This is for production."
Output from Agent:
# docker-compose.yml
version: '3.9'
services:
api:
build: .
restart: unless-stopped
ports:
- "3000:3000"
environment:
- DATABASE_URL=${DATABASE_URL}
- REDIS_URL=${REDIS_URL}
- NODE_ENV=production
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
networks:
- app-network
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- app-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- redis-data:/data
networks:
- app-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres-data:
redis-data:
networks:
app-network:
driver: bridge
.env.example
DATABASE_URL=postgresql://user:password@postgres:5432/myapp
REDIS_URL=redis://redis:6379
POSTGRES_DB=myapp
POSTGRES_USER=user
POSTGRES_PASSWORD=changeme
Next steps
.env.example to .env and fill in real valuesdocker compose up -d to start all servicesdocker compose logs -f api to tail API logsDockerfile for your application image. It assumes your Dockerfile already exists in the project root, or will ask you to create one.docker-compose.override.yml files for dev and staging. Ask the agent to do this explicitly..env.example before using them in a real environment.