montagao/skills

plane-api

Internal helper for creating/listing/updating Plane work items.

First seen Jan 24, 2026

Installation

$ npx skills add montagao/skills --skill plane-api

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from montagao/skills · top by installs.

npx skills add montagao/skills

Browse all from montagao/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 2
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,166 B
  • docs SUMMARY.md 80 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 52 installs

SKILL.md

plane-api (internal)

A single, consistent interface to Plane.

Config

This skill reads Plane connection settings from secrets/environment (no prompting):

  • PLANEBASEURL (preferred) or PLANEAPIURL
  • PLANEWORKSPACESLUG
  • PLANEPROJECTID
  • PLANEAPIKEY

(Optional: support multiple profiles if configured, e.g. profile: "personal"|"business".)

Input contract

The caller provides a JSON object:

Create

{ "action": "create", "title": "...", "description": "... (optional)", "due": "YYYY-MM-DD (optional)", "priority": "urgent|high|medium|low|none (optional)", "labels": ["claw_inbox", "..."] (optional) }

List

{ "action": "list", "limit": 20, "filters": { "labels": ["claw_inbox"] (optional), "dueFrom": "YYYY-MM-DD" (optional), "dueTo": "YYYY-MM-DD" (optional), "state": "..." (optional), "search": "..." (optional) } }

Update

{ "action": "update", "id": "workitemid", "patch": { "title": "... (optional)", "description": "... (optional)", "due": "YYYY-MM-DD (optional)", "priority": "urgent|high|medium|low|none (optional)", "state": "... (optional)", "labels": ["..."] (optional) } }

Behavior

  • Never asks the user questions (callers handle that).
  • Enforces idempotency if the platform provides an incoming message id (best effort).
  • Returns structured JSON only.
  • When returning a work item URL, use the canonical web route:

- https://<plane-domain>/<workspaceSlug>/browse/<PROJECTIDENTIFIER>-<SEQUENCEID>

  • Never synthesize legacy links like /projects/<project>/issues/<issue> because they can be wrong or redirect poorly.
  • If the human-facing issue key cannot be resolved safely, omit url instead of guessing.

Output (always JSON)

Success example: { "ok": true, "action": "create", "id": "...", "issue_key": "TMOM-461", "url": "https://todo.translate.mom/translatemom/browse/TMOM-461";, "title": "..." }

Failure example: { "ok": false, "action": "create", "error": "...", "status": 401 }