
Plane
FreeObserve team behavior and improve project outcomes.
Free · Opens the source repo
What Plane does
Plane is designed to provide insights into team behavior by synthesizing data from the Plane project-tracking API. Unlike other tools that focus solely on ticket management, Plane enables users to understand how teams perform under pressure by analyzing key metrics such as cycle velocity, ownership churn, and reviewer gate strength. This skill is particularly useful for team leads and project managers who want to assess the health of their workflows and identify potential bottlenecks in the development process.
The skill operates through five compound commands, each addressing a specific aspect of team behavior. For instance, the /plane-cycle-velocity command helps users determine whether the team's cycle close-out aligns with their initial planning. Similarly, the /plane-stale-tickets command identifies which tickets are struggling due to shared ownership, allowing teams to address issues before they escalate. By leveraging these commands, teams can gain a comprehensive view of their operations and make informed decisions to enhance productivity.
To use Plane effectively, users must have the mcp__plane MCP server installed and configured. This setup allows the skill to access live data and provide actionable insights. If the server is unavailable, the skill will still offer documentation-based responses, ensuring that users can understand the potential outputs and how to implement them in their projects. Overall, Plane serves as a valuable observatory for teams striving to optimize their project management practices and improve overall performance.
When to use it
Use Plane when you need to analyze team performance metrics, particularly under pressure, or when onboarding to a new project.
When not to use it
This skill is not suitable for direct ticket management or CRUD operations; it focuses solely on behavioral insights rather than task execution.
What you can build with it
Assessing Cycle Velocity
Use the `/plane-cycle-velocity` command to compare planned vs. actual cycle completion rates.
Identifying Stale Tickets
Run the `/plane-stale-tickets` command to find tickets that are stuck due to shared ownership issues.
Evaluating Reviewer Gate Strength
Utilize the `/plane-reviewer-gate-strength` command to analyze which reviewers are causing delays in the review process.
How to install Plane
View source1. Install with the skills CLI
npx skills add jeremylongshore/claude-code-plugins-plus-skills/plane --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by jeremylongshorePlane — Team Behavior Observatory
A behavioral observation layer on top of Plane's project-tracking API. This skill does not wrap Plane CRUD — mcp__plane already does that and you should call it directly for ticket entry, status changes, etc.
Instead, this skill answers behavioral questions about how a team is actually performing under pressure: cycle velocity vs. plan, ownership churn, reviewer gate strength, priority drift, and cross-project load. Each question is answered by a compound command that synthesizes data across multiple Plane endpoints — observations no single endpoint exposes.
Overview
The NOI (references/noi.md) is the design anchor: Plane is a team behavior observatory. Five compound commands derive from that framing:
/plane-cycle-velocity— does cycle close-out match cycle planning?/plane-stale-tickets— whichIn Progresstickets are quietly failing under shared ownership?/plane-reviewer-gate-strength— which reviewers gate-keep harder than the spec demands?/plane-priority-drift— does the team plan high-priority work but ship low-priority work?/plane-cross-project-load— which engineers are spread across too many active projects?
None of these are answerable from any single Plane API call. Each requires cross-endpoint synthesis. That synthesis is the value.
Prerequisites
mcp__planeMCP server installed and configured (env varsPLANE_API_KEY,PLANE_WORKSPACE_SLUG,PLANE_API_HOST_URL)- A Plane workspace with at least one project, cycle, and active issues (otherwise the commands return informative empty states)
Authentication
This skill does not handle credentials directly. Auth is delegated to the MCP server. See references/api-surface.md for the env-var setup; if mcp__plane returns an auth error, the skill surfaces the error verbatim and instructs the user to verify their token.
Instructions
Mode detection
Determine user intent from their prompt:
- Compound query mode (default): user asks about cycle health, team behavior, stale tickets, reviewer patterns, priority drift, or workload distribution → route to
plane-analystagent (seeagents/plane-analyst.md) which orchestrates the compound commands. - API help mode: user asks "how do I query X in Plane" or "what endpoint does Y" → route to
plane-expertagent (seeagents/plane-expert.md) which answers fromreferences/api-surface.mdwithout firing live API calls. - Skill metadata: user asks "what does this skill do" / "explain plane skill" → return the Overview above + the 5 commands.
If unclear, use AskUserQuestion:
Are you asking about (a) team behavior / cycle health / patterns, or (b) how to use a specific Plane API endpoint?
Step 1: Resolve target project
Most compound commands operate on a specific project. Extract the project slug or readable identifier (e.g., BRAVES, OPS) from the user's prompt.
If absent, list available projects via mcp__plane__get_projects and ask which one. Cache the chosen project for the rest of the conversation.
Step 2: Route to compound command
Match user intent to one of the five commands:
| User asks about... | Command |
|---|---|
| cycle velocity, sprint completion, overrun | /plane-cycle-velocity |
| stale tickets, orphan work, ownership churn | /plane-stale-tickets |
| reviewer bottlenecks, blocked PRs, gate-keeping | /plane-reviewer-gate-strength |
| priority drift, planning vs. reality, P1 vs. P3 | /plane-priority-drift |
| workload distribution, project sprawl, focus | /plane-cross-project-load |
Read references/compound-commands.md for the exact endpoint sequence and output format per command.
Step 3: Execute via plane-analyst agent
Invoke the analyst agent (agents/plane-analyst.md) with the chosen command + project. The agent:
- Calls the relevant
mcp__plane__*tools in sequence - Performs the JOIN logic
- Computes the behavioral score per the command's formula
- Renders the output table per the format in
compound-commands.md - Adds a "Behavioral signal" interpretation paragraph
If mcp__plane is unavailable, the agent emits a documentation-only response: shows what the command WOULD return, plus the install hint.
Step 4: Interpret the signal
The output is observations, not prescriptions. The skill says "this team plans P1s and ships P3s — the planning conversation is theater." It does NOT say "fire the planner." Interpretation belongs to the human reading the report.
Output
Each compound command produces:
- A table of metrics specific to that observation
- A "Behavioral signal" paragraph that names the pattern in plain language
- Optionally, a follow-up suggestion (e.g., "consolidate projects" / "split this queue") — framed as a question the team can take to its retro
Error Handling
| Error | Recovery |
|---|---|
mcp__plane unavailable | Emit documentation-only output + install hint pointing at ~/.claude.json MCP config |
| API rate limit (429) | Back off + retry with exponential delay; if persistent, advise user to wait and re-run |
| Empty project (no cycles / issues) | Return informative empty state explaining why the command can't compute |
| Auth error (401/403) | Surface verbatim + instruct user to verify env vars or re-issue token |
| Workspace member lookup fails | Fall back to assignee UUIDs in output (less readable but functional) |
Examples
"How is my team performing on cycle velocity?"
/plane-cycle-velocity BRAVES
→ Renders the cycle-velocity table from references/compound-commands.md § Command 1.
"Are we shipping what we plan?"
/plane-priority-drift BRAVES
→ Renders the priority-drift table; surfaces the gap between planned and shipped priorities.
"Which engineers are stretched too thin?"
/plane-cross-project-load
→ Walks the entire workspace; lists engineers with their active-project / active-cycle / open-issue counts; flags crisis-level stretch.
Resources
- NOI — the secret-identity statement that anchors every command
- API surface — endpoints consumed + auth + pagination
- Compound commands — exact endpoint sequence + output format per command
- Plane docs — upstream API reference
mcp__planeMCP server — direct CRUD wrapper this skill builds on top of
Frequently asked questions about Plane
Similar skills
Canva Creator
Streamline your content campaign from brief to HubSpot.
Cowork Plugin Customization
Tailor your Claude Code plugin to fit your organization.
Impediment Prioritization
Rank and prioritize impediments effectively.
Chronicle
Streamline your Copilot session analysis and reporting.
Idea Refine
Transform vague ideas into actionable concepts.
App Store Optimization
Optimize your mobile app's visibility and performance.
