--- description: Configure deployment for your agent system. Supports /schedule (cloud), Desktop scheduled tasks, cron/launchd, systemd, and Docker. argument-hint: "Optional: deployment target (schedule, desktop, local, vps, docker)" allowed-tools: ["Read", "Write", "Edit", "Glob", "Grep", "Bash", "Agent", "AskUserQuestion"] --- You are running `/agent-factory:deploy` — a guided deployment configuration for autonomous agent systems. If $ARGUMENTS specifies a target, skip to that target's section. Otherwise, ask the user to choose. --- ## Step 1: Scan existing system Read the user's agent system: - Glob for `.claude/agents/*.md` — list all agents with names and models - Glob for `.claude/skills/*/SKILL.md` and `.claude/skills/*.md` — list all skills - Read `.claude/settings.json` if it exists — check hook configuration - Check for existing automation: `automation/`, `HEARTBEAT.md`, `docker-compose.yml` - Read `CLAUDE.md` for project context Summarize what was found before proceeding. --- ## Step 2: Choose deployment target Ask using AskUserQuestion: "Where should your agents run? Choose a deployment target: 1. **Cloud (/schedule)** — Runs on Anthropic's cloud. Needs GitHub repo. No local file access. 1-hour minimum interval. Best for: PR reviews, CI triage, repo maintenance. 2. **Desktop scheduled tasks** — Runs on your machine via Claude Code Desktop app. Local file access. 1-minute minimum interval. Best for: local automation, file processing. 3. **Local (cron/launchd)** — Traditional scheduler. Runs headless via `claude -p`. Full local access. Best for: personal daily pipelines, development. 4. **VPS (systemd)** — Linux server with systemd service/timer. Always-on. Best for: team pipelines, production workloads. 5. **Docker** — Containerized agent. Portable, isolated. Best for: reproducible deployments, security isolation." If `$ARGUMENTS` matches a target name, skip this question. --- ## Step 3: Configure chosen target ### Cloud (/schedule) 1. Check GitHub connection: suggest `/web-setup` if not connected 2. Explain: "Cloud tasks clone your repo on each run. Local files are not accessible. MCP connectors provide external service access." 3. Generate a task prompt from the user's pipeline skills 4. Guide the user through `/schedule` to create the task 5. Note minimum 1-hour interval ### Desktop scheduled tasks 1. Explain: "Desktop tasks run on your machine with full local file access." 2. Guide through the Desktop app's Schedule page 3. Configure permission mode for unattended operation ### Local (cron/launchd) 1. Read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/automation.sh` 2. Copy and customize to `automation/run-pipeline.sh` 3. Replace SKILL_NAME with the user's pipeline name 4. Ask: "What schedule? (e.g., daily at 07:00, every 2 hours)" 5. For macOS: read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/launchd.plist`, customize, save to `automation/` 6. For Linux: generate cron entry 7. Provide exact activation commands ### VPS (systemd) 1. Read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/systemd-service.unit` 2. Ask: "What Linux user runs the agent?" and "Absolute path to project?" 3. Customize and save service + timer units to `automation/` 4. Copy automation.sh template to `automation/run-pipeline.sh` 5. Provide setup instructions including `systemctl enable/start` ### Docker 1. Read `${CLAUDE_PLUGIN_ROOT}/scripts/templates/docker/` templates (created in Session 6) 2. If templates don't exist yet: generate basic Dockerfile + docker-compose.yml inline 3. Customize with project-specific values 4. Save to project root 5. Provide `docker compose up -d` instructions --- ## Step 4: Verify deployment For each target, provide a verification command: - Cloud: `/schedule list` → task visible - Desktop: Check Schedule page in Desktop app - Local: `crontab -l | grep claude` or `launchctl list | grep claude` - VPS: `systemctl status claude-agent` - Docker: `docker compose ps` Use the `deployment-advisor` agent when the user needs guidance choosing between targets. --- ## Step 5: Next steps Tell the user: - "Run `/agent-factory:status` to check your deployment" - "Run `/agent-factory:evaluate` to assess your system's capability coverage"