skills/FORGE-vps-runbook/SKILL.md
Concrete Docker Compose and container commands for the af-forge VPS stack
npx skillsauth add ariffazil/openclaw-workspace FORGE-vps-runbookInstall 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.
This skill gives agents the exact commands to inspect, operate, and troubleshoot the Docker-based data/utility stack on the af-forge VPS. It covers the docker-compose.yml at /root/compose/, the live service map, safe read-only checks, bounded restarts, and the dangerous operations that require escalation.
Before using this skill on any mutating, irreversible, or high-blast-radius task:
docker stats, docker system df).systemctl commands instead.docker system prune, volume removal, forced container deletion) without 888 HOLD and human ack.docker compose down or --volumes variants on the full stack unless explicitly authorized.| Input | Required | Description |
|-------|----------|-------------|
| service_name | no | Target container/service name from docker compose ps |
| operation | yes | One of: status, logs, restart, validate, resources, emergency-stop, diff |
| tail_lines | no | Number of log lines to retrieve (default: 100) |
cd /root/compose
All Docker services are defined in /root/compose/docker-compose.yml.
docker compose ps
docker compose config # validate before any change
# Health status
docker inspect <service> --format '{{.State.Health.Status}}'
curl -sf http://localhost:<port>/health
# Logs
docker compose logs --tail=100 <service>
docker compose logs -f <service>
# Changed files and config
docker diff <container>
docker inspect <container> --format '{{json .Config}}' | python3 -m json.tool
# Restart in place
docker compose restart <service>
# Rebuild and restart only this service
docker compose up -d <service>
# Restart the whole Docker stack (safe bounded variant)
docker compose up -d --remove-orphans
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
docker system df
docker compose stop <service>
docker logs <service> --tail 200
# Fix the issue, then:
docker compose up -d <service>
| Tool / Command | Purpose |
|----------------|---------|
| docker compose ps | List running compose services |
| docker compose config | Validate compose file |
| docker compose logs | Read or tail service logs |
| docker compose restart | Bounded in-place restart |
| docker compose up -d <service> | Rebuild/restart a single service |
| docker compose up -d --remove-orphans | Safe stack reconcile |
| docker compose stop <service> | Graceful emergency stop |
| docker inspect | Container health/config inspection |
| docker stats / docker system df | Resource usage and disk summary |
| docker diff | Files changed since container start |
| curl -sf http://localhost:<port>/health | HTTP health probe |
docker system prune -af --volumes — irreversible data loss (F1 HOLD).docker volume rm <volume> without sovereign ack and a verified backup.docker rm -f <container> on data-bearing services without escalation.docker compose down --volumes on the full stack.## Skill Result: vps-docker-runbook
### Summary
One-paragraph summary of what was checked, restarted, or diagnosed.
### Evidence
- Service status: <running / stopped / unhealthy>
- Health endpoint: <HTTP code / not reachable>
- Logs tail: <key lines or "clean">
- Resource snapshot: <if checked>
### Recommendations
- Next safe step, or
- Escalation reason and target
### Escalations
- None / <list>
| Condition | Escalate To | Method | |-----------|-------------|--------| | Destructive cleanup requested | arifOS 888_JUDGE + Arif | 888 HOLD | | Data-bearing volume/container affected | arifOS 888_JUDGE | verdict_request | | Docker daemon unresponsive | A-FORGE ops / system triage | A2A/incident | | Full stack or host restart needed | A-FORGE + human ack | 888 HOLD | | Repeated service crashes after restart | Service owner organ / runbook | A2A handoff |
Skill version 1.0.0 — AAA Skill Library
testing
OpenClaw edge agent bridge — operational triage, doctor, restart, and A2A bridge routing for the federation edge (Telegram surface). USE WHEN: "openclaw unhealthy", "gateway down", "edge bot not responding", "a2a bridge disconnected", "watchdog tripped", "openclaw doctor", "openclaw restart". NOT for token/security audit — use FORGE-telegram-audit.
tools
Generate images, videos, TTS, voice clone, and music via MiniMax MCP server. Use when user asks to "draw", "generate image", "create picture", "make a photo", "text to image", "image generation".
testing
Single load-bearing constitutional-judgment skill. Routes all F1–F13, verdict, hold, seal, scope, authority and floor-check calls through the live arif_judge surface. Replaces 7 overlapping predecessors (arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge).
development
MANDATORY LSP grounding gate BEFORE any code mutation on .ts, .py, .js, .tsx, .jsx files. Forces the agent to read real-time compiler diagnostics and structural project context before editing — eliminating blind guesses and anchoring every mutation in F2 (TRUTH). Routes through arifOS kernel (:8088) for centralized gate logic.