Skip to content
Back to skills

Plane

ASecurity

Plane is a team behavior observatory — synthesize Plane API data into observations about how teams actually behave under pressure, not just ticket state. Five compound commands surface cycle velocity vs. plan, stale-ticket ownership churn, reviewer gate strength, stated-vs-actual priority drift, and cross-project workload concentration. Reads from the live mcp__plane MCP server when present; documentation-only otherwise. Use when investigating "why is this team's plan diverging from reality",...

  • 2,719 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 21, 2026
ai-agentsbashapidocumentation

Works with

  • claude code
  • api
  • mcp

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 21, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus --skill plane --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plane?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plane
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-plane-f247eae6/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-plane-f247eae6)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plane
description: |
  Plane is a team behavior observatory — synthesize Plane API data into observations
  about how teams actually behave under pressure, not just ticket state. Five compound
  commands surface cycle velocity vs. plan, stale-ticket ownership churn, reviewer gate
  strength, stated-vs-actual priority drift, and cross-project workload concentration.
  Reads from the live mcp__plane MCP server when present; documentation-only otherwise.
  Use when investigating "why is this team's plan diverging from reality", auditing cycle
  health, finding orphan tickets, identifying review bottlenecks, or onboarding to a
  new project. Trigger with "/plane-cycle-velocity", "/plane-stale-tickets",
  "/plane-reviewer-gate-strength", "/plane-priority-drift", "/plane-cross-project-load",
  "audit Plane cycle", "team behavior plane", "how is my team behaving".
allowed-tools: "Read,Bash(jq:*),Bash(date:*),AskUserQuestion"
version: 0.3.0
author: Jeremy Longshore <jeremy@intentsolutions.io>
license: MIT
compatibility: Designed for Claude Code; requires mcp__plane MCP server configured (PLANE_API_KEY, PLANE_WORKSPACE_SLUG, PLANE_API_HOST_URL env vars)
tags: [plane, project-management, team-behavior, observability, productivity]
model: inherit
---

# Plane — 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:

1. `/plane-cycle-velocity` — does cycle close-out match cycle planning?
2. `/plane-stale-tickets` — which `In Progress` tickets are quietly failing under shared ownership?
3. `/plane-reviewer-gate-strength` — which reviewers gate-keep harder than the spec demands?
4. `/plane-priority-drift` — does the team plan high-priority work but ship low-priority work?
5. `/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__plane` MCP server installed and configured (env vars `PLANE_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-analyst` agent (see `agents/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-expert` agent (see `agents/plane-expert.md`) which answers from `references/api-surface.md` without 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:

1. Calls the relevant `mcp__plane__*` tools in sequence
2. Performs the JOIN logic
3. Computes the behavioral score per the command's formula
4. Renders the output table per the format in `compound-commands.md`
5. 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](references/noi.md) — the secret-identity statement that anchors every command
- [API surface](references/api-surface.md) — endpoints consumed + auth + pagination
- [Compound commands](references/compound-commands.md) — exact endpoint sequence + output format per command
- [Plane docs](https://docs.plane.so/) — upstream API reference
- `mcp__plane` MCP server — direct CRUD wrapper this skill builds on top of

Files in this skill

  • SKILL.md7.6 KB
  • agents/plane-analyst.md5.1 KB
  • agents/plane-expert.md3.9 KB
  • references/api-surface.md4.5 KB
  • references/compound-commands.md7.2 KB
  • references/noi.md3.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.