Skip to main content

epic

Manage Plane epics — list, get, update, delete (complement to /create-epic) Arguments: <action> <project> [args...].

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
November 1, 2026 at 02:46
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
epic
description
Manage Plane epics — list, get, update, delete (complement to /create-epic) Arguments: <action> <project> [args...].
# Epic Operate on epics beyond creation. For creation use `/create-epic`. For breaking an epic into stories use `/decompose`. ## Arguments Format: `<action> <project> [args...]` - `action`: `list` | `get` | `update` | `delete` | `status` - `project`: project name or identifier - For `get`/`update`/`status`/`delete`: epic name or ID - For `update`: `--name`, `--description`, `--lead <user>`, `--target <date>`, `--initiative <name>` Parse from `"$ARGUMENTS"`. ## Process 1. **Bootstrap connector** — consult `connector-bootstrap`. Probe for the Plane resource tools `workitem_type`, `workitem` and `initiative`. There are no epic tools: an epic is a work item of the type "Epic", and its child items are work items whose `parent` is the epic's id. 2. **Resolve project** → `project_id`, then the epic type: `workitem_type(action=resolve, project_id, name="Epic")` → `type_id`. 3. **Route**: - `list` → `workitem(action=list, project_id, pql='type = "<epic-type-id>"')` (follow `next_cursor`). Render: name | lead | child count | state buckets | target | progress %. Child counts per epic: `workitem(action=count, project_id, pql='childOf("<epic identifier>")', group_by=state__group)`. - `get` → `workitem(action=retrieve, project_id, workitem_id)` + child items `workitem(action=list, project_id, pql='childOf("<epic identifier>")', fields="id,name,point,estimate_point,state")` grouped by state. Show progress as `(completed_points / total_points)` and as `(completed_count / total_count)`. - `status` → same as get but compact and emphasizes RAG (Red/Amber/Green) based on points completed vs time elapsed (see `plane-ops:epics-initiatives-milestones` skill). - `update` → `workitem(action=update, project_id, workitem_id, name?, description_html?, assignees?, target_date?)` (`--lead` is the assignee). Linking to an initiative: `--initiative` → `initiative(action=list)` → initiative_id → `initiative(action=manage_workitems, initiative_id, add_ids=[<epic workitem id>])`, read back with `initiative(action=list_workitems, initiative_id)`. - `delete` → confirm, then `workitem(action=delete, project_id, workitem_id)` (permanent; the children are separate work items and should be kept — Plane's behaviour, not stated by the tool description: confirm on your instance, and check the children's `parent` afterwards). 4. **Confirm** — re-render after mutation. ## Examples ``` /epic list "TaskFlow" /epic get "TaskFlow" "Checkout Rewrite" /epic status "TaskFlow" "Checkout Rewrite" /epic update "TaskFlow" "Checkout Rewrite" --target 2026-06-30 --lead alice /epic delete "TaskFlow" "Cancelled Idea" ``` ## Best Practices - Every epic needs an **outcome statement** in its description (not just a feature list). E.g. "Customers can complete checkout in <30s on mobile" — this is the success criterion. - Epic health check: if an epic has been "in progress" for >3 cycles with <50% completion, rescope or split. - Pair epics with a tracking page (`/page create project ... --from-template spec`) and link from the epic description.
View on GitHub