clickup-agent-cli 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +20 -0
- package/.claude-plugin/plugin.json +12 -0
- package/README.md +228 -0
- package/dist/clickup.js +4034 -0
- package/package.json +49 -0
- package/skills/clickup/SKILL.md +125 -0
- package/skills/clickup-blocker-report/SKILL.md +93 -0
- package/skills/clickup-capacity-check/SKILL.md +75 -0
- package/skills/clickup-chat/SKILL.md +58 -0
- package/skills/clickup-comments/SKILL.md +67 -0
- package/skills/clickup-custom-report/SKILL.md +125 -0
- package/skills/clickup-fields/SKILL.md +77 -0
- package/skills/clickup-goal-progress/SKILL.md +74 -0
- package/skills/clickup-goals/SKILL.md +71 -0
- package/skills/clickup-project-setup/SKILL.md +102 -0
- package/skills/clickup-spaces/SKILL.md +88 -0
- package/skills/clickup-sprint-closeout/SKILL.md +91 -0
- package/skills/clickup-sprint-planning/SKILL.md +94 -0
- package/skills/clickup-standup/SKILL.md +94 -0
- package/skills/clickup-task-triage/SKILL.md +86 -0
- package/skills/clickup-tasks/SKILL.md +125 -0
- package/skills/clickup-team-report/SKILL.md +131 -0
- package/skills/clickup-time/SKILL.md +87 -0
- package/skills/clickup-time-audit/SKILL.md +85 -0
- package/skills/clickup-users/SKILL.md +122 -0
- package/skills/clickup-views/SKILL.md +65 -0
- package/skills/clickup-webhooks/SKILL.md +61 -0
- package/skills/clickup-weekly-review/SKILL.md +105 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-goal-progress
|
|
3
|
+
description: Reports on goal and OKR completion status by tracking key results, identifying at-risk goals, and updating progress. Use when the user asks about goal progress, OKR status, quarterly objectives, or wants to check if targets are on track.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[workspace-id]"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Goal Progress Report
|
|
12
|
+
|
|
13
|
+
Track OKR/goal completion, update key results, and identify goals that are at risk.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Workspace ID
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
20
|
+
|
|
21
|
+
### Step 1: List all active goals
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
clickup goal list --workspace-id <id> --format json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Step 2: Get detailed progress for each goal
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
clickup goal get <goal-id> --format json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The response includes key results with current progress values.
|
|
34
|
+
|
|
35
|
+
### Step 3: Calculate goal health
|
|
36
|
+
|
|
37
|
+
For each goal, assess:
|
|
38
|
+
- **On track**: Key results trending toward target by due date
|
|
39
|
+
- **At risk**: Key results below expected progress for the timeline
|
|
40
|
+
- **Behind**: Key results significantly below expected pace
|
|
41
|
+
|
|
42
|
+
Formula: Expected progress = (days elapsed / total days) * target value
|
|
43
|
+
|
|
44
|
+
### Step 4: Update key result progress
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Update a numeric key result
|
|
48
|
+
clickup goal update-key-result <kr-id> --steps-current 75 --note "Completed batch import feature"
|
|
49
|
+
|
|
50
|
+
# For automatic key results, check linked list/task completion
|
|
51
|
+
clickup task list --list-id <linked-list-id> --include-closed --format json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Step 5: Compile the report
|
|
55
|
+
|
|
56
|
+
For each goal:
|
|
57
|
+
- **Goal name** and due date
|
|
58
|
+
- **Key results**: Current vs. target, % complete
|
|
59
|
+
- **Status**: On track / At risk / Behind
|
|
60
|
+
- **Notes**: Latest updates on each key result
|
|
61
|
+
|
|
62
|
+
### Step 6: Post updates (optional)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Add a progress note to a key result
|
|
66
|
+
clickup goal update-key-result <kr-id> --note "Sprint 11 pushed this to 80%. On track for Q1 target."
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Tips
|
|
70
|
+
|
|
71
|
+
- Run goal progress reports weekly or bi-weekly
|
|
72
|
+
- Automatic key results linked to lists update in real-time as tasks are completed
|
|
73
|
+
- For manual key results (number, percentage), update `--steps-current` regularly
|
|
74
|
+
- Goals with no recent key result updates are likely stale and need attention
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-goals
|
|
3
|
+
description: Creates and manages ClickUp goals with measurable key results for OKR tracking. Use when the user asks about goals, OKRs, key results, objectives, progress tracking, or wants to set targets and measure completion.
|
|
4
|
+
allowed-tools: Bash(clickup goal *), Bash(clickup schema goal*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ClickUp Goals
|
|
8
|
+
|
|
9
|
+
Goals track high-level objectives with measurable key results. Key results can be numeric, currency, boolean, percentage, or derived from linked tasks.
|
|
10
|
+
|
|
11
|
+
## Goal Commands
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
clickup goal list --workspace-id <id> [--include-completed]
|
|
15
|
+
clickup goal get <goal-id>
|
|
16
|
+
clickup goal create --workspace-id <id> --name <name>
|
|
17
|
+
[--due-date <ts>] [--description <text>] [--multiple-owners <bool>]
|
|
18
|
+
[--owner <id>...] [--color <hex>]
|
|
19
|
+
clickup goal update <goal-id> [--name <name>] [--due-date <ts>] [--description <text>] [--color <hex>]
|
|
20
|
+
clickup goal delete <goal-id> --confirm
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Key Result Commands
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
clickup goal add-key-result <goal-id> --name <name> --type <type>
|
|
27
|
+
[--steps-start <n>] [--steps-end <n>] [--unit <s>]
|
|
28
|
+
[--task-ids <id>...] [--list-ids <id>...]
|
|
29
|
+
|
|
30
|
+
clickup goal update-key-result <key-result-id>
|
|
31
|
+
[--name <name>] [--steps-current <n>] [--note <text>]
|
|
32
|
+
|
|
33
|
+
clickup goal delete-key-result <key-result-id> --confirm
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Key result types: `number`, `currency`, `boolean`, `percentage`, `automatic`
|
|
37
|
+
|
|
38
|
+
- `automatic` type tracks completion % from linked tasks or lists
|
|
39
|
+
- Use `--task-ids` or `--list-ids` with automatic type
|
|
40
|
+
|
|
41
|
+
## Common Patterns
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Create a quarterly goal
|
|
45
|
+
clickup goal create --workspace-id 9876543 --name "Launch v2.0" \
|
|
46
|
+
--due-date 1740787200000 --owner 112233
|
|
47
|
+
|
|
48
|
+
# Add a percentage key result
|
|
49
|
+
clickup goal add-key-result goal_001 --name "Test coverage" \
|
|
50
|
+
--type percentage --steps-start 60 --steps-end 90
|
|
51
|
+
|
|
52
|
+
# Track sprint progress automatically
|
|
53
|
+
clickup goal add-key-result goal_001 --name "Sprint tasks" \
|
|
54
|
+
--type automatic --list-ids 998877
|
|
55
|
+
|
|
56
|
+
# Update progress on a numeric key result
|
|
57
|
+
clickup goal update-key-result kr_001 --steps-current 75 --note "On track"
|
|
58
|
+
|
|
59
|
+
# List all active goals
|
|
60
|
+
clickup goal list --workspace-id 9876543
|
|
61
|
+
|
|
62
|
+
# Render goals as markdown table
|
|
63
|
+
clickup goal list --workspace-id 9876543 --format md
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Discovery
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
clickup schema goals.create # Show goal create fields
|
|
70
|
+
clickup schema goals.add-key-result # Show key result fields
|
|
71
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-project-setup
|
|
3
|
+
description: Scaffolds a new project in ClickUp by creating a space, folders, lists, tags, and initial tasks. Use when the user wants to set up a new project, create a project structure, or bootstrap a workspace for a new initiative.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[workspace-id] [project-name]"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Project Setup
|
|
12
|
+
|
|
13
|
+
Create a complete project structure in ClickUp from scratch.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Workspace ID
|
|
18
|
+
- Project name and structure plan
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
### Step 1: Create the space
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
SPACE=$(clickup space create --workspace-id <id> --name "Project Alpha" \
|
|
26
|
+
--features '{"due_dates":{"enabled":true},"time_tracking":{"enabled":true},"tags":{"enabled":true}}' \
|
|
27
|
+
--format id)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Step 2: Create folders for work streams
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
DESIGN=$(clickup folder create --space-id $SPACE --name "Design" --format id)
|
|
34
|
+
ENGINEERING=$(clickup folder create --space-id $SPACE --name "Engineering" --format id)
|
|
35
|
+
QA=$(clickup folder create --space-id $SPACE --name "QA" --format id)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 3: Create lists within folders
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Engineering lists
|
|
42
|
+
clickup list create --folder-id $ENGINEERING --name "Backlog"
|
|
43
|
+
clickup list create --folder-id $ENGINEERING --name "Sprint 1"
|
|
44
|
+
clickup list create --folder-id $ENGINEERING --name "Tech Debt"
|
|
45
|
+
|
|
46
|
+
# Design lists
|
|
47
|
+
clickup list create --folder-id $DESIGN --name "Design Backlog"
|
|
48
|
+
clickup list create --folder-id $DESIGN --name "In Progress"
|
|
49
|
+
|
|
50
|
+
# QA lists
|
|
51
|
+
clickup list create --folder-id $QA --name "Test Cases"
|
|
52
|
+
clickup list create --folder-id $QA --name "Bug Reports"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Step 4: Create folderless lists (optional)
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Top-level project docs/notes list
|
|
59
|
+
clickup list create-folderless --space-id $SPACE --name "Project Notes"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Step 5: Create tags
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
clickup tag create --space-id $SPACE --name "mvp" --bg-color "#22C55E"
|
|
66
|
+
clickup tag create --space-id $SPACE --name "tech-debt" --bg-color "#F59E0B"
|
|
67
|
+
clickup tag create --space-id $SPACE --name "blocked" --bg-color "#EF4444"
|
|
68
|
+
clickup tag create --space-id $SPACE --name "design-review" --bg-color "#8B5CF6"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Step 6: Create initial milestone tasks
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
BACKLOG=$(clickup list list --folder-id $ENGINEERING --format json | # extract backlog list ID)
|
|
75
|
+
|
|
76
|
+
clickup task create --list-id $BACKLOG --name "Project kickoff" --priority 1
|
|
77
|
+
clickup task create --list-id $BACKLOG --name "Architecture design" --priority 2
|
|
78
|
+
clickup task create --list-id $BACKLOG --name "MVP feature set defined" --priority 2
|
|
79
|
+
clickup task create --list-id $BACKLOG --name "First sprint planning" --priority 2
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Step 7: Create a project goal (optional)
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
clickup goal create --workspace-id <id> --name "Project Alpha - MVP Launch" \
|
|
86
|
+
--due-date <target-date-ms> --color "#3B82F6"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 8: Set up a webhook for notifications (optional)
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
clickup webhook create --workspace-id <id> \
|
|
93
|
+
--endpoint https://hooks.example.com/project-alpha \
|
|
94
|
+
--events taskCreated taskUpdated taskDeleted \
|
|
95
|
+
--space-id $SPACE
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Tips
|
|
99
|
+
|
|
100
|
+
- Capture list IDs from create commands using `--format id` for later use
|
|
101
|
+
- Enable features on the space at creation time to avoid updating later
|
|
102
|
+
- Use consistent tag colors across projects for visual consistency
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-spaces
|
|
3
|
+
description: Navigates and manages the ClickUp hierarchy including workspaces, spaces, folders, and lists. Use when the user asks about project structure, wants to create spaces or lists, navigate the hierarchy, or find where tasks live.
|
|
4
|
+
allowed-tools: Bash(clickup workspace *), Bash(clickup space *), Bash(clickup folder *), Bash(clickup list *), Bash(clickup schema workspace*), Bash(clickup schema space*), Bash(clickup schema folder*), Bash(clickup schema list*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ClickUp Spaces (Hierarchy)
|
|
8
|
+
|
|
9
|
+
Manage the organizational hierarchy: Workspace > Space > Folder > List. Lists contain tasks.
|
|
10
|
+
|
|
11
|
+
## Workspace Commands
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
clickup workspace list # List all workspaces
|
|
15
|
+
clickup workspace get [--workspace-id <id>] # Get workspace details
|
|
16
|
+
clickup workspace seats [--workspace-id <id>] # Show seat usage
|
|
17
|
+
clickup workspace plan [--workspace-id <id>] # Show billing plan
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Space Commands
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
clickup space list [--workspace-id <id>] [--archived]
|
|
24
|
+
clickup space get <space-id>
|
|
25
|
+
clickup space create --workspace-id <id> --name <name> [--multiple-assignees] [--features <json>]
|
|
26
|
+
clickup space update <space-id> [--name <name>] [--color <hex>] [--private <bool>]
|
|
27
|
+
clickup space delete <space-id> --confirm
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Folder Commands
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
clickup folder list --space-id <id> [--archived]
|
|
34
|
+
clickup folder get <folder-id>
|
|
35
|
+
clickup folder create --space-id <id> --name <name>
|
|
36
|
+
clickup folder update <folder-id> [--name <name>]
|
|
37
|
+
clickup folder delete <folder-id> --confirm
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## List Commands
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
clickup list list --folder-id <id> [--archived] # Lists in a folder
|
|
44
|
+
clickup list list-folderless --space-id <id> [--archived] # Lists directly in a space
|
|
45
|
+
clickup list get <list-id>
|
|
46
|
+
clickup list create --folder-id <id> --name <name> [--content <text>] [--due-date <ts>] [--priority <1-4>]
|
|
47
|
+
clickup list create-folderless --space-id <id> --name <name> [--content <text>]
|
|
48
|
+
clickup list update <list-id> [--name <name>] [--content <text>]
|
|
49
|
+
clickup list delete <list-id> --confirm
|
|
50
|
+
clickup list add-task <list-id> --task-id <id>
|
|
51
|
+
clickup list remove-task <list-id> --task-id <id>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Common Patterns
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Navigate the full hierarchy
|
|
58
|
+
clickup workspace list
|
|
59
|
+
clickup space list --workspace-id <id>
|
|
60
|
+
clickup folder list --space-id <id>
|
|
61
|
+
clickup list list --folder-id <id>
|
|
62
|
+
clickup task list --list-id <id>
|
|
63
|
+
|
|
64
|
+
# Find a list by exploring
|
|
65
|
+
clickup space list | grep "Engineering"
|
|
66
|
+
clickup folder list --space-id <id> | grep "Sprint"
|
|
67
|
+
|
|
68
|
+
# Set default workspace to avoid repeating --workspace-id
|
|
69
|
+
clickup config set workspace_id <id>
|
|
70
|
+
|
|
71
|
+
# Render folder list as markdown table for display in docs or chat
|
|
72
|
+
clickup folder list --space-id <id> --format md
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Key Concepts
|
|
76
|
+
|
|
77
|
+
- **Workspace** (also called "team"): Top-level container. Most users have one.
|
|
78
|
+
- **Space**: Primary organizational unit within a workspace. Has its own settings and features.
|
|
79
|
+
- **Folder**: Optional grouping inside a space. Contains lists.
|
|
80
|
+
- **List**: Contains tasks. Can be inside a folder or directly in a space (folderless).
|
|
81
|
+
- A task can belong to multiple lists.
|
|
82
|
+
|
|
83
|
+
## Discovery
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
clickup schema spaces # List space actions
|
|
87
|
+
clickup schema lists.create # Show list create fields
|
|
88
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-sprint-closeout
|
|
3
|
+
description: Closes out a sprint by summarizing completion, carrying over incomplete tasks, and preparing retrospective data. Use when the user wants to end a sprint, close out an iteration, move unfinished work, or prepare for a retro.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[sprint-list-id] [next-sprint-list-id]"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Sprint Closeout
|
|
12
|
+
|
|
13
|
+
End a sprint cleanly: summarize what was done, carry over incomplete work, and gather data for a retrospective.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Sprint list ID
|
|
18
|
+
- Next sprint list ID (or create one)
|
|
19
|
+
- Workspace ID
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
### Step 1: Get sprint completion status
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# All tasks in the sprint list
|
|
27
|
+
clickup task list --list-id <sprint-list-id> --include-closed --format json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Categorize: completed vs. incomplete.
|
|
31
|
+
|
|
32
|
+
### Step 2: Calculate metrics
|
|
33
|
+
|
|
34
|
+
From the JSON output, compute:
|
|
35
|
+
- Total tasks in sprint
|
|
36
|
+
- Completed count
|
|
37
|
+
- Incomplete count
|
|
38
|
+
- Completion percentage
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Get time logged during the sprint
|
|
42
|
+
clickup time list --workspace-id <id> \
|
|
43
|
+
--start <sprint-start-ms> --end <sprint-end-ms> \
|
|
44
|
+
--format json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Step 3: Carry over incomplete tasks
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Move incomplete tasks to the next sprint
|
|
51
|
+
clickup list add-task <next-sprint-list-id> --task-id <incomplete-task-1>
|
|
52
|
+
clickup list add-task <next-sprint-list-id> --task-id <incomplete-task-2>
|
|
53
|
+
|
|
54
|
+
# Update their dates to the new sprint window
|
|
55
|
+
clickup task update <incomplete-task-1> \
|
|
56
|
+
--start-date <new-sprint-start-ms> \
|
|
57
|
+
--due-date <new-sprint-end-ms>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Step 4: Update goal progress (if sprint had a goal)
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
clickup goal get <sprint-goal-id> --format json
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If using automatic key results linked to the sprint list, progress updates automatically.
|
|
67
|
+
|
|
68
|
+
### Step 5: Gather retro data
|
|
69
|
+
|
|
70
|
+
Compile for the retrospective:
|
|
71
|
+
- **Completed**: List of finished tasks
|
|
72
|
+
- **Carried over**: Tasks that did not finish and why
|
|
73
|
+
- **Time analysis**: Total hours logged vs. estimated
|
|
74
|
+
- **Blockers encountered**: Tasks that were blocked and for how long
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Time-in-status for carried-over tasks (shows where time was spent)
|
|
78
|
+
clickup task bulk-time-in-status --task-id <id1> --task-id <id2> --format json
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Step 6: Post summary (optional)
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
clickup comment create --task-id <retro-task-id> --text "Sprint 11 closeout: 85% completion (17/20 tasks). 3 carried over. See details below."
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Tips
|
|
88
|
+
|
|
89
|
+
- Always `--include-closed` when listing sprint tasks to see the full picture
|
|
90
|
+
- Use `time-in-status` to identify bottlenecks (tasks stuck in review, etc.)
|
|
91
|
+
- Tag carried-over tasks so they are easy to identify in the next sprint
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-sprint-planning
|
|
3
|
+
description: Plans a sprint by selecting tasks from backlog, assigning them, setting dates, and organizing into a sprint list. Use when the user wants to plan a sprint, set up an iteration, or pull work from backlog into a sprint.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[backlog-list-id] [sprint-name]"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Sprint Planning
|
|
12
|
+
|
|
13
|
+
Set up a new sprint by pulling tasks from the backlog, estimating, assigning, and organizing.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Workspace and space IDs known
|
|
18
|
+
- Backlog list ID where unplanned tasks live
|
|
19
|
+
- Sprint list exists (or create one)
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
### Step 1: Create the sprint list (if needed)
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
SPRINT_LIST=$(clickup list create --folder-id <folder-id> --name "Sprint 12 (Mar 10-21)" --format id)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Or for folderless:
|
|
30
|
+
```bash
|
|
31
|
+
SPRINT_LIST=$(clickup list create-folderless --space-id <space-id> --name "Sprint 12" --format id)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Step 2: Review the backlog
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# List unassigned or unprioritized tasks in backlog
|
|
38
|
+
clickup task list --list-id <backlog-list-id> --format json
|
|
39
|
+
|
|
40
|
+
# Or search for high-priority items
|
|
41
|
+
clickup task search --workspace-id <id> --priority 1 --priority 2 \
|
|
42
|
+
--status "backlog" --status "to do" --format json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Step 3: Move tasks into the sprint
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Add selected tasks to the sprint list
|
|
49
|
+
clickup list add-task $SPRINT_LIST --task-id <task-id-1>
|
|
50
|
+
clickup list add-task $SPRINT_LIST --task-id <task-id-2>
|
|
51
|
+
clickup list add-task $SPRINT_LIST --task-id <task-id-3>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Step 4: Assign and set dates
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Update each task with assignee, dates, and estimate
|
|
58
|
+
clickup task update <task-id> \
|
|
59
|
+
--assignee-add 112233 \
|
|
60
|
+
--start-date <sprint-start-ms> \
|
|
61
|
+
--due-date <sprint-end-ms> \
|
|
62
|
+
--status "to do"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Step 5: Set time estimates (optional)
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
clickup task update <task-id> --time-estimate 14400000 # 4 hours
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Step 6: Create a sprint goal (optional)
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
GOAL=$(clickup goal create --workspace-id <id> --name "Sprint 12 - Ship auth module" \
|
|
75
|
+
--due-date <sprint-end-ms> --format id)
|
|
76
|
+
|
|
77
|
+
# Link the sprint list as an automatic key result
|
|
78
|
+
clickup goal add-key-result $GOAL --name "Sprint tasks completed" \
|
|
79
|
+
--type automatic --list-ids $SPRINT_LIST
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Step 7: Verify sprint setup
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# List all tasks in the new sprint
|
|
86
|
+
clickup task list --list-id $SPRINT_LIST --format table
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Tips
|
|
90
|
+
|
|
91
|
+
- Tasks can belong to multiple lists, so adding to a sprint list does not remove from backlog
|
|
92
|
+
- Use `--format quiet` to get just IDs for scripting
|
|
93
|
+
- Set the sprint goal with `--type automatic` to auto-track % completion
|
|
94
|
+
- Consider tagging sprint tasks: `clickup tag add --task-id <id> --name "sprint-12"`
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-standup
|
|
3
|
+
description: Generates a daily standup summary from ClickUp covering what was done yesterday, what is planned today, and blockers. Use when the user asks for a standup report, daily update, or wants to know what they or their team worked on.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[scope - e.g. 'my tasks', 'engineering team', user-id]"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Daily Standup
|
|
12
|
+
|
|
13
|
+
Generate a standup report covering yesterday's progress, today's plan, and current blockers.
|
|
14
|
+
|
|
15
|
+
## Understanding the Scope
|
|
16
|
+
|
|
17
|
+
Interpret `$ARGUMENTS` to determine who the standup is for:
|
|
18
|
+
|
|
19
|
+
- **"my tasks"** or no arguments: Use the authenticated user
|
|
20
|
+
- **A person's name**: Find their user ID via `clickup user list` or `clickup member list`
|
|
21
|
+
- **A team/space name**: Get all members of that space and generate a team standup
|
|
22
|
+
- **A user ID**: Use directly
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
### Step 1: What was done yesterday
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Tasks updated yesterday with completed/closed status
|
|
30
|
+
clickup task search --workspace-id <id> \
|
|
31
|
+
--date-updated-gt <yesterday-start-ms> \
|
|
32
|
+
--date-updated-lt <yesterday-end-ms> \
|
|
33
|
+
--assignee <user-id> \
|
|
34
|
+
--status "complete" --status "closed" --status "done" \
|
|
35
|
+
--format json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 2: What is in progress today
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
clickup task search --workspace-id <id> \
|
|
42
|
+
--assignee <user-id> \
|
|
43
|
+
--status "in progress" --status "in review" \
|
|
44
|
+
--format json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Step 3: What is due today or overdue
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
clickup task search --workspace-id <id> \
|
|
51
|
+
--assignee <user-id> \
|
|
52
|
+
--due-date-lt <end-of-today-ms> \
|
|
53
|
+
--include-closed false \
|
|
54
|
+
--format json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Step 4: Check for blockers
|
|
58
|
+
|
|
59
|
+
Look for tasks with dependencies or "blocked" status:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
clickup task search --workspace-id <id> \
|
|
63
|
+
--assignee <user-id> \
|
|
64
|
+
--status "blocked" --status "waiting" \
|
|
65
|
+
--format json
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Step 5: Check running timer (optional)
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
clickup time running --workspace-id <id> --assignee <user-id> --format json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Step 6: Compile standup
|
|
75
|
+
|
|
76
|
+
Format as:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
**Yesterday:**
|
|
80
|
+
- Completed: [list of finished tasks with names]
|
|
81
|
+
|
|
82
|
+
**Today:**
|
|
83
|
+
- Working on: [list of in-progress tasks]
|
|
84
|
+
- Due today: [list of tasks due today]
|
|
85
|
+
|
|
86
|
+
**Blockers:**
|
|
87
|
+
- [list of blocked tasks, if any]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Tips
|
|
91
|
+
|
|
92
|
+
- Adjust timestamps: yesterday = midnight to midnight in the team's timezone
|
|
93
|
+
- For team standups, loop through multiple `--assignee` values
|
|
94
|
+
- Post the standup summary as a comment on a recurring "standup" task if desired
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-task-triage
|
|
3
|
+
description: Triages incoming ClickUp tasks by categorizing, prioritizing, assigning, and routing unprocessed tasks. Use when the user wants to triage tasks, sort through a backlog, prioritize incoming work, or clean up an inbox list.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[inbox-list-id]"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Task Triage
|
|
12
|
+
|
|
13
|
+
Sort through incoming/unprocessed tasks: prioritize, assign, add tags, and move to the right lists.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Know the inbox/backlog list ID where new tasks land
|
|
18
|
+
- Know space IDs and assignee user IDs
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
### Step 1: Get unprocessed tasks
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# List tasks with no priority or assignee (likely untriaged)
|
|
26
|
+
clickup task list --list-id <inbox-list-id> --format json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Filter candidates: tasks with priority=null, no assignees, or status "new"/"backlog".
|
|
30
|
+
|
|
31
|
+
### Step 2: Categorize each task
|
|
32
|
+
|
|
33
|
+
For each task, determine:
|
|
34
|
+
- **Priority**: 1 (urgent), 2 (high), 3 (normal), 4 (low)
|
|
35
|
+
- **Assignee**: Who should own it
|
|
36
|
+
- **Tags**: Bug, feature, improvement, support, etc.
|
|
37
|
+
|
|
38
|
+
### Step 3: Update tasks
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Set priority and assign
|
|
42
|
+
clickup task update <task-id> --priority 2 --assignee-add 112233 --status "to do"
|
|
43
|
+
|
|
44
|
+
# Add categorization tags
|
|
45
|
+
clickup tag add --task-id <task-id> --name "bug"
|
|
46
|
+
|
|
47
|
+
# Set a due date if time-sensitive
|
|
48
|
+
clickup task update <task-id> --due-date <timestamp-ms>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Step 4: Route to appropriate lists (optional)
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Move bug to the bugs list
|
|
55
|
+
clickup list add-task <bugs-list-id> --task-id <task-id>
|
|
56
|
+
|
|
57
|
+
# Move feature request to the feature backlog
|
|
58
|
+
clickup list add-task <features-list-id> --task-id <task-id>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Step 5: Handle duplicates
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Search for similar tasks
|
|
65
|
+
clickup task search --workspace-id <id> --query "error in login page"
|
|
66
|
+
|
|
67
|
+
# If duplicate found, add a dependency or comment
|
|
68
|
+
clickup comment create --task-id <task-id> --text "Duplicate of <other-task-id>. Closing."
|
|
69
|
+
clickup task update <task-id> --status "closed"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Step 6: Verify triage is complete
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Confirm no tasks remain unprocessed
|
|
76
|
+
clickup task list --list-id <inbox-list-id> --status "new" --format quiet
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Tips
|
|
80
|
+
|
|
81
|
+
- Triage regularly (daily or per-sprint) to prevent backlog buildup
|
|
82
|
+
- Use `clickup task search --query` to detect duplicates before assigning
|
|
83
|
+
- Batch operations: pipe task IDs for efficiency
|
|
84
|
+
```bash
|
|
85
|
+
clickup task list --list-id <id> --format quiet | xargs -I{} clickup task update {} --priority 3
|
|
86
|
+
```
|