Plane.so CLI Skill
Interact with Plane.so project management via a clean, auditable Python CLI.
Zero dependencies — uses only Python 3.8+ stdlib. The plane-so-cli executable is bundled in scripts/plane-so-cli and available on PATH after installation.
Setup
Set these environment variables:
export PLANE_API_KEY="your-api-key"
export PLANE_WORKSPACE="your-workspace-slug"
Get your API key: Plane > Profile Settings > Personal Access Tokens
Commands
User & Workspace
plane-so-cli me # Show current user
plane-so-cli projects list # List all active projects
plane-so-cli members # List workspace members
Issues (Work Items)
plane-so-cli issues list -p PROJECT_ID
plane-so-cli issues list -p PROJECT_ID --state STATE_ID
plane-so-cli issues list -p PROJECT_ID --priority high
plane-so-cli issues list -p PROJECT_ID --assignee USER_ID
plane-so-cli issues get -p PROJECT_ID ISSUE_ID
plane-so-cli issues create -p PROJECT_ID --name "Fix bug" --priority high
plane-so-cli issues create -p PROJECT_ID --name "Task" --assignee USER_ID
plane-so-cli issues update -p PROJECT_ID ISSUE_ID --state STATE_ID
plane-so-cli issues update -p PROJECT_ID ISSUE_ID --priority medium
plane-so-cli issues assign -p PROJECT_ID ISSUE_ID USER_ID_1 USER_ID_2
plane-so-cli issues delete -p PROJECT_ID ISSUE_ID
plane-so-cli issues search "login bug"
plane-so-cli issues my
Comments, States & Labels
plane-so-cli comments list -p PROJECT_ID -i ISSUE_ID
plane-so-cli comments add -p PROJECT_ID -i ISSUE_ID "Comment text"
plane-so-cli states -p PROJECT_ID
plane-so-cli labels -p PROJECT_ID
Cycles & Modules
plane-so-cli cycles list -p PROJECT_ID
plane-so-cli cycles get -p PROJECT_ID CYCLE_ID
plane-so-cli modules list -p PROJECT_ID
plane-so-cli modules get -p PROJECT_ID MODULE_ID
Output Formats
Default is human-readable table. Use -f json for raw JSON:
plane-so-cli projects list -f json
Typical Workflow
plane-so-cli projects list— find project IDplane-so-cli members— find member IDs for assignmentplane-so-cli states -p PROJECT_ID— see available statesplane-so-cli issues create -p PROJECT_ID --name "Task" --assignee USER_IDplane-so-cli comments add -p PROJECT_ID -i ISSUE_ID "Started working"
Security & Privacy
This skill communicates only with the Plane.so API. The API host is hardcoded to api.plane.so and cannot be overridden.
| Endpoint | Data sent | Purpose |
|---|---|---|
https://api.plane.so/api/v1/* | API key (header), project/issue data (body) | All Plane.so operations |
- Your
PLANE_API_KEYis sent as anX-API-Keyheader exclusively tohttps://api.plane.so - The API host is hardcoded — no environment variable can redirect requests to another domain
- No data is cached, logged, or stored locally
- No telemetry or analytics are collected
- The full source code is auditable at github.com/luiseduardoaugusto/plane-so-cli and bundled in
scripts/plane-so-cli