ClickUp Automation logo

ClickUp Automation

Organization
claude-office-skills
ClickUp Automation

Automate ClickUp workspace management, task workflows, time tracking, and team productivity

Overview

Publisherclaude-office-skills
Repositoryskills
Skill nameClickUp Automation
Stars
514
Forks
97
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by claude-office-skills on GitHub. Read the source before you install it.

Installation

Install the ClickUp Automation AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/claude-office-skills/skills/tree/main/clickup-automation
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/claude-office-skills/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/clickup-automation .claude/skills/claude-office-skills-clickup-automation
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable ClickUp Automation in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads ClickUp Automation on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so ClickUp Automation is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

Frequently asked questions

What does the ClickUp Automation AI skill do?

Automate ClickUp workspace management, task workflows, time tracking, and team productivity

Why use ClickUp Automation on TypingMind?

Because you install it once and use it with any model. ClickUp Automation is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install ClickUp Automation in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/claude-office-skills/skills/tree/main/clickup-automation. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use ClickUp Automation?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with ClickUp Automation?

As many as you like. As long as a model supports skills, you can use ClickUp Automation with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the ClickUp Automation AI skill free?

Yes. It is published on GitHub by claude-office-skills under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇