Claude Code Plugins

Community-maintained marketplace

Feedback

ln-783-container-launcher

@levnikolaevich/claude-code-skills
25
0

Builds and launches Docker containers with health verification using best practices

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name ln-783-container-launcher
description Builds and launches Docker containers with health verification using best practices

ln-783-container-launcher

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-780-bootstrap-verifier


Purpose

Builds Docker images, launches containers, and performs comprehensive health verification using Docker native health checks and retry strategies.

Scope:

  • Detect and validate docker-compose.yml configuration
  • Build Docker images
  • Launch containers with proper startup order
  • Verify container health using native health checks
  • Provide access URLs and cleanup instructions

Out of Scope:

  • Building application code (handled by ln-781)
  • Running tests (handled by ln-782)
  • Container orchestration beyond single host (Kubernetes, Swarm)

When to Use

Scenario Use This Skill
Called by ln-780 orchestrator Yes
Standalone container launch Yes
Development environment setup Yes
Production deployment No, use proper CI/CD

Workflow

Step 1: Pre-flight Checks

Verify Docker environment readiness.

Check Failure Action
Docker daemon running Report error with installation instructions
Docker Compose available Report error, suggest installation
Compose file exists Report error, list expected locations
Required ports free Report conflict, suggest alternatives
Sufficient disk space Warn if low space (<2GB free)

Step 2: Parse Compose Configuration

Extract service information from docker-compose.yml.

Information Purpose
Service names Track which containers to monitor
Exposed ports Know which ports to check
Health check definitions Use native health checks if defined
Dependencies (depends_on) Understand startup order
Volume mounts Verify paths exist

Step 3: Build Images

Build all images defined in compose file.

Aspect Strategy
Build context Use paths from compose file
Build args Pass through from compose configuration
Cache Use Docker layer cache for speed
Failure Report build errors with full log

Step 4: Launch Containers

Start containers with proper orchestration.

Aspect Strategy
Startup order Respect depends_on and healthcheck conditions
Detached mode Run in background
Network Use compose-defined networks
Volumes Mount all defined volumes

Step 5: Health Verification

Verify all containers are healthy using appropriate strategy.

Strategy Selection:

Condition Strategy
Service has healthcheck: in compose Use native Docker health status
Service has depends_on: condition: service_healthy Wait for Docker health status
No healthcheck defined Use external HTTP probe with retry

Retry Configuration:

Parameter Value Rationale
Max attempts 10 Allow slow-starting services
Initial delay 5s Give containers time to start
Backoff Exponential (5, 10, 20, 40s) Avoid overwhelming services
Max total wait 120s Reasonable upper limit

Health Check Methods:

Method When to Use
Docker health status When container has healthcheck defined
HTTP GET to exposed port For web services without healthcheck
Container exec For services without exposed ports
TCP port check For databases and message queues

Step 6: Report Results

Return structured results to orchestrator.

Result Structure:

Field Description
containers Array of container status objects
healthChecks Array of health check results
accessUrls Map of service name to access URL
overallStatus healthy / unhealthy / partial
startupDuration Time from launch to all healthy

Container Status Object:

Field Description
name Container name
service Service name from compose
status running / exited / restarting
health healthy / unhealthy / starting / none
port Exposed port (if any)
startedAt Container start timestamp

Health Check Result:

Field Description
url Checked URL or endpoint
status HTTP status code or check result
responseTime Time to respond in ms
healthy Boolean health status

Error Handling

Error Type Action
Docker daemon not running Report with start instructions
Port already in use Report conflict, suggest docker compose down first
Image build failed Report with build logs
Container exited Report with container logs
Health check timeout Report with last known status and logs
Network unreachable Check Docker network configuration

Options

Option Default Description
keepRunning true Leave containers running after verification
stopAfter false Stop containers after successful verification
healthTimeout 120 Max seconds to wait for healthy status
showLogs true Show container logs on failure
buildFirst true Build images before starting
pullLatest false Pull base images before build

Cleanup Instructions

Provide user with cleanup commands in report.

Action Description
Stop containers Stop running containers, preserve data
Remove containers and networks Clean up containers but keep volumes
Remove everything Full cleanup including volumes and images

Critical Rules

  1. Use native health checks when available - more reliable than external probes
  2. Implement retry with backoff - services need time to initialize
  3. Always collect logs on failure - essential for debugging
  4. Parse compose file for ports - do not hardcode port numbers
  5. Respect depends_on order - critical for database-dependent services

Definition of Done

  • Docker environment verified
  • All images built successfully
  • All containers running
  • All health checks passing
  • Access URLs provided
  • Results returned to orchestrator

Version: 2.0.0 Last Updated: 2026-01-10