clickup-agent-cli 0.4.2 → 0.5.1
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 +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +5 -5
- package/dist/clickup.js +1 -1
- package/package.json +3 -2
- package/skills/clickup/SKILL.md +11 -0
- package/skills/clickup/references/gotchas.md +57 -0
- package/skills/clickup-blocker-report/SKILL.md +6 -1
- package/skills/clickup-blocker-report/assets/report-template.md +16 -0
- package/skills/clickup-capacity-check/SKILL.md +6 -1
- package/skills/clickup-capacity-check/assets/report-template.md +14 -0
- package/skills/clickup-chat/SKILL.md +1 -0
- package/skills/clickup-comments/SKILL.md +1 -0
- package/skills/clickup-custom-report/SKILL.md +1 -0
- package/skills/clickup-docs/SKILL.md +60 -0
- package/skills/clickup-fields/SKILL.md +2 -1
- package/skills/clickup-goal-progress/SKILL.md +6 -1
- package/skills/clickup-goal-progress/assets/report-template.md +13 -0
- package/skills/clickup-goals/SKILL.md +1 -0
- package/skills/clickup-meeting-notes-to-tasks/SKILL.md +81 -0
- package/skills/clickup-my-day/SKILL.md +65 -0
- package/skills/clickup-my-day/assets/report-template.md +12 -0
- package/skills/clickup-project-setup/SKILL.md +3 -0
- package/skills/clickup-release-notes/SKILL.md +62 -0
- package/skills/clickup-release-notes/assets/report-template.md +12 -0
- package/skills/clickup-rollout/SKILL.md +3 -0
- package/skills/clickup-spaces/SKILL.md +1 -0
- package/skills/clickup-sprint-closeout/SKILL.md +3 -0
- package/skills/clickup-sprint-planning/SKILL.md +3 -0
- package/skills/clickup-standup/SKILL.md +3 -14
- package/skills/clickup-standup/assets/report-template.md +9 -0
- package/skills/clickup-task-triage/SKILL.md +3 -0
- package/skills/clickup-tasks/SKILL.md +1 -0
- package/skills/clickup-team-report/SKILL.md +4 -1
- package/skills/clickup-team-report/assets/report-template.md +24 -0
- package/skills/clickup-templates/SKILL.md +1 -0
- package/skills/clickup-time/SKILL.md +1 -0
- package/skills/clickup-time-audit/SKILL.md +8 -1
- package/skills/clickup-time-audit/assets/report-template.md +19 -0
- package/skills/clickup-timesheet-export/SKILL.md +65 -0
- package/skills/clickup-timesheet-export/assets/report-template.md +9 -0
- package/skills/clickup-timesheet-export/scripts/aggregate.mjs +73 -0
- package/skills/clickup-users/SKILL.md +1 -0
- package/skills/clickup-views/SKILL.md +1 -0
- package/skills/clickup-webhooks/SKILL.md +1 -0
- package/skills/clickup-weekly-review/SKILL.md +4 -1
- package/skills/clickup-weekly-review/assets/report-template.md +26 -0
- package/skills/clickup-workspace-audit/SKILL.md +72 -0
- package/skills/clickup-workspace-audit/assets/report-template.md +21 -0
- package/skills/clickup-workspace-audit/scripts/classify.mjs +72 -0
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
{
|
|
11
11
|
"name": "clickup",
|
|
12
12
|
"source": "./",
|
|
13
|
-
"description": "ClickUp CLI with
|
|
14
|
-
"version": "0.
|
|
13
|
+
"description": "ClickUp CLI with 31 agent skills covering the full API -- token-efficient alternative to MCP with chat, time tracking, docs, and project management workflows",
|
|
14
|
+
"version": "0.5.1",
|
|
15
15
|
"homepage": "https://github.com/henryreith/clickup-cli",
|
|
16
16
|
"keywords": ["clickup", "project-management", "tasks", "time-tracking"],
|
|
17
17
|
"category": "productivity"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clickup",
|
|
3
|
-
"description": "ClickUp CLI with
|
|
4
|
-
"version": "0.
|
|
3
|
+
"description": "ClickUp CLI with 31 agent skills covering the full API -- token-efficient alternative to MCP with chat, time tracking, docs, and project management workflows",
|
|
4
|
+
"version": "0.5.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Henry Reith"
|
|
7
7
|
},
|
package/README.md
CHANGED
|
@@ -80,7 +80,7 @@ Every command supports multiple output formats:
|
|
|
80
80
|
|
|
81
81
|
## AI Agent Usage
|
|
82
82
|
|
|
83
|
-
The CLI is built from the ground up for AI agents, following the "CLI as execution layer, skills as guidance layer" pattern. It ships as a Claude Code plugin with
|
|
83
|
+
The CLI is built from the ground up for AI agents, following the "CLI as execution layer, skills as guidance layer" pattern. It ships as a Claude Code plugin with 31 agent skills, and works with any agent platform that can run bash commands.
|
|
84
84
|
|
|
85
85
|
**vs ClickUp MCP:** This CLI covers the same operations as the official ClickUp MCP server (tasks, docs, time tracking, chat, members, hierarchy) plus more, while consuming far fewer tokens. A full skills hierarchy loads in ~150 tokens at session start vs injecting an entire API schema. Works in any agent platform that supports bash -- not just MCP-compatible hosts.
|
|
86
86
|
|
|
@@ -100,7 +100,7 @@ Install the ClickUp CLI as a Claude Code plugin for zero-friction access to all
|
|
|
100
100
|
/clickup:sprint-planning list-id-here
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
Once installed, Claude Code auto-discovers all
|
|
103
|
+
Once installed, Claude Code auto-discovers all 31 skills and loads them on demand. Recipe skills like `/clickup:weekly-review` run in isolated subagents with full ClickUp CLI access.
|
|
104
104
|
|
|
105
105
|
### Claude Agent SDK
|
|
106
106
|
|
|
@@ -141,8 +141,8 @@ clickup skill show clickup-weekly-review
|
|
|
141
141
|
|
|
142
142
|
**Three skill tiers:**
|
|
143
143
|
- **Root skill** - Index and router. What the CLI does, how to discover more.
|
|
144
|
-
- **Sub-skills** (
|
|
145
|
-
- **Recipe skills** (
|
|
144
|
+
- **Sub-skills** (12) - Per-resource command reference. Tasks, spaces, comments, time tracking, chat, etc.
|
|
145
|
+
- **Recipe skills** (18) - Multi-step workflow guides that accept natural language arguments. Scope any recipe to a specific team, department, or person.
|
|
146
146
|
|
|
147
147
|
**Example recipe invocations:**
|
|
148
148
|
```bash
|
|
@@ -201,7 +201,7 @@ clickup config validate
|
|
|
201
201
|
|
|
202
202
|
# 4. Discover capabilities: the root skill indexes everything
|
|
203
203
|
clickup skill show clickup # start here (~150 tokens)
|
|
204
|
-
clickup skill list # all
|
|
204
|
+
clickup skill list # all 31 skills
|
|
205
205
|
clickup skill show clickup-tasks # per-resource command reference
|
|
206
206
|
|
|
207
207
|
# 5. Discover exact fields before calling a command
|
package/dist/clickup.js
CHANGED
|
@@ -4629,7 +4629,7 @@ function registerChatCommands(program, getClient) {
|
|
|
4629
4629
|
}
|
|
4630
4630
|
|
|
4631
4631
|
// src/cli.ts
|
|
4632
|
-
var VERSION = "0.
|
|
4632
|
+
var VERSION = "0.5.1";
|
|
4633
4633
|
function createProgram() {
|
|
4634
4634
|
const program = new Command();
|
|
4635
4635
|
program.name("clickup").description("ClickUp CLI - Manage ClickUp workspaces from the terminal").version(VERSION).option("--token <token>", "API token").option("--token-file <path>", "Read API token from this file path").option("--profile <name>", "Profile to use (key, workspace name, or nickname)").option("--workspace-id <id>", "Workspace ID").addOption(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clickup-agent-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "CLI covering the entire ClickUp API v2 surface",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"dev": "tsx bin/clickup.ts",
|
|
20
20
|
"test": "vitest run",
|
|
21
21
|
"typecheck": "tsc --noEmit",
|
|
22
|
-
"version": "node scripts/sync-version.js"
|
|
22
|
+
"version": "node scripts/sync-version.js",
|
|
23
|
+
"lint:skills": "node scripts/lint-skills.mjs"
|
|
23
24
|
},
|
|
24
25
|
"keywords": [
|
|
25
26
|
"clickup",
|
package/skills/clickup/SKILL.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup
|
|
3
3
|
description: Manages ClickUp projects, tasks, spaces, lists, time tracking, goals, and more via CLI. Use when the user needs to create tasks, check project status, manage sprints, track time, find work items, or interact with ClickUp data in any way.
|
|
4
|
+
license: MIT
|
|
4
5
|
user-invocable: false
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -34,6 +35,10 @@ clickup skill list # All available skills
|
|
|
34
35
|
clickup skill show <name> # Print a skill's full contents (e.g. clickup-tasks)
|
|
35
36
|
```
|
|
36
37
|
|
|
38
|
+
Known pitfalls (rate limits, error codes, exit codes, destructive-command rules) live in `references/gotchas.md` next to this file; read it before debugging a failing command (`clickup skill path clickup` prints this skill's directory).
|
|
39
|
+
|
|
40
|
+
Skills bundle supporting files per the Agent Skills standard: `references/` (deep detail), `assets/` (output templates to copy), and `scripts/` (deterministic helpers to run with node). `clickup skill path <name>` prints any skill's directory so these files can be read or executed directly.
|
|
41
|
+
|
|
37
42
|
## Sub-Skills (load when needed)
|
|
38
43
|
|
|
39
44
|
| Skill | What it covers |
|
|
@@ -49,6 +54,7 @@ clickup skill show <name> # Print a skill's full contents (e.g. cli
|
|
|
49
54
|
| `clickup-webhooks` | Webhook registration and management |
|
|
50
55
|
| `clickup-fields` | Custom fields, tags, custom task types |
|
|
51
56
|
| `clickup-templates` | Templates: list available templates, apply task/list/folder templates |
|
|
57
|
+
| `clickup-docs` | Docs and pages: create docs, write markdown pages, search the doc library |
|
|
52
58
|
|
|
53
59
|
## Recipe Skills (multi-step workflows)
|
|
54
60
|
|
|
@@ -69,6 +75,11 @@ Recipes accept natural language arguments. Scope them to any team, department, p
|
|
|
69
75
|
| `clickup-capacity-check` | Check team workload and availability |
|
|
70
76
|
| `clickup-blocker-report` | Find blocked tasks and dependency chains |
|
|
71
77
|
| `clickup-goal-progress` | Report on goal/OKR completion |
|
|
78
|
+
| `clickup-meeting-notes-to-tasks` | Turn meeting notes or transcripts into triaged tasks |
|
|
79
|
+
| `clickup-workspace-audit` | Hygiene sweep: unassigned, overdue, stale, overloaded |
|
|
80
|
+
| `clickup-timesheet-export` | Export time entries as a timesheet with totals |
|
|
81
|
+
| `clickup-release-notes` | Changelog from completed tasks for a period |
|
|
82
|
+
| `clickup-my-day` | Personal daily agenda ordered by what to tackle first |
|
|
72
83
|
|
|
73
84
|
## Quick Patterns
|
|
74
85
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# ClickUp CLI Gotchas
|
|
2
|
+
|
|
3
|
+
Hard-won facts that prevent wasted retries. Read this when a command fails unexpectedly.
|
|
4
|
+
|
|
5
|
+
## Exit codes
|
|
6
|
+
|
|
7
|
+
| Code | Meaning | What to do |
|
|
8
|
+
|------|---------|-----------|
|
|
9
|
+
| 0 | Success | - |
|
|
10
|
+
| 1 | General/API error | Read stderr; check `--debug` output |
|
|
11
|
+
| 2 | Invalid arguments | Fix the flag value; the error names the flag |
|
|
12
|
+
| 3 | Auth failure | Token missing/invalid: `clickup auth login` or set `CLICKUP_API_TOKEN` |
|
|
13
|
+
| 4 | Not found | Wrong ID, or the token lacks access to that resource |
|
|
14
|
+
| 5 | Permission denied | The token's user lacks access in ClickUp |
|
|
15
|
+
| 6 | Rate limited | Already retried automatically; back off before batch work |
|
|
16
|
+
| 7 | Network error | Timeout or connectivity; retry once, then report |
|
|
17
|
+
|
|
18
|
+
## Rate limits
|
|
19
|
+
|
|
20
|
+
- ClickUp allows ~100 requests/minute per token. The client retries 429s automatically, waiting for the reset window (capped at 60s).
|
|
21
|
+
- For bulk work prefer the built-in bulk commands (`task bulk-update`, `task bulk-delete`); they run 3-wide concurrency deliberately.
|
|
22
|
+
- Piping hundreds of IDs through `xargs` will hit the limit; batch in groups and expect pauses.
|
|
23
|
+
|
|
24
|
+
## Destructive commands
|
|
25
|
+
|
|
26
|
+
- Every true delete (and `field remove`, `time delete`) prompts in a terminal and requires `--confirm` when non-interactive. Agents must pass `--confirm` explicitly; never work around a missing confirmation.
|
|
27
|
+
- Reversible link removals (`tag remove`, `relation remove`, `dependency remove`, `guest remove-from-*`, `list remove-task`) do not prompt.
|
|
28
|
+
- `attachment download` refuses to overwrite an existing file without `--force`.
|
|
29
|
+
|
|
30
|
+
## Common error codes (ECODE)
|
|
31
|
+
|
|
32
|
+
| ECODE | Meaning |
|
|
33
|
+
|-------|---------|
|
|
34
|
+
| OAUTH_023 | Token invalid or expired: re-authenticate |
|
|
35
|
+
| OAUTH_024 | Token lacks permission for this action |
|
|
36
|
+
| ITEM_015 | Task not found: check the task ID |
|
|
37
|
+
| TEAM_015 | Workspace not found: check workspace ID or `clickup config set workspace_id <id>` |
|
|
38
|
+
|
|
39
|
+
## Input formats
|
|
40
|
+
|
|
41
|
+
- Dates accept Unix ms, Unix seconds (10 digits), ISO 8601 (`2026-07-10`), and relative forms (`today`, `tomorrow`, `3d`, `-1w`, `friday`, `next monday`). Filter flags ending in `-gt`/`-lt` take Unix ms only.
|
|
42
|
+
- Durations (time tracking) are milliseconds. 1h = 3600000.
|
|
43
|
+
- `--priority` accepts 1-4 or urgent/high/normal/low.
|
|
44
|
+
- Booleans passed as values (`--billable`, `--archived`) must be literal `true` or `false`.
|
|
45
|
+
- JSON field names in output match the ClickUp API exactly; there is no camelCase conversion.
|
|
46
|
+
|
|
47
|
+
## Output behavior
|
|
48
|
+
|
|
49
|
+
- Piped output defaults to JSON; interactive terminals get tables. Force with `--format`.
|
|
50
|
+
- `--format id` prints only the first result's ID: ideal for capture (`ID=$(clickup task create ... --format id)`).
|
|
51
|
+
- Status messages and spinners go to stderr; stdout carries only data.
|
|
52
|
+
- `skill show <name>` piped returns JSON with the skill body in the `content` field.
|
|
53
|
+
|
|
54
|
+
## Workspace resolution
|
|
55
|
+
|
|
56
|
+
- Most commands need a workspace ID. Resolution order: `--workspace-id` flag > `CLICKUP_WORKSPACE_ID` env > active profile > single-workspace auto-select.
|
|
57
|
+
- After login, `clickup workspace setup` stores it; `clickup config validate` shows what is active.
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-blocker-report
|
|
3
3
|
description: Finds blocked tasks, dependency chains, and stale items that need attention. Use when the user asks about blockers, stuck tasks, stalled work, dependency issues, or wants to find what is holding up progress.
|
|
4
|
+
license: MIT
|
|
4
5
|
disable-model-invocation: true
|
|
5
6
|
context: fork
|
|
6
7
|
agent: general-purpose
|
|
7
8
|
argument-hint: "[workspace-id]"
|
|
8
|
-
allowed-tools: Bash(clickup *)
|
|
9
|
+
allowed-tools: Bash(clickup *), Read
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
# Blocker Report
|
|
12
13
|
|
|
13
14
|
Identify blocked tasks, broken dependency chains, and items that have been stalled.
|
|
14
15
|
|
|
16
|
+
Interpret `$ARGUMENTS` as the scope (workspace, space, list, person, or time period as the sections below expect); when it is empty, ask or fall back to the configured workspace.
|
|
17
|
+
|
|
15
18
|
## Prerequisites
|
|
16
19
|
|
|
17
20
|
- Workspace ID
|
|
@@ -68,6 +71,8 @@ clickup task bulk-time-in-status --task-id <id1> --task-id <id2> --format json
|
|
|
68
71
|
|
|
69
72
|
### Step 6: Compile the report
|
|
70
73
|
|
|
74
|
+
Copy the exact structure from `assets/report-template.md` in this skill's directory (`clickup skill path clickup-blocker-report` prints it). Fill every placeholder; drop sections with no content.
|
|
75
|
+
|
|
71
76
|
- **Blocked tasks**: What, who, and what is blocking them
|
|
72
77
|
- **Stale tasks**: In progress but not updated recently
|
|
73
78
|
- **Overdue + unassigned**: Nobody owns these
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## Blocker Report: <scope> (<date>)
|
|
2
|
+
|
|
3
|
+
### Blocked tasks
|
|
4
|
+
- <task> - <assignee>, blocked <n> days, waiting on: <blocker>
|
|
5
|
+
|
|
6
|
+
### Dependency chains
|
|
7
|
+
- <task A> blocks <task B> blocks <task C> (chain head is <status>)
|
|
8
|
+
|
|
9
|
+
### Stale (in progress, no updates)
|
|
10
|
+
- <task> - <assignee>, last touched <date>
|
|
11
|
+
|
|
12
|
+
### Overdue and unassigned (nobody owns these)
|
|
13
|
+
- <task> - due <date> (<list>)
|
|
14
|
+
|
|
15
|
+
### Escalations needed
|
|
16
|
+
1. <task>: blocked <n> days - <suggested action>
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-capacity-check
|
|
3
3
|
description: Checks team workload and capacity by analyzing who is overloaded, who has bandwidth, and suggesting rebalancing. Use when the user asks about team capacity, workload, who is overloaded, or wants to balance task assignments.
|
|
4
|
+
license: MIT
|
|
4
5
|
disable-model-invocation: true
|
|
5
6
|
context: fork
|
|
6
7
|
agent: general-purpose
|
|
7
8
|
argument-hint: "[workspace-id]"
|
|
8
|
-
allowed-tools: Bash(clickup *)
|
|
9
|
+
allowed-tools: Bash(clickup *), Read
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
# Capacity Check
|
|
12
13
|
|
|
13
14
|
Assess team workload by analyzing task assignments, time estimates, and time logged.
|
|
14
15
|
|
|
16
|
+
Interpret `$ARGUMENTS` as the scope (workspace, space, list, person, or time period as the sections below expect); when it is empty, ask or fall back to the configured workspace.
|
|
17
|
+
|
|
15
18
|
## Prerequisites
|
|
16
19
|
|
|
17
20
|
- Workspace ID
|
|
@@ -54,6 +57,8 @@ clickup task search --workspace-id <id> --assignee <user-id> \
|
|
|
54
57
|
|
|
55
58
|
### Step 5: Compile capacity report
|
|
56
59
|
|
|
60
|
+
Copy the exact structure from `assets/report-template.md` in this skill's directory (`clickup skill path clickup-capacity-check` prints it). Fill every placeholder; drop sections with no content.
|
|
61
|
+
|
|
57
62
|
For each team member:
|
|
58
63
|
- **Active tasks**: Count and total estimated hours
|
|
59
64
|
- **Time logged this week**: Hours
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
## Capacity Check: <team/scope> (<date>)
|
|
2
|
+
|
|
3
|
+
| Person | Active tasks | Est. hours | Logged this week | Overdue | Status |
|
|
4
|
+
|--------|--------------|-----------|------------------|---------|--------|
|
|
5
|
+
| <name> | <n> | <n>h | <n>h | <n> | Under / At / Over |
|
|
6
|
+
|
|
7
|
+
### Overloaded
|
|
8
|
+
- <name>: <what to move and to whom>
|
|
9
|
+
|
|
10
|
+
### Available bandwidth
|
|
11
|
+
- <name>: <n> open tasks, can take on more
|
|
12
|
+
|
|
13
|
+
### Suggested rebalance
|
|
14
|
+
1. Move "<task>" from <overloaded> to <available>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-chat
|
|
3
3
|
description: Lists ClickUp chat channels and sends messages. Use when the user wants to post a notification, send a standup summary, notify a channel, or check what chat channels exist in the workspace.
|
|
4
|
+
license: MIT
|
|
4
5
|
allowed-tools: Bash(clickup chat *), Bash(clickup schema chat*)
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-comments
|
|
3
3
|
description: Creates, lists, and manages comments on ClickUp tasks, lists, and views. Supports threading and replies. Use when the user wants to add comments, read discussion threads, reply to comments, or assign action items via comments.
|
|
4
|
+
license: MIT
|
|
4
5
|
allowed-tools: Bash(clickup comment *), Bash(clickup schema comment*)
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-custom-report
|
|
3
3
|
description: Generates a custom ClickUp report based on any criteria the user describes. Handles ad-hoc queries like "show me all high-priority tasks assigned to John", "what's overdue in the backend", or "tasks created this month with no assignee". Use when the user asks for a specific data pull, custom query, filtered view, or any report that does not match a predefined recipe.
|
|
4
|
+
license: MIT
|
|
4
5
|
disable-model-invocation: true
|
|
5
6
|
context: fork
|
|
6
7
|
agent: general-purpose
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-docs
|
|
3
|
+
description: Manages ClickUp Docs and their pages including creating docs, writing page content in markdown, and searching doc libraries. Use when the user asks to create or update a doc, add meeting notes or documentation pages, read a doc's contents, or find a doc in the workspace.
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools: Bash(clickup doc *), Bash(clickup schema doc*)
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ClickUp Docs
|
|
9
|
+
|
|
10
|
+
Create, read, update, and search Docs and their pages. All doc commands require a workspace ID (from `--workspace-id`, `CLICKUP_WORKSPACE_ID`, or the active profile).
|
|
11
|
+
|
|
12
|
+
## Doc Commands
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
clickup doc list --workspace-id <id>
|
|
16
|
+
clickup doc search --workspace-id <id> --query <text>
|
|
17
|
+
clickup doc get --workspace-id <id> --doc-id <id>
|
|
18
|
+
clickup doc create --workspace-id <id> --name <name>
|
|
19
|
+
[--parent-id <id>] [--parent-type <4|5|6|7>] [--visibility <private|workspace>]
|
|
20
|
+
clickup doc update --workspace-id <id> --doc-id <id> --name <name>
|
|
21
|
+
clickup doc delete --workspace-id <id> --doc-id <id> --confirm
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`--parent-type` values: 4=space, 5=folder, 6=list, 7=task. When `--parent-id` is given without `--parent-type`, space (4) is assumed.
|
|
25
|
+
|
|
26
|
+
## Page Commands
|
|
27
|
+
|
|
28
|
+
Docs contain pages; page content is markdown.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
clickup doc pages --workspace-id <id> --doc-id <id>
|
|
32
|
+
clickup doc page-get --workspace-id <id> --doc-id <id> --page-id <id>
|
|
33
|
+
clickup doc page-create --workspace-id <id> --doc-id <id> --name <name>
|
|
34
|
+
[--content <markdown>] [--parent-page-id <id>]
|
|
35
|
+
clickup doc page-update --workspace-id <id> --doc-id <id> --page-id <id>
|
|
36
|
+
[--name <name>] [--content <markdown>]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Common Patterns
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Find a doc by name, then read its pages
|
|
43
|
+
DOC_ID=$(clickup doc search --query "Engineering Handbook" --format id)
|
|
44
|
+
clickup doc pages --doc-id "$DOC_ID" --format json
|
|
45
|
+
|
|
46
|
+
# Create a doc in a space with a first page
|
|
47
|
+
DOC_ID=$(clickup doc create --name "Sprint Notes" --parent-id <space-id> --parent-type 4 --format id)
|
|
48
|
+
clickup doc page-create --doc-id "$DOC_ID" --name "2026-07-04" --content "# Notes\n- item one"
|
|
49
|
+
|
|
50
|
+
# Append meeting notes as a new page under an existing parent page
|
|
51
|
+
clickup doc page-create --doc-id <doc-id> --name "Standup 2026-07-04" \
|
|
52
|
+
--parent-page-id <page-id> --content "$(cat notes.md)"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Notes
|
|
56
|
+
|
|
57
|
+
- `page-update --content` replaces the page content entirely; read the page first and merge if you need to append.
|
|
58
|
+
- `doc delete` is destructive: it prompts in a terminal and requires `--confirm` in non-interactive mode.
|
|
59
|
+
- Multi-line markdown works best passed via command substitution (`--content "$(cat file.md)"`) to avoid shell quoting issues.
|
|
60
|
+
- Field discovery: `clickup schema doc` lists actions, `clickup schema doc.page-create` shows fields.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-fields
|
|
3
3
|
description: Manages ClickUp custom fields, tags, and custom task types. Use when the user asks about custom fields, wants to set field values on tasks, manage tags, or work with custom task types.
|
|
4
|
-
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools: Bash(clickup field *), Bash(clickup tag *), Bash(clickup task-type *), Bash(clickup attachment *), Bash(clickup schema field*), Bash(clickup schema tag*)
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# ClickUp Custom Fields, Tags, and Task Types
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-goal-progress
|
|
3
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
|
+
license: MIT
|
|
4
5
|
disable-model-invocation: true
|
|
5
6
|
context: fork
|
|
6
7
|
agent: general-purpose
|
|
7
8
|
argument-hint: "[workspace-id]"
|
|
8
|
-
allowed-tools: Bash(clickup *)
|
|
9
|
+
allowed-tools: Bash(clickup *), Read
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
# Goal Progress Report
|
|
12
13
|
|
|
13
14
|
Track OKR/goal completion, update key results, and identify goals that are at risk.
|
|
14
15
|
|
|
16
|
+
Interpret `$ARGUMENTS` as the scope (workspace, space, list, person, or time period as the sections below expect); when it is empty, ask or fall back to the configured workspace.
|
|
17
|
+
|
|
15
18
|
## Prerequisites
|
|
16
19
|
|
|
17
20
|
- Workspace ID
|
|
@@ -53,6 +56,8 @@ clickup task list --list-id <linked-list-id> --include-closed --format json
|
|
|
53
56
|
|
|
54
57
|
### Step 5: Compile the report
|
|
55
58
|
|
|
59
|
+
Copy the exact structure from `assets/report-template.md` in this skill's directory (`clickup skill path clickup-goal-progress` prints it). Fill every placeholder; drop sections with no content.
|
|
60
|
+
|
|
56
61
|
For each goal:
|
|
57
62
|
- **Goal name** and due date
|
|
58
63
|
- **Key results**: Current vs. target, % complete
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
## Goal Progress: <scope> (<date>)
|
|
2
|
+
|
|
3
|
+
| Goal | Due | Progress | Expected | Status |
|
|
4
|
+
|------|-----|----------|----------|--------|
|
|
5
|
+
| <goal> | <date> | <current>/<target> (<x>%) | <y>% | On track / At risk / Behind |
|
|
6
|
+
|
|
7
|
+
### <goal name>
|
|
8
|
+
- <key result>: <current> of <target> (<x>%)
|
|
9
|
+
- Latest: <most recent note or update>
|
|
10
|
+
- <status rationale in one line>
|
|
11
|
+
|
|
12
|
+
### Stale goals (no recent key result updates)
|
|
13
|
+
- <goal> - last update <date>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-goals
|
|
3
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
|
+
license: MIT
|
|
4
5
|
allowed-tools: Bash(clickup goal *), Bash(clickup schema goal*)
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-meeting-notes-to-tasks
|
|
3
|
+
description: Converts meeting notes, transcripts, or brain dumps into triaged ClickUp tasks with assignees, due dates, and tags. Use when the user pastes notes or points at a notes file and wants action items extracted and created as tasks.
|
|
4
|
+
license: MIT
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
context: fork
|
|
7
|
+
agent: general-purpose
|
|
8
|
+
argument-hint: "[list name or ID, then paste notes or give a file path]"
|
|
9
|
+
allowed-tools: Bash(clickup *), Read
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Meeting Notes to Tasks
|
|
13
|
+
|
|
14
|
+
Extract action items from raw notes and create them as properly triaged tasks.
|
|
15
|
+
|
|
16
|
+
## Understanding the Input
|
|
17
|
+
|
|
18
|
+
`$ARGUMENTS` should contain a target list (name or ID) and the notes themselves (pasted text or a file path). If either is missing, ask for it before creating anything.
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
### Step 1: Resolve the target list
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# If given a name, find the list ID
|
|
26
|
+
clickup list list --folder-id <id> --format json # or --space-id for folderless lists
|
|
27
|
+
clickup space list --format json # to locate the right space first
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Step 2: Resolve people
|
|
31
|
+
|
|
32
|
+
Build a name-to-ID map so "Sarah will fix the login bug" becomes an assigned task:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
clickup member list --format json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Match first names case-insensitively. If a name in the notes matches nobody, leave the task unassigned and note it in the summary.
|
|
39
|
+
|
|
40
|
+
### Step 3: Extract action items
|
|
41
|
+
|
|
42
|
+
Read the notes and pull out every commitment, decision requiring follow-up, and explicit todo. For each item capture:
|
|
43
|
+
|
|
44
|
+
- **name**: imperative, under 80 chars ("Fix login redirect on Safari")
|
|
45
|
+
- **assignee**: from the people map, if a person was named
|
|
46
|
+
- **due date**: explicit dates, or relative phrases ("by Friday" = `friday`, "next week" = `+1w`)
|
|
47
|
+
- **priority**: `urgent` only if the notes say so; otherwise `normal`
|
|
48
|
+
- **description**: the sentence(s) from the notes the item came from, for context
|
|
49
|
+
|
|
50
|
+
Do NOT create tasks for decisions already made, FYIs, or discussion points with no action.
|
|
51
|
+
|
|
52
|
+
### Step 4: Confirm the plan
|
|
53
|
+
|
|
54
|
+
Show the extracted items as a table (name, assignee, due, priority) and ask for approval before creating anything. Skip this only if the user already said to create without review.
|
|
55
|
+
|
|
56
|
+
### Step 5: Create the tasks
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
clickup task create --list-id <id> --name "<name>" \
|
|
60
|
+
[--description "<context>"] [--assignee <user-id>] \
|
|
61
|
+
[--due-date <friday|+3d|2026-07-10>] [--priority <level>] \
|
|
62
|
+
--format id
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Collect the returned IDs. Dates accept ISO 8601, relative forms (`tomorrow`, `3d`, `friday`), or Unix timestamps.
|
|
66
|
+
|
|
67
|
+
### Step 6: Report
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Created N tasks in <list name>:
|
|
71
|
+
- <task name> -> <assignee or unassigned>, due <date> (<task-id>)
|
|
72
|
+
...
|
|
73
|
+
Skipped: <items that were FYI/decisions, one line on why>
|
|
74
|
+
Unmatched people: <names that could not be resolved>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Tips
|
|
78
|
+
|
|
79
|
+
- Tag every created task for traceability: `clickup tag add --task-id <id> --name "meeting-2026-07-04"`
|
|
80
|
+
- For a recurring meeting, offer to also create a summary page in a Doc: see the clickup-docs skill.
|
|
81
|
+
- If the notes mention blocking relationships ("can't start X until Y"), add them: `clickup dependency add --task-id <x> --depends-on <y>`
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clickup-my-day
|
|
3
|
+
description: Builds a personal daily agenda from ClickUp showing what is due, overdue, in progress, and blocked, ordered by what to tackle first. Use when the user asks what they should work on, wants their day planned, or asks what is on their plate today.
|
|
4
|
+
license: MIT
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
context: fork
|
|
7
|
+
agent: general-purpose
|
|
8
|
+
argument-hint: "[optional: a different person, or 'this week' for a wider window]"
|
|
9
|
+
allowed-tools: Bash(clickup *), Read
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# My Day
|
|
13
|
+
|
|
14
|
+
Answer one question well: what should I work on right now?
|
|
15
|
+
|
|
16
|
+
## Understanding the Scope
|
|
17
|
+
|
|
18
|
+
Default subject is the authenticated user; `$ARGUMENTS` can name someone else or widen the window ("this week"). Resolve the current user by matching the email from `clickup auth status` against `clickup member list --format json`.
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
### Step 1: Pull my open tasks
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
clickup task search --workspace-id <id> --assignee <user-id> --format json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Step 2: Check the running timer
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
clickup time running --workspace-id <id> --format json
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If a timer is running, its task leads the agenda ("you're mid-flight on this").
|
|
35
|
+
|
|
36
|
+
### Step 3: Bucket and order
|
|
37
|
+
|
|
38
|
+
1. **Overdue** - `due_date` in the past (oldest first)
|
|
39
|
+
2. **Due today**
|
|
40
|
+
3. **In progress** - started but not due yet; flag anything untouched for 7+ days
|
|
41
|
+
4. **Blocked/waiting** - list what each is waiting on if dependencies exist
|
|
42
|
+
5. **Up next** - highest priority undated tasks, max 3
|
|
43
|
+
|
|
44
|
+
Priority (urgent=1 to low=4) breaks ties inside each bucket.
|
|
45
|
+
|
|
46
|
+
### Step 4: Present the agenda
|
|
47
|
+
|
|
48
|
+
Copy the exact structure from `assets/report-template.md` in this skill's directory (`clickup skill path clickup-my-day` prints it). Fill every placeholder; drop sections with no content.
|
|
49
|
+
|
|
50
|
+
Keep it under ~10 items; summarize the rest as "and N more in the backlog".
|
|
51
|
+
|
|
52
|
+
### Step 5: Offer actions
|
|
53
|
+
|
|
54
|
+
If the user reacts ("push the report to Friday", "start the timer on #2"):
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
clickup task update <id> --due-date friday
|
|
58
|
+
clickup time start --workspace-id <id> --task-id <id>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Tips
|
|
62
|
+
|
|
63
|
+
- Dates accept relative forms (`friday`, `+2d`) so rescheduling reads naturally.
|
|
64
|
+
- "This week" widens step 3's due window to the next 7 days but keeps the same buckets.
|
|
65
|
+
- For someone else's day, skip step 5's timer actions - never start timers for other people.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## Your day - <date>
|
|
2
|
+
|
|
3
|
+
Now: <running timer task, if any>
|
|
4
|
+
|
|
5
|
+
1. [OVERDUE] <task> - was due <date> (<list>)
|
|
6
|
+
2. [TODAY] <task> - <priority>
|
|
7
|
+
3. [IN PROGRESS] <task> - untouched <n> days
|
|
8
|
+
4. [UP NEXT] <task> - <priority>
|
|
9
|
+
|
|
10
|
+
Blocked (not actionable): <task> - waiting on <dependency>
|
|
11
|
+
|
|
12
|
+
Suggestion: <one sentence on what to tackle first>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup-project-setup
|
|
3
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
|
+
license: MIT
|
|
4
5
|
disable-model-invocation: true
|
|
5
6
|
context: fork
|
|
6
7
|
agent: general-purpose
|
|
@@ -12,6 +13,8 @@ allowed-tools: Bash(clickup *)
|
|
|
12
13
|
|
|
13
14
|
Create a complete project structure in ClickUp from scratch.
|
|
14
15
|
|
|
16
|
+
Interpret `$ARGUMENTS` as the scope (workspace, space, list, person, or time period as the sections below expect); when it is empty, ask or fall back to the configured workspace.
|
|
17
|
+
|
|
15
18
|
## Prerequisites
|
|
16
19
|
|
|
17
20
|
- Workspace ID
|