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,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-tasks
|
|
3
|
+
description: Creates, updates, searches, and manages ClickUp tasks, subtasks, checklists, dependencies, and attachments. Use when the user asks about tasks, wants to create or find work items, manage subtasks, add checklists, set dependencies, or upload files to tasks.
|
|
4
|
+
allowed-tools: Bash(clickup task *), Bash(clickup checklist *), Bash(clickup dependency *), Bash(clickup relation *), Bash(clickup attachment *), Bash(clickup schema tasks*), Bash(clickup schema checklist*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ClickUp Tasks
|
|
8
|
+
|
|
9
|
+
Manage the full task lifecycle: create, list, search, update, delete. Also covers subtasks, checklists, dependencies, relations, and attachments.
|
|
10
|
+
|
|
11
|
+
## Task Commands
|
|
12
|
+
|
|
13
|
+
### List tasks in a list
|
|
14
|
+
```bash
|
|
15
|
+
clickup task list --list-id <id> [--status <s>...] [--assignee <id>...] [--tag <name>...]
|
|
16
|
+
[--due-date-gt <ts>] [--due-date-lt <ts>] [--include-closed] [--subtasks]
|
|
17
|
+
[--order-by <id|created|updated|due_date>] [--reverse] [--page <n>]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Search tasks across workspace
|
|
21
|
+
```bash
|
|
22
|
+
clickup task search --workspace-id <id> [--query <text>] [--status <s>...]
|
|
23
|
+
[--assignee <id>...] [--list-id <id>...] [--space-id <id>...] [--priority <1-4>...]
|
|
24
|
+
[--due-date-gt <ts>] [--due-date-lt <ts>] [--include-closed] [--page <n>]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Get a single task
|
|
28
|
+
```bash
|
|
29
|
+
clickup task get <task-id> [--include-subtasks] [--include-markdown-description]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Create a task
|
|
33
|
+
```bash
|
|
34
|
+
clickup task create --list-id <id> --name <name>
|
|
35
|
+
[--description <text>] [--markdown-description <md>]
|
|
36
|
+
[--status <s>] [--priority <1-4>] [--due-date <ts>] [--start-date <ts>]
|
|
37
|
+
[--assignee <id>...] [--tag <name>...] [--time-estimate <ms>]
|
|
38
|
+
[--parent <task-id>] [--custom-field <id=value>...]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Update a task
|
|
42
|
+
```bash
|
|
43
|
+
clickup task update <task-id> [--name <name>] [--description <text>]
|
|
44
|
+
[--status <s>] [--priority <1-4>] [--due-date <ts>] [--start-date <ts>]
|
|
45
|
+
[--assignee-add <id>...] [--assignee-remove <id>...] [--archived <bool>]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Delete a task
|
|
49
|
+
```bash
|
|
50
|
+
clickup task delete <task-id> --confirm
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Time in status
|
|
54
|
+
```bash
|
|
55
|
+
clickup task time-in-status <task-id>
|
|
56
|
+
clickup task bulk-time-in-status --task-id <id>...
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Checklist Commands
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
clickup checklist create --task-id <id> --name <name>
|
|
63
|
+
clickup checklist update <checklist-id> [--name <name>] [--position <n>]
|
|
64
|
+
clickup checklist delete <checklist-id> --confirm
|
|
65
|
+
clickup checklist add-item <checklist-id> --name <name> [--assignee <id>] [--resolved <bool>]
|
|
66
|
+
clickup checklist update-item <checklist-id> --item-id <id> [--name <name>] [--resolved <bool>]
|
|
67
|
+
clickup checklist delete-item <checklist-id> --item-id <id>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Dependency Commands
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Task A depends on (is blocked by) Task B
|
|
74
|
+
clickup dependency add --task-id <A> --depends-on <B>
|
|
75
|
+
|
|
76
|
+
# Task A blocks Task B
|
|
77
|
+
clickup dependency add --task-id <A> --dependency-of <B>
|
|
78
|
+
|
|
79
|
+
# Remove dependency
|
|
80
|
+
clickup dependency remove --task-id <A> --depends-on <B>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Relation Commands
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
clickup relation add --task-id <id> --links-to <id>
|
|
87
|
+
clickup relation remove --task-id <id> --links-to <id>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Attachment Commands
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
clickup attachment upload --task-id <id> --file <path> [--filename <name>]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Common Patterns
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Create a subtask
|
|
100
|
+
clickup task create --list-id <id> --name "Subtask" --parent <parent-task-id>
|
|
101
|
+
|
|
102
|
+
# Find overdue tasks
|
|
103
|
+
clickup task list --list-id <id> --due-date-lt $(date +%s000) --include-closed false
|
|
104
|
+
|
|
105
|
+
# Create task and immediately comment
|
|
106
|
+
TASK_ID=$(clickup task create --list-id <id> --name "Bug fix" --format id)
|
|
107
|
+
clickup comment create --task-id "$TASK_ID" --text "Starting investigation"
|
|
108
|
+
|
|
109
|
+
# Bulk get tasks by ID
|
|
110
|
+
clickup task list --list-id <id> --format quiet | xargs -I{} clickup task get {}
|
|
111
|
+
|
|
112
|
+
# Render task list as markdown table (for display in chat or docs)
|
|
113
|
+
clickup task list --list-id <id> --format md
|
|
114
|
+
|
|
115
|
+
# Send task list to a chat channel
|
|
116
|
+
clickup chat send --channel-id <id> --message "$(clickup task list --list-id <id> --format md)"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Discovery
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
clickup schema tasks # List all task actions
|
|
123
|
+
clickup schema tasks.create # Show create fields
|
|
124
|
+
clickup schema tasks.list # Show list filter flags
|
|
125
|
+
```
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-team-report
|
|
3
|
+
description: Generates a status report for any team, department, or area of the business in ClickUp. Covers task progress, workload distribution, upcoming deadlines, and highlights. Use when the user asks for a department rundown, team status, what marketing is doing, operations update, or any team/department-specific report.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[team or department name, e.g. 'marketing', 'engineering', 'operations']"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Team / Department Report
|
|
12
|
+
|
|
13
|
+
Generate a status report for any team, department, or area of the business. This recipe adapts to whatever scope the user asks about.
|
|
14
|
+
|
|
15
|
+
## Understanding the Request
|
|
16
|
+
|
|
17
|
+
`$ARGUMENTS` tells you what team or area to report on. This could be:
|
|
18
|
+
|
|
19
|
+
- A department name: "marketing", "engineering", "finance", "operations", "HR"
|
|
20
|
+
- A team name: "backend team", "design team", "QA"
|
|
21
|
+
- A project name: "website redesign", "Q1 launch"
|
|
22
|
+
- A space or folder name that maps to an area of the business
|
|
23
|
+
- A combination: "what's the marketing team working on this sprint"
|
|
24
|
+
|
|
25
|
+
## Workflow
|
|
26
|
+
|
|
27
|
+
### Step 1: Find the right scope
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# List all spaces to find one matching the team/department
|
|
31
|
+
clickup space list --format json
|
|
32
|
+
|
|
33
|
+
# If the team maps to a folder within a space
|
|
34
|
+
clickup folder list --space-id <id> --format json
|
|
35
|
+
|
|
36
|
+
# If the team maps to specific lists
|
|
37
|
+
clickup list list --folder-id <id> --format json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Match the user's request to the appropriate space, folder, or list. A "marketing" request might match a "Marketing" space, a "Marketing" folder within a broader space, or multiple lists tagged for marketing work.
|
|
41
|
+
|
|
42
|
+
### Step 2: Get current task breakdown
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Get all active tasks in the identified scope
|
|
46
|
+
clickup task list --list-id <id> --format json
|
|
47
|
+
|
|
48
|
+
# Or search across the space
|
|
49
|
+
clickup task search --workspace-id <id> --space-id <space-id> --format json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Step 3: Analyze workload distribution
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Get tasks grouped by status to understand the pipeline
|
|
56
|
+
clickup task search --workspace-id <id> --space-id <space-id> \
|
|
57
|
+
--status "to do" --format json
|
|
58
|
+
|
|
59
|
+
clickup task search --workspace-id <id> --space-id <space-id> \
|
|
60
|
+
--status "in progress" --format json
|
|
61
|
+
|
|
62
|
+
clickup task search --workspace-id <id> --space-id <space-id> \
|
|
63
|
+
--status "complete" --status "closed" \
|
|
64
|
+
--date-updated-gt <week-start-ms> \
|
|
65
|
+
--format json
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Step 4: Check upcoming deadlines
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Tasks due in the next 7 days
|
|
72
|
+
clickup task search --workspace-id <id> --space-id <space-id> \
|
|
73
|
+
--due-date-gt <now-ms> --due-date-lt <next-week-ms> \
|
|
74
|
+
--include-closed false \
|
|
75
|
+
--format json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Step 5: Find blockers and risks
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Overdue tasks
|
|
82
|
+
clickup task search --workspace-id <id> --space-id <space-id> \
|
|
83
|
+
--due-date-lt <now-ms> --include-closed false \
|
|
84
|
+
--format json
|
|
85
|
+
|
|
86
|
+
# Blocked tasks
|
|
87
|
+
clickup task search --workspace-id <id> --space-id <space-id> \
|
|
88
|
+
--status "blocked" --status "waiting" \
|
|
89
|
+
--format json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Step 6: Check time investment (if relevant)
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
clickup time list --workspace-id <id> \
|
|
96
|
+
--start <week-start-ms> --end <now-ms> \
|
|
97
|
+
--format json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Filter time entries to those related to the team's tasks.
|
|
101
|
+
|
|
102
|
+
### Step 7: Compile the report
|
|
103
|
+
|
|
104
|
+
Structure the report as:
|
|
105
|
+
|
|
106
|
+
- **Team/Department**: Name and scope of what is covered
|
|
107
|
+
- **Summary**: 2-3 sentence overview of where things stand
|
|
108
|
+
- **By the numbers**: Task counts (to do / in progress / done this week)
|
|
109
|
+
- **Key accomplishments**: Notable completed tasks
|
|
110
|
+
- **Currently working on**: In-progress items with assignees
|
|
111
|
+
- **Upcoming deadlines**: Tasks due in the next 7 days
|
|
112
|
+
- **Risks and blockers**: Overdue or blocked items needing attention
|
|
113
|
+
- **Time invested**: Hours logged this period (if time tracking is used)
|
|
114
|
+
|
|
115
|
+
## Adapting to the Request
|
|
116
|
+
|
|
117
|
+
The user might ask in many different ways. All of these should work:
|
|
118
|
+
|
|
119
|
+
- "What's marketing up to?" -> Find marketing space, broad status report
|
|
120
|
+
- "Give me an engineering rundown" -> Engineering space, technical focus
|
|
121
|
+
- "How's the Q1 launch going?" -> Find matching project/folder, progress focus
|
|
122
|
+
- "Operations team status" -> Operations space/folder, operational metrics
|
|
123
|
+
- "What is Sarah's team working on?" -> Find Sarah, get her team's space, report
|
|
124
|
+
- "Finance department this month" -> Finance space, expand date range to month
|
|
125
|
+
|
|
126
|
+
## Tips
|
|
127
|
+
|
|
128
|
+
- If a team doesn't map cleanly to one space, check folders and lists too
|
|
129
|
+
- Some organizations use tags instead of spaces for departments
|
|
130
|
+
- When the scope is ambiguous, report on the best match and mention what was included
|
|
131
|
+
- The user can always refine: "actually just the paid ads list within marketing"
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-time
|
|
3
|
+
description: Tracks time in ClickUp including logging entries, managing running timers, tagging time, and querying reports. Use when the user asks about time tracking, wants to start or stop a timer, log hours, check who is working on what, or audit time entries.
|
|
4
|
+
allowed-tools: Bash(clickup time *), Bash(clickup schema time*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ClickUp Time Tracking
|
|
8
|
+
|
|
9
|
+
Log time entries, manage running timers, tag time, and query time data.
|
|
10
|
+
|
|
11
|
+
## Time Entry Commands
|
|
12
|
+
|
|
13
|
+
### List entries
|
|
14
|
+
```bash
|
|
15
|
+
clickup time list --task-id <id> [--start <date>] [--end <date>]
|
|
16
|
+
clickup time list --workspace-id <id> --start <date> --end <date> [--assignee <id>...]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Create / Update / Delete
|
|
20
|
+
```bash
|
|
21
|
+
clickup time create --task-id <id> --duration <ms> --start <ts>
|
|
22
|
+
[--description <text>] [--assignee <id>] [--billable <bool>] [--tag <name>...]
|
|
23
|
+
|
|
24
|
+
clickup time update <timer-id> --workspace-id <id>
|
|
25
|
+
[--description <text>] [--duration <ms>] [--start <ts>]
|
|
26
|
+
[--tag-action <add|remove>] [--tag <name>...] [--billable <bool>]
|
|
27
|
+
|
|
28
|
+
clickup time delete <timer-id> --workspace-id <id>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Get / History
|
|
32
|
+
```bash
|
|
33
|
+
clickup time get <timer-id> --workspace-id <id>
|
|
34
|
+
clickup time history <timer-id> --workspace-id <id>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Running Timers
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
clickup time start --task-id <id> --workspace-id <id>
|
|
41
|
+
[--description <text>] [--billable <bool>] [--tag <name>...]
|
|
42
|
+
clickup time stop --workspace-id <id>
|
|
43
|
+
clickup time running --workspace-id <id> [--assignee <id>]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Time Tags
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
clickup time tags --workspace-id <id> # List all time tags
|
|
50
|
+
clickup time add-tags --workspace-id <id> --timer-id <id>... --tag <name>...
|
|
51
|
+
clickup time remove-tags --workspace-id <id> --timer-id <id>... --tag <name>...
|
|
52
|
+
clickup time rename-tag --workspace-id <id> --name <old> --new-name <new>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Common Patterns
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Log 2 hours of billable work
|
|
59
|
+
clickup time create --task-id abc9zt --duration 7200000 --start 1735650000000 --billable true
|
|
60
|
+
|
|
61
|
+
# Start a timer, do work, then stop it
|
|
62
|
+
clickup time start --task-id abc9zt --workspace-id 9876543 --description "API refactor"
|
|
63
|
+
# ... work ...
|
|
64
|
+
clickup time stop --workspace-id 9876543
|
|
65
|
+
|
|
66
|
+
# Check who has timers running
|
|
67
|
+
clickup time running --workspace-id 9876543
|
|
68
|
+
|
|
69
|
+
# Get all time entries for this week
|
|
70
|
+
clickup time list --workspace-id 9876543 --start 2025-01-06 --end 2025-01-12
|
|
71
|
+
|
|
72
|
+
# Render time entries as markdown table for reports
|
|
73
|
+
clickup time list --workspace-id 9876543 --format md
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Notes
|
|
77
|
+
|
|
78
|
+
- Duration is always in **milliseconds** (1 hour = 3600000, 1 minute = 60000)
|
|
79
|
+
- Start timestamps are Unix milliseconds
|
|
80
|
+
- `time delete` does **not** require `--confirm` (unlike most delete commands)
|
|
81
|
+
|
|
82
|
+
## Discovery
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
clickup schema time.create # Show create fields
|
|
86
|
+
clickup schema time.list # Show list/filter options
|
|
87
|
+
```
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-time-audit
|
|
3
|
+
description: Audits time tracking entries by checking utilization, finding missing entries, and comparing logged vs. estimated time. Use when the user wants to audit time, check billable hours, find unlogged work, or review team utilization.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
agent: general-purpose
|
|
7
|
+
argument-hint: "[workspace-id] [start-date] [end-date]"
|
|
8
|
+
allowed-tools: Bash(clickup *)
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Time Audit
|
|
12
|
+
|
|
13
|
+
Audit time tracking data for accuracy, utilization, and completeness.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- Workspace ID
|
|
18
|
+
- Date range for the audit period
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
### Step 1: Pull all time entries for the period
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
clickup time list --workspace-id <id> \
|
|
26
|
+
--start <period-start-ms> --end <period-end-ms> \
|
|
27
|
+
--format json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Step 2: Check per-person totals
|
|
31
|
+
|
|
32
|
+
From the JSON output, group by assignee and sum durations:
|
|
33
|
+
- Total hours per person
|
|
34
|
+
- Expected hours (working days x hours per day)
|
|
35
|
+
- Utilization % = logged / expected
|
|
36
|
+
|
|
37
|
+
### Step 3: Find tasks with time but no entries
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Get tasks that were active in the period
|
|
41
|
+
clickup task search --workspace-id <id> \
|
|
42
|
+
--date-updated-gt <period-start-ms> \
|
|
43
|
+
--date-updated-lt <period-end-ms> \
|
|
44
|
+
--status "in progress" --status "complete" \
|
|
45
|
+
--format json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Cross-reference: tasks that changed status but have zero time logged may be missing entries.
|
|
49
|
+
|
|
50
|
+
### Step 4: Compare estimated vs. actual
|
|
51
|
+
|
|
52
|
+
For tasks with time estimates:
|
|
53
|
+
- Pull task data (has `time_estimate` field)
|
|
54
|
+
- Pull time entries for those tasks
|
|
55
|
+
- Compare: actual / estimated ratio
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Get a task with its time estimate
|
|
59
|
+
clickup task get <task-id> --format json
|
|
60
|
+
|
|
61
|
+
# Get time logged on that task
|
|
62
|
+
clickup time list --task-id <task-id> --format json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Step 5: Check for billable time
|
|
66
|
+
|
|
67
|
+
Filter time entries by billable flag to calculate billable vs. non-billable split.
|
|
68
|
+
|
|
69
|
+
### Step 6: Identify anomalies
|
|
70
|
+
|
|
71
|
+
Look for:
|
|
72
|
+
- Entries over 8 hours (forgot to stop timer?)
|
|
73
|
+
- Entries with no description
|
|
74
|
+
- Running timers that have been active for days
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Check for currently running timers
|
|
78
|
+
clickup time running --workspace-id <id> --format json
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Tips
|
|
82
|
+
|
|
83
|
+
- Duration is in milliseconds. Divide by 3600000 for hours.
|
|
84
|
+
- Use time tags to categorize entries (e.g., "client-work", "internal", "overhead")
|
|
85
|
+
- Run audits weekly to catch issues early rather than at month-end
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-users
|
|
3
|
+
description: Manages ClickUp workspace users, groups, guests, roles, and members. Use when the user asks about team members, wants to invite users, manage groups, grant guest access, check permissions, resolve names to IDs, or see who is assigned to what.
|
|
4
|
+
allowed-tools: Bash(clickup user *), Bash(clickup group *), Bash(clickup guest *), Bash(clickup role *), Bash(clickup member *), Bash(clickup workspace members), Bash(clickup schema user*), Bash(clickup schema group*), Bash(clickup schema guest*), Bash(clickup schema member*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ClickUp Users and Access
|
|
8
|
+
|
|
9
|
+
Manage workspace members, user groups, guest access, roles, and member lists.
|
|
10
|
+
|
|
11
|
+
## User Commands
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
clickup user invite --workspace-id <id> --email <email> [--admin <bool>]
|
|
15
|
+
clickup user get <user-id> --workspace-id <id>
|
|
16
|
+
clickup user update <user-id> --workspace-id <id> [--username <name>] [--admin <bool>] [--custom-role-id <id>]
|
|
17
|
+
clickup user remove <user-id> --workspace-id <id> --confirm
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Group Commands
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
clickup group list --workspace-id <id>
|
|
24
|
+
clickup group create --workspace-id <id> --name <name> [--member-id <id>...]
|
|
25
|
+
clickup group update <group-id> --workspace-id <id> [--name <name>] [--add-member <id>...] [--remove-member <id>...]
|
|
26
|
+
clickup group delete <group-id> --workspace-id <id> --confirm
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Guest Commands
|
|
30
|
+
|
|
31
|
+
Guests have scoped access (read, comment, edit, or create) per resource.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
clickup guest invite --workspace-id <id> --email <email>
|
|
35
|
+
[--can-edit-tags <bool>] [--can-see-time-spent <bool>]
|
|
36
|
+
clickup guest get <guest-id> --workspace-id <id>
|
|
37
|
+
clickup guest update <guest-id> --workspace-id <id> [--username <name>]
|
|
38
|
+
clickup guest remove <guest-id> --workspace-id <id> --confirm
|
|
39
|
+
|
|
40
|
+
# Grant/revoke access to specific resources
|
|
41
|
+
clickup guest add-to-task <guest-id> --task-id <id> --permission <read|comment|edit|create>
|
|
42
|
+
clickup guest remove-from-task <guest-id> --task-id <id>
|
|
43
|
+
clickup guest add-to-list <guest-id> --list-id <id> --permission <read|comment|edit|create>
|
|
44
|
+
clickup guest remove-from-list <guest-id> --list-id <id>
|
|
45
|
+
clickup guest add-to-folder <guest-id> --folder-id <id> --permission <read|comment|edit|create>
|
|
46
|
+
clickup guest remove-from-folder <guest-id> --folder-id <id>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Workspace Member Commands
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# List all members in workspace (full directory)
|
|
53
|
+
clickup workspace members --workspace-id <id>
|
|
54
|
+
|
|
55
|
+
# Find a member by name (fuzzy match on username or email)
|
|
56
|
+
clickup member find --name "Alice" --workspace-id <id>
|
|
57
|
+
|
|
58
|
+
# Resolve names to user IDs (pipe-friendly)
|
|
59
|
+
clickup member resolve --names "Alice, Bob" --workspace-id <id>
|
|
60
|
+
|
|
61
|
+
# Get IDs only for use in other commands
|
|
62
|
+
clickup member resolve --names "Alice, Bob" --format quiet
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Role and Member Commands
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
clickup role list --workspace-id <id> # List custom roles (Business plan)
|
|
69
|
+
clickup member list --task-id <id> # List assignable users for a task
|
|
70
|
+
clickup member list --list-id <id> # List assignable users for a list
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Common Patterns
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Invite a team member as admin
|
|
77
|
+
clickup user invite --workspace-id 9876543 --email dev@company.com --admin true
|
|
78
|
+
|
|
79
|
+
# Create a team group
|
|
80
|
+
clickup group create --workspace-id 9876543 --name "Frontend Team" --member-id 112233 --member-id 445566
|
|
81
|
+
|
|
82
|
+
# Give a client read access to a folder
|
|
83
|
+
clickup guest invite --workspace-id 9876543 --email client@external.com
|
|
84
|
+
clickup guest add-to-folder guest_001 --folder-id 998877 --permission read
|
|
85
|
+
|
|
86
|
+
# Find a user ID from a name (common agent pattern)
|
|
87
|
+
clickup member find --name "Sarah" --format json | jq '.[0].id'
|
|
88
|
+
|
|
89
|
+
# Resolve multiple names to IDs for bulk assignment
|
|
90
|
+
IDS=$(clickup member resolve --names "Alice, Bob, Carol" --format quiet | tr '\n' ',')
|
|
91
|
+
clickup task update TASK_ID --assignee-add $IDS
|
|
92
|
+
|
|
93
|
+
# Display workspace directory as markdown table
|
|
94
|
+
clickup workspace members --format md
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Resolving Names to IDs
|
|
98
|
+
|
|
99
|
+
Agents often receive person names but ClickUp APIs require user IDs. Use these commands to bridge the gap:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# 1. Find one person
|
|
103
|
+
clickup member find --name "Alice Johnson" --format json
|
|
104
|
+
|
|
105
|
+
# 2. Resolve multiple names at once (outputs table with id/username/email)
|
|
106
|
+
clickup member resolve --names "Alice, Bob, Sarah"
|
|
107
|
+
|
|
108
|
+
# 3. IDs-only output for piping into task assignee flags
|
|
109
|
+
clickup member resolve --names "Alice, Bob" --format quiet
|
|
110
|
+
# outputs:
|
|
111
|
+
# 1234567
|
|
112
|
+
# 8901234
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Discovery
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
clickup schema users.invite # Show invite fields
|
|
119
|
+
clickup schema guests.invite # Show guest invite fields
|
|
120
|
+
clickup schema member.find # Show find flags
|
|
121
|
+
clickup schema member.resolve # Show resolve flags
|
|
122
|
+
```
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-views
|
|
3
|
+
description: Creates and manages ClickUp views including board, list, Gantt, calendar, and workload views. Use when the user asks about views, wants to create a kanban board, see tasks through a specific view, or configure view settings.
|
|
4
|
+
allowed-tools: Bash(clickup view *), Bash(clickup schema view*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ClickUp Views
|
|
8
|
+
|
|
9
|
+
Views are saved display configurations that can exist at workspace, space, folder, or list level.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
### List views
|
|
14
|
+
```bash
|
|
15
|
+
clickup view list --workspace-id <id>
|
|
16
|
+
clickup view list --space-id <id>
|
|
17
|
+
clickup view list --folder-id <id>
|
|
18
|
+
clickup view list --list-id <id>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Get / Create / Update / Delete
|
|
22
|
+
```bash
|
|
23
|
+
clickup view get <view-id>
|
|
24
|
+
|
|
25
|
+
clickup view create --workspace-id <id> --name <name> --type <type>
|
|
26
|
+
clickup view create --space-id <id> --name <name> --type <type>
|
|
27
|
+
clickup view create --folder-id <id> --name <name> --type <type>
|
|
28
|
+
clickup view create --list-id <id> --name <name> --type <type>
|
|
29
|
+
|
|
30
|
+
clickup view update <view-id> [--name <name>] [--settings <json>]
|
|
31
|
+
[--grouping <json>] [--sorting <json>] [--filters <json>]
|
|
32
|
+
|
|
33
|
+
clickup view delete <view-id> --confirm
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Get tasks from a view
|
|
37
|
+
```bash
|
|
38
|
+
clickup view tasks <view-id> [--page <n>]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## View Types
|
|
42
|
+
|
|
43
|
+
`list`, `board`, `calendar`, `gantt`, `table`, `timeline`, `activity`, `map`, `workload`
|
|
44
|
+
|
|
45
|
+
## Common Patterns
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Create a kanban board at the space level
|
|
49
|
+
clickup view create --space-id 55544433 --name "Sprint Board" --type board
|
|
50
|
+
|
|
51
|
+
# Get all tasks visible in a view
|
|
52
|
+
clickup view tasks view_abc --format json
|
|
53
|
+
|
|
54
|
+
# List views at the workspace level
|
|
55
|
+
clickup view list --workspace-id 9876543
|
|
56
|
+
|
|
57
|
+
# Render view tasks as markdown table
|
|
58
|
+
clickup view tasks view_abc --format md
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Discovery
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
clickup schema views.create # Show create fields and view types
|
|
65
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-webhooks
|
|
3
|
+
description: Registers and manages ClickUp webhooks for real-time event notifications. Use when the user asks about webhooks, wants to set up notifications for task changes, or needs to integrate ClickUp events with external services.
|
|
4
|
+
allowed-tools: Bash(clickup webhook *), Bash(clickup schema webhook*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ClickUp Webhooks
|
|
8
|
+
|
|
9
|
+
Webhooks deliver real-time event payloads to your endpoint when activity occurs in ClickUp.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
clickup webhook list --workspace-id <id>
|
|
15
|
+
|
|
16
|
+
clickup webhook create --workspace-id <id> --endpoint <url> --events <event>...
|
|
17
|
+
[--space-id <id>] [--folder-id <id>] [--list-id <id>] [--task-id <id>]
|
|
18
|
+
|
|
19
|
+
clickup webhook update <webhook-id>
|
|
20
|
+
[--endpoint <url>] [--events <event>...] [--status <active|inactive>]
|
|
21
|
+
|
|
22
|
+
clickup webhook delete <webhook-id> --confirm
|
|
23
|
+
|
|
24
|
+
clickup webhook events # List all available event types
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Scoping
|
|
28
|
+
|
|
29
|
+
Webhooks can be scoped to a specific resource level:
|
|
30
|
+
- **Workspace-wide**: Omit scope flags (receives all events)
|
|
31
|
+
- **Space**: Add `--space-id <id>`
|
|
32
|
+
- **Folder**: Add `--folder-id <id>`
|
|
33
|
+
- **List**: Add `--list-id <id>`
|
|
34
|
+
- **Task**: Add `--task-id <id>`
|
|
35
|
+
|
|
36
|
+
## Common Patterns
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# List available event types
|
|
40
|
+
clickup webhook events
|
|
41
|
+
|
|
42
|
+
# Create a webhook for task events in a space
|
|
43
|
+
clickup webhook create --workspace-id 9876543 --endpoint https://hooks.example.com/clickup \
|
|
44
|
+
--events taskCreated taskUpdated --space-id 55544433
|
|
45
|
+
|
|
46
|
+
# Disable a webhook temporarily
|
|
47
|
+
clickup webhook update wh_001 --status inactive
|
|
48
|
+
|
|
49
|
+
# Re-enable it
|
|
50
|
+
clickup webhook update wh_001 --status active
|
|
51
|
+
|
|
52
|
+
# List webhooks as markdown table
|
|
53
|
+
clickup webhook list --workspace-id 9876543 --format md
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Discovery
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
clickup schema webhooks.create # Show webhook create fields
|
|
60
|
+
clickup webhook events # List all event type names
|
|
61
|
+
```
|