Help us improve
Share bugs, ideas, or general feedback.
From syncable-cli-skills
Manages Syncable platform via CLI: authenticate, switch org/project/env, check context, preview/confirm/deploy/monitor services to GCP/Azure with env vars.
npx claudepluginhub syncable-dev/syncable-cli --plugin syncable-cli-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/syncable-cli-skills:syncable-platformThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage Syncable platform: authenticate, switch org/project/environment, check context, deploy services.
Runs secure Syncable deployments: auth check, project analysis, paranoid security audit with critical-issue gate, preview/confirm, execute, and monitor status.
Manages Railway PaaS deployments via CLI for creating services, infrastructure, networking config, environment variables, logs, and SSH debugging.
Installs and runs Render CLI for deploying services, viewing logs, SSH access, psql connections to databases, Blueprint validation, and CI/CD automation on Render.
Share bugs, ideas, or general feedback.
Manage Syncable platform: authenticate, switch org/project/environment, check context, deploy services.
Always check auth before any platform operation:
sync-ctl auth status
If not authenticated: sync-ctl auth login (opens browser for OAuth). Tell user a browser will open. Command blocks until authorized.
Success criteria: sync-ctl auth status shows authenticated.
# Organization (switching clears project + env)
sync-ctl org list → find ID → sync-ctl org select <ORG_ID>
# Project (requires UUID)
sync-ctl project list → find ID → sync-ctl project select <PROJECT_ID>
# Environment (accepts name directly)
sync-ctl env select <ENV_NAME>
Multiple matches: show user and ask. No matches: show available options.
sync-ctl project current
# Auth
sync-ctl auth status | login | login --no-browser | logout | token --raw
# Org
sync-ctl org list | org select <ID>
# Project
sync-ctl project list | project select <ID> | project current | project info [ID]
# Environment
sync-ctl env list | env select <NAME_OR_ID>
sync-ctl deploy preview <PATH> --service-name my-service
Success criteria: JSON with recommendation, connected_providers, alternatives.
Show: service name, provider, region, port, public/internal. If .env files found, list keys and ask which to include.
CRITICAL: NEVER deploy without preview + user confirmation. ONLY include env vars the user explicitly confirmed.
sync-ctl deploy run <PATH> --service-name <NAME> --provider <PROVIDER> --region <REGION> --port <PORT>
Success criteria: JSON with config_id and task_id.
sync-ctl deploy status <TASK_ID> --watch
| Flag | Purpose |
|---|---|
--service-name <NAME> | Service name (always set) |
--provider <gcp|hetzner|azure> | Cloud provider |
--region <REGION> | Deployment region |
--port <PORT> | Port to expose |
--public | Publicly accessible (default: internal) |
--env <KEY=VALUE> | Non-secret env var (repeatable) |
--secret <KEY> | Secret (user prompted for value, repeatable) |
--env-file <PATH> | Load from .env file |
--min-instances <N> / --max-instances <N> | Replica range |
| Mistake | Fix |
|---|---|
| Auto-including discovered env vars without asking | ONLY set env vars the user explicitly requested |
| Deploying without preview | Always deploy preview first, show user, get confirmation |
| Using directory name as service name | Always set --service-name explicitly |
| Error | Action |
|---|---|
Not authenticated / Token expired | sync-ctl auth login |
No organization selected | sync-ctl org list then org select <ID> |
No project selected | sync-ctl project list then project select <ID> |
Deployment failed | sync-ctl deploy status <TASK_ID> for details |