with one click
ops-deploy
Deploy status across all projects. Shows ECS service versions, Vercel deployments, recent deploys, pending deploys, and CI/CD pipeline state.
Menu
Deploy status across all projects. Shows ECS service versions, Vercel deployments, recent deploys, pending deploys, and CI/CD pipeline state.
Manages the founder's competitive landscape — discovering competitors, updating existing competitor files, adding new ones, and dispatching ad-hoc research. Use when the founder wants to explore competitors, do competitive research, update a competitor profile, or understand who else is solving their problem.
Agent guide for operating Sequenzy. Use when Codex needs to authenticate, inspect identity, manage subscribers, create or edit campaigns/sequences/templates, generate draft email content, send a transactional email, read delivery stats, or decide whether a requested Sequenzy workflow is currently supported. Prefer the CLI when it is implemented, and fall back to the dashboard or direct API use when the current CLI surface is only partial.
Sonnet Amplified fullstack engine. 34 modes, SEC-01~15 OWASP security, 13 runtime hooks, 75% token reduction. Install: npx @smorky85/aurakit
Deploy a free VLESS proxy/VPN node on Cloudflare Pages using edgetunnel. Automates code download, UUID generation, Pages deployment, free domain registration (DNSExit), DNS configuration, custom domain binding, and client setup for Shadowrocket/v2rayN/Clash. Uses Cloudflare Pages (not Workers) because Pages supports CNAME-based custom domains from any DNS provider, avoiding the need to host DNS on Cloudflare.
Access cryptocurrency market data from CoinPaprika: prices, tickers, OHLCV, exchanges, contract lookups for 12,000+ coins and 350+ exchanges. Free tier, no API key needed. Install MCP: add https://mcp.coinpaprika.com/sse as SSE server, or install plugin: /plugin marketplace add coinpaprika/claude-marketplace
Access DeFi data from DexPaprika: token prices, liquidity pools, OHLCV, transactions across 34+ blockchains and 30M+ pools. Free, no API key needed. Install MCP: add https://mcp.dexpaprika.com/sse as SSE server, or install plugin: /plugin marketplace add coinpaprika/claude-marketplace
| name | ops-deploy |
| description | Deploy status across all projects. Shows ECS service versions, Vercel deployments, recent deploys, pending deploys, and CI/CD pipeline state. |
| argument-hint | [project-alias|ecs|vercel|all] |
| allowed-tools | ["Bash","Read","Grep","Glob","Skill","Agent","TeamCreate","SendMessage","AskUserQuestion","TaskCreate","TaskUpdate","Monitor","WebFetch","mcp__claude_ai_Vercel__list_deployments","mcp__claude_ai_Vercel__list_projects","mcp__claude_ai_Vercel__get_deployment","mcp__claude_ai_Vercel__get_runtime_logs","mcp__claude_ai_Vercel__get_deployment_build_logs"] |
| effort | low |
| maxTurns | 20 |
| disallowedTools | ["Edit","Write","NotebookEdit"] |
Before executing, load available context:
Preferences: Read ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json
timezone — display all deploy timestamps in the correct timezoneDaemon health: Read ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json
infra-monitor status — if not running, note that ECS data may be staleSecrets: AWS and Vercel credentials required.
$AWS_PROFILE / $AWS_ACCESS_KEY_ID → doppler secrets get AWS_ACCESS_KEY_ID --plain → vault query cmd from prefs$VERCEL_TOKEN → doppler secrets get VERCEL_TOKEN --plain → vault| Command | Usage | Output |
|---|---|---|
aws ecs list-clusters --output json | All ECS clusters | {clusterArns: [...]} |
aws ecs list-services --cluster <name> --output json | Services in cluster | {serviceArns: [...]} |
aws ecs describe-services --cluster <name> --services <arn> --output json | Service health | {services: [{serviceName, status, runningCount, desiredCount, pendingCount}]} |
aws logs tail /ecs/<service> --since 1h --format short | ECS logs | Log lines |
| Command | Usage | Output |
|---|---|---|
gh run list --repo <owner/repo> --limit 5 --json status,conclusion,name,headBranch,createdAt,databaseId | CI runs | JSON array |
gh run view <id> --repo <repo> --log-failed | Failed CI logs | Log output |
gh run watch <run-id> --repo <repo> | Stream CI run | Live output (use with Monitor) |
If CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set, use Agent Teams when checking deploy platforms in parallel. This enables:
Team setup (only when flag is enabled):
TeamCreate("deploy-team")
Agent(team_name="deploy-team", name="ecs-checker", prompt="List all ECS clusters and describe service health, running/desired counts")
Agent(team_name="deploy-team", name="vercel-checker", prompt="List Vercel projects and recent deployments with status")
Agent(team_name="deploy-team", name="ci-checker", prompt="Check GitHub Actions runs across all registered repos for failures")
If the flag is NOT set, use standard fire-and-forget subagents.
${CLAUDE_PLUGIN_ROOT}/bin/ops-infra 2>/dev/null || \
aws ecs list-clusters --output json 2>/dev/null
for cluster in $(aws ecs list-clusters --output json 2>/dev/null | jq -r '.clusterArns[]'); do
cluster_name=$(basename "$cluster")
aws ecs list-services --cluster "$cluster_name" --output json 2>/dev/null | \
jq -r '.serviceArns[]' | while read svc; do
aws ecs describe-services --cluster "$cluster_name" --services "$svc" \
--output json 2>/dev/null | jq '.services[] | {name: .serviceName, desired: .desiredCount, running: .runningCount, pending: .pendingCount, image: (.taskDefinition // "unknown"), status: .status}'
done
done
REGISTRY="${CLAUDE_PLUGIN_ROOT}/scripts/registry.json"
[ -f "$REGISTRY" ] || REGISTRY="${CLAUDE_PLUGIN_ROOT}/scripts/registry.example.json"
for repo in $(jq -r '.projects[] | select(.gsd == true) | .repos[]' "$REGISTRY" 2>/dev/null); do
echo "=== $repo ==="
gh run list --repo "$repo" --limit 5 --json status,conclusion,name,headBranch,createdAt,databaseId 2>/dev/null
done
Use mcp__claude_ai_Vercel__list_projects then mcp__claude_ai_Vercel__list_deployments for each project (limit 5 per project).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS ► DEPLOY STATUS — [timestamp]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ECS SERVICES
CLUSTER SERVICE D/R/P STATUS LAST DEPLOY
─────────────────────────────────────────────────────
[cluster] [service] [x/x/x] ACTIVE [time ago]
...
VERCEL DEPLOYMENTS
PROJECT ENV STATUS COMMIT DEPLOYED
─────────────────────────────────────────────────────
[project] production READY [sha] [time ago]
...
CI/CD PIPELINE
REPO BRANCH WORKFLOW STATUS AGE
─────────────────────────────────────────────────────
example-api main Deploy API ✓ success 2h
example-web dev Build ✗ failure 1h
...
PENDING DEPLOYS (branch ready, not yet deployed)
[repo] [branch] [PR#] [CI status] → needs merge to trigger
──────────────────────────────────────────────────────
After rendering, use batched AskUserQuestion calls (max 4 options each). Only show actions relevant to the current state (e.g., skip "View logs for failing service" if nothing is failing). If <=4 relevant actions, use a single call. If >4, batch:
AskUserQuestion call 1:
[View logs for [failing service]]
[Trigger manual deploy for [project]]
[View build logs for [failing CI run]]
[More actions...]
AskUserQuestion call 2 (only if "More actions..."):
[Check Vercel [project] runtime logs]
[Open GitHub Actions for [repo]]
[Back to dashboard]
If $ARGUMENTS has a project alias, show only that project's deploy info + last 10 CI runs + option to view logs.
For failing deploys: offer to view logs via mcp__claude_ai_Vercel__get_deployment_build_logs or ECS CloudWatch logs.
If user selects manual deploy (option b), confirm with AskUserQuestion before triggering:
Trigger deploy for [project]:
Environment: [production/staging]
Branch: [branch]
Last commit: [sha] — [message]
[Deploy now] [View diff since last deploy first] [Cancel]
If user selects to view logs, show the logs and use AskUserQuestion:
[Dispatch fix agent for this failure] [Redeploy] [Back to dashboard]
When watching a deploy in progress, use Monitor to stream logs:
Monitor(command: "gh run watch <run-id> --repo <repo>")
For ECS deploys: Monitor(command: "aws ecs wait services-stable --cluster <cluster> --services <service>")
Use TaskCreate per project being deployed. Update with TaskUpdate as deploys succeed/fail.
When Vercel MCP tools are unavailable, use WebFetch with the Vercel API directly:
WebFetch(url: "https://api.vercel.com/v6/deployments?projectId=<id>&limit=5", headers: {"Authorization": "Bearer $VERCEL_TOKEN"})