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.