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.
@@ -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
+ ```