Docker Compose configuration template and validation logic for MetaSaver monorepos. Includes 4 required standards (PostgreSQL service with project-prefixed env vars like RUGBYCRM_POSTGRES_USER, project-specific naming for containers and networks, volumes section, service health checks). Use when creating or auditing docker-compose.yml files.
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
templates/docker-compose.yml.templateThis skill provides docker-compose.yml template and validation logic for containerized service orchestration.
Manage docker-compose.yml configuration to:
This skill is invoked by the docker-compose-agent when:
The standard Docker Compose template is located at:
templates/docker-compose.yml.template
Placeholders to replace:
{project} - lowercase project name (e.g., rugby-crm){PROJECT} - uppercase for comments (e.g., RUGBY CRM)<PREFIX> - uppercase env var prefix (e.g., RUGBYCRM){PORT} - external port number (e.g., 5434)Must include PostgreSQL service with project-prefixed environment variables:
services:
postgres:
image: postgres:17-alpine
container_name: rugby-crm-postgres
restart: unless-stopped
environment:
POSTGRES_USER: ${RUGBYCRM_POSTGRES_USER}
POSTGRES_PASSWORD: ${RUGBYCRM_POSTGRES_PASSWORD}
POSTGRES_DB: ${RUGBYCRM_POSTGRES_DB}
ports:
- "${RUGBYCRM_POSTGRES_PORT}:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- rugby-crm-network
healthcheck:
test:
[
"CMD-SHELL",
"pg_isready -U ${RUGBYCRM_POSTGRES_USER} -d ${RUGBYCRM_POSTGRES_DB}",
]
interval: 10s
timeout: 5s
retries: 5
Required fields:
image - PostgreSQL version (recommend 17-alpine)container_name - Project-specific name (e.g., rugby-crm-postgres)restart - Must be unless-stopped or alwaysenvironment - Project-prefixed: {PREFIX}_POSTGRES_USER, {PREFIX}_POSTGRES_PASSWORD, {PREFIX}_POSTGRES_DBports - Port mapping with project-prefixed variablevolumes - Named volume for data persistencenetworks - Project-specific network nameAll env vars must use project prefix pattern: ${<PREFIX>_POSTGRES_*} (e.g., RUGBYCRM_POSTGRES_USER, METASAVER_SILVER_DB_USER)
Must include project-specific naming:
volumes.postgres-datanetworks.{project}-network with driver: bridgePostgreSQL service must include healthcheck with: test (using prefixed vars), interval (10s), timeout (5s), retries (5).
Workflow:
RUGBYCRM_POSTGRES_*)version: "3.8" is deprecated and should be omittedRUGBYCRM_){PREFIX}_POSTGRES_USER, {PREFIX}_POSTGRES_PASSWORD, {PREFIX}_POSTGRES_DB, {PREFIX}_POSTGRES_PORTThis skill integrates with:
scope parameter. If not provided, use /skill scope-check/skill audit-workflow - Bi-directional comparison workflow/skill remediation-options - Conform/Update/Ignore choicesenv-example-agent - Environment variable management