Use when the user asks about sprint planning, syncing plan docs to ClickUp, managing stories/tasks in bulk, or checking sprint status. Triggers on mentions of sprint, sync, stories, ClickUp bulk operations, or epic planning.
From clickup-sprint-plannernpx claudepluginhub infraspecdev/tesseract --plugin clickup-sprint-plannerThis skill uses the workspace's default tool permissions.
card-format.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Orchestrate ClickUp sprint operations through the sprint-planner MCP server — sync plan documents, create story cards in bulk, and track sprint progress.
Core principle: Always sync before mutating. Show the user the diff, get confirmation, then execute.
dev-workflow:plan-docs skill| Tool | Purpose |
|---|---|
sprint_sync | Diff plan docs against ClickUp state (read-only) |
sprint_bulk_create | Create multiple tasks + set EPIC relationships |
sprint_set_relationship | Set list_relationship custom fields directly |
sprint_bulk_update | Batch update status/assignee/priority |
sprint_bulk_rename | Preview/apply [EpicID] prefix to non-compliant task names |
sprint_status | Get epic overview with stats |
sprint_action_log | Query past operations |
sprint_sync first. Present the diff and get confirmation.sprint_bulk_create with set_relationships: true.sprint-planner.json (path via SPRINT_PLANNER_CONFIG env var). Never hardcode ClickUp IDs.clickup_create_task, clickup_update_task, clickup_create_task_comment bypass the action log, skip relationship linking, and ignore naming conventions. Always use sprint_bulk_create, sprint_bulk_update, and sprint_set_relationship instead.1. sprint_sync(epic="P1a") → see what exists vs plan doc
2. Present diff table to user → match / to_create / to_update / to_link
3. User confirms which to create
4. sprint_bulk_create(list_id=config.lists.backlog.id, stories=[...], set_relationships=true)
- Names auto-formatted as "{epic_id} - {name}" (e.g. "P3 - Install Istio")
- Include orderindex with sequence * 1000 gaps
- Include full card descriptions with all required sections
5. Show results table → created tasks with IDs and URLs
6. If sprint_sync flagged "to_link" items:
sprint_sync(apply_links=true) → auto-set relationship fields + log action
1. sprint_sync(epic="P1") → identify stale stories
2. Present diff to user
3. User confirms which to update
4. sprint_bulk_update(updates=[{ "task_id": "...", "description": "...", "orderindex": "1000" }])
5. Show results table → success/failure per task
The description field accepts full markdown — include all required card sections. See card-format.md for card content requirements, examples, and ordering rules.
1. sprint_status(group_by="epic"|"status"|"assignee")
2. Present summary table
3. User drills into specific epic for story-level detail
Task naming: [Project Name] {EpicID}-S{StoryIndex}: {StoryName}
Every card MUST include: Summary, Tasks checklist, Context/Notes, Acceptance Criteria. See card-format.md for full requirements, example card, ordering rules, and custom field reference.
| Mistake | Fix |
|---|---|
| Creating tasks one-by-one | Use sprint_bulk_create for all stories in one call |
| Not syncing before creating | Always sprint_sync first — avoids duplicating existing tasks |
| One-line card descriptions | Include all 4 required sections (see card-format.md) |
| Hardcoding ClickUp IDs | Read from sprint-planner.json config |
| Setting orderindex without gaps | Use sequence * 1000 to leave room for inserts |
Using raw ClickUp MCP tools (clickup_create_task, etc.) for sprint ops | Always use sprint_bulk_create / sprint_bulk_update / sprint_set_relationship — raw tools bypass the action log and skip naming/relationship logic |