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.
Files changed (50) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/README.md +5 -5
  4. package/dist/clickup.js +1 -1
  5. package/package.json +3 -2
  6. package/skills/clickup/SKILL.md +11 -0
  7. package/skills/clickup/references/gotchas.md +57 -0
  8. package/skills/clickup-blocker-report/SKILL.md +6 -1
  9. package/skills/clickup-blocker-report/assets/report-template.md +16 -0
  10. package/skills/clickup-capacity-check/SKILL.md +6 -1
  11. package/skills/clickup-capacity-check/assets/report-template.md +14 -0
  12. package/skills/clickup-chat/SKILL.md +1 -0
  13. package/skills/clickup-comments/SKILL.md +1 -0
  14. package/skills/clickup-custom-report/SKILL.md +1 -0
  15. package/skills/clickup-docs/SKILL.md +60 -0
  16. package/skills/clickup-fields/SKILL.md +2 -1
  17. package/skills/clickup-goal-progress/SKILL.md +6 -1
  18. package/skills/clickup-goal-progress/assets/report-template.md +13 -0
  19. package/skills/clickup-goals/SKILL.md +1 -0
  20. package/skills/clickup-meeting-notes-to-tasks/SKILL.md +81 -0
  21. package/skills/clickup-my-day/SKILL.md +65 -0
  22. package/skills/clickup-my-day/assets/report-template.md +12 -0
  23. package/skills/clickup-project-setup/SKILL.md +3 -0
  24. package/skills/clickup-release-notes/SKILL.md +62 -0
  25. package/skills/clickup-release-notes/assets/report-template.md +12 -0
  26. package/skills/clickup-rollout/SKILL.md +3 -0
  27. package/skills/clickup-spaces/SKILL.md +1 -0
  28. package/skills/clickup-sprint-closeout/SKILL.md +3 -0
  29. package/skills/clickup-sprint-planning/SKILL.md +3 -0
  30. package/skills/clickup-standup/SKILL.md +3 -14
  31. package/skills/clickup-standup/assets/report-template.md +9 -0
  32. package/skills/clickup-task-triage/SKILL.md +3 -0
  33. package/skills/clickup-tasks/SKILL.md +1 -0
  34. package/skills/clickup-team-report/SKILL.md +4 -1
  35. package/skills/clickup-team-report/assets/report-template.md +24 -0
  36. package/skills/clickup-templates/SKILL.md +1 -0
  37. package/skills/clickup-time/SKILL.md +1 -0
  38. package/skills/clickup-time-audit/SKILL.md +8 -1
  39. package/skills/clickup-time-audit/assets/report-template.md +19 -0
  40. package/skills/clickup-timesheet-export/SKILL.md +65 -0
  41. package/skills/clickup-timesheet-export/assets/report-template.md +9 -0
  42. package/skills/clickup-timesheet-export/scripts/aggregate.mjs +73 -0
  43. package/skills/clickup-users/SKILL.md +1 -0
  44. package/skills/clickup-views/SKILL.md +1 -0
  45. package/skills/clickup-webhooks/SKILL.md +1 -0
  46. package/skills/clickup-weekly-review/SKILL.md +4 -1
  47. package/skills/clickup-weekly-review/assets/report-template.md +26 -0
  48. package/skills/clickup-workspace-audit/SKILL.md +72 -0
  49. package/skills/clickup-workspace-audit/assets/report-template.md +21 -0
  50. 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 25 agent skills covering the full API -- token-efficient alternative to MCP with chat, time tracking, docs, and project management workflows",
14
- "version": "0.4.2",
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 25 agent skills covering the full API -- token-efficient alternative to MCP with chat, time tracking, docs, and project management workflows",
4
- "version": "0.4.2",
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 25 agent skills, and works with any agent platform that can run bash commands.
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 25 skills and loads them on demand. Recipe skills like `/clickup:weekly-review` run in isolated subagents with full ClickUp CLI access.
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** (11) - Per-resource command reference. Tasks, spaces, comments, time tracking, chat, etc.
145
- - **Recipe skills** (13) - Multi-step workflow guides that accept natural language arguments. Scope any recipe to a specific team, department, or person.
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 25 skills
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.4.2";
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.4.2",
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",
@@ -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
- allowed-tools: Bash(clickup custom-field *), Bash(clickup tag *), Bash(clickup custom-task-type *), Bash(clickup attachment *), Bash(clickup schema field*), Bash(clickup schema tag*)
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