projects
List, inspect, update, or delete Plane projects (complement to /setup-project) Arguments: <action> [args...].
SKILL.mdplane-ops/skills/projects/SKILL.md
GitHubProjects
Operate on Plane projects. For initial creation with Agile defaults use /setup-project.
Arguments
Format: <action> [args...]
action:list|get|update|archive|unarchive|delete|features- For
get/update/delete/features: project name or identifier - For
update:--name,--identifier <SLUG>,--description,--icon(theemojifield),--lead <user>(project_lead),--default-assignee <user>,--time-tracking on|off - For
features:--enable cycles,modules,epics,intakes,pages,views,workitem_typesor--disable ...(alsoparallel_cycles,project_updates,workflows)
Parse from "$ARGUMENTS".
Process
- Bootstrap connector — consult
connector-bootstrap. Probe for the Plane resource toolsprojectandmember. - Route:
list→project(action=list)(paginated: follownext_cursor; the list is trimmed, useretrievefor full detail). Render: identifier | name | lead | members | cycles? | modules? | last activity. Highlight archived.get→project(action=retrieve, project_id)+member(action=list_project, project_id)member count +project(action=get_features, project_id)+ active cycle count (cycle(action=list, project_id, status=current)).update→project(action=update, project_id, ...). Changingidentifierrewrites all work item IDs (OLD-42→NEW-42) — warn loudly before doing this.--time-trackingsetsis_time_tracking_enabled.archive/unarchive→project(action=archive|unarchive, project_id): the safer alternative to delete.delete→ destructive (the whole project with its work items, cycles, modules and pages). Confirm with project name typed back. Suggestarchiveas the safer alternative.project(action=delete, project_id).features→project(action=get_features, project_id)first, show current state, thenproject(action=update_features, project_id, <flag>=true|false, ...); omitted flags are left as they are. Flags: cycles, modules, views, pages, intakes (the triage inbox), workitem_types, epics, parallel_cycles, project_updates, workflows. Time tracking is not a feature flag: it isproject(action=update, is_time_tracking_enabled=...). A plan without a feature refuses the call with a message naming it.
- Confirm — print result.
Examples
/projects list
/projects get "TaskFlow"
/projects update "TaskFlow" --lead alice --description "Customer-facing checkout app"
/projects features "TaskFlow" --enable intakes,pages,modules
/projects delete "Old Sandbox"
Best Practices
- Don't rename project
identifierafter launch — every existing reference (commits, PR titles, Slack threads) breaks. - Disable unused features — clutter in the sidebar slows everyone down. Most teams need: cycles, modules, pages, views.
- Use
/projects featuresto enableintakesbefore running/triage-intake.