Plane CLI

v0.1.0

Plane.so: Create, update, and manage issues, projects, states, labels, and pages. Use when the user wants to interact with Plane.so — creating issues, listin...

0· 268·0 current·0 all-time
byJamil Zakirov@jzakirov
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (Plane CLI) align with the declared requirement of the 'plane' binary and the Plane API credentials (PLANE_API_KEY, PLANE_WORKSPACE_SLUG). The actions described (create/list/update/delete issues, projects, states, labels, pages) are consistent with a CLI integration.
Instruction Scope
SKILL.md instructs the agent to run the plane CLI and references the config path (~/.config/plane-cli/config.toml) and optional env vars (PLANE_BASE_URL, PLANE_PROJECT). These references are expected for this kind of skill, but the declared metadata did not list that config path or the optional env vars — a mild mismatch. The doc warns about destructive 'delete' commands requiring confirmation in non-TTY contexts, which is appropriate but means an agent could execute destructive actions if misused.
Install Mechanism
There is no install spec in the package (instruction-only). SKILL.md suggests installing via 'uv tool install plane-cli' or 'pip install plane-cli' but no automated download or extract is included in the skill itself, so the skill does not write code to disk or pull arbitrary binaries by itself.
Credentials
The required environment variables (PLANE_API_KEY, PLANE_WORKSPACE_SLUG) are appropriate for interacting with Plane.so. The SKILL.md also mentions optional env vars (PLANE_BASE_URL, PLANE_PROJECT) but these were not declared as required — this is reasonable as optional settings, but the package did not mark PLANE_API_KEY as the primary credential (primaryEnv is unset). No unrelated secrets are requested.
Persistence & Privilege
The skill is not always-enabled and does not request any persistent system-wide privileges. It is instruction-only and does not modify other skills or system configuration. Note: autonomous invocation is allowed by default (disable-model-invocation=false) — normal for skills — so an agent with this skill could run CLI commands when invoked; combined with the ability to run destructive 'delete' commands, users should ensure the agent is only given to trusted workflows.
Assessment
This skill is an instruction-only helper for the official Plane CLI and appears coherent. Before installing: (1) confirm you have the legitimate 'plane' binary from a trusted source (pip or the project) rather than an unknown binary on PATH; (2) protect PLANE_API_KEY — treat it like any API secret and use a token with least privilege and limited scope; (3) be aware that the agent may execute CLI commands (including destructive 'delete' operations) when you invoke it — require explicit confirmation for destructive actions or avoid giving it highly-privileged workspace tokens; (4) note the skill references ~/.config/plane-cli/config.toml and optional env vars (PLANE_BASE_URL, PLANE_PROJECT) even though they are not marked as required in metadata; if you need stricter guarantees, request the skill author declare optional env/config paths and set a primaryEnv for the API key.

Like a lobster shell, security has layers — review code before you run it.

Plugin bundle (nix)
Skill pack · CLI binary · Config
SKILL.mdCLIConfig
CLI help (from plugin)
plane --help

Runtime requirements

✈️ Clawdis
Binsplane
EnvPLANE_API_KEY, PLANE_WORKSPACE_SLUG
latestvk97264fxgf3tdhwv14nxkpbtws82a9m4
268downloads
0stars
1versions
Updated 1mo ago
v0.1.0
MIT-0

Plane CLI

CLI for Plane.so project management. Output is JSON by default — pipe to jq or consume directly.

Setup

uv tool install plane-cli   # or: pip install plane-cli
plane config init            # interactive setup wizard

Config: ~/.config/plane-cli/config.toml. All values can be set via env vars (PLANE_API_KEY, PLANE_WORKSPACE_SLUG, PLANE_BASE_URL, PLANE_PROJECT) or CLI flags.

Command Discovery

Do not guess command names or options. Use --help:

plane --help
plane issues --help
plane issues create --help

Quick Reference

ResourceKey commands
plane projectslist, get, create --name, update, delete
plane issueslist, get, create --title, update, delete
plane issues commentlist <issue-id>, add <issue-id> --body
plane stateslist, get, create --name --color, update, delete
plane labelslist, get, create --name, update, delete
plane pageslist, get, create --name, update, delete

Common Workflows

Create an issue:

plane issues create --title "Fix login bug" --priority high --state <state-id>

List issues with filters:

plane issues list --state <state-id> --assignee <user-id> --all

Update issue state (move to "In Progress"):

# First, find the state ID
plane states list --project <pid>
# Then update
plane issues update <issue-id> --state <state-id>

Add a comment (supports stdin with -):

plane issues comment add <issue-id> --body "Deployed to staging"
git diff HEAD~1 | plane issues comment add <issue-id> --body -

Important Conventions

  • --project is optional when defaults.project is configured
  • Destructive commands (delete) require --yes in non-TTY (agent) contexts
  • --description and --body accept - to read from stdin
  • --all fetches all pages (capped at 1000); default is first 20 results
  • --pretty renders Rich tables — avoid in scripts, parse JSON instead
  • Errors go to stderr as JSON: {"error": {"type": "...", "message": "...", "status_code": N}}
  • Exit codes: 0 success, 1 error, 2 rate-limited (retry safe)

[!CAUTION] delete commands are destructive — always confirm with the user before executing.

Comments

Loading comments...