Files
leo-claude-mktplace/plugins/ops-deploy-pipeline/commands/deploy-check.md
lmiranda 2d51df7a42 feat(marketplace): command consolidation + 8 new plugins (v8.1.0 → v9.0.0) [BREAKING]
Phase 1b: Rename all ~94 commands across 12 plugins to /<noun> <action>
sub-command pattern. Git-flow consolidated from 8→5 commands (commit
variants absorbed into --push/--merge/--sync flags). Dispatch files,
name: frontmatter, and cross-reference updates for all plugins.

Phase 2: Design documents for 8 new plugins in docs/designs/.

Phase 3: Scaffold 8 new plugins — saas-api-platform, saas-db-migrate,
saas-react-platform, saas-test-pilot, data-seed, ops-release-manager,
ops-deploy-pipeline, debug-mcp. Each with plugin.json, commands, agents,
skills, README, and claude-md-integration. Marketplace grows from 12→20.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 14:52:11 -05:00

2.8 KiB

name, description
name description
deploy check Pre-deployment health check — verify system readiness before deploying

/deploy check

Run pre-deployment health checks to verify the target system is ready.

Skills to Load

  • skills/visual-header.md
  • skills/health-checks.md

Agent

Delegate to agents/deploy-validator.md.

Usage

/deploy check [--service=<name>] [--verbose]

Options:

  • --service - Check readiness for a specific service only
  • --verbose - Show detailed output for each check

Instructions

Execute skills/visual-header.md with context "Pre-Deployment Check".

Phase 1: System Resources

Run system checks using Bash tool:

Check Command Pass Condition
Disk space df -h / >10% free
Memory free -m >256MB available
CPU load uptime Load average < CPU count
Temperature vcgencmd measure_temp (RPi) or /sys/class/thermal/ <70C

Phase 2: Docker Environment

Check Command Pass Condition
Docker daemon docker info Running
Docker Compose docker compose version Installed
Disk usage docker system df <80% usage
Network docker network ls Expected networks exist

Phase 3: Port Availability

  1. Read docker-compose.yml for all host port mappings
  2. Check each port with ss -tlnp | grep :<port>
  3. If port is in use, identify the process occupying it
  4. Flag conflicts as Critical

Phase 4: DNS and Network

Check Command Pass Condition
DNS resolution nslookup <subdomain> Resolves correctly
Reverse proxy curl -s -o /dev/null -w "%{http_code}" http://localhost:80 Caddy responding
Tailscale tailscale status Connected (if applicable)

Phase 5: Image Availability

  1. Parse docker-compose.yml for image references
  2. Run docker pull --dry-run <image> or docker manifest inspect <image>
  3. Verify images exist and support the target architecture (arm64 for RPi)
  4. Report image sizes and estimated pull time

Phase 6: Report

## Pre-Deployment Check Report

### System Resources
[OK]  Disk: 45% used (54GB free)
[OK]  Memory: 1.2GB available
[OK]  CPU: Load 0.8 (4 cores)
[OK]  Temperature: 52C

### Docker
[OK]  Docker daemon: Running (v24.0.7)
[OK]  Compose: v2.21.0
[WARN] Docker disk: 72% used — consider pruning

### Ports
[OK]  8080 — Available
[FAIL] 3000 — In use by grafana (PID 1234)

### Network
[OK]  DNS: myapp.hotport resolves
[OK]  Caddy: Responding on :80

### Images
[OK]  postgres:16-alpine — arm64 available (89MB)
[WARN] custom-app:latest — No arm64 manifest found

### Summary
- Passed: 10 | Warnings: 2 | Failed: 1
- Status: NOT READY — fix port conflict on 3000

User Request

$ARGUMENTS