planetscale-pscale-cli-automation — Claude Code skill setup
Teaches coding agents to run the PlanetScale CLI non-interactively with JSON output. Useful when automating database tasks and verifying authentication.
npx skills add planetscale/skills --skill planetscale-pscale-cli-automation -a claude-codeWhat planetscale-pscale-cli-automation does
This skill configures agents to invoke the pscale command-line tool in headless scripts. It enforces passing --format json on commands and replacing interactive pscale shell sessions with pscale sql, preventing agent hangs caused by missing TTY terminals.
Parameter order matters here. Positional arguments must appear before flags, while the --org <org> flag belongs on resource subcommands like database or sql rather than the root command. By default, queries run under the reader role; write operations require explicit flags such as --role admin or --role writer.
Passing --format json never bypasses confirmation prompts on destructive actions. You must supply --force directly to individual subcommands because pscale does not provide an engine-wide global force flag or environment variable.
What it helps with
- invoke PlanetScale CLI commands in headless automation
- verify pscale authentication state from an agent
- execute SQL queries without requiring a TTY terminal
- handle destructive database subcommands with per-command force flags
Example prompts for the agent
- Verify authentication status using pscale auth check --format json
- Query mydb on branch main with admin role using pscale sql
- List databases for organization my-org using pscale database list --format json
How to install planetscale-pscale-cli-automation
1Skills CLI (Vercel)
npx skills add planetscale/skills --skill planetscale-pscale-cli-automation -a claude-code2Manually: put the files in place
~/.claude/skills/planetscale-pscale-cli-automation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/planetscale-pscale-cli-automation/
1Skills CLI (Vercel)
npx skills add planetscale/skills --skill planetscale-pscale-cli-automation -a codex2Manually: put the files in place
.agents/skills/planetscale-pscale-cli-automation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add planetscale/skills --skill planetscale-pscale-cli-automation -a cursor2Manually: put the files in place
.cursor/skills/planetscale-pscale-cli-automation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install planetscale/skills planetscale-pscale-cli-automation2Manually: put the files in place
.github/skills/planetscale-pscale-cli-automation/SKILL.md1Skills CLI (Vercel)
npx skills add planetscale/skills --skill planetscale-pscale-cli-automation -a gemini-cli2Platform CLI
gemini skills install https://github.com/planetscale/skills --path planetscale-pscale-cli-automationManually: put the files in place
.devin/skills/planetscale-pscale-cli-automation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add planetscale/skills --skill planetscale-pscale-cli-automation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about planetscale-pscale-cli-automation
How do I install planetscale-pscale-cli-automation in Claude Code?
Run npx skills add planetscale/skills --skill planetscale-pscale-cli-automation -a claude-code.
What does planetscale-pscale-cli-automation do?
It guides automated agents on how to run pscale non-interactively using --format json, correct flag positioning, and proper SQL roles.
Why does this skill require pscale sql instead of pscale shell?
The pscale shell command expects an interactive TTY session and fails in headless automation. pscale sql handles non-interactive queries cleanly.
Source text
SKILL.md · MIT
--- name: planetscale-pscale-cli-automation description: >- Use the PlanetScale CLI (pscale) from automated agents with --format json, auth check, pscale sql, and per-command --force. Run before other PlanetScale skills when driving pscale directly. Use when the user asks to automate pscale, run CLI commands headless, or verify pscale auth from an agent. --- # PlanetScale CLI automation ## Purpose Teach agents how to invoke `pscale` non-interactively. This skill covers **CLI conventions only**. Operational workflows (inventory, safety review, schema recommendations) use the other skills in this repo — start with `../planetscale-safe-orchestrator/SKILL.md` for a full assessment. ## Two AGENTS.md files (do not confuse them) | Document | Where | Purpose | |----------|-------|---------| | **CLI agent guide** | Shipped with `pscale` (`AGENTS.md` in the CLI repo, or `pscale agent-guide`) | How to call `pscale`: auth, `--format json`, flag placement, `pscale sql` | | **Project agent guide** | Your application repository's `AGENTS.md` | Which org, database, branch, engine, prod branch, MCP scope, approval rules | Do not edit project `AGENTS.md` without operator approval (see `../planetscale-mcp-agent-operating-model/SKILL.md`). ## Bootstrap (always start here) ```bash pscale agent-guide --format json pscale auth check --format json ``` If `auth check` returns `"status": "action_required"`, follow `issues` and `next_steps` in the JSON. For login, the human may need to approve in the browser; use `pscale auth login --format json`. ## Conventions - Always pass **`--format json`** for automation. - Put **`--org <org>`** on resource subcommands (`database`, `branch`, `sql`, `api`, …) — not on root `pscale`. - Put **positional arguments before flags** (`pscale sql mydb main --org bb …`). - Use **`pscale sql`**, not `pscale shell` (shell requires a TTY). - Default SQL role is **reader**; pass `--role admin` (or writer/readwriter) for writes. Match `pscale shell` semantics for `--role` and `--replica`. - **`--force`** is per subcommand only (e.g. `database delete … --force`, `pscale sql … --force`). There is no global `--force` or `PSCALE_FORCE`. - **`--format json` alone never skips confirmations** — add `--force` on the destructive subcommand after explicit user approval. ## Typical workflow ```bash pscale auth check --format json pscale org list --format json pscale database list --org <org> --format json pscale branch list <database> --org <org> --format json pscale sql <database> <branch> --org <org> --format json --query "SELECT 1" ``` MySQL uses `@primary` by default (same as `pscale shell`); pass `--keyspace` only for multi-keyspace databases. ## MCP vs CLI - **MCP clients** — use the hosted PlanetScale MCP server (see `pscale agent-guide --format json` for the current URL). - **Shell scripts and coding agents** — use `pscale` with `--format json` as above. ## When this skill is not enough Install the full PlanetScale skills pack (if not already): ```sh git clone https://github.com/planetscale/skills.git && cd skills && script/setup # or: npx skills add planetscale/skills -g -y ``` Then run sub-skills or `../planetscale-safe-orchestrator/SKILL.md` for database operations beyond basic CLI invocation. ## Current conventions source of truth Prefer live output over memorized flag syntax: ```bash pscale agent-guide --format json ``` The embedded `guide` field contains the full CLI agent guide shipped with your `pscale` binary.
© planetscale · MIT · planetscale/skills