← 返回 Skills 市场
shubhs0707

ClickUp

作者 shubhs0707 · GitHub ↗ · v1.2.0
cross-platform ⚠ suspicious
3974
总下载
11
收藏
21
当前安装
3
版本数
在 OpenClaw 中安装
/install clickup
功能描述
Interact with ClickUp project management platform via REST API. Use when working with tasks, spaces, lists, assignees, or any ClickUp workflow automation. Handles pagination, subtasks, and common query patterns. Use for task management, reporting, automation, or any ClickUp-related queries.
使用说明 (SKILL.md)

ClickUp Skill

Interact with ClickUp's REST API for task management, reporting, and workflow automation.

Configuration

Before using this skill, ensure the following are configured in TOOLS.md:

  • API Token: CLICKUP_API_KEY
  • Team/Workspace ID: CLICKUP_TEAM_ID
  • Space IDs (optional, for filtering)
  • List IDs (optional, for creating tasks)

Quick Start

Using the Helper Script

The fastest way to query ClickUp:

# Set environment variables
export CLICKUP_API_KEY="pk_..."
export CLICKUP_TEAM_ID="90161392624"

# Get all open tasks
./scripts/clickup-query.sh tasks

# Get task counts (parent vs subtasks)
./scripts/clickup-query.sh task-count

# Get assignee breakdown
./scripts/clickup-query.sh assignees

# Get specific task
./scripts/clickup-query.sh task \x3Ctask-id>

Direct API Calls

For custom queries or operations not covered by the helper script:

# Get all open tasks (with subtasks and pagination)
curl "https://api.clickup.com/api/v2/team/{team_id}/task?include_closed=false&subtasks=true" \
  -H "Authorization: {api_key}"

Critical Rules

1. ALWAYS Include Subtasks

Never query tasks without subtasks=true:

# ✅ CORRECT
?subtasks=true

# ❌ WRONG
(no subtasks parameter)

Why: Without this parameter, you miss potentially 70%+ of actual tasks. Parent tasks are just containers; real work happens in subtasks.

2. Handle Pagination

ClickUp API returns max 100 tasks per page. Always loop until last_page: true:

page=0
while true; do
    result=$(curl -s "...&page=$page" -H "Authorization: $CLICKUP_API_KEY")
    
    # Process tasks
    echo "$result" | jq '.tasks[]'
    
    # Check if done
    is_last=$(echo "$result" | jq -r '.last_page')
    [ "$is_last" = "true" ] && break
    
    ((page++))
done

Why: Workspaces with 300+ tasks need 3-4 pages. Missing pages = incomplete data.

3. Distinguish Parent Tasks vs Subtasks

# Parent tasks have parent=null
jq '.tasks[] | select(.parent == null)'

# Subtasks have parent != null
jq '.tasks[] | select(.parent != null)'

Common Operations

Get Task Counts

# Using helper script (recommended)
./scripts/clickup-query.sh task-count

# Direct API with jq
curl -s "https://api.clickup.com/api/v2/team/{team_id}/task?subtasks=true" \
  -H "Authorization: {api_key}" | \
jq '{
    total: (.tasks | length),
    parents: ([.tasks[] | select(.parent == null)] | length),
    subtasks: ([.tasks[] | select(.parent != null)] | length)
}'

Get Assignee Breakdown

# Using helper script (recommended)
./scripts/clickup-query.sh assignees

# Direct API
curl -s "https://api.clickup.com/api/v2/team/{team_id}/task?subtasks=true" \
  -H "Authorization: {api_key}" | \
jq -r '.tasks[] | 
    if .assignees and (.assignees | length) > 0 
    then .assignees[0].username 
    else "Unassigned" 
    end' | sort | uniq -c | sort -rn

Create a Task

curl "https://api.clickup.com/api/v2/list/{list_id}/task" \
  -X POST \
  -H "Authorization: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Task Name",
    "description": "Description here",
    "assignees": [user_id],
    "status": "to do",
    "priority": 3
  }'

Update a Task

curl "https://api.clickup.com/api/v2/task/{task_id}" \
  -X PUT \
  -H "Authorization: {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Name",
    "status": "in progress",
    "priority": 2
  }'

Get Specific Task

# Using helper script
./scripts/clickup-query.sh task {task_id}

# Direct API
curl "https://api.clickup.com/api/v2/task/{task_id}" \
  -H "Authorization: {api_key}"

Advanced Queries

Filter by Space

curl "https://api.clickup.com/api/v2/team/{team_id}/task?space_ids[]={space_id}&subtasks=true" \
  -H "Authorization: {api_key}"

Filter by List

curl "https://api.clickup.com/api/v2/list/{list_id}/task?subtasks=true" \
  -H "Authorization: {api_key}"

Include Closed Tasks

curl "https://api.clickup.com/api/v2/team/{team_id}/task?include_closed=true&subtasks=true" \
  -H "Authorization: {api_key}"

Reference Documentation

For detailed API documentation, query patterns, and troubleshooting:

Read: references/api-guide.md

Covers:

  • Full API endpoint reference
  • Response structure details
  • Common gotchas and solutions
  • Rate limits and best practices
  • Task object schema

Workflow Patterns

Daily Standup Report

# Get all open tasks grouped by assignee
./scripts/clickup-query.sh assignees

# Get specific team member's tasks (use user ID, not username!)
curl "https://api.clickup.com/api/v2/team/{team_id}/task?subtasks=true&assignees[]={user_id}" \
  -H "Authorization: {api_key}"

Task Audit

# Count tasks by status
./scripts/clickup-query.sh tasks | \
  jq -r '.tasks[].status.status' | sort | uniq -c | sort -rn

# Find unassigned tasks
./scripts/clickup-query.sh tasks | \
  jq '.tasks[] | select(.assignees | length == 0)'

Priority Analysis

# Count by priority
./scripts/clickup-query.sh tasks | \
  jq -r '.tasks[] | .priority.priority // "none"' | sort | uniq -c | sort -rn

Tips

  • Helper script first: Use scripts/clickup-query.sh for common operations
  • Direct API for custom: Use curl when you need specific filters or updates
  • Always read api-guide.md: Contains full endpoint reference and troubleshooting
  • Check TOOLS.md: For workspace-specific IDs and configuration
  • Test with small queries: When unsure, test with | head -n 5 first
  • Filter by user ID: Use assignees[]={user_id} parameter, not jq username matching

Troubleshooting

  • Missing tasks? → Add subtasks=true
  • Only 100 tasks returned? → Implement pagination loop
  • 401 Unauthorized? → Check CLICKUP_API_KEY is set correctly
  • Rate limit error? → Wait 1 minute (100 requests/min limit)
  • Empty assignees array? → Task is unassigned (not an error)
  • Assignee filter returns fewer tasks than expected? → Use user ID in assignees[] param, not jq text matching
安全使用建议
This skill's code and docs implement a normal ClickUp API helper, but the package metadata failed to declare required secrets and runtime dependencies. Before installing or using it: - Confirm you will provide a ClickUp API token (CLICKUP_API_KEY) scoped minimally (read-only if possible) and the CLICKUP_TEAM_ID. Treat the token as sensitive. - Ensure the runtime environment has curl, jq, and common shell utilities the script uses. - Review scripts/clickup-query.sh yourself (it calls only api.clickup.com) and the SKILL.md to confirm there are no additional endpoints. - Prefer creating a least-privilege API token in ClickUp (limit scopes and rotate/revoke if needed). - Ask the publisher to update registry metadata to list required env vars and primary credential; lack of these declarations is a transparency problem. If you cannot verify the token scope or the author, consider running the script in an isolated environment or using direct curl calls with a temporary token instead.
功能分析
Type: OpenClaw Skill Name: clickup Version: 1.2.0 The skill is designed to interact with the ClickUp API for task management and reporting. It uses standard `curl` commands and `jq` for JSON processing, requiring `CLICKUP_API_KEY` and `CLICKUP_TEAM_ID` from environment variables for authentication, which is expected. The `SKILL.md` and `references/api-guide.md` provide clear instructions and best practices for API usage, without any evidence of prompt injection attempts against the agent, data exfiltration to unauthorized endpoints, malicious execution, or persistence mechanisms. All network calls are directed to the legitimate ClickUp API domain (api.clickup.com).
能力评估
Purpose & Capability
Name/description match the implementation: the script and docs perform ClickUp API calls and legitimately need a ClickUp API token and team ID. HOWEVER the registry metadata claims no required env vars or primary credential, which is inconsistent with the documented and implemented requirements.
Instruction Scope
SKILL.md and references only instruct calling ClickUp endpoints (api.clickup.com), using the helper script, and following pagination/subtask rules. There are no instructions to read unrelated files or exfiltrate data to unexpected endpoints. It references TOOLS.md for configuration (expected).
Install Mechanism
No install spec (instruction-only + script) — lower risk. But the helper script expects runtime tools (curl, jq, awk, sort, uniq) which the registry did not declare as required binaries; callers must ensure these exist. No downloads or executables are fetched from external URLs.
Credentials
The script requires CLICKUP_API_KEY and CLICKUP_TEAM_ID (sensitive token + workspace id). Those environment variables are documented in SKILL.md but are not declared in the registry metadata (no primaryEnv listed). This mismatch reduces transparency and may cause accidental misuse (e.g., supplying overly-scoped or overly-broad tokens).
Persistence & Privilege
Skill does not request always:true, does not modify other skills, and has no install-time persistence. Autonomous invocation is allowed (platform default) but that is expected and not an intrinsic red flag alone.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install clickup
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /clickup 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.0
Updated API patterns, improved pagination handling, better assignee filtering, added task count queries
v1.1.0
Updated API patterns, improved pagination handling, better assignee filtering
v1.0.0
Initial release: ClickUp API integration with task management, reporting, and automation. Includes helper scripts for common queries, pagination support, and comprehensive documentation.
元数据
Slug clickup
版本 1.2.0
许可证
累计安装 21
当前安装数 21
历史版本数 3
常见问题

ClickUp 是什么?

Interact with ClickUp project management platform via REST API. Use when working with tasks, spaces, lists, assignees, or any ClickUp workflow automation. Handles pagination, subtasks, and common query patterns. Use for task management, reporting, automation, or any ClickUp-related queries. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 3974 次。

如何安装 ClickUp?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install clickup」即可一键安装,无需额外配置。

ClickUp 是免费的吗?

是的,ClickUp 完全免费(开源免费),可自由下载、安装和使用。

ClickUp 支持哪些平台?

ClickUp 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 ClickUp?

由 shubhs0707(@shubhs0707)开发并维护,当前版本 v1.2.0。

💬 留言讨论