clickup

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ClickUp

ClickUp

The agent's hands in ClickUp. What makes this worth a skill rather than plain CLI calls is that the API fails silently in several places — markdown in comments, tag names, mention chips, estimates in the wrong unit — and that the text going into a task follows a convention this skill deliberately does not carry.
Two languages are in play, and they are decided separately. What goes into ClickUp — the name, the description, a comment — is written in the language the convention asks for. What is said to the developer — a draft shown for approval, a question, a line saying what happens next, the final report — is in the language they are speaking, a Russian request getting Russian answers from the first line to the last. The protocols and conventions this skill reads are in English, and without the rule the answer drifts into the language of the last document read rather than the language of the person reading it.
Agent 在 ClickUp 中的双手。之所以值得做成 skill,而不是直接调用 CLI,是因为 API 会在多个地方静默失败——评论中的 Markdown、tag 名称、mention chips、估算单位错误——而且写入 task 的文本要遵循某项约定,而这个约定并非本 skill 特意内置。
这里涉及两种语言,而且分别决定。写入 ClickUp 的内容——名称、描述、评论——应使用约定所要求的语言。对开发者说的话——供审批的草稿、一个问题、一句说明接下来会发生什么的提示、最终报告——则应使用他们正在使用的语言;俄语请求应从第一行到最后一行都得到俄语回答。本 skill 读取的协议和约定是英文的;如果没有这条规则,回答就会偏向最后阅读的文档所用的语言,而不是当前阅读者的语言。

Tool

Tool

Everything goes through the
clickup
command.
clickup --help
lists every command, and the README of the claude-work-tools repository documents the traps; read the relevant part before a write, because the API returns 200 on most mistakes and the damage shows up only in the UI.
The command is not part of this skill and may not be installed. A skill cannot carry executables, so the CLI arrives from its own repository. If the shell answers
command not found: clickup
, or a call fails for want of a token, go to
protocols/setup.md
— that is an expected first run, not a broken installation.
Finding a list id:
clickup shared
prints every folder shared with this token and the lists inside it. Start there: the CLI has no command for spaces, because the space endpoints answer an empty list to a member who reaches projects through shared folders.
Reading (
task
,
task --markdown
,
comments
,
tasks
,
my-tasks
) changes nothing — run it freely. Writing (
create
,
update
,
comment
,
attach
,
tag
) is seen by the manager and often by the client. Show the text to the user before posting and wait, unless they asked to post directly — with a word that says so («сразу», «без черновика», post it now), not with a request that merely looks complete; a wrong comment cannot be unsent from the reader's notification.
所有操作都通过
clickup
command 完成。
clickup --help
会列出所有 command,claude-work-tools repository 的 README 记录了各种陷阱;执行写入前先阅读相关部分,因为大多数错误下 API 都会返回 200,而问题只会在 UI 中显现。
clickup command 不属于本 skill,可能也尚未安装。 skill 无法携带可执行文件,因此 CLI 来自其独立仓库。如果 shell 返回
command not found: clickup
,或调用因缺少 token 而失败,请转到
protocols/setup.md
——这是首次运行时的预期情况,并不是安装损坏。
查找 list ID:
clickup shared
会输出与此 token 共享的所有 folder 以及其中的 list。从这里开始:CLI 没有针对 spaces 的 command,因为当成员通过共享 folder 访问 projects 时,space endpoints 会返回空 list。
读取操作(
task
、
task --markdown
、
comments
、
tasks
、
my-tasks
)不会更改任何内容,可以放心运行。写入操作(
create
、
update
、
comment
、
attach
、
tag
)会被经理看到,而且常常也会被客户看到。发布前先向用户展示文本并等待确认,除非用户明确要求直接发布——必须用明确表达此意的词语(「直接发布」「不要草稿」「现在就发」),而不能只凭请求看起来完整就自行发布;错误的评论无法从读者的通知中撤回。

Where the conventions come from

Where the conventions come from

The naming rule, the description style and the shape of a bug report are the team's, not this skill's, and they are looked up rather than shipped: list
<project>/.agents/standards/
, then
~/.agents/standards/
, and open what is there about writing a task or a defect. Then a thin fallback here. The full rule, including what to say when nothing answers, is in
references/conventions.md
.
命名规则、描述风格和 bug report 的结构属于团队,而不是这个 skill;它们是查找到的,而非随 skill 一起提供: 依次列出
<project>/.agents/standards/
和
~/.agents/standards/
,然后打开其中关于编写 task 或 defect 的内容。接着使用这里的轻量 fallback。完整规则,包括查不到任何内容时该怎么说,都位于
references/conventions.md
。

Which protocol

Which protocol

Decide by what the user needs, not by the words they used:
  • Understand a task before working on it (grill prep, «что там», «разберись») →
    protocols/read-task.md
    . Read-only.
  • Create a task or a bug report →
    protocols/create.md
    , which reads whatever the slot holds for the kind being written. Work we will do ourselves is a task; something that behaves wrongly is a bug, and the two are written differently.
  • Estimate or comment on an existing task → no protocol; the rules below and the CLI README are enough.
  • The
    clickup
    command is missing, or there is no token
    →
    protocols/setup.md
    . Ask once, install, verify, then return to what was actually asked.
Read the protocol before acting.
根据用户的需求选择,而不是根据他们使用的词:
  • 在开始处理前理解 task(任务拷问准备、「里面有什么」、「弄清楚」)→
    protocols/read-task.md
    。只读。
  • 创建 task 或 bug report →
    protocols/create.md
    ,该协议会读取所写类型对应的 slot 内容。由我们自行完成的工作是 task;行为异常的是 bug,二者写法不同。
  • 为现有 task 设置估算或添加评论 → 无需 protocol;以下规则和 CLI README 已足够。
  • 缺少
    clickup
    command,或没有 token
    →
    protocols/setup.md
    。询问一次,安装并验证,然后返回用户最初的实际需求。
行动前先阅读 protocol。

Rules that hold across protocols

Rules that hold across protocols

  • Nothing is invented. Every fact written into a task is verified against the code or the task's own comments. A missing detail makes the implementer read the code; a wrong one makes them trust the task instead.
  • Related tasks are full links
    https://app.clickup.com/t/<id>
    , never bare ids in prose and never ClickUp mention chips — a chip renders as an empty string through the API and in exports.
  • Per-project values come from the project's
    CLAUDE.md
    : list ids, tag names, glossary location. Look there first (
    Grep
    for
    ClickUp
    ). If a value is missing, stop and ask — do not guess. ClickUp accepts any tag name and silently creates a new tag.
  • Estimates are hours.
    update --time-estimate 1.5
    means ninety minutes. Convert minutes before passing them; the CLI does the millisecond conversion itself.
  • clickup create
    assigns the creator.
    The CLI puts the token owner into
    assignees
    on every create;
    clickup update <id> --unassign me
    undoes it.
  • Verify after writing. After
    create
    or
    update
    , read the task back with
    clickup task <id>
    and confirm the name, description, estimate and tags landed as intended. After
    comment
    , read
    clickup comments <id>
    and check the markdown rendered (no literal
    **
    or backticks). Fix before reporting done.
  • 绝不编造。 写入 task 的每一项事实都必须根据代码或 task 自身的评论进行核实。遗漏细节会迫使实现者去阅读代码;写错细节反而会让他们直接相信 task,而不再核对代码。
  • 关联 task 使用完整链接
    https://app.clickup.com/t/<id>
    ,正文中绝不只写 ID,也绝不使用 ClickUp mention chips——通过 API 获取或在导出时,chip 会呈现为空字符串。
  • 每个项目的具体值来自项目的
    CLAUDE.md
    :list ID、tag 名称和 glossary 位置。先在那里查找(用
    Grep
    搜索
    ClickUp
    )。如果缺少某个值,停下来询问——不要猜测。ClickUp 接受任意 tag 名称,并会静默创建一个新 tag。
  • 估算单位为小时。
    update --time-estimate 1.5
    表示九十分钟。传入前先把分钟数换算为小时;毫秒换算由 CLI 自行完成。
  • clickup create
    会把创建者设为 assignee。
    每次 create 都会把 token 所有者写入
    assignees
    ;
    clickup update <id> --unassign me
    可撤销该分配。
  • 写入后进行验证。 执行
    create
    或
    update
    后,使用
    clickup task <id>
    回读 task,并确认名称、描述、估算和 tags 均按预期写入。执行
    comment
    后,读取
    clickup comments <id>
    ,并检查 Markdown 是否已正确渲染(不出现字面量
    **
    或 backticks)。报告完成前先修复问题。

Report

Report

End with what was written and where: the task link, the fields set, which convention source answered, and anything skipped with the reason (a tag not set because the project has no tag names recorded). The user should not need to open ClickUp to know what happened.
最后说明写了什么以及写到哪里:task 链接、已设置的字段、哪一份约定来源提供了依据,以及所有跳过项及其原因(例如,由于项目中没有记录 tag 名称,因此未设置某个 tag)。用户不应需要打开 ClickUp 才知道发生了什么。

Never

Never

  • Never invent an identifier. A list id, a task id, a tag name or an assignee that did not come from a command's output or from the project's
    CLAUDE.md
    is a guess, and ClickUp accepts guesses silently — an unknown tag name creates a new tag, a request filed in the wrong list is never seen.
  • Never post without showing the text first, unless the user asked to post directly in so many words. A complete request is not that word: it is what makes the draft worth reading. A wrong comment cannot be unsent from the reader's notification.
  • Never delete a task somebody else created, and never delete one without saying so.
  • 绝不臆造标识符。 如果 list ID、task ID、tag 名称或 assignee 不是来自 command 输出或项目的
    CLAUDE.md
    ,它就是猜测;而 ClickUp 会静默接受猜测——未知 tag 名称会创建新 tag,提交到错误 list 的 request 永远不会被看到。
  • 绝不不在展示文本的情况下直接发布。 除非用户用明确的词语要求直接发布,否则必须先展示文本。仅仅把请求写完整并不等于明确授权;完整请求只是让草稿值得审阅而已。错误的评论无法从读者的通知中撤回。
  • 绝不删除其他人创建的 task,也绝不删除任何 task 而不事先说明。