plane-api
plane-api (internal)
A single, consistent interface to Plane.
Config
This skill reads Plane connection settings from secrets/environment (no prompting):
- PLANE_BASE_URL (preferred) or
PLANE_API_URL - PLANE_WORKSPACE_SLUG
- PLANE_PROJECT_ID
- PLANE_API_KEY
(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": "work_item_id", "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/<PROJECT_IDENTIFIER>-<SEQUENCE_ID>
- 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
urlinstead 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 }
More from montagao/skills
library-ebooks
>-
56llm-seo
Optimize websites and content for AI/LLM discoverability (AIO - AI Optimization). Use when asked to "optimize for AI", "improve AI discoverability", "add LLM SEO", "make site AI-friendly", "help LLMs understand my site", or when implementing llms.txt files, JSON-LD structured data, or AI-focused content strategies.
20clean-history
Reimplement the current branch on a new branch with a clean, narrative-quality git commit history suitable for reviewer comprehension. Use when the user wants to clean up messy commit history before opening a PR.
18supernote-upload
Upload PDF and EPUB files to Supernote Cloud. Use this skill when the user wants to send documents to their Supernote device.
16todo
Create a Plane task in Plane. By default, use the interview skill first to flesh out the issue before creating it; only skip the interview when the user clearly wants a minimal quick capture.
15un-ai-writing
Rewrite and edit existing text to sound natural and human, removing common AI writing tells while preserving meaning and facts. Use when asked to humanize, de-AI-ify, un-AI, make it sound less robotic, polish an AI draft, or remove AI-writing signs in any prose (emails, docs, posts, essays, scripts).
14