skills-catalog/ln-783-container-launcher/SKILL.md
Builds and launches Docker containers with health verification. Use when validating that containerized services start correctly.
npx skillsauth add levnikolaevich/claude-code-skills ln-783-container-launcherInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. Ifshared/is missing, fetch files via WebFetch fromhttps://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}.
Type: L3 Worker Category: 7XX Project Bootstrap
Builds Docker images, launches containers, and performs comprehensive health verification using Docker native health checks and retry strategies.
Scope:
Out of Scope:
| Scenario | Use This Skill | |----------|---------------| | Standalone-capable | Yes | | Standalone container launch | Yes | | Development environment setup | Yes | | Production deployment | No, use proper CI/CD |
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) |
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 |
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 |
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 |
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 |
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 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 |
| 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 |
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 |
MANDATORY READ: Load shared/references/monitor_integration_pattern.md
For container health verification, use Monitor to stream container logs:
| Pattern | Command | timeout_ms |
|---------|---------|------------|
| Readiness signal | docker compose logs -f 2>&1 \| grep --line-buffered -iE 'ready\|listening\|healthy\|started' | healthTimeout * 1000 |
| Error watch | docker compose logs -f 2>&1 \| grep --line-buffered -iE 'error\|fatal\|panic\|exit' | healthTimeout * 1000 |
Use persistent: true if keepRunning is true and ongoing log monitoring is needed.
Fallback: if Monitor is unavailable, use retry loop with sleep + curl health check.
../ln-780-bootstrap-verifier/SKILL.mdVersion: 2.0.0 Last Updated: 2026-01-10
testing
Drafts and publishes fact-checked GitHub Discussions announcements. Use for releases, updates, or project news; not for release creation or issue responses.
testing
Prepares and publishes a tagged GitHub release from repository evidence. Use for an explicit release request; not for ordinary commits, packages, or community news.
testing
Validates, commits, pushes, and remotely verifies approved repository changes. Use when publication is requested; not for releases, package publishing, or announcements.
development
Reviews standalone skills and their configured distribution surfaces before publication. Use for skill release readiness; not for product code or implementation-plan review.