clickup-migration-deep-dive

v2026.09.24

Plan and execute resumable migrations into or between ClickUp Workspaces with explicit mapping, stable source IDs, bounded writes, and reconciliation. Use when moving Jira, Asana, Trello, or ClickUp data. Trigger with "migrate to ClickUp", "ClickUp migration", or "clone ClickUp Workspace".

GitHub
安装命令
npx skhub add jeremylongshore/clickup-migration-deep-dive
Markdown
SKILL.md

ClickUp Migration and Reconciliation

Overview

Treat migration as a versioned data program rather than a one-shot task-creation loop. Make each batch resumable, reconcilable, and safe to stop.

Prerequisites

  • Source export/API ownership and a destination Workspace/List allow-list
  • Approved field, user, status, date, attachment, comment, and dependency mappings
  • A durable reconciliation database, pilot cohort, rate budget, and rollback policy

Tool Discipline

Use Read, Glob, and Grep to inspect the repository, adapters, configuration names, tests, and evidence. Use WebFetch only for current official ClickUp documentation. Use Write or Edit after confirming the target file, Workspace boundary, and requested mode.

Current Contract

  • Get Tasks returns 100 records per zero-based page; decide explicitly about closed tasks, subtasks, and Tasks in Multiple Lists.
  • Task priorities and dates require ClickUp's documented values and millisecond timestamps.
  • Custom Field definitions/options must be resolved first; existing task fields use their separate value endpoints.
  • ClickUp does not document a general transactional bulk-create endpoint, so partial progress must be durable and resumable.

Authentication

Use a personal token only for accountable individual/testing work or OAuth Authorization Code for a user-facing integration. Inject the token server-side through a governed secret reference, send it in Authorization, verify authorized Workspace IDs, and never print the token, OAuth client secret, or webhook secret.

Instructions

  1. Inventory source entities, destination hierarchy, volume, sensitivity, identities, and unsupported concepts.
  2. Define mapping versions and validate status, assignee, priority, Custom Field, relationship, and attachment rules.
  3. Extract with complete pagination and persist immutable source IDs plus content hashes.
  4. Run a no-write transform report, then migrate a representative pilot with strict ceilings.
  5. Persist every destination ID before dependent writes and retry only idempotent/transient work.
  6. Reconcile counts and sampled field hashes; quarantine exceptions and obtain cutover approval.

Approval Boundaries

Require explicit approval for production cutover, identity reassignment, attachment transfer, private-content expansion, deletion, or rollback that changes user-visible work.

Output

Return mapping version, extracted/transformed/migrated/skipped/quarantined counts, ID map, reconciliation results, cutover decision, and rollback state. Name every unresolved owner and deadline.

Error Handling

ConditionResponse
Source ID already mappedVerify the destination hash and resume; do not duplicate.
Mapping target is absentQuarantine the record and update the versioned mapping.
Rate limit reachedCheckpoint and resume after the documented reset.
Pilot reconciliation failsStop before broad migration and correct the transform.

Examples

The example below is a redacted operator receipt; it contains no task text, member data, credential, or webhook secret.

mode=pilot; source=jira; extracted=50; migrated=47; quarantined=3; duplicates=0; reconcile=94%

Resources

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/.curated/clickup-migration-deep-dive

默认分支

main

最新提交

e5a6c3b

Tree SHA

c2dc8e8