npx skills add https://github.com/civitai/civitai --skill clickup通过 API 与 ClickUp 任务和文档进行交互。获取任务信息、查看评论、创建任务、管理分配、发布更新以及创建/编辑文档。
.env-example 复制为 .envpk_ 开头)cp .claude/skills/clickup/.env-example .claude/skills/clickup/.env
# 编辑 .env 并添加您的令牌
团队 ID 和用户 ID 将在首次使用时自动检测并缓存。
在 .env 中设置 CLICKUP_DEFAULT_LIST_ID 以启用不指定列表即可创建任务:
# 在 .claude/skills/clickup/.env 中
CLICKUP_DEFAULT_LIST_ID=901111220963
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
node .claude/skills/clickup/query.mjs <命令> [选项]
| 命令 | 描述 |
|---|---|
| `get <url | id>` |
| `comments <url | id>` |
| `comment <url | id> "消息"` |
| `status <url | id> [状态]` |
tasks <list_id> | 列出列表中的任务 |
me | 显示当前用户信息 |
create [list_id] "标题" | 创建新任务(如果设置了默认列表,list_id 可选) |
my-tasks | 列出整个工作空间中分配给您的所有任务 |
search "查询" | 按名称或描述搜索任务 |
assign <task> <user> | 将任务分配给用户(按姓名、邮箱或 ID) |
due <task> "日期" | 设置截止日期(例如:"tomorrow"、"friday"、"+3d") |
priority <task> <level> | 设置优先级(urgent、high、normal、low、none) |
subtask <task> "标题" | 创建子任务 |
move <task> <list_id> | 将任务移动到不同的列表 |
link <task> <url> ["描述"] | 添加外部链接引用(作为评论) |
checklist <task> "项目" | 向任务添加检查清单项目 |
delete-comment <comment_id> | 删除评论 |
watch <task> <user> | 通过 @提及评论通知用户(API 不支持直接添加关注者) |
tag <task> "标签名" | 向任务添加标签 |
description <task> "文本" | 更新任务描述(支持 markdown) |
| 命令 | 描述 |
|---|---|
docs ["查询"] | 搜索/列出工作空间中的文档(可选搜索查询) |
doc <doc_id> | 获取文档详情和页面列表 |
create-doc "标题" | 创建新文档(使用 --content 设置初始内容) |
page <doc_id> <page_id> | 获取页面内容(markdown 格式) |
create-page <doc_id> "标题" | 向文档添加新页面(创建附加页面) |
edit-page <doc_id> <page_id> | 编辑页面的内容或名称 |
| 标志 | 描述 |
|---|---|
--json | 输出原始 JSON 响应 |
--subtasks | 获取任务详情时包含子任务 |
--me | 过滤出分配给我的任务(用于 tasks 命令) |
--content, -c | create-page/edit-page 的页面内容(markdown) |
--name, -n | edit-page 的新页面名称 |
# 使用完整 URL
node .claude/skills/clickup/query.mjs get "https://app.clickup.com/t/86a1b2c3d"
# 直接使用任务 ID
node .claude/skills/clickup/query.mjs get 86a1b2c3d
# 包含子任务
node .claude/skills/clickup/query.mjs get 86a1b2c3d --subtasks
# 使用明确的列表 ID
node .claude/skills/clickup/query.mjs create 901111220963 "新功能:深色模式"
# 使用默认列表(如果设置了 CLICKUP_DEFAULT_LIST_ID)
node .claude/skills/clickup/query.mjs create "快速任务"
# 整个工作空间中分配给您的所有任务
node .claude/skills/clickup/query.mjs my-tasks
node .claude/skills/clickup/query.mjs search "authentication"
# 列出任务的可用状态
node .claude/skills/clickup/query.mjs status 86a1b2c3d
# 更新状态(不区分大小写,部分匹配)
node .claude/skills/clickup/query.mjs status 86a1b2c3d "in progress"
node .claude/skills/clickup/query.mjs status 86a1b2c3d "complete"
# 按用户名分配
node .claude/skills/clickup/query.mjs assign 86a1b2c3d justin
# 按邮箱分配
node .claude/skills/clickup/query.mjs assign 86a1b2c3d jane@example.com
node .claude/skills/clickup/query.mjs due 86a1b2c3d "tomorrow"
node .claude/skills/clickup/query.mjs due 86a1b2c3d "next friday"
node .claude/skills/clickup/query.mjs due 86a1b2c3d "+3d"
node .claude/skills/clickup/query.mjs due 86a1b2c3d "2024-01-15"
node .claude/skills/clickup/query.mjs priority 86a1b2c3d urgent
node .claude/skills/clickup/query.mjs priority 86a1b2c3d high
node .claude/skills/clickup/query.mjs priority 86a1b2c3d none # 清除优先级
node .claude/skills/clickup/query.mjs subtask 86a1b2c3d "编写单元测试"
node .claude/skills/clickup/query.mjs subtask 86a1b2c3d "更新文档"
node .claude/skills/clickup/query.mjs move 86a1b2c3d 901111220964
# 添加带描述的链接
node .claude/skills/clickup/query.mjs link 86a1b2c3d "https://github.com/..." "PR #123"
# 添加不带描述的链接
node .claude/skills/clickup/query.mjs link 86a1b2c3d "https://docs.example.com/guide"
node .claude/skills/clickup/query.mjs checklist 86a1b2c3d "审查代码"
node .claude/skills/clickup/query.mjs checklist 86a1b2c3d "运行测试"
node .claude/skills/clickup/query.mjs checklist 86a1b2c3d "部署到预发布环境"
# 列表中的所有任务
node .claude/skills/clickup/query.mjs tasks 901111220963
# 仅分配给我的任务
node .claude/skills/clickup/query.mjs tasks 901111220963 --me
node .claude/skills/clickup/query.mjs comments "https://app.clickup.com/t/86a1b2c3d"
node .claude/skills/clickup/query.mjs comment 86a1b2c3d "开始处理此任务"
# 多行评论
node .claude/skills/clickup/query.mjs comment 86a1b2c3d "状态更新:
- 完成初步审查
- 发现 3 个待解决的问题
- 将在今天下班前提交 PR"
node .claude/skills/clickup/query.mjs me
# 从 comments 命令获取评论 ID(在 --json 输出中显示)
node .claude/skills/clickup/query.mjs delete-comment 90110200841741
# 通过 @提及评论通知用户(ClickUp API 不支持直接添加关注者)
node .claude/skills/clickup/query.mjs watch 86a1b2c3d koen
# 通过邮箱通知
node .claude/skills/clickup/query.mjs watch 86a1b2c3d jane@example.com
# 向任务添加标签
node .claude/skills/clickup/query.mjs tag 86a1b2c3d "DevOps"
node .claude/skills/clickup/query.mjs tag 86a1b2c3d "bug"
# 使用 markdown 更新任务描述
node .claude/skills/clickup/query.mjs description 86a1b2c3d "## 摘要
这是一个**加粗**的陈述。
- 项目 1
- 项目 2
更多信息请参阅[文档](https://example.com)。"
# 列出工作空间中的所有文档
node .claude/skills/clickup/query.mjs docs
# 按名称搜索文档
node .claude/skills/clickup/query.mjs docs "API"
# 获取文档信息和页面列表
node .claude/skills/clickup/query.mjs doc abc123def
# 使用文档 URL
node .claude/skills/clickup/query.mjs doc "https://app.clickup.com/12345/v/dc/abc123def"
# 创建空文档
node .claude/skills/clickup/query.mjs create-doc "项目笔记"
# 创建带初始内容的文档(填充第一页)
node .claude/skills/clickup/query.mjs create-doc "API 文档" --content "# API 文档
本文档涵盖 API 端点和用法。
## 概述
..."
# 获取特定页面的内容
node .claude/skills/clickup/query.mjs page abc123def page456
# 仅使用标题创建页面
node .claude/skills/clickup/query.mjs create-page abc123def "新章节"
# 创建带内容的页面
node .claude/skills/clickup/query.mjs create-page abc123def "入门指南" --content "# 欢迎
这是入门指南。
## 先决条件
- Node.js 18+
- npm 或 yarn"
# 更新页面内容
node .claude/skills/clickup/query.mjs edit-page abc123def page456 --content "此处为更新后的内容"
# 重命名页面
node .claude/skills/clickup/query.mjs edit-page abc123def page456 --name "新页面名称"
# 同时更新内容和名称
node .claude/skills/clickup/query.mjs edit-page abc123def page456 --content "新内容" --name "新名称"
本技能识别以下 ClickUp URL 格式:
任务:
https://app.clickup.com/t/{task_id}https://app.clickup.com/{team_id}/v/li/{list_id}?p={task_id}86a1b2c3d列表:
https://app.clickup.com/{team_id}/v/li/{list_id}901111220963文档:
https://app.clickup.com/{team_id}/v/dc/{doc_id}https://app.clickup.com/{team_id}/docs/{doc_id}abc123def任务:实现用户身份验证
状态:进行中
优先级:高
分配人:John Doe, Jane Smith
截止日期:2024-01-15
创建时间:2024-01-10
URL:https://app.clickup.com/t/86a1b2c3d
描述:
添加带有 Google 和 GitHub 提供商的 OAuth2 身份验证...
[待办] 修复登录错误
ID:868h2cxat | 优先级:高 | 分配人:John Doe
https://app.clickup.com/t/868h2cxat
[进行中] 更新 API 文档
ID:868g7c75u | 优先级:无 | 分配人:Jane Smith
https://app.clickup.com/t/868g7c75u
总计:2 个任务
[2024-01-12 14:30] John Doe:
已开始处理此任务。今天将推送初始提交。
[2024-01-12 16:45] Jane Smith:
@John 看起来不错!准备好审查时请告诉我。
文档:API 文档
ID:abc123def
创建时间:2024年1月10日 09:30
更新时间:2024年1月15日 14:45
创建者:John Doe
工作空间:12345678
页面:
简介
ID:page001
入门指南
ID:page002
API 参考
ID:page003
总计:3 个页面
页面:入门指南
ID:page002
创建时间:2024年1月10日 10:00
更新时间:2024年1月14日 15:30
内容:
---
# 入门指南
欢迎使用 API 文档。
## 先决条件
- Node.js 18+
- API 密钥
---
任务:
my-tasks 查看您的分配任务文档:
.env 中CLICKUP_DEFAULT_LIST_ID 可在创建团队任务时跳过指定 list_idmy-tasks 快速概览您的分配任务--json 进行脚本编写或管道传输到其他工具ClickUp 针对不同功能使用不同的内容格式:
| 功能 | API 版本 | 内容格式 |
|---|---|---|
| 评论 | v2 | 专有 JSON 数组(通过 markdownToClickUp() 转换) |
| 任务描述 | v2 | 通过 markdown_description 字段的原生 markdown |
| 文档/页面 | v3 | 原生 markdown(无需转换) |
文档 API(v3)直接接受和返回 markdown,因此无需转换。这与评论不同,评论使用需要 lib/markdown.mjs 转换工具的专有格式。
通过 API 创建文档时,ClickUp 会自动创建一个空的第一页。这意味着:
create-doc - 创建一个带有自动生成第一页的文档。使用 --content 填充该第一页。create-page - 向文档添加一个_附加_页面(第二页、第三页等)edit-page - 修改现有页面的内容要向新文档添加内容,请使用 create-doc "标题" --content "...",而不是先创建文档再使用 create-page(这样会留下第一页为空)。
每周安装量
152
仓库
GitHub 星标
7.0K
首次出现
2026年1月21日
安全审计
安装于
opencode139
gemini-cli137
codex136
github-copilot129
cursor129
claude-code122
Interact with ClickUp tasks and documents via the API. Get task information, view comments, create tasks, manage assignments, post updates, and create/edit documents.
.env-example to .env in this skill directorypk_)cp .claude/skills/clickup/.env-example .claude/skills/clickup/.env
# Edit .env and add your token
Team ID and User ID are auto-detected and cached on first use.
Set CLICKUP_DEFAULT_LIST_ID in .env to enable creating tasks without specifying a list:
# In .claude/skills/clickup/.env
CLICKUP_DEFAULT_LIST_ID=901111220963
node .claude/skills/clickup/query.mjs <command> [options]
| Command | Description |
|---|---|
| `get <url | id>` |
| `comments <url | id>` |
| `comment <url | id> "message"` |
| `status <url | id> [status]` |
tasks <list_id> | List tasks in a list |
me | Show current user info |
create [list_id] "title" | Create a new task (list_id optional if default set) |
my-tasks | List all tasks assigned to you across workspace |
| Command | Description |
|---|---|
docs ["query"] | Search/list docs in workspace (optional search query) |
doc <doc_id> | Get doc details and page listing |
create-doc "title" | Create a new doc (use --content for initial content) |
page <doc_id> <page_id> | Get page content (markdown format) |
create-page <doc_id> "title" | Add a new page to a doc (creates additional page) |
| Flag | Description |
|---|---|
--json | Output raw JSON response |
--subtasks | Include subtasks when getting task details |
--me | Filter to tasks assigned to me (for tasks command) |
--content, -c | Page content for create-page/edit-page (markdown) |
--name, -n |
# Using full URL
node .claude/skills/clickup/query.mjs get "https://app.clickup.com/t/86a1b2c3d"
# Using task ID directly
node .claude/skills/clickup/query.mjs get 86a1b2c3d
# Include subtasks
node .claude/skills/clickup/query.mjs get 86a1b2c3d --subtasks
# With explicit list ID
node .claude/skills/clickup/query.mjs create 901111220963 "New feature: dark mode"
# Using default list (if CLICKUP_DEFAULT_LIST_ID is set)
node .claude/skills/clickup/query.mjs create "Quick task"
# All tasks assigned to you across the workspace
node .claude/skills/clickup/query.mjs my-tasks
node .claude/skills/clickup/query.mjs search "authentication"
# List available statuses for a task
node .claude/skills/clickup/query.mjs status 86a1b2c3d
# Update status (case-insensitive, partial match)
node .claude/skills/clickup/query.mjs status 86a1b2c3d "in progress"
node .claude/skills/clickup/query.mjs status 86a1b2c3d "complete"
# Assign by username
node .claude/skills/clickup/query.mjs assign 86a1b2c3d justin
# Assign by email
node .claude/skills/clickup/query.mjs assign 86a1b2c3d jane@example.com
node .claude/skills/clickup/query.mjs due 86a1b2c3d "tomorrow"
node .claude/skills/clickup/query.mjs due 86a1b2c3d "next friday"
node .claude/skills/clickup/query.mjs due 86a1b2c3d "+3d"
node .claude/skills/clickup/query.mjs due 86a1b2c3d "2024-01-15"
node .claude/skills/clickup/query.mjs priority 86a1b2c3d urgent
node .claude/skills/clickup/query.mjs priority 86a1b2c3d high
node .claude/skills/clickup/query.mjs priority 86a1b2c3d none # Clear priority
node .claude/skills/clickup/query.mjs subtask 86a1b2c3d "Write unit tests"
node .claude/skills/clickup/query.mjs subtask 86a1b2c3d "Update documentation"
node .claude/skills/clickup/query.mjs move 86a1b2c3d 901111220964
# Add link with description
node .claude/skills/clickup/query.mjs link 86a1b2c3d "https://github.com/..." "PR #123"
# Add link without description
node .claude/skills/clickup/query.mjs link 86a1b2c3d "https://docs.example.com/guide"
node .claude/skills/clickup/query.mjs checklist 86a1b2c3d "Review code"
node .claude/skills/clickup/query.mjs checklist 86a1b2c3d "Run tests"
node .claude/skills/clickup/query.mjs checklist 86a1b2c3d "Deploy to staging"
# All tasks in a list
node .claude/skills/clickup/query.mjs tasks 901111220963
# Only tasks assigned to me
node .claude/skills/clickup/query.mjs tasks 901111220963 --me
node .claude/skills/clickup/query.mjs comments "https://app.clickup.com/t/86a1b2c3d"
node .claude/skills/clickup/query.mjs comment 86a1b2c3d "Starting work on this task"
# Multi-line comment
node .claude/skills/clickup/query.mjs comment 86a1b2c3d "Status update:
- Completed initial review
- Found 3 issues to address
- Will submit PR by EOD"
node .claude/skills/clickup/query.mjs me
# Get comment IDs from the comments command (shown in --json output)
node .claude/skills/clickup/query.mjs delete-comment 90110200841741
# Notify user via @mention comment (ClickUp API doesn't support adding watchers directly)
node .claude/skills/clickup/query.mjs watch 86a1b2c3d koen
# Notify by email
node .claude/skills/clickup/query.mjs watch 86a1b2c3d jane@example.com
# Add a tag to a task
node .claude/skills/clickup/query.mjs tag 86a1b2c3d "DevOps"
node .claude/skills/clickup/query.mjs tag 86a1b2c3d "bug"
# Update task description with markdown
node .claude/skills/clickup/query.mjs description 86a1b2c3d "## Summary
This is a **bold** statement.
- Item 1
- Item 2
See [documentation](https://example.com) for more info."
# List all docs in workspace
node .claude/skills/clickup/query.mjs docs
# Search docs by name
node .claude/skills/clickup/query.mjs docs "API"
# Get doc info and page listing
node .claude/skills/clickup/query.mjs doc abc123def
# Using a doc URL
node .claude/skills/clickup/query.mjs doc "https://app.clickup.com/12345/v/dc/abc123def"
# Create an empty doc
node .claude/skills/clickup/query.mjs create-doc "Project Notes"
# Create a doc with initial content (populates the first page)
node .claude/skills/clickup/query.mjs create-doc "API Documentation" --content "# API Documentation
This document covers the API endpoints and usage.
## Overview
..."
# Get a specific page's content
node .claude/skills/clickup/query.mjs page abc123def page456
# Create a page with just a title
node .claude/skills/clickup/query.mjs create-page abc123def "New Section"
# Create a page with content
node .claude/skills/clickup/query.mjs create-page abc123def "Getting Started" --content "# Welcome
This is the getting started guide.
## Prerequisites
- Node.js 18+
- npm or yarn"
# Update page content
node .claude/skills/clickup/query.mjs edit-page abc123def page456 --content "Updated content here"
# Rename a page
node .claude/skills/clickup/query.mjs edit-page abc123def page456 --name "New Page Name"
# Update both content and name
node .claude/skills/clickup/query.mjs edit-page abc123def page456 --content "New content" --name "New Name"
The skill recognizes these ClickUp URL formats:
Tasks:
https://app.clickup.com/t/{task_id}https://app.clickup.com/{team_id}/v/li/{list_id}?p={task_id}86a1b2c3dLists:
https://app.clickup.com/{team_id}/v/li/{list_id}901111220963Docs:
https://app.clickup.com/{team_id}/v/dc/{doc_id}https://app.clickup.com/{team_id}/docs/{doc_id}abc123defTask: Implement user authentication
Status: In Progress
Priority: High
Assignees: John Doe, Jane Smith
Due: 2024-01-15
Created: 2024-01-10
URL: https://app.clickup.com/t/86a1b2c3d
Description:
Add OAuth2 authentication with Google and GitHub providers...
[to do] Fix login bug
ID: 868h2cxat | Priority: high | Assignees: John Doe
https://app.clickup.com/t/868h2cxat
[in progress] Update API docs
ID: 868g7c75u | Priority: None | Assignees: Jane Smith
https://app.clickup.com/t/868g7c75u
Total: 2 task(s)
[2024-01-12 14:30] John Doe:
Started working on this. Will push initial commit today.
[2024-01-12 16:45] Jane Smith:
@John looks good! Let me know when ready for review.
Doc: API Documentation
ID: abc123def
Created: Jan 10, 2024, 09:30 AM
Updated: Jan 15, 2024, 02:45 PM
Creator: John Doe
Workspace: 12345678
Pages:
Introduction
ID: page001
Getting Started
ID: page002
API Reference
ID: page003
Total: 3 page(s)
Page: Getting Started
ID: page002
Created: Jan 10, 2024, 10:00 AM
Updated: Jan 14, 2024, 03:30 PM
Content:
---
# Getting Started
Welcome to the API documentation.
## Prerequisites
- Node.js 18+
- An API key
---
Tasks:
my-tasks to see your assignmentsDocuments:
.envCLICKUP_DEFAULT_LIST_ID to skip list_id when creating team tasksmy-tasks for a quick overview of your assignments--json for scripting or piping to other toolsClickUp uses different content formats for different features:
| Feature | API Version | Content Format |
|---|---|---|
| Comments | v2 | Proprietary JSON array (converted via markdownToClickUp()) |
| Task descriptions | v2 | Native markdown via markdown_description field |
| Docs/Pages | v3 | Native markdown (no conversion needed) |
The Docs API (v3) accepts and returns markdown directly, so no conversion is required. This is different from comments which use a proprietary format that requires the lib/markdown.mjs conversion utilities.
When you create a doc via the API, ClickUp automatically creates an empty first page. This has implications:
create-doc - Creates a doc with an auto-generated first page. Use --content to populate that first page.create-page - Adds an additional page to a doc (second page, third page, etc.)edit-page - Modifies an existing page's contentTo add content to a new doc, use create-doc "Title" --content "..." rather than creating the doc and then using create-page (which would leave the first page empty).
Weekly Installs
152
Repository
GitHub Stars
7.0K
First Seen
Jan 21, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode139
gemini-cli137
codex136
github-copilot129
cursor129
claude-code122
开源项目教练指南 - 诊断问题、制定行动计划、优化开源项目运营
33,600 周安装
shadcn/ui:可复制的React组件库,基于Tailwind CSS和Radix UI,提供完全代码控制权
328 周安装
数学计算与符号计算工具:SymPy、Z3、Pint统一入口,支持方程求解、证明、单位转换
334 周安装
React Three Fiber物理引擎教程 - r3f-physics(Rapier)快速入门与实战
326 周安装
Apollo Kotlin:Android与JVM的强类型GraphQL客户端,支持Kotlin多平台
329 周安装
Three.js 3D可视化开发指南 - 创建交互式3D图形与沉浸式网页体验
331 周安装
AI代码审查专家 - 自动化代码质量、安全与性能分析工具 | 现代开发实践
334 周安装
search "query"| Search tasks by name or description |
assign <task> <user> | Assign task to a user (by name, email, or ID) |
due <task> "date" | Set due date (e.g., "tomorrow", "friday", "+3d") |
priority <task> <level> | Set priority (urgent, high, normal, low, none) |
subtask <task> "title" | Create a subtask |
move <task> <list_id> | Move task to a different list |
link <task> <url> ["desc"] | Add external link reference (as comment) |
checklist <task> "item" | Add checklist item to task |
delete-comment <comment_id> | Delete a comment |
watch <task> <user> | Notify user via @mention comment (watchers not supported in API) |
tag <task> "tag_name" | Add a tag to task |
description <task> "text" | Update task description (markdown supported) |
edit-page <doc_id> <page_id> | Edit a page's content or name |
| New page name for edit-page |