ClickUp Automation — Claude Code skill: what it does, how to install
Automates ClickUp workspace tasks, sprint workflows, and time tracking through an AI agent. It applies rules for statuses, handoffs, and goal progress.
npx skills add claude-office-skills/skills --skill clickup-automation -a claude-codeWhat ClickUp Automation does
The skill provides instructions for managing the full ClickUp hierarchy: Workspace, Space, Folder, List, Task, and Subtask. When creating tasks, it sets mandatory attributes like name and list_id, alongside priorities from 1 (Urgent) to 4 (Low), estimates, and custom fields.
Built-in workflow patterns handle status shifts, due date reminders, and sprint rollovers. For instance, moving an item to In Review drops the previous owner and assigns a designated reviewer automatically. It also specifies structures for time logs with 15-minute rounding and OKR tracking against percentage or numeric goals.
To execute any actions against your workspace, the agent depends on the project-mcp server with tools like clickup_task and clickup_automation. Without this MCP configuration, the agent can only draft definitions rather than modify live ClickUp boards.
What it helps with
- create structured ClickUp tasks with checklists and estimates
- automate reviewer reassignments when moving tasks to In Review
- roll over overdue sprint tasks using scheduled cron triggers
- log project work hours and generate weekly time reports
Example prompts for the agent
- Create a task named 'Implement Auth' in list_123 with priority 2 and an 8 hour estimate
- Set up a rule to escalate blocked tasks to urgent if they stay stalled for 48 hours
- Generate a weekly time tracking summary grouped by task and assignee
How to install ClickUp Automation
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill clickup-automation -a claude-code2Manually: put the files in place
~/.claude/skills/clickup-automation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/clickup-automation/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill clickup-automation -a codex2Manually: put the files in place
.agents/skills/clickup-automation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill clickup-automation -a cursor2Manually: put the files in place
.cursor/skills/clickup-automation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install claude-office-skills/skills clickup-automation2Manually: put the files in place
.github/skills/clickup-automation/SKILL.md1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill clickup-automation -a gemini-cli2Platform CLI
gemini skills install https://github.com/claude-office-skills/skills --path clickup-automationManually: put the files in place
.devin/skills/clickup-automation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill clickup-automation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about ClickUp Automation
How to install ClickUp Automation in Claude Code?
Run npx skills add claude-office-skills/skills --skill clickup-automation -a claude-code in your terminal. This saves the skill file to ~/.claude/skills/clickup-automation/SKILL.md.
What does ClickUp Automation do?
It guides coding agents through ClickUp workspace operations, including task updates, trigger-based rules, time entry logging, and milestone tracking.
What MCP tools does this skill require?
It requires the project-mcp server providing clickup_task, clickup_list, clickup_space, and clickup_automation.
Source text
SKILL.md · MIT
---
name: ClickUp Automation
description: Automate ClickUp workspace management, task workflows, time tracking, and team productivity
version: 1.0.0
author: Claude Office Skills
category: project-management
tags:
- clickup
- tasks
- productivity
- project-management
- automation
department: operations
models:
- claude-3-opus
- claude-3-sonnet
- gpt-4
mcp:
server: project-mcp
tools:
- clickup_task
- clickup_list
- clickup_space
- clickup_automation
capabilities:
- Task management
- Workflow automation
- Time tracking
- Goal tracking
input:
- Task details
- Space configurations
- Automation rules
- Time entries
output:
- Created/updated tasks
- Workspace reports
- Time reports
- Goal progress
languages:
- en
related_skills:
- asana-automation
- jira-automation
- monday-automation
---
# ClickUp Automation
Comprehensive skill for automating ClickUp workspace and task management.
## Core Concepts
### Workspace Hierarchy
```
CLICKUP HIERARCHY:
┌─────────────────────────────────────────────────────────┐
│ 🏢 WORKSPACE │
├─────────────────────────────────────────────────────────┤
│ ├── 📁 SPACE: Engineering │
│ │ ├── 📂 FOLDER: Q1 Projects │
│ │ │ ├── 📋 LIST: Feature Development │
│ │ │ │ ├── ✅ Task: Implement Auth │
│ │ │ │ │ └── ☑️ Subtask: OAuth setup │
│ │ │ │ └── ✅ Task: Build API │
│ │ │ └── 📋 LIST: Bug Fixes │
│ │ └── 📂 FOLDER: Infrastructure │
│ │ │
│ ├── 📁 SPACE: Marketing │
│ │ └── 📋 LIST: Content Calendar │
│ │ │
│ └── 📁 SPACE: Operations │
└─────────────────────────────────────────────────────────┘
```
### Task Structure
```yaml
task_structure:
required:
name: "{{task_name}}"
list_id: "{{list_id}}"
optional:
description: "{{description}}"
assignees: ["user_id_1", "user_id_2"]
tags: ["feature", "priority"]
status: "Open"
priority: 2 # 1=Urgent, 2=High, 3=Normal, 4=Low
due_date: "2024-01-20"
start_date: "2024-01-15"
time_estimate: 28800000 # milliseconds (8 hours)
custom_fields:
- id: "field_id"
value: "custom_value"
checklists:
- name: "Acceptance Criteria"
items:
- name: "Requirement 1"
resolved: false
```
## Automation Rules
### Built-in Automations
```yaml
automations:
- name: auto_assign_on_create
trigger:
type: task_created
list_id: "list_123"
conditions:
- tag_contains: "design"
actions:
- add_assignee: "design_lead_id"
- set_priority: high
- name: due_date_reminder
trigger:
type: due_date
before: 1_day
actions:
- send_notification:
to: assignees
message: "Task due tomorrow: {{task.name}}"
- add_tag: "due-soon"
- name: status_change_workflow
trigger:
type: status_changed
to: "In Review"
actions:
- remove_assignee: "{{previous_assignee}}"
- add_assignee: "reviewer_id"
- add_comment: "Ready for review @reviewer"
- name: complete_parent_task
trigger:
type: all_subtasks_done
actions:
- set_status: "Complete"
- add_comment: "All subtasks completed ✓"
```
### Advanced Automations
```yaml
advanced_rules:
- name: sprint_rollover
trigger:
type: schedule
cron: "0 0 * * 1" # Monday midnight
conditions:
- status_not: "Complete"
- due_date_passed: true
actions:
- move_to_list: "{{next_sprint_list}}"
- update_due_date: "+7 days"
- add_comment: "Rolled over from previous sprint"
- name: escalation_workflow
trigger:
type: task_blocked
duration: 48_hours
actions:
- set_priority: urgent
- notify: manager
- add_watcher: "manager_id"
- add_tag: "escalated"
```
## Views & Layouts
### View Types
```yaml
views:
list_view:
type: list
group_by: status
sort_by: priority
columns:
- name
- assignees
- due_date
- priority
- time_estimate
board_view:
type: board
group_by: status
card_fields:
- assignees
- due_date
- tags
- subtasks_count
calendar_view:
type: calendar
date_field: due_date
color_by: priority
timeline_view:
type: timeline
start_field: start_date
end_field: due_date
dependencies: true
workload_view:
type: workload
capacity_field: time_estimate
group_by: assignee
```
### Dashboard Widgets
```yaml
dashboard:
widgets:
- type: sprint_burndown
list_id: "current_sprint"
- type: workload
space_id: "engineering"
period: this_week
- type: task_status
filter:
assignee: me
- type: time_tracked
group_by: project
period: this_month
- type: goals_progress
folder_id: "q1_goals"
```
## Time Tracking
### Time Entry Configuration
```yaml
time_tracking:
settings:
billable_default: true
rounding: 15_minutes
require_description: false
entry:
task_id: "task_123"
start: "2024-01-15T09:00:00Z"
end: "2024-01-15T11:30:00Z"
duration: 9000000 # 2.5 hours in ms
billable: true
description: "Development work"
reports:
- type: user_summary
period: this_week
group_by: task
- type: project_summary
period: this_month
group_by: user
```
### Time Reports Dashboard
```
TIME TRACKING - THIS WEEK
═══════════════════════════════════════
TOTAL: 32h 45m
BY PROJECT:
Feature Dev ████████████████ 18h 30m
Bug Fixes ████████░░░░░░░░ 8h 15m
Meetings ████░░░░░░░░░░░░ 4h 00m
Admin ██░░░░░░░░░░░░░░ 2h 00m
BY DAY:
Mon █████████████████ 7h 30m
Tue ███████████████░░ 6h 45m
Wed ██████████████░░░ 6h 15m
Thu ████████████████░ 7h 00m
Fri ███████████░░░░░░ 5h 15m
BILLABLE: 28h 00m (85%)
```
## Goals & OKRs
### Goal Structure
```yaml
goals:
- name: "Q1 Product Goals"
type: folder
targets:
- name: "Ship v2.0"
type: true_false
due_date: "2024-03-31"
- name: "Reduce bug count"
type: number
start: 45
target: 10
unit: "open bugs"
- name: "Increase test coverage"
type: percentage
start: 65
target: 85
key_results:
- task_list: "v2.0_features"
measure: tasks_completed
```
### Goal Dashboard
```
Q1 GOALS PROGRESS
═══════════════════════════════════════
Ship v2.0
████████████████████ 100% ✓
Completed on March 28
Reduce Bug Count
████████████████░░░░ 78%
Current: 15 | Target: 10
Increase Test Coverage
██████████████░░░░░░ 72%
Current: 79% | Target: 85%
OVERALL Q1: 83% Complete
```
## Templates
### Task Templates
```yaml
task_templates:
- name: "Bug Report"
status: "Open"
priority: high
tags: ["bug"]
description: |
## Bug Description
{{description}}
## Steps to Reproduce
1.
2.
3.
## Expected Behavior
## Actual Behavior
## Environment
- Browser:
- OS:
- Version:
checklists:
- name: "Bug Fix Workflow"
items:
- "Reproduce bug"
- "Identify root cause"
- "Implement fix"
- "Write tests"
- "Code review"
- "Deploy"
- name: "Feature Request"
status: "Backlog"
custom_fields:
story_points: null
checklists:
- name: "Feature Workflow"
items:
- "Requirements defined"
- "Design approved"
- "Implementation"
- "Testing"
- "Documentation"
```
## Integrations
### Slack Integration
```yaml
slack_integration:
notifications:
- trigger: task_created
channel: "#project-updates"
include: [name, assignees, due_date]
- trigger: status_changed
to: "Complete"
channel: "#wins"
message: "✅ {{task.name}} completed by {{user.name}}"
commands:
/clickup:
- create_task
- my_tasks
- log_time
```
### GitHub Integration
```yaml
github_integration:
branch_naming:
pattern: "{{task.id}}-{{task.slug}}"
automations:
- trigger: branch_created
actions:
- set_status: "In Progress"
- add_comment: "Branch created: {{branch.name}}"
- trigger: pr_opened
actions:
- set_status: "In Review"
- link_pr: "{{pr.url}}"
- trigger: pr_merged
actions:
- set_status: "Complete"
```
## API Examples
### Task Operations
```javascript
// Create Task
const task = await clickup.tasks.create(listId, {
name: "Implement user authentication",
description: "Add OAuth2 support",
assignees: [userId],
priority: 2,
due_date: Date.now() + 7 * 24 * 60 * 60 * 1000,
time_estimate: 28800000,
custom_fields: [
{ id: "field_id", value: "5" }
]
});
// Update Task
await clickup.tasks.update(taskId, {
status: "In Progress",
assignees: { add: [newUserId] }
});
// Add Time Entry
await clickup.timeEntries.create(taskId, {
start: Date.now() - 3600000,
duration: 3600000,
billable: true
});
// Create Checklist
await clickup.checklists.create(taskId, {
name: "Acceptance Criteria"
});
```
## Best Practices
1. **Hierarchy Design**: Spaces → Folders → Lists
2. **Consistent Statuses**: Standardize across lists
3. **Custom Fields**: Track key metrics
4. **Automations**: Reduce manual work
5. **Time Tracking**: Enable for capacity planning
6. **Templates**: Standardize task creation
7. **Goals**: Align tasks with objectives
8. **Views**: Configure for different needs
© Claude Office Skills · MIT · claude-office-skills/skills