plugins/render/skills/render-cli/SKILL.md
Installs and uses the Render CLI for deploys, logs, SSH, psql, Blueprint validation, and automation. Use when the user needs to run Render CLI commands, script deploys in CI/CD, authenticate with an API key, query services non-interactively, or troubleshoot CLI auth issues. Trigger terms: render CLI, render login, render deploys, render logs, render ssh, render psql, render blueprints validate, render skills, RENDER_API_KEY, non-interactive, CI/CD deploy.
npx skillsauth add openai/plugins render-cliInstall 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.
The Render CLI manages services, databases, and deployments from the terminal. Supports interactive use, non-interactive scripting, and CI/CD automation.
render.yaml Blueprint| Method | Command |
|--------|---------|
| Homebrew | brew update && brew install render |
| Linux/macOS | curl -fsSL https://raw.githubusercontent.com/render-oss/cli/refs/heads/main/bin/install.sh \| sh |
| Direct download | GitHub releases |
| Build from source | git clone [email protected]:render-oss/cli.git && cd cli && go build -o render |
After install, run render with no arguments to confirm.
render login
Opens the browser to generate a CLI token. Token is saved to ~/.render/cli.yaml. Tokens expire periodically—re-run render login when prompted.
export RENDER_API_KEY=rnd_...
API keys do not expire. Generate one from Account Settings > API Keys in the Dashboard. The API key takes precedence over CLI tokens when set.
Set the active workspace:
render workspace set
| Command | Purpose | Key flags |
|---------|---------|-----------|
| render login | Authenticate via browser | — |
| render workspace set | Set active workspace | — |
| render services | List all services and datastores | -o json for scripting |
| render deploys create [SVC] | Trigger a deploy | --wait, --commit SHA, --image URL |
| render deploys list [SVC] | List deploys for a service | -o json |
| render logs -r [SVC] | View logs | --tail for streaming |
| render psql [DB] | Open psql session | -c "SQL", -o json, -- --csv |
| render ssh [SVC] | SSH into running instance | --ephemeral / -e for isolated shell |
| render blueprints validate | Validate render.yaml | Defaults to ./render.yaml |
| render skills [install\|update\|list] | Manage agent skills | — |
| render workspaces | List workspaces | -o json |
For CI/CD and scripts, always set:
| Flag | Purpose |
|------|---------|
| -o json (or yaml, text) | Machine-readable output |
| --confirm | Skip confirmation prompts |
Output format precedence: --output flag > RENDER_OUTPUT env var > auto-detect (TTY → interactive, pipe → text).
export RENDER_OUTPUT=json
render services --confirm
# Deploy and wait for completion (exits non-zero on failure)
render deploys create srv-xxx --wait --confirm -o json
# Deploy a specific commit
render deploys create srv-xxx --commit abc123 --wait --confirm
# Deploy a specific Docker image
render deploys create srv-xxx --image ghcr.io/org/app:v1.2.3 --wait --confirm
# Single query, JSON output
render psql db-xxx -c "SELECT NOW();" -o json
# CSV output via psql passthrough
render psql db-xxx -c "SELECT id, email FROM users;" -o text -- --csv
name: Deploy to Render
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Install Render CLI
run: |
curl -L https://github.com/render-oss/cli/releases/download/v1.1.0/cli_1.1.0_linux_amd64.zip -o render.zip
unzip render.zip
sudo mv cli_v1.1.0 /usr/local/bin/render
- name: Deploy
env:
RENDER_API_KEY: ${{ secrets.RENDER_API_KEY }}
run: render deploys create ${{ secrets.RENDER_SERVICE_ID }} --wait --confirm -o json
Pin to a specific CLI version in CI to avoid breaking changes.
Config file: ~/.render/cli.yaml
Override with RENDER_CLI_CONFIG_PATH env var.
| Mistake | Fix |
|---------|-----|
| Token expired | Re-run render login |
| Wrong workspace | Run render workspace set to switch |
| Missing --confirm in CI | Add --confirm to skip interactive prompts |
| Using --output interactive in CI | Use -o json or -o text in non-TTY environments |
| Deploying without --wait in CI | Add --wait so the job fails on deploy failure |
| Document | Contents |
|----------|----------|
| references/command-cheatsheet.md | Full command list with flags, output examples, and scripting patterns |
render.yaml authoring and validationrender psql usagerender logs and render ssh for troubleshootingdevelopment
Use when the user wants to spin up / create / launch / provision a DigitalOcean droplet (or "a remote dev box on DO") and connect to it from Codex as a remote SSH workspace.
data-ai
Search through Microsoft Teams chats or channels, triage unread or recent activity, draft follow-ups, and manage Planner tasks through connected Teams data.
tools
Motion / animation context for the `use_figma` MCP tool — animating Figma nodes via manual keyframes, animation styles, easing, and timeline duration. Load alongside figma-use whenever a task involves adding, editing, or inspecting animation on a node.
development
SwiftUI ↔ Figma translation. Use whenever the user mentions Swift, SwiftUI, iOS, iPhone, or iPad — in EITHER direction — translating a Figma design into SwiftUI (design → code), or pushing SwiftUI views / screens / tokens back into a Figma file (code → design). Triggers on phrases like 'implement this Figma design in SwiftUI', 'build this screen in Swift', 'push this SwiftUI view to Figma', 'mirror my Swift code in a Figma file', or whenever a Figma URL appears alongside `.swift` files / an `.xcodeproj`. Routes to a direction-specific reference doc; loads alongside `figma-use` for the code → design path.