{"id":"145524be-0854-4af1-8b87-1be87af74790","entityType":"agent","slug":"clawhub-d3layd-clickup-skill","name":"ClickUp Skill","canonicalUrl":"https://www.xpersona.co/agent/clawhub-d3layd-clickup-skill","canonicalPath":"/agent/clawhub-d3layd-clickup-skill","generatedAt":"2026-10-09T17:12:05.301Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:07:21.073Z","emptyReason":null},"description":"Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking, (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.7K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17c80t4femg63eh6bzr7z1xpx88572c:clickup-skill","sourceUrl":"https://clawhub.ai/d3layd/clickup-skill","homepage":"https://clawhub.ai/d3layd/skills/clickup-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/d3layd/clickup-skill","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/d3layd/skills/clickup-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":69,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"ClickUp Skill technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:07:21.073Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:07:21.073Z","emptyReason":null},"stars":null,"forks":null,"downloads":2697,"packageName":null,"latestVersion":"1.1.2","tractionLabel":"2.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:07:21.072Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T12:07:21.073Z","lastCrawledAt":"2026-10-09T12:07:21.072Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T12:07:21.072Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.2","createdAt":"2026-02-13T20:26:31.882Z","changelog":"Version 1.1.2 - Added environment and dependency metadata (API token config, Python/pip requirements) to SKILL.md. - Migrated documentation files into a dedicated `clickup/` directory; added new `CHANGELOG.md` and `references/api_reference.md`. - Updated commands and file paths to `scripts/clickup_client.py` for consistency. - Improved and condensed example workspace names and descriptions in SKILL.md. - Removed the root-level `CHANGELOG.md` (now within `clickup/`).","fileCount":8,"zipByteSize":27934},{"version":"1.1.1","createdAt":"2026-01-31T22:45:13.738Z","changelog":"## ClickUp Skill 1.1.1 Changelog - Added initial CHANGELOG.md file to the project. - Updated sample workspace names in documentation for broader applicability (e.g., \"Client Work, Product Development, Personal Projects\"). - No code changes; content and documentation only.","fileCount":5,"zipByteSize":15329},{"version":"1.1.0","createdAt":"2026-01-31T22:34:34.993Z","changelog":"## 2026-01-31 - Enhanced Reporting & Multi-Workspace Support ### Summary This update transforms the ClickUp skill from a basic task management tool into an **enterprise-grade agency workflow solution** with advanced analytics, multi-workspace support, and sophisticated client/project organization. --- ## What's New ### 🔍 Automatic Subtask Inclusion **Problem:** Standard ClickUp API calls miss 70%+ of actual work because subtasks aren't included by default. **Solution:** All reporting methods automatically include `subtasks=true`, ensuring complete visibility into: - Parent tasks (containers) - Subtasks (actual work items) ### 📊 Advanced Reporting Suite New commands added for comprehensive analytics: | Command | Purpose | Output | |---------|---------|--------| | `task_counts` | Task volume breakdown | `{\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}` | | `assignee_breakdown` | Workload distribution | `{\"John\": 15, \"Jane\": 12, \"Unassigned\": 8}` | | `status_breakdown` | Tasks by status | `{\"to do\": 20, \"in progress\": 10, \"complete\": 15}` | | `priority_breakdown` | Tasks by priority | `{\"urgent\": 2, \"high\": 5, \"normal\": 15}` | | `standup_report` | Daily status report | Grouped by status category | | `get_all_tasks` | Full task export | Auto-pagination, all pages | **Key Features:** - Automatic pagination handling (no 100-task limit) - Filter by space, assignee, or include closed tasks - Parent vs. subtask distinction - Rate limit compliance (100 req/min) ### 🏢 Multi-Workspace Architecture Seamlessly work across all your workspaces: - Elevated (client work) - Atrium (product development) - Winch Life (personal brand) - Rivas Images (photography/video) - Emerald Coast Tech Collective (community) - Family Workspace ### 👥 Client/Project Organization Structured folder hierarchy for each client: 📁 Client Folder ├── 📋 Client Overview (relationship status) ├── 📁 Completed Work (historical projects) ├── 🟢 Active Projects (current work) └── 🟡 Proposals (in negotiation) ### 📈 Sales Pipeline Tracking Track projects from prospect to completion: - New prospect negotiations - Existing client expansion - Proposal status monitoring - Project lifecycle management --- ## Key Benefits | Feature | Why It Matters | |---------|----------------| | **Always includes subtasks** | Never miss 70%+ of actual work | | **Advanced reporting** | Task counts, workload distribution, status breakdowns | | **Multi-workspace** | Seamlessly switch between all workspaces | | **Client organization** | Structured folders for overview, completed, and active work | | **Sales pipeline** | Track proposals and negotiations | | **Time tracking** | Built-in timers and billing support | | **Document management** | Create docs and pages via API v3 | | **Task relationships** | Dependencies, blocking/waiting, arbitrary linking | --- ## Comparison: Community vs. Our Skill | | Community Skill | **Our Enhanced Skill** | |--|-----------------|------------------------| | **Language** | Bash scripts | Python client | | **Workspaces** | Single | **Multi-workspace** | | **Focus** | Read-only reports | **Full CRUD + reports** | | **Client structure** | None | **Custom folders/lists** | | **Subtasks** | Manual flag | **Automatic inclusion** | | **Pagination** | Manual loops | **Auto-handled** | | **Scope** | Generic queries | **Agency workflow** | --- ## Who This Is For This skill is specifically built for: - **Agencies** managing multiple clients - **Freelancers** with complex project portfolios - **Product teams** juggling multiple workspaces - **Anyone** who needs visibility across ClickUp hierarchies --- ## Technical Highlights ### Critical API Rules Implemented 1. **Always Include Subtasks** ```python params = {\"subtasks\": \"true\", ...} # Never skip this 2. Handle Paginationwhile not result.get(\"last_page\"): page += 1 # fetch next page 3. Distinguish Parent vs Subtaskparents = [t for t in tasks if t.get(\"parent\") is None] subtasks = [t for t in tasks if t.get(\"parent\") is not None] Rate Limiting • Respects ClickUp's 100 requests/minute limit • Automatic retry logic for 429 responses • Pagination loops include safety limits (max 10 pages/1000 tasks) Files Updated | File | Changes | | ------------------------- | --------------------------------------------------------- | | SKILL.md | Complete rewrite with benefits table, reporting workflows | | scripts/clickup_client.py | Added 6 new reporting methods, 200+ lines | Usage Examples Quick Reporting # Task breakdown python skills/clickup/scripts/clickup_client.py task_counts team_id=\"9017466511\" # Workload distribution python skills/clickup/scripts/clickup_client.py assignee_breakdown team_id=\"9017466511\" # Daily standup python skills/clickup/scripts/clickup_client.py standup_report team_id=\"9017466511\" With Filters # Specific space python skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"90172290075\"]' # Specific assignee python skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"12345\"]' # Include completed python skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"","fileCount":4,"zipByteSize":12753},{"version":"1.0.0","createdAt":"2026-01-31T17:05:25.430Z","changelog":"ClickUp Skill by d3layd Comprehensive ClickUp project management integration supporting multiple workspaces. Features: multi-workspace support, task CRUD, time tracking, documents, task dependencies, and task linking.","fileCount":4,"zipByteSize":9947}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17c80t4femg63eh6bzr7z1xpx88572c:clickup-skill","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17c80t4femg63eh6bzr7z1xpx88572c:clickup-skill` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/d3layd/clickup-skill before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T17:12:05.301Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-d3layd-clickup-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:07:21.073Z","emptyReason":null},"readme":"Skill: ClickUp Skill\n\nOwner: d3layd\n\nSummary: Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking, (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.\n\nTags: latest:1.1.2\n\nVersion history:\n\nv1.1.2 | 2026-02-13T20:26:31.882Z | user\n\nVersion 1.1.2\n\n- Added environment and dependency metadata (API token config, Python/pip requirements) to SKILL.md.\n- Migrated documentation files into a dedicated `clickup/` directory; added new `CHANGELOG.md` and `references/api_reference.md`.\n- Updated commands and file paths to `scripts/clickup_client.py` for consistency.\n- Improved and condensed example workspace names and descriptions in SKILL.md.\n- Removed the root-level `CHANGELOG.md` (now within `clickup/`).\n\nv1.1.1 | 2026-01-31T22:45:13.738Z | user\n\n## ClickUp Skill 1.1.1 Changelog\n\n- Added initial CHANGELOG.md file to the project.\n- Updated sample workspace names in documentation for broader applicability (e.g., \"Client Work, Product Development, Personal Projects\").\n- No code changes; content and documentation only.\n\nv1.1.0 | 2026-01-31T22:34:34.993Z | user\n\n## 2026-01-31 - Enhanced Reporting & Multi-Workspace Support\n\n### Summary\n\nThis update transforms the ClickUp skill from a basic task management tool into an **enterprise-grade agency workflow solution** with advanced analytics, multi-workspace support, and sophisticated client/project organization.\n\n---\n\n## What's New\n\n### 🔍 Automatic Subtask Inclusion\n\n**Problem:** Standard ClickUp API calls miss 70%+ of actual work because subtasks aren't included by default.\n\n**Solution:** All reporting methods automatically include `subtasks=true`, ensuring complete visibility into:\n- Parent tasks (containers)\n- Subtasks (actual work items)\n\n### 📊 Advanced Reporting Suite\n\nNew commands added for comprehensive analytics:\n\n| Command | Purpose | Output |\n|---------|---------|--------|\n| `task_counts` | Task volume breakdown | `{\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}` |\n| `assignee_breakdown` | Workload distribution | `{\"John\": 15, \"Jane\": 12, \"Unassigned\": 8}` |\n| `status_breakdown` | Tasks by status | `{\"to do\": 20, \"in progress\": 10, \"complete\": 15}` |\n| `priority_breakdown` | Tasks by priority | `{\"urgent\": 2, \"high\": 5, \"normal\": 15}` |\n| `standup_report` | Daily status report | Grouped by status category |\n| `get_all_tasks` | Full task export | Auto-pagination, all pages |\n\n**Key Features:**\n- Automatic pagination handling (no 100-task limit)\n- Filter by space, assignee, or include closed tasks\n- Parent vs. subtask distinction\n- Rate limit compliance (100 req/min)\n\n### 🏢 Multi-Workspace Architecture\n\nSeamlessly work across all your workspaces:\n- Elevated (client work)\n- Atrium (product development)\n- Winch Life (personal brand)\n- Rivas Images (photography/video)\n- Emerald Coast Tech Collective (community)\n- Family Workspace\n\n### 👥 Client/Project Organization\n\nStructured folder hierarchy for each client:\n\n📁 Client Folder\n├── 📋 Client Overview (relationship status)\n├── 📁 Completed Work (historical projects)\n├── 🟢 Active Projects (current work)\n└── 🟡 Proposals (in negotiation)\n\n\n### 📈 Sales Pipeline Tracking\n\nTrack projects from prospect to completion:\n- New prospect negotiations\n- Existing client expansion\n- Proposal status monitoring\n- Project lifecycle management\n\n---\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **Always includes subtasks** | Never miss 70%+ of actual work |\n| **Advanced reporting** | Task counts, workload distribution, status breakdowns |\n| **Multi-workspace** | Seamlessly switch between all workspaces |\n| **Client organization** | Structured folders for overview, completed, and active work |\n| **Sales pipeline** | Track proposals and negotiations |\n| **Time tracking** | Built-in timers and billing support |\n| **Document management** | Create docs and pages via API v3 |\n| **Task relationships** | Dependencies, blocking/waiting, arbitrary linking |\n\n---\n\n## Comparison: Community vs. Our Skill\n\n| | Community Skill | **Our Enhanced Skill** |\n|--|-----------------|------------------------|\n| **Language** | Bash scripts | Python client |\n| **Workspaces** | Single | **Multi-workspace** |\n| **Focus** | Read-only reports | **Full CRUD + reports** |\n| **Client structure** | None | **Custom folders/lists** |\n| **Subtasks** | Manual flag | **Automatic inclusion** |\n| **Pagination** | Manual loops | **Auto-handled** |\n| **Scope** | Generic queries | **Agency workflow** |\n\n---\n\n## Who This Is For\n\nThis skill is specifically built for:\n\n- **Agencies** managing multiple clients\n- **Freelancers** with complex project portfolios\n- **Product teams** juggling multiple workspaces\n- **Anyone** who needs visibility across ClickUp hierarchies\n\n---\n\n## Technical Highlights\n\n### Critical API Rules Implemented\n\n1. **Always Include Subtasks**\n   ```python\n   params = {\"subtasks\": \"true\", ...}  # Never skip this\n\n2. Handle Paginationwhile not result.get(\"last_page\"):\n    page += 1\n    # fetch next page\n\n3. Distinguish Parent vs Subtaskparents = [t for t in tasks if t.get(\"parent\") is None]\nsubtasks = [t for t in tasks if t.get(\"parent\") is not None]\n\nRate Limiting\n\n• Respects ClickUp's 100 requests/minute limit\n• Automatic retry logic for 429 responses\n• Pagination loops include safety limits (max 10 pages/1000 tasks)\n\nFiles Updated\n\n| File                      | Changes                                                   |\n| ------------------------- | --------------------------------------------------------- |\n| SKILL.md                  | Complete rewrite with benefits table, reporting workflows |\n| scripts/clickup_client.py | Added 6 new reporting methods, 200+ lines                 |\n\n\nUsage Examples\n\nQuick Reporting\n\n# Task breakdown\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"9017466511\"\n\n# Workload distribution\npython skills/clickup/scripts/clickup_client.py assignee_breakdown team_id=\"9017466511\"\n\n# Daily standup\npython skills/clickup/scripts/clickup_client.py standup_report team_id=\"9017466511\"\n\nWith Filters\n\n# Specific space\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"90172290075\"]'\n\n# Specific assignee\npython skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"12345\"]'\n\n# Include completed\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n\nv1.0.0 | 2026-01-31T17:05:25.430Z | user\n\nClickUp Skill by d3layd\n\nComprehensive ClickUp project management integration supporting multiple workspaces. \n\nFeatures: multi-workspace support, task CRUD, time tracking, documents, task dependencies, and task linking.\n\nArchive index:\n\nArchive v1.1.2: 8 files, 27934 bytes\n\nFiles: clickup/CHANGELOG.md (5472b), clickup/references/api_reference.md (6063b), clickup/scripts/clickup_client.py (29640b), clickup/SKILL.md (13699b), references/api_reference.md (6063b), scripts/clickup_client.py (29640b), SKILL.md (13674b), _meta.json (132b)\n\nFile v1.1.2:clickup/SKILL.md\n\n---\nname: clickup\ndescription: \"Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking, (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.\"\nenv:\n  - name: CLICKUP_API_TOKEN\n    description: \"ClickUp personal API token. Generate at: ClickUp Settings → Apps → Generate API Token\"\n    required: true\ndependencies:\n  - python3\n  - pip:requests\n---\n\n# ClickUp Skill\n\n**Enterprise-grade ClickUp integration for agency workflows.** Manage multiple clients, projects, and workspaces with advanced reporting, automatic subtask handling, and sophisticated folder organization.\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **🔍 Always includes subtasks** | Never miss 70%+ of actual work — subtasks included automatically |\n| **📊 Advanced reporting** | Task counts, workload distribution, status breakdowns, standup reports |\n| **🏢 Multi-workspace** | Seamlessly switch between Client Work, Product Development, Personal Projects, and more |\n| **👥 Client organization** | Structured folders: 📋 Client Overview, 📁 Completed Work, active projects |\n| **📈 Sales pipeline** | Track proposals, negotiations, and project lifecycles |\n| **⏱️ Time tracking** | Built-in timers and manual entries with billing support |\n| **📄 Document management** | Create docs and pages via API v3 |\n| **🔗 Task relationships** | Dependencies, blocking/waiting, and arbitrary task linking |\n\n## Quick Start\n\n### Setup\nSet your ClickUp API token:\n```bash\nexport CLICKUP_API_TOKEN=\"pk_your_token_here\"\n```\n\nGet your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**\n```bash\npython scripts/clickup_client.py get_teams\n```\n\n**Create a task:**\n```bash\npython scripts/clickup_client.py create_task list_id=\"123\" name=\"New Task\" status=\"to do\"\n```\n\n**Update a task:**\n```bash\npython scripts/clickup_client.py update_task task_id=\"abc\" status=\"in progress\"\n```\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n├── Spaces\n│   ├── Folders\n│   │   └── Lists → Tasks\n│   └── Lists (Folderless) → Tasks\n└── Documents\n```\n\nAll operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspaces:\n\n1. Use `get_teams` to list available workspaces\n2. Reference workspace by `team_id` in operations\n3. Each workspace maintains independent spaces, folders, lists\n4. Custom task IDs require both `custom_task_ids=true` and `team_id`\n\n## Common Workflows\n\n### Workflow: Create Task in Specific Workspace\n\n1. Get workspace ID: `get_teams`\n2. Get target space: `get_spaces team_id=\"xxx\"`\n3. Get or create list: `get_folders space_id=\"yyy\"` → `get_lists folder_id=\"zzz\"`\n4. Create task: `create_task list_id=\"aaa\" name=\"Task\" ...`\n\n### Workflow: Configure Space Statuses\n\n1. Get space: `get_space space_id=\"xxx\"`\n2. Update space with statuses: `update_space space_id=\"xxx\" statuses=[...]`\n\nSee [API Reference](references/api_reference.md) for status configuration format.\n\n### Workflow: Track Time on Task\n\n**Option A - Manual Entry:**\n```bash\npython scripts/clickup_client.py create_time_entry \\\n  team_id=\"xxx\" \\\n  task_id=\"yyy\" \\\n  duration=3600000 \\\n  description=\"Worked on feature\"\n```\n\n**Option B - Timer:**\n```bash\n# Start timer\npython scripts/clickup_client.py start_timer team_id=\"xxx\" task_id=\"yyy\"\n\n# Stop timer (stops current running timer for user)\npython scripts/clickup_client.py stop_timer team_id=\"xxx\"\n```\n\n### Workflow: Create Document Structure\n\n1. Create doc: `create_doc workspace_id=\"xxx\" name=\"Project Docs\"`\n2. Add pages: Use ClickUp UI (pages API is in beta)\n\nNote: Documents use ClickUp API v3 (workspace_id instead of team_id).\n\n### Workflow: Reporting & Analytics\n\n**Get task counts (with parent/subtask breakdown):**\n```bash\npython scripts/clickup_client.py task_counts team_id=\"xxx\"\n# Returns: {\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}\n```\n\n**Get workload by assignee:**\n```bash\npython scripts/clickup_client.py assignee_breakdown team_id=\"xxx\"\n# Returns: {\"John Doe\": 15, \"Jane Smith\": 12, \"Unassigned\": 8}\n```\n\n**Get tasks by status:**\n```bash\npython scripts/clickup_client.py status_breakdown team_id=\"xxx\"\n# Returns: {\"to do\": 20, \"in progress\": 10, \"complete\": 15}\n```\n\n**Get tasks by priority:**\n```bash\npython scripts/clickup_client.py priority_breakdown team_id=\"xxx\"\n# Returns: {\"urgent\": 2, \"high\": 5, \"normal\": 15, \"low\": 8, \"none\": 20}\n```\n\n**Daily standup report (grouped by status):**\n```bash\n# All team members\npython scripts/clickup_client.py standup_report team_id=\"xxx\"\n\n# Specific person (use user ID)\npython scripts/clickup_client.py standup_report team_id=\"xxx\" assignee_id=\"12345\"\n```\n\n**Get all tasks with pagination (auto-handled):**\n```bash\npython scripts/clickup_client.py get_all_tasks team_id=\"xxx\"\n# Always includes subtasks automatically (critical!)\n```\n\n**Filter reports by space or assignee:**\n```bash\n# Specific space\npython scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"SPACE_ID_HERE\"]'\n\n# Specific assignee\npython scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"12345\"]'\n\n# Include closed tasks\npython scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n```\n\n**Critical Rules for Reporting:**\n1. **Always include subtasks** — Our methods do this automatically via `subtasks=true`\n2. **Pagination handled** — `get_all_tasks` loops until all pages retrieved\n3. **Parent vs Subtask** — Parents have `parent: null`, subtasks have `parent: \"task_id\"`\n4. **Rate limit** — 100 requests/min; our pagination respects this\n\n### Workflow: Link Doc to Task\n\n**Option A - Add as attachment:**\n```bash\npython scripts/clickup_client.py link_doc_to_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\n**Option B - Mention in description:**\n```bash\npython scripts/clickup_client.py mention_doc_in_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\nBoth create clickable links to the document from the task.\n\n### Workflow: Task Dependencies\n\n**Set up blocking relationship:**\n```bash\n# Task B is blocked by/waiting on Task A\npython scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n\n# Check dependencies\npython scripts/clickup_client.py get_dependencies \\\n  task_id=\"TASK_B_ID\"\n\n# Remove dependency\npython scripts/clickup_client.py remove_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n```\n\n**Set up reverse dependency (task is blocking another):**\n```bash\n# Task A is blocking Task B\npython scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_A_ID\" \\\n  waiting_on=\"TASK_B_ID\"\n```\n\n### Workflow: Link Related Tasks (Non-Dependency)\n\nFor related tasks that aren't blocking each other:\n\n```bash\n# Link Task A to Task B (arbitrary relationship)\npython scripts/clickup_client.py link_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n\n# Remove link\npython scripts/clickup_client.py unlink_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n```\n\nNote: `link_tasks` creates a \"linked task\" relationship (appears in task's \"Linked Tasks\" section), while `add_dependency` creates blocking/waiting relationships.\n\n### Workflow: Bulk Task Operations\n\nFor bulk operations, loop through tasks:\n```bash\n# Get tasks\nTASKS=$(python scripts/clickup_client.py get_tasks list_id=\"xxx\")\n\n# Process each (parse JSON and loop)\n```\n\n## Script Reference\n\n### scripts/clickup_client.py\n\nMain CLI interface for ClickUp operations.\n\n**Usage:**\n```bash\npython scripts/clickup_client.py <command> [key=value ...]\n```\n\n**Commands:**\n\n#### Workspace Operations\n- `get_teams` - List all accessible workspaces\n\n#### Space Operations\n- `get_spaces team_id=\"xxx\"` - List spaces\n- `create_space team_id=\"xxx\" name=\"Name\" [options...]` - Create space\n- `update_space space_id=\"xxx\" [options...]` - Update space\n\n#### Folder Operations\n- `get_folders space_id=\"xxx\"` - List folders\n- `create_folder space_id=\"xxx\" name=\"Name\"` - Create folder\n\n#### List Operations\n- `get_lists folder_id=\"xxx\"` - Lists in folder\n- `get_space_lists space_id=\"xxx\"` - Folderless lists\n- `create_list folder_id=\"xxx\" name=\"Name\" [options...]` - Create in folder\n- `create_space_list space_id=\"xxx\" name=\"Name\" [options...]` - Create folderless\n\n#### Task Operations\n- `get_task task_id=\"xxx\"` - Get task details (includes dependencies, linked tasks)\n- `get_tasks list_id=\"xxx\" [filters...]` - List tasks\n- `create_task list_id=\"xxx\" name=\"Name\" [options...]` - Create task\n- `update_task task_id=\"xxx\" [options...]` - Update task\n\n#### Time Tracking\n- `get_time_entries team_id=\"xxx\" [filters...]` - List entries\n- `create_time_entry team_id=\"xxx\" task_id=\"yyy\" duration=3600000 [...]` - Create entry\n- `start_timer team_id=\"xxx\" task_id=\"yyy\"` - Start timer\n- `stop_timer team_id=\"xxx\"` - Stop timer\n\n#### Documents (API v3)\n- `get_docs workspace_id=\"xxx\"` - List documents\n- `create_doc workspace_id=\"xxx\" name=\"Name\" [options...]` - Create document\n- `get_doc doc_id=\"xxx\"` - Get document details\n\n**Note on Pages:** Doc pages API is in beta. Pages may need to be created via ClickUp UI.\n\n#### Doc-Task Linking\n- `link_doc_to_task task_id=\"xxx\" doc_id=\"yyy\"` - Attach doc URL to task\n- `mention_doc_in_task task_id=\"xxx\" doc_id=\"yyy\"` - Add doc link to task description\n\n#### Task Dependencies (Blocking/Waiting On)\n- `add_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Task is blocked by/waiting on another task\n- `add_dependency task_id=\"xxx\" waiting_on=\"yyy\"` - Another task is blocked by/waiting on this task\n- `remove_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Remove dependency\n- `get_dependencies task_id=\"xxx\"` - List all dependencies for a task\n\n#### Task Linking (Arbitrary Relationships)\n- `link_tasks task_id=\"xxx\" links_to=\"yyy\"` - Create arbitrary link between tasks\n- `unlink_tasks task_id=\"xxx\" links_to=\"yyy\"` - Remove task link\n\n#### Reporting & Analytics\n- `get_all_tasks team_id=\"xxx\" [include_closed=\"true\"] [space_ids='[\"id1\"]'] [assignees='[\"uid1\"]']` - All tasks with auto-pagination (always includes subtasks)\n- `task_counts team_id=\"xxx\" [filters...]` - Count breakdown: total, parents, subtasks, unassigned\n- `assignee_breakdown team_id=\"xxx\" [filters...]` - Workload distribution by assignee\n- `status_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by status\n- `priority_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by priority\n- `standup_report team_id=\"xxx\" [assignee_id=\"yyy\"]` - Daily standup report grouped by status\n\n#### Documents\n- `get_docs team_id=\"xxx\"` - List documents\n- `create_doc team_id=\"xxx\" name=\"Name\" [options...]` - Create document\n\n## Advanced Configuration\n\n### Custom Fields\n\nTo work with custom fields:\n\n1. Get field definitions: `GET /list/{list_id}/field` (see API Reference)\n2. Set values when creating/updating tasks:\n   ```bash\n   python scripts/clickup_client.py update_task \\\n     task_id=\"xxx\" \\\n     'custom_fields=[{\"id\":\"field_id\",\"value\":\"value\"}]'\n   ```\n\n### Status Configuration\n\nWhen creating/updating spaces or lists:\n\n```bash\npython scripts/clickup_client.py update_space \\\n  space_id=\"xxx\" \\\n  'statuses=[{\"status\":\"To Do\",\"type\":\"open\"},{\"status\":\"Done\",\"type\":\"closed\"}]'\n```\n\n### Priority Levels\n\n- `1` - Urgent\n- `2` - High\n- `3` - Normal\n- `4` - Low\n\n## Error Handling\n\nCommon errors and solutions:\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `401 Unauthorized` | Invalid API token | Check CLICKUP_API_TOKEN |\n| `404 Not Found` | Invalid ID | Verify workspace/space/folder/list/task IDs |\n| `429 Too Many Requests` | Rate limit | Wait and retry (100 req/min limit) |\n| `400 Bad Request` | Invalid parameters | Check JSON format in arguments |\n\n## Python Client Usage\n\nFor complex operations, import the client directly:\n\n```python\nfrom scripts.clickup_client import ClickUpClient\n\nclient = ClickUpClient()\n\n# Get all workspaces\nteams = client.get_teams()\n\n# Create task with full control\ntask = client.create_task(\n    list_id=\"123\",\n    name=\"Complex Task\",\n    description=\"Detailed description\",\n    assignees=[123, 456],\n    tags=[\"urgent\", \"client\"],\n    priority=2,\n    due_date=1704067200000,\n    time_estimate=14400000\n)\n```\n\n## References\n\n- **API Details**: See [references/api_reference.md](references/api_reference.md) for complete endpoint documentation, request/response formats, and field types.\n- **ClickUp API Docs**: https://clickup.com/api\n\n## Best Practices\n\n1. **Store IDs**: Workspace/space/folder/list IDs rarely change. Store them in `TOOLS.md` for quick reference.\n2. **Custom Task IDs**: If using custom IDs, always include `custom_task_ids=true` and `team_id` in task operations.\n3. **Rate Limiting**: Space out bulk operations to avoid 429 errors.\n4. **Time Tracking**: Use milliseconds for all duration/timestamp values.\n5. **Multi-Workspace**: Always double-check `team_id` when working across workspaces to avoid modifying wrong workspace.\n\nFile v1.1.2:SKILL.md\n\n---\nname: clickup\ndescription: \"Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking, (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.\"\nenv:\n  - name: CLICKUP_API_TOKEN\n    description: \"ClickUp personal API token. Generate at: ClickUp Settings → Apps → Generate API Token\"\n    required: true\ndependencies:\n  - python3\n  - pip:requests\n---\n\n# ClickUp Skill\n\n**Enterprise-grade ClickUp integration for agency workflows.** Manage multiple clients, projects, and workspaces with advanced reporting, automatic subtask handling, and sophisticated folder organization.\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **🔍 Always includes subtasks** | Never miss 70%+ of actual work — subtasks included automatically |\n| **📊 Advanced reporting** | Task counts, workload distribution, status breakdowns, standup reports |\n| **🏢 Multi-workspace** | Seamlessly switch between Elevated, Atrium, Winch Life, and more |\n| **👥 Client organization** | Structured folders: 📋 Client Overview, 📁 Completed Work, active projects |\n| **📈 Sales pipeline** | Track proposals, negotiations, and project lifecycles |\n| **⏱️ Time tracking** | Built-in timers and manual entries with billing support |\n| **📄 Document management** | Create docs and pages via API v3 |\n| **🔗 Task relationships** | Dependencies, blocking/waiting, and arbitrary task linking |\n\n## Quick Start\n\n### Setup\nSet your ClickUp API token:\n```bash\nexport CLICKUP_API_TOKEN=\"pk_your_token_here\"\n```\n\nGet your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**\n```bash\npython scripts/clickup_client.py get_teams\n```\n\n**Create a task:**\n```bash\npython scripts/clickup_client.py create_task list_id=\"123\" name=\"New Task\" status=\"to do\"\n```\n\n**Update a task:**\n```bash\npython scripts/clickup_client.py update_task task_id=\"abc\" status=\"in progress\"\n```\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n├── Spaces\n│   ├── Folders\n│   │   └── Lists → Tasks\n│   └── Lists (Folderless) → Tasks\n└── Documents\n```\n\nAll operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspaces:\n\n1. Use `get_teams` to list available workspaces\n2. Reference workspace by `team_id` in operations\n3. Each workspace maintains independent spaces, folders, lists\n4. Custom task IDs require both `custom_task_ids=true` and `team_id`\n\n## Common Workflows\n\n### Workflow: Create Task in Specific Workspace\n\n1. Get workspace ID: `get_teams`\n2. Get target space: `get_spaces team_id=\"xxx\"`\n3. Get or create list: `get_folders space_id=\"yyy\"` → `get_lists folder_id=\"zzz\"`\n4. Create task: `create_task list_id=\"aaa\" name=\"Task\" ...`\n\n### Workflow: Configure Space Statuses\n\n1. Get space: `get_space space_id=\"xxx\"`\n2. Update space with statuses: `update_space space_id=\"xxx\" statuses=[...]`\n\nSee [API Reference](references/api_reference.md) for status configuration format.\n\n### Workflow: Track Time on Task\n\n**Option A - Manual Entry:**\n```bash\npython scripts/clickup_client.py create_time_entry \\\n  team_id=\"xxx\" \\\n  task_id=\"yyy\" \\\n  duration=3600000 \\\n  description=\"Worked on feature\"\n```\n\n**Option B - Timer:**\n```bash\n# Start timer\npython scripts/clickup_client.py start_timer team_id=\"xxx\" task_id=\"yyy\"\n\n# Stop timer (stops current running timer for user)\npython scripts/clickup_client.py stop_timer team_id=\"xxx\"\n```\n\n### Workflow: Create Document Structure\n\n1. Create doc: `create_doc workspace_id=\"xxx\" name=\"Project Docs\"`\n2. Add pages: Use ClickUp UI (pages API is in beta)\n\nNote: Documents use ClickUp API v3 (workspace_id instead of team_id).\n\n### Workflow: Reporting & Analytics\n\n**Get task counts (with parent/subtask breakdown):**\n```bash\npython scripts/clickup_client.py task_counts team_id=\"xxx\"\n# Returns: {\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}\n```\n\n**Get workload by assignee:**\n```bash\npython scripts/clickup_client.py assignee_breakdown team_id=\"xxx\"\n# Returns: {\"John Doe\": 15, \"Jane Smith\": 12, \"Unassigned\": 8}\n```\n\n**Get tasks by status:**\n```bash\npython scripts/clickup_client.py status_breakdown team_id=\"xxx\"\n# Returns: {\"to do\": 20, \"in progress\": 10, \"complete\": 15}\n```\n\n**Get tasks by priority:**\n```bash\npython scripts/clickup_client.py priority_breakdown team_id=\"xxx\"\n# Returns: {\"urgent\": 2, \"high\": 5, \"normal\": 15, \"low\": 8, \"none\": 20}\n```\n\n**Daily standup report (grouped by status):**\n```bash\n# All team members\npython scripts/clickup_client.py standup_report team_id=\"xxx\"\n\n# Specific person (use user ID)\npython scripts/clickup_client.py standup_report team_id=\"xxx\" assignee_id=\"12345\"\n```\n\n**Get all tasks with pagination (auto-handled):**\n```bash\npython scripts/clickup_client.py get_all_tasks team_id=\"xxx\"\n# Always includes subtasks automatically (critical!)\n```\n\n**Filter reports by space or assignee:**\n```bash\n# Specific space\npython scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"90172290075\"]'\n\n# Specific assignee\npython scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"12345\"]'\n\n# Include closed tasks\npython scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n```\n\n**Critical Rules for Reporting:**\n1. **Always include subtasks** — Our methods do this automatically via `subtasks=true`\n2. **Pagination handled** — `get_all_tasks` loops until all pages retrieved\n3. **Parent vs Subtask** — Parents have `parent: null`, subtasks have `parent: \"task_id\"`\n4. **Rate limit** — 100 requests/min; our pagination respects this\n\n### Workflow: Link Doc to Task\n\n**Option A - Add as attachment:**\n```bash\npython scripts/clickup_client.py link_doc_to_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\n**Option B - Mention in description:**\n```bash\npython scripts/clickup_client.py mention_doc_in_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\nBoth create clickable links to the document from the task.\n\n### Workflow: Task Dependencies\n\n**Set up blocking relationship:**\n```bash\n# Task B is blocked by/waiting on Task A\npython scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n\n# Check dependencies\npython scripts/clickup_client.py get_dependencies \\\n  task_id=\"TASK_B_ID\"\n\n# Remove dependency\npython scripts/clickup_client.py remove_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n```\n\n**Set up reverse dependency (task is blocking another):**\n```bash\n# Task A is blocking Task B\npython scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_A_ID\" \\\n  waiting_on=\"TASK_B_ID\"\n```\n\n### Workflow: Link Related Tasks (Non-Dependency)\n\nFor related tasks that aren't blocking each other:\n\n```bash\n# Link Task A to Task B (arbitrary relationship)\npython scripts/clickup_client.py link_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n\n# Remove link\npython scripts/clickup_client.py unlink_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n```\n\nNote: `link_tasks` creates a \"linked task\" relationship (appears in task's \"Linked Tasks\" section), while `add_dependency` creates blocking/waiting relationships.\n\n### Workflow: Bulk Task Operations\n\nFor bulk operations, loop through tasks:\n```bash\n# Get tasks\nTASKS=$(python scripts/clickup_client.py get_tasks list_id=\"xxx\")\n\n# Process each (parse JSON and loop)\n```\n\n## Script Reference\n\n### scripts/clickup_client.py\n\nMain CLI interface for ClickUp operations.\n\n**Usage:**\n```bash\npython scripts/clickup_client.py <command> [key=value ...]\n```\n\n**Commands:**\n\n#### Workspace Operations\n- `get_teams` - List all accessible workspaces\n\n#### Space Operations\n- `get_spaces team_id=\"xxx\"` - List spaces\n- `create_space team_id=\"xxx\" name=\"Name\" [options...]` - Create space\n- `update_space space_id=\"xxx\" [options...]` - Update space\n\n#### Folder Operations\n- `get_folders space_id=\"xxx\"` - List folders\n- `create_folder space_id=\"xxx\" name=\"Name\"` - Create folder\n\n#### List Operations\n- `get_lists folder_id=\"xxx\"` - Lists in folder\n- `get_space_lists space_id=\"xxx\"` - Folderless lists\n- `create_list folder_id=\"xxx\" name=\"Name\" [options...]` - Create in folder\n- `create_space_list space_id=\"xxx\" name=\"Name\" [options...]` - Create folderless\n\n#### Task Operations\n- `get_task task_id=\"xxx\"` - Get task details (includes dependencies, linked tasks)\n- `get_tasks list_id=\"xxx\" [filters...]` - List tasks\n- `create_task list_id=\"xxx\" name=\"Name\" [options...]` - Create task\n- `update_task task_id=\"xxx\" [options...]` - Update task\n\n#### Time Tracking\n- `get_time_entries team_id=\"xxx\" [filters...]` - List entries\n- `create_time_entry team_id=\"xxx\" task_id=\"yyy\" duration=3600000 [...]` - Create entry\n- `start_timer team_id=\"xxx\" task_id=\"yyy\"` - Start timer\n- `stop_timer team_id=\"xxx\"` - Stop timer\n\n#### Documents (API v3)\n- `get_docs workspace_id=\"xxx\"` - List documents\n- `create_doc workspace_id=\"xxx\" name=\"Name\" [options...]` - Create document\n- `get_doc doc_id=\"xxx\"` - Get document details\n\n**Note on Pages:** Doc pages API is in beta. Pages may need to be created via ClickUp UI.\n\n#### Doc-Task Linking\n- `link_doc_to_task task_id=\"xxx\" doc_id=\"yyy\"` - Attach doc URL to task\n- `mention_doc_in_task task_id=\"xxx\" doc_id=\"yyy\"` - Add doc link to task description\n\n#### Task Dependencies (Blocking/Waiting On)\n- `add_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Task is blocked by/waiting on another task\n- `add_dependency task_id=\"xxx\" waiting_on=\"yyy\"` - Another task is blocked by/waiting on this task\n- `remove_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Remove dependency\n- `get_dependencies task_id=\"xxx\"` - List all dependencies for a task\n\n#### Task Linking (Arbitrary Relationships)\n- `link_tasks task_id=\"xxx\" links_to=\"yyy\"` - Create arbitrary link between tasks\n- `unlink_tasks task_id=\"xxx\" links_to=\"yyy\"` - Remove task link\n\n#### Reporting & Analytics\n- `get_all_tasks team_id=\"xxx\" [include_closed=\"true\"] [space_ids='[\"id1\"]'] [assignees='[\"uid1\"]']` - All tasks with auto-pagination (always includes subtasks)\n- `task_counts team_id=\"xxx\" [filters...]` - Count breakdown: total, parents, subtasks, unassigned\n- `assignee_breakdown team_id=\"xxx\" [filters...]` - Workload distribution by assignee\n- `status_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by status\n- `priority_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by priority\n- `standup_report team_id=\"xxx\" [assignee_id=\"yyy\"]` - Daily standup report grouped by status\n\n#### Documents\n- `get_docs team_id=\"xxx\"` - List documents\n- `create_doc team_id=\"xxx\" name=\"Name\" [options...]` - Create document\n\n## Advanced Configuration\n\n### Custom Fields\n\nTo work with custom fields:\n\n1. Get field definitions: `GET /list/{list_id}/field` (see API Reference)\n2. Set values when creating/updating tasks:\n   ```bash\n   python scripts/clickup_client.py update_task \\\n     task_id=\"xxx\" \\\n     'custom_fields=[{\"id\":\"field_id\",\"value\":\"value\"}]'\n   ```\n\n### Status Configuration\n\nWhen creating/updating spaces or lists:\n\n```bash\npython scripts/clickup_client.py update_space \\\n  space_id=\"xxx\" \\\n  'statuses=[{\"status\":\"To Do\",\"type\":\"open\"},{\"status\":\"Done\",\"type\":\"closed\"}]'\n```\n\n### Priority Levels\n\n- `1` - Urgent\n- `2` - High\n- `3` - Normal\n- `4` - Low\n\n## Error Handling\n\nCommon errors and solutions:\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `401 Unauthorized` | Invalid API token | Check CLICKUP_API_TOKEN |\n| `404 Not Found` | Invalid ID | Verify workspace/space/folder/list/task IDs |\n| `429 Too Many Requests` | Rate limit | Wait and retry (100 req/min limit) |\n| `400 Bad Request` | Invalid parameters | Check JSON format in arguments |\n\n## Python Client Usage\n\nFor complex operations, import the client directly:\n\n```python\nfrom scripts.clickup_client import ClickUpClient\n\nclient = ClickUpClient()\n\n# Get all workspaces\nteams = client.get_teams()\n\n# Create task with full control\ntask = client.create_task(\n    list_id=\"123\",\n    name=\"Complex Task\",\n    description=\"Detailed description\",\n    assignees=[123, 456],\n    tags=[\"urgent\", \"client\"],\n    priority=2,\n    due_date=1704067200000,\n    time_estimate=14400000\n)\n```\n\n## References\n\n- **API Details**: See [references/api_reference.md](references/api_reference.md) for complete endpoint documentation, request/response formats, and field types.\n- **ClickUp API Docs**: https://clickup.com/api\n\n## Best Practices\n\n1. **Store IDs**: Workspace/space/folder/list IDs rarely change. Store them in `TOOLS.md` for quick reference.\n2. **Custom Task IDs**: If using custom IDs, always include `custom_task_ids=true` and `team_id` in task operations.\n3. **Rate Limiting**: Space out bulk operations to avoid 429 errors.\n4. **Time Tracking**: Use milliseconds for all duration/timestamp values.\n5. **Multi-Workspace**: Always double-check `team_id` when working across workspaces to avoid modifying wrong workspace.\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn7f2k6h1966tz57xe7vnhzrrd809tff\",\n  \"slug\": \"clickup-skill\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1771014391882\n}\n\nFile v1.1.2:clickup/references/api_reference.md\n\n# ClickUp API Reference\n\n## Authentication\n\nAll requests require an API token passed in the `Authorization` header:\n```\nAuthorization: pk_xxxxxxxxxxxxxxxxxxxx\n```\n\nSet via environment variable: `CLICKUP_API_TOKEN`\n\n## Rate Limits\n- 100 requests per minute per token\n- 500 requests per minute per OAuth app\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n└── Space\n    ├── Folder\n    │   └── List\n    │       └── Task\n    └── List (Folderless)\n        └── Task\n```\n\n## Common Operations\n\n### Workspaces (Teams)\n- `GET /team` - List all workspaces\n- `GET /team/{team_id}` - Get workspace details\n\n### Spaces\n- `GET /team/{team_id}/space` - List spaces\n- `POST /team/{team_id}/space` - Create space\n- `PUT /space/{space_id}` - Update space\n- `DELETE /space/{space_id}` - Delete space\n\n**Space Configuration Options:**\n```json\n{\n  \"name\": \"Space Name\",\n  \"multiple_assignees\": true,\n  \"features\": {\n    \"due_dates\": {\"enabled\": true, \"remap_due_dates\": true, \"remap_closed_due_date\": false},\n    \"time_tracking\": {\"enabled\": true},\n    \"tags\": {\"enabled\": true},\n    \"time_estimates\": {\"enabled\": true},\n    \"checklists\": {\"enabled\": true},\n    \"custom_fields\": {\"enabled\": true},\n    \"remap_dependencies\": {\"enabled\": true},\n    \"dependency_warning\": {\"enabled\": true},\n    \"portfolios\": {\"enabled\": true}\n  }\n}\n```\n\n### Folders\n- `GET /space/{space_id}/folder` - List folders\n- `POST /space/{space_id}/folder` - Create folder\n- `PUT /folder/{folder_id}` - Update folder\n- `DELETE /folder/{folder_id}` - Delete folder\n\n### Lists\n- `GET /folder/{folder_id}/list` - List lists in folder\n- `GET /space/{space_id}/list` - List folderless lists\n- `POST /folder/{folder_id}/list` - Create list in folder\n- `POST /space/{space_id}/list` - Create folderless list\n- `PUT /list/{list_id}` - Update list\n- `DELETE /list/{list_id}` - Delete list\n\n**List Configuration Options:**\n```json\n{\n  \"name\": \"List Name\",\n  \"content\": \"Description\",\n  \"status\": {\"status\": \"red\", \"hide_label\": true},\n  \"priority\": 1,\n  \"assignee\": 123,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"folder_id\": \"456\"\n}\n```\n\n### Tasks\n- `GET /list/{list_id}/task` - List tasks\n- `GET /task/{task_id}` - Get task details\n- `POST /list/{list_id}/task` - Create task\n- `PUT /task/{task_id}` - Update task\n- `DELETE /task/{task_id}` - Delete task\n\n**Task Creation Options:**\n```json\n{\n  \"name\": \"Task Name\",\n  \"description\": \"Task description\",\n  \"assignees\": [123, 456],\n  \"tags\": [\"tag1\", \"tag2\"],\n  \"status\": \"to do\",\n  \"priority\": 1,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"time_estimate\": 8640000,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"notify_all\": true,\n  \"parent\": null,\n  \"links_to\": null,\n  \"custom_fields\": [\n    {\"id\": \"abc\", \"value\": \"value\"}\n  ]\n}\n```\n\n**Task Update Options:**\nSame as create, plus:\n```json\n{\n  \"archived\": false\n}\n```\n\n### Time Tracking\n- `GET /team/{team_id}/time_entries` - List time entries\n- `GET /team/{team_id}/time_entries/{time_entry_id}` - Get time entry\n- `POST /team/{team_id}/time_entries` - Create time entry\n- `PUT /team/{team_id}/time_entries/{time_entry_id}` - Update time entry\n- `DELETE /team/{team_id}/time_entries/{time_entry_id}` - Delete time entry\n- `POST /task/{task_id}/time/start_timer` - Start timer\n- `POST /task/{task_id}/time/stop_timer` - Stop timer\n\n**Time Entry Creation:**\n```json\n{\n  \"tid\": \"task_id\",\n  \"description\": \"Worked on feature\",\n  \"duration\": 3600000,\n  \"start\": 1567780450202,\n  \"billable\": true,\n  \"assignee\": 123\n}\n```\n\n### Documents\n- `GET /team/{team_id}/doc` - List documents\n- `GET /doc/{doc_id}` - Get document\n- `POST /team/{team_id}/doc` - Create document\n- `PUT /doc/{doc_id}` - Update document\n- `DELETE /doc/{doc_id}` - Delete document\n- `GET /doc/{doc_id}/page` - List pages\n- `POST /doc/{doc_id}/page` - Create page\n- `PUT /doc/{doc_id}/page/{page_id}` - Update page\n\n**Document Creation:**\n```json\n{\n  \"name\": \"Document Name\",\n  \"parent\": {\"id\": \"parent_id\", \"type\": 6},\n  \"template_id\": \"template_id\",\n  \"visibility\": \"private\"\n}\n```\n\n**Document Page Creation:**\n```json\n{\n  \"name\": \"Page Title\",\n  \"content\": \"Page content in ClickUp format\",\n  \"parent_page_id\": \"parent_page_id\"\n}\n```\n\n## Custom Fields\n\n### Get Custom Fields\n- `GET /list/{list_id}/field` - List custom fields in list\n\n### Set Custom Field Value\n- `POST /task/{task_id}/field/{field_id}` - Set field value\n\n**Custom Field Types:**\n- `url`: String\n- `drop_down`: Integer (option index)\n- `labels`: Array of strings\n- `text`: String\n- `number`: Number\n- `date`: Timestamp\n- `emoji`: String\n- `checkbox`: Boolean\n- `currency`: Number\n- `location`: Object with `lat`, `lng`, `formatted_address`\n- `users`: Array of user IDs\n- `attachment`: File object\n\n## Statuses\n\n### Space Statuses\n- `GET /space/{space_id}/status` - Get space statuses\n\nStatus types:\n- `open` - Active statuses\n- `closed` - Done/complete statuses\n- `custom` - Custom workflow statuses\n\n## Tags\n\n- `GET /space/{space_id}/tag` - List tags\n- `POST /space/{space_id}/tag` - Create tag\n- `PUT /space/{space_id}/tag/{tag_name}` - Update tag\n- `DELETE /space/{space_id}/tag/{tag_name}` - Delete tag\n\n## Multi-Workspace Considerations\n\nWhen working across workspaces:\n\n1. **Workspace IDs are unique** - All operations require explicit team_id\n2. **Custom task IDs** - If using custom task IDs, include `custom_task_ids=true` and `team_id` in requests\n3. **Permissions** - API token must have access to target workspace\n4. **Rate limits** - Shared across all workspaces for the token\n\n### Script Usage for Multi-Workspace\n\n```bash\n# List all workspaces\npython scripts/clickup_client.py get_teams\n\n# Get spaces in specific workspace\npython scripts/clickup_client.py get_spaces team_id=\"123\"\n\n# Create task in workspace A\npython scripts/clickup_client.py create_task list_id=\"abc\" name=\"Task Name\"\n\n# Create task in workspace B (same script, different IDs)\npython scripts/clickup_client.py create_task list_id=\"xyz\" name=\"Another Task\"\n```\n\nFile v1.1.2:references/api_reference.md\n\n# ClickUp API Reference\n\n## Authentication\n\nAll requests require an API token passed in the `Authorization` header:\n```\nAuthorization: pk_xxxxxxxxxxxxxxxxxxxx\n```\n\nSet via environment variable: `CLICKUP_API_TOKEN`\n\n## Rate Limits\n- 100 requests per minute per token\n- 500 requests per minute per OAuth app\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n└── Space\n    ├── Folder\n    │   └── List\n    │       └── Task\n    └── List (Folderless)\n        └── Task\n```\n\n## Common Operations\n\n### Workspaces (Teams)\n- `GET /team` - List all workspaces\n- `GET /team/{team_id}` - Get workspace details\n\n### Spaces\n- `GET /team/{team_id}/space` - List spaces\n- `POST /team/{team_id}/space` - Create space\n- `PUT /space/{space_id}` - Update space\n- `DELETE /space/{space_id}` - Delete space\n\n**Space Configuration Options:**\n```json\n{\n  \"name\": \"Space Name\",\n  \"multiple_assignees\": true,\n  \"features\": {\n    \"due_dates\": {\"enabled\": true, \"remap_due_dates\": true, \"remap_closed_due_date\": false},\n    \"time_tracking\": {\"enabled\": true},\n    \"tags\": {\"enabled\": true},\n    \"time_estimates\": {\"enabled\": true},\n    \"checklists\": {\"enabled\": true},\n    \"custom_fields\": {\"enabled\": true},\n    \"remap_dependencies\": {\"enabled\": true},\n    \"dependency_warning\": {\"enabled\": true},\n    \"portfolios\": {\"enabled\": true}\n  }\n}\n```\n\n### Folders\n- `GET /space/{space_id}/folder` - List folders\n- `POST /space/{space_id}/folder` - Create folder\n- `PUT /folder/{folder_id}` - Update folder\n- `DELETE /folder/{folder_id}` - Delete folder\n\n### Lists\n- `GET /folder/{folder_id}/list` - List lists in folder\n- `GET /space/{space_id}/list` - List folderless lists\n- `POST /folder/{folder_id}/list` - Create list in folder\n- `POST /space/{space_id}/list` - Create folderless list\n- `PUT /list/{list_id}` - Update list\n- `DELETE /list/{list_id}` - Delete list\n\n**List Configuration Options:**\n```json\n{\n  \"name\": \"List Name\",\n  \"content\": \"Description\",\n  \"status\": {\"status\": \"red\", \"hide_label\": true},\n  \"priority\": 1,\n  \"assignee\": 123,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"folder_id\": \"456\"\n}\n```\n\n### Tasks\n- `GET /list/{list_id}/task` - List tasks\n- `GET /task/{task_id}` - Get task details\n- `POST /list/{list_id}/task` - Create task\n- `PUT /task/{task_id}` - Update task\n- `DELETE /task/{task_id}` - Delete task\n\n**Task Creation Options:**\n```json\n{\n  \"name\": \"Task Name\",\n  \"description\": \"Task description\",\n  \"assignees\": [123, 456],\n  \"tags\": [\"tag1\", \"tag2\"],\n  \"status\": \"to do\",\n  \"priority\": 1,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"time_estimate\": 8640000,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"notify_all\": true,\n  \"parent\": null,\n  \"links_to\": null,\n  \"custom_fields\": [\n    {\"id\": \"abc\", \"value\": \"value\"}\n  ]\n}\n```\n\n**Task Update Options:**\nSame as create, plus:\n```json\n{\n  \"archived\": false\n}\n```\n\n### Time Tracking\n- `GET /team/{team_id}/time_entries` - List time entries\n- `GET /team/{team_id}/time_entries/{time_entry_id}` - Get time entry\n- `POST /team/{team_id}/time_entries` - Create time entry\n- `PUT /team/{team_id}/time_entries/{time_entry_id}` - Update time entry\n- `DELETE /team/{team_id}/time_entries/{time_entry_id}` - Delete time entry\n- `POST /task/{task_id}/time/start_timer` - Start timer\n- `POST /task/{task_id}/time/stop_timer` - Stop timer\n\n**Time Entry Creation:**\n```json\n{\n  \"tid\": \"task_id\",\n  \"description\": \"Worked on feature\",\n  \"duration\": 3600000,\n  \"start\": 1567780450202,\n  \"billable\": true,\n  \"assignee\": 123\n}\n```\n\n### Documents\n- `GET /team/{team_id}/doc` - List documents\n- `GET /doc/{doc_id}` - Get document\n- `POST /team/{team_id}/doc` - Create document\n- `PUT /doc/{doc_id}` - Update document\n- `DELETE /doc/{doc_id}` - Delete document\n- `GET /doc/{doc_id}/page` - List pages\n- `POST /doc/{doc_id}/page` - Create page\n- `PUT /doc/{doc_id}/page/{page_id}` - Update page\n\n**Document Creation:**\n```json\n{\n  \"name\": \"Document Name\",\n  \"parent\": {\"id\": \"parent_id\", \"type\": 6},\n  \"template_id\": \"template_id\",\n  \"visibility\": \"private\"\n}\n```\n\n**Document Page Creation:**\n```json\n{\n  \"name\": \"Page Title\",\n  \"content\": \"Page content in ClickUp format\",\n  \"parent_page_id\": \"parent_page_id\"\n}\n```\n\n## Custom Fields\n\n### Get Custom Fields\n- `GET /list/{list_id}/field` - List custom fields in list\n\n### Set Custom Field Value\n- `POST /task/{task_id}/field/{field_id}` - Set field value\n\n**Custom Field Types:**\n- `url`: String\n- `drop_down`: Integer (option index)\n- `labels`: Array of strings\n- `text`: String\n- `number`: Number\n- `date`: Timestamp\n- `emoji`: String\n- `checkbox`: Boolean\n- `currency`: Number\n- `location`: Object with `lat`, `lng`, `formatted_address`\n- `users`: Array of user IDs\n- `attachment`: File object\n\n## Statuses\n\n### Space Statuses\n- `GET /space/{space_id}/status` - Get space statuses\n\nStatus types:\n- `open` - Active statuses\n- `closed` - Done/complete statuses\n- `custom` - Custom workflow statuses\n\n## Tags\n\n- `GET /space/{space_id}/tag` - List tags\n- `POST /space/{space_id}/tag` - Create tag\n- `PUT /space/{space_id}/tag/{tag_name}` - Update tag\n- `DELETE /space/{space_id}/tag/{tag_name}` - Delete tag\n\n## Multi-Workspace Considerations\n\nWhen working across workspaces:\n\n1. **Workspace IDs are unique** - All operations require explicit team_id\n2. **Custom task IDs** - If using custom task IDs, include `custom_task_ids=true` and `team_id` in requests\n3. **Permissions** - API token must have access to target workspace\n4. **Rate limits** - Shared across all workspaces for the token\n\n### Script Usage for Multi-Workspace\n\n```bash\n# List all workspaces\npython scripts/clickup_client.py get_teams\n\n# Get spaces in specific workspace\npython scripts/clickup_client.py get_spaces team_id=\"123\"\n\n# Create task in workspace A\npython scripts/clickup_client.py create_task list_id=\"abc\" name=\"Task Name\"\n\n# Create task in workspace B (same script, different IDs)\npython scripts/clickup_client.py create_task list_id=\"xyz\" name=\"Another Task\"\n```\n\nFile v1.1.2:clickup/CHANGELOG.md\n\n# ClickUp Skill Changelog\n\n## 2026-01-31 - Enhanced Reporting & Multi-Workspace Support\n\n### Summary\n\nThis update transforms the ClickUp skill from a basic task management tool into an **enterprise-grade agency workflow solution** with advanced analytics, multi-workspace support, and sophisticated client/project organization.\n\n---\n\n## What's New\n\n### 🔍 Automatic Subtask Inclusion\n\n**Problem:** Standard ClickUp API calls miss 70%+ of actual work because subtasks aren't included by default.\n\n**Solution:** All reporting methods automatically include `subtasks=true`, ensuring complete visibility into:\n- Parent tasks (containers)\n- Subtasks (actual work items)\n\n### 📊 Advanced Reporting Suite\n\nNew commands added for comprehensive analytics:\n\n| Command | Purpose | Output |\n|---------|---------|--------|\n| `task_counts` | Task volume breakdown | `{\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}` |\n| `assignee_breakdown` | Workload distribution | `{\"John\": 15, \"Jane\": 12, \"Unassigned\": 8}` |\n| `status_breakdown` | Tasks by status | `{\"to do\": 20, \"in progress\": 10, \"complete\": 15}` |\n| `priority_breakdown` | Tasks by priority | `{\"urgent\": 2, \"high\": 5, \"normal\": 15}` |\n| `standup_report` | Daily status report | Grouped by status category |\n| `get_all_tasks` | Full task export | Auto-pagination, all pages |\n\n**Key Features:**\n- Automatic pagination handling (no 100-task limit)\n- Filter by space, assignee, or include closed tasks\n- Parent vs. subtask distinction\n- Rate limit compliance (100 req/min)\n\n### 🏢 Multi-Workspace Architecture\n\nSeamlessly work across all your workspaces:\n- Client Work (agency projects)\n- Product Development (internal tools)\n- Personal Projects (side work)\n- Community (meetups/events)\n- Family (household management)\n\n### 👥 Client/Project Organization\n\nStructured folder hierarchy for each client:\n```\n📁 Client Folder\n├── 📋 Client Overview (relationship status)\n├── 📁 Completed Work (historical projects)\n├── 🟢 Active Projects (current work)\n└── 🟡 Proposals (in negotiation)\n```\n\n### 📈 Sales Pipeline Tracking\n\nTrack projects from prospect to completion:\n- New prospect negotiations\n- Existing client expansion\n- Proposal status monitoring\n- Project lifecycle management\n\n---\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **Always includes subtasks** | Never miss 70%+ of actual work |\n| **Advanced reporting** | Task counts, workload distribution, status breakdowns |\n| **Multi-workspace** | Seamlessly switch between all workspaces |\n| **Client organization** | Structured folders for overview, completed, and active work |\n| **Sales pipeline** | Track proposals and negotiations |\n| **Time tracking** | Built-in timers and billing support |\n| **Document management** | Create docs and pages via API v3 |\n| **Task relationships** | Dependencies, blocking/waiting, arbitrary linking |\n\n---\n\n## Comparison: Community vs. Our Skill\n\n| | Community Skill | **Our Enhanced Skill** |\n|--|-----------------|------------------------|\n| **Language** | Bash scripts | Python client |\n| **Workspaces** | Single | **Multi-workspace** |\n| **Focus** | Read-only reports | **Full CRUD + reports** |\n| **Client structure** | None | **Custom folders/lists** |\n| **Subtasks** | Manual flag | **Automatic inclusion** |\n| **Pagination** | Manual loops | **Auto-handled** |\n| **Scope** | Generic queries | **Agency workflow** |\n\n---\n\n## Who This Is For\n\nThis skill is specifically built for:\n\n- **Agencies** managing multiple clients\n- **Freelancers** with complex project portfolios\n- **Product teams** juggling multiple workspaces\n- **Anyone** who needs visibility across ClickUp hierarchies\n\n---\n\n## Technical Highlights\n\n### Critical API Rules Implemented\n\n1. **Always Include Subtasks**\n   ```python\n   params = {\"subtasks\": \"true\", ...}  # Never skip this\n   ```\n\n2. **Handle Pagination**\n   ```python\n   while not result.get(\"last_page\"):\n       page += 1\n       # fetch next page\n   ```\n\n3. **Distinguish Parent vs Subtask**\n   ```python\n   parents = [t for t in tasks if t.get(\"parent\") is None]\n   subtasks = [t for t in tasks if t.get(\"parent\") is not None]\n   ```\n\n### Rate Limiting\n\n- Respects ClickUp's 100 requests/minute limit\n- Automatic retry logic for 429 responses\n- Pagination loops include safety limits (max 10 pages/1000 tasks)\n\n---\n\n## Files Updated\n\n| File | Changes |\n|------|---------|\n| `SKILL.md` | Complete rewrite with benefits table, reporting workflows |\n| `scripts/clickup_client.py` | Added 6 new reporting methods, 200+ lines |\n\n---\n\n## Usage Examples\n\n### Quick Reporting\n\n```bash\n# Task breakdown\npython scripts/clickup_client.py task_counts team_id=\"YOUR_TEAM_ID\"\n\n# Workload distribution\npython scripts/clickup_client.py assignee_breakdown team_id=\"YOUR_TEAM_ID\"\n\n# Daily standup\npython scripts/clickup_client.py standup_report team_id=\"YOUR_TEAM_ID\"\n```\n\n### With Filters\n\n```bash\n# Specific space\npython scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"SPACE_ID_HERE\"]'\n\n# Specific assignee\npython scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"USER_ID_HERE\"]'\n\n# Include completed\npython scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n```\n\n---\n\n## Result\n\nThis skill now clearly communicates it's **not just another ClickUp integration** — it's a comprehensive agency workflow solution that stands apart from generic community alternatives.\n\nArchive v1.1.1: 5 files, 15329 bytes\n\nFiles: CHANGELOG.md (5562b), references/api_reference.md (6063b), scripts/clickup_client.py (29640b), SKILL.md (13965b), _meta.json (132b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: clickup\ndescription: \"Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking (📋 Client Overview, 📁 Completed Work, active project lists), (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.\"\n---\n\n# ClickUp Skill\n\n**Enterprise-grade ClickUp integration for agency workflows.** Manage multiple clients, projects, and workspaces with advanced reporting, automatic subtask handling, and sophisticated folder organization.\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **🔍 Always includes subtasks** | Never miss 70%+ of actual work — subtasks included automatically |\n| **📊 Advanced reporting** | Task counts, workload distribution, status breakdowns, standup reports |\n| **🏢 Multi-workspace** | Seamlessly switch between Client Work, Product Development, Personal Projects, and more |\n| **👥 Client organization** | Structured folders: 📋 Client Overview, 📁 Completed Work, active projects |\n| **📈 Sales pipeline** | Track proposals, negotiations, and project lifecycles |\n| **⏱️ Time tracking** | Built-in timers and manual entries with billing support |\n| **📄 Document management** | Create docs and pages via API v3 |\n| **🔗 Task relationships** | Dependencies, blocking/waiting, and arbitrary task linking |\n\n## Quick Start\n\n### Setup\nSet your ClickUp API token:\n```bash\nexport CLICKUP_API_TOKEN=\"pk_your_token_here\"\n```\n\nGet your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**\n```bash\npython skills/clickup/scripts/clickup_client.py get_teams\n```\n\n**Create a task:**\n```bash\npython skills/clickup/scripts/clickup_client.py create_task list_id=\"123\" name=\"New Task\" status=\"to do\"\n```\n\n**Update a task:**\n```bash\npython skills/clickup/scripts/clickup_client.py update_task task_id=\"abc\" status=\"in progress\"\n```\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n├── Spaces\n│   ├── Folders\n│   │   └── Lists → Tasks\n│   └── Lists (Folderless) → Tasks\n└── Documents\n```\n\nAll operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspaces:\n\n1. Use `get_teams` to list available workspaces\n2. Reference workspace by `team_id` in operations\n3. Each workspace maintains independent spaces, folders, lists\n4. Custom task IDs require both `custom_task_ids=true` and `team_id`\n\n## Common Workflows\n\n### Workflow: Create Task in Specific Workspace\n\n1. Get workspace ID: `get_teams`\n2. Get target space: `get_spaces team_id=\"xxx\"`\n3. Get or create list: `get_folders space_id=\"yyy\"` → `get_lists folder_id=\"zzz\"`\n4. Create task: `create_task list_id=\"aaa\" name=\"Task\" ...`\n\n### Workflow: Configure Space Statuses\n\n1. Get space: `get_space space_id=\"xxx\"`\n2. Update space with statuses: `update_space space_id=\"xxx\" statuses=[...]`\n\nSee [API Reference](references/api_reference.md) for status configuration format.\n\n### Workflow: Track Time on Task\n\n**Option A - Manual Entry:**\n```bash\npython skills/clickup_client.py create_time_entry \\\n  team_id=\"xxx\" \\\n  task_id=\"yyy\" \\\n  duration=3600000 \\\n  description=\"Worked on feature\"\n```\n\n**Option B - Timer:**\n```bash\n# Start timer\npython skills/clickup/scripts/clickup_client.py start_timer team_id=\"xxx\" task_id=\"yyy\"\n\n# Stop timer (stops current running timer for user)\npython skills/clickup/scripts/clickup_client.py stop_timer team_id=\"xxx\"\n```\n\n### Workflow: Create Document Structure\n\n1. Create doc: `create_doc workspace_id=\"xxx\" name=\"Project Docs\"`\n2. Add pages: Use ClickUp UI (pages API is in beta)\n\nNote: Documents use ClickUp API v3 (workspace_id instead of team_id).\n\n### Workflow: Reporting & Analytics\n\n**Get task counts (with parent/subtask breakdown):**\n```bash\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\"\n# Returns: {\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}\n```\n\n**Get workload by assignee:**\n```bash\npython skills/clickup/scripts/clickup_client.py assignee_breakdown team_id=\"xxx\"\n# Returns: {\"John Doe\": 15, \"Jane Smith\": 12, \"Unassigned\": 8}\n```\n\n**Get tasks by status:**\n```bash\npython skills/clickup/scripts/clickup_client.py status_breakdown team_id=\"xxx\"\n# Returns: {\"to do\": 20, \"in progress\": 10, \"complete\": 15}\n```\n\n**Get tasks by priority:**\n```bash\npython skills/clickup/scripts/clickup_client.py priority_breakdown team_id=\"xxx\"\n# Returns: {\"urgent\": 2, \"high\": 5, \"normal\": 15, \"low\": 8, \"none\": 20}\n```\n\n**Daily standup report (grouped by status):**\n```bash\n# All team members\npython skills/clickup/scripts/clickup_client.py standup_report team_id=\"xxx\"\n\n# Specific person (use user ID)\npython skills/clickup/scripts/clickup_client.py standup_report team_id=\"xxx\" assignee_id=\"12345\"\n```\n\n**Get all tasks with pagination (auto-handled):**\n```bash\npython skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\"\n# Always includes subtasks automatically (critical!)\n```\n\n**Filter reports by space or assignee:**\n```bash\n# Specific space\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"SPACE_ID_HERE\"]'\n\n# Specific assignee\npython skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"12345\"]'\n\n# Include closed tasks\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n```\n\n**Critical Rules for Reporting:**\n1. **Always include subtasks** — Our methods do this automatically via `subtasks=true`\n2. **Pagination handled** — `get_all_tasks` loops until all pages retrieved\n3. **Parent vs Subtask** — Parents have `parent: null`, subtasks have `parent: \"task_id\"`\n4. **Rate limit** — 100 requests/min; our pagination respects this\n\n### Workflow: Link Doc to Task\n\n**Option A - Add as attachment:**\n```bash\npython skills/clickup/scripts/clickup_client.py link_doc_to_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\n**Option B - Mention in description:**\n```bash\npython skills/clickup/scripts/clickup_client.py mention_doc_in_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\nBoth create clickable links to the document from the task.\n\n### Workflow: Task Dependencies\n\n**Set up blocking relationship:**\n```bash\n# Task B is blocked by/waiting on Task A\npython skills/clickup/scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n\n# Check dependencies\npython skills/clickup/scripts/clickup_client.py get_dependencies \\\n  task_id=\"TASK_B_ID\"\n\n# Remove dependency\npython skills/clickup/scripts/clickup_client.py remove_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n```\n\n**Set up reverse dependency (task is blocking another):**\n```bash\n# Task A is blocking Task B\npython skills/clickup/scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_A_ID\" \\\n  waiting_on=\"TASK_B_ID\"\n```\n\n### Workflow: Link Related Tasks (Non-Dependency)\n\nFor related tasks that aren't blocking each other:\n\n```bash\n# Link Task A to Task B (arbitrary relationship)\npython skills/clickup/scripts/clickup_client.py link_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n\n# Remove link\npython skills/clickup/scripts/clickup_client.py unlink_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n```\n\nNote: `link_tasks` creates a \"linked task\" relationship (appears in task's \"Linked Tasks\" section), while `add_dependency` creates blocking/waiting relationships.\n\n### Workflow: Bulk Task Operations\n\nFor bulk operations, loop through tasks:\n```bash\n# Get tasks\nTASKS=$(python skills/clickup/scripts/clickup_client.py get_tasks list_id=\"xxx\")\n\n# Process each (parse JSON and loop)\n```\n\n## Script Reference\n\n### scripts/clickup_client.py\n\nMain CLI interface for ClickUp operations.\n\n**Usage:**\n```bash\npython scripts/clickup_client.py <command> [key=value ...]\n```\n\n**Commands:**\n\n#### Workspace Operations\n- `get_teams` - List all accessible workspaces\n\n#### Space Operations\n- `get_spaces team_id=\"xxx\"` - List spaces\n- `create_space team_id=\"xxx\" name=\"Name\" [options...]` - Create space\n- `update_space space_id=\"xxx\" [options...]` - Update space\n\n#### Folder Operations\n- `get_folders space_id=\"xxx\"` - List folders\n- `create_folder space_id=\"xxx\" name=\"Name\"` - Create folder\n\n#### List Operations\n- `get_lists folder_id=\"xxx\"` - Lists in folder\n- `get_space_lists space_id=\"xxx\"` - Folderless lists\n- `create_list folder_id=\"xxx\" name=\"Name\" [options...]` - Create in folder\n- `create_space_list space_id=\"xxx\" name=\"Name\" [options...]` - Create folderless\n\n#### Task Operations\n- `get_task task_id=\"xxx\"` - Get task details (includes dependencies, linked tasks)\n- `get_tasks list_id=\"xxx\" [filters...]` - List tasks\n- `create_task list_id=\"xxx\" name=\"Name\" [options...]` - Create task\n- `update_task task_id=\"xxx\" [options...]` - Update task\n\n#### Time Tracking\n- `get_time_entries team_id=\"xxx\" [filters...]` - List entries\n- `create_time_entry team_id=\"xxx\" task_id=\"yyy\" duration=3600000 [...]` - Create entry\n- `start_timer team_id=\"xxx\" task_id=\"yyy\"` - Start timer\n- `stop_timer team_id=\"xxx\"` - Stop timer\n\n#### Documents (API v3)\n- `get_docs workspace_id=\"xxx\"` - List documents\n- `create_doc workspace_id=\"xxx\" name=\"Name\" [options...]` - Create document\n- `get_doc doc_id=\"xxx\"` - Get document details\n\n**Note on Pages:** Doc pages API is in beta. Pages may need to be created via ClickUp UI.\n\n#### Doc-Task Linking\n- `link_doc_to_task task_id=\"xxx\" doc_id=\"yyy\"` - Attach doc URL to task\n- `mention_doc_in_task task_id=\"xxx\" doc_id=\"yyy\"` - Add doc link to task description\n\n#### Task Dependencies (Blocking/Waiting On)\n- `add_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Task is blocked by/waiting on another task\n- `add_dependency task_id=\"xxx\" waiting_on=\"yyy\"` - Another task is blocked by/waiting on this task\n- `remove_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Remove dependency\n- `get_dependencies task_id=\"xxx\"` - List all dependencies for a task\n\n#### Task Linking (Arbitrary Relationships)\n- `link_tasks task_id=\"xxx\" links_to=\"yyy\"` - Create arbitrary link between tasks\n- `unlink_tasks task_id=\"xxx\" links_to=\"yyy\"` - Remove task link\n\n#### Reporting & Analytics\n- `get_all_tasks team_id=\"xxx\" [include_closed=\"true\"] [space_ids='[\"id1\"]'] [assignees='[\"uid1\"]']` - All tasks with auto-pagination (always includes subtasks)\n- `task_counts team_id=\"xxx\" [filters...]` - Count breakdown: total, parents, subtasks, unassigned\n- `assignee_breakdown team_id=\"xxx\" [filters...]` - Workload distribution by assignee\n- `status_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by status\n- `priority_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by priority\n- `standup_report team_id=\"xxx\" [assignee_id=\"yyy\"]` - Daily standup report grouped by status\n\n#### Documents\n- `get_docs team_id=\"xxx\"` - List documents\n- `create_doc team_id=\"xxx\" name=\"Name\" [options...]` - Create document\n\n## Advanced Configuration\n\n### Custom Fields\n\nTo work with custom fields:\n\n1. Get field definitions: `GET /list/{list_id}/field` (see API Reference)\n2. Set values when creating/updating tasks:\n   ```bash\n   python skills/clickup/scripts/clickup_client.py update_task \\\n     task_id=\"xxx\" \\\n     'custom_fields=[{\"id\":\"field_id\",\"value\":\"value\"}]'\n   ```\n\n### Status Configuration\n\nWhen creating/updating spaces or lists:\n\n```bash\npython skills/clickup/scripts/clickup_client.py update_space \\\n  space_id=\"xxx\" \\\n  'statuses=[{\"status\":\"To Do\",\"type\":\"open\"},{\"status\":\"Done\",\"type\":\"closed\"}]'\n```\n\n### Priority Levels\n\n- `1` - Urgent\n- `2` - High\n- `3` - Normal\n- `4` - Low\n\n## Error Handling\n\nCommon errors and solutions:\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `401 Unauthorized` | Invalid API token | Check CLICKUP_API_TOKEN |\n| `404 Not Found` | Invalid ID | Verify workspace/space/folder/list/task IDs |\n| `429 Too Many Requests` | Rate limit | Wait and retry (100 req/min limit) |\n| `400 Bad Request` | Invalid parameters | Check JSON format in arguments |\n\n## Python Client Usage\n\nFor complex operations, import the client directly:\n\n```python\nfrom skills.clickup.scripts.clickup_client import ClickUpClient\n\nclient = ClickUpClient()\n\n# Get all workspaces\nteams = client.get_teams()\n\n# Create task with full control\ntask = client.create_task(\n    list_id=\"123\",\n    name=\"Complex Task\",\n    description=\"Detailed description\",\n    assignees=[123, 456],\n    tags=[\"urgent\", \"client\"],\n    priority=2,\n    due_date=1704067200000,\n    time_estimate=14400000\n)\n```\n\n## References\n\n- **API Details**: See [references/api_reference.md](references/api_reference.md) for complete endpoint documentation, request/response formats, and field types.\n- **ClickUp API Docs**: https://clickup.com/api\n\n## Best Practices\n\n1. **Store IDs**: Workspace/space/folder/list IDs rarely change. Store them in `TOOLS.md` for quick reference.\n2. **Custom Task IDs**: If using custom IDs, always include `custom_task_ids=true` and `team_id` in task operations.\n3. **Rate Limiting**: Space out bulk operations to avoid 429 errors.\n4. **Time Tracking**: Use milliseconds for all duration/timestamp values.\n5. **Multi-Workspace**: Always double-check `team_id` when working across workspaces to avoid modifying wrong workspace.\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn7f2k6h1966tz57xe7vnhzrrd809tff\",\n  \"slug\": \"clickup-skill\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1769899513738\n}\n\nFile v1.1.1:references/api_reference.md\n\n# ClickUp API Reference\n\n## Authentication\n\nAll requests require an API token passed in the `Authorization` header:\n```\nAuthorization: pk_xxxxxxxxxxxxxxxxxxxx\n```\n\nSet via environment variable: `CLICKUP_API_TOKEN`\n\n## Rate Limits\n- 100 requests per minute per token\n- 500 requests per minute per OAuth app\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n└── Space\n    ├── Folder\n    │   └── List\n    │       └── Task\n    └── List (Folderless)\n        └── Task\n```\n\n## Common Operations\n\n### Workspaces (Teams)\n- `GET /team` - List all workspaces\n- `GET /team/{team_id}` - Get workspace details\n\n### Spaces\n- `GET /team/{team_id}/space` - List spaces\n- `POST /team/{team_id}/space` - Create space\n- `PUT /space/{space_id}` - Update space\n- `DELETE /space/{space_id}` - Delete space\n\n**Space Configuration Options:**\n```json\n{\n  \"name\": \"Space Name\",\n  \"multiple_assignees\": true,\n  \"features\": {\n    \"due_dates\": {\"enabled\": true, \"remap_due_dates\": true, \"remap_closed_due_date\": false},\n    \"time_tracking\": {\"enabled\": true},\n    \"tags\": {\"enabled\": true},\n    \"time_estimates\": {\"enabled\": true},\n    \"checklists\": {\"enabled\": true},\n    \"custom_fields\": {\"enabled\": true},\n    \"remap_dependencies\": {\"enabled\": true},\n    \"dependency_warning\": {\"enabled\": true},\n    \"portfolios\": {\"enabled\": true}\n  }\n}\n```\n\n### Folders\n- `GET /space/{space_id}/folder` - List folders\n- `POST /space/{space_id}/folder` - Create folder\n- `PUT /folder/{folder_id}` - Update folder\n- `DELETE /folder/{folder_id}` - Delete folder\n\n### Lists\n- `GET /folder/{folder_id}/list` - List lists in folder\n- `GET /space/{space_id}/list` - List folderless lists\n- `POST /folder/{folder_id}/list` - Create list in folder\n- `POST /space/{space_id}/list` - Create folderless list\n- `PUT /list/{list_id}` - Update list\n- `DELETE /list/{list_id}` - Delete list\n\n**List Configuration Options:**\n```json\n{\n  \"name\": \"List Name\",\n  \"content\": \"Description\",\n  \"status\": {\"status\": \"red\", \"hide_label\": true},\n  \"priority\": 1,\n  \"assignee\": 123,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"folder_id\": \"456\"\n}\n```\n\n### Tasks\n- `GET /list/{list_id}/task` - List tasks\n- `GET /task/{task_id}` - Get task details\n- `POST /list/{list_id}/task` - Create task\n- `PUT /task/{task_id}` - Update task\n- `DELETE /task/{task_id}` - Delete task\n\n**Task Creation Options:**\n```json\n{\n  \"name\": \"Task Name\",\n  \"description\": \"Task description\",\n  \"assignees\": [123, 456],\n  \"tags\": [\"tag1\", \"tag2\"],\n  \"status\": \"to do\",\n  \"priority\": 1,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"time_estimate\": 8640000,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"notify_all\": true,\n  \"parent\": null,\n  \"links_to\": null,\n  \"custom_fields\": [\n    {\"id\": \"abc\", \"value\": \"value\"}\n  ]\n}\n```\n\n**Task Update Options:**\nSame as create, plus:\n```json\n{\n  \"archived\": false\n}\n```\n\n### Time Tracking\n- `GET /team/{team_id}/time_entries` - List time entries\n- `GET /team/{team_id}/time_entries/{time_entry_id}` - Get time entry\n- `POST /team/{team_id}/time_entries` - Create time entry\n- `PUT /team/{team_id}/time_entries/{time_entry_id}` - Update time entry\n- `DELETE /team/{team_id}/time_entries/{time_entry_id}` - Delete time entry\n- `POST /task/{task_id}/time/start_timer` - Start timer\n- `POST /task/{task_id}/time/stop_timer` - Stop timer\n\n**Time Entry Creation:**\n```json\n{\n  \"tid\": \"task_id\",\n  \"description\": \"Worked on feature\",\n  \"duration\": 3600000,\n  \"start\": 1567780450202,\n  \"billable\": true,\n  \"assignee\": 123\n}\n```\n\n### Documents\n- `GET /team/{team_id}/doc` - List documents\n- `GET /doc/{doc_id}` - Get document\n- `POST /team/{team_id}/doc` - Create document\n- `PUT /doc/{doc_id}` - Update document\n- `DELETE /doc/{doc_id}` - Delete document\n- `GET /doc/{doc_id}/page` - List pages\n- `POST /doc/{doc_id}/page` - Create page\n- `PUT /doc/{doc_id}/page/{page_id}` - Update page\n\n**Document Creation:**\n```json\n{\n  \"name\": \"Document Name\",\n  \"parent\": {\"id\": \"parent_id\", \"type\": 6},\n  \"template_id\": \"template_id\",\n  \"visibility\": \"private\"\n}\n```\n\n**Document Page Creation:**\n```json\n{\n  \"name\": \"Page Title\",\n  \"content\": \"Page content in ClickUp format\",\n  \"parent_page_id\": \"parent_page_id\"\n}\n```\n\n## Custom Fields\n\n### Get Custom Fields\n- `GET /list/{list_id}/field` - List custom fields in list\n\n### Set Custom Field Value\n- `POST /task/{task_id}/field/{field_id}` - Set field value\n\n**Custom Field Types:**\n- `url`: String\n- `drop_down`: Integer (option index)\n- `labels`: Array of strings\n- `text`: String\n- `number`: Number\n- `date`: Timestamp\n- `emoji`: String\n- `checkbox`: Boolean\n- `currency`: Number\n- `location`: Object with `lat`, `lng`, `formatted_address`\n- `users`: Array of user IDs\n- `attachment`: File object\n\n## Statuses\n\n### Space Statuses\n- `GET /space/{space_id}/status` - Get space statuses\n\nStatus types:\n- `open` - Active statuses\n- `closed` - Done/complete statuses\n- `custom` - Custom workflow statuses\n\n## Tags\n\n- `GET /space/{space_id}/tag` - List tags\n- `POST /space/{space_id}/tag` - Create tag\n- `PUT /space/{space_id}/tag/{tag_name}` - Update tag\n- `DELETE /space/{space_id}/tag/{tag_name}` - Delete tag\n\n## Multi-Workspace Considerations\n\nWhen working across workspaces:\n\n1. **Workspace IDs are unique** - All operations require explicit team_id\n2. **Custom task IDs** - If using custom task IDs, include `custom_task_ids=true` and `team_id` in requests\n3. **Permissions** - API token must have access to target workspace\n4. **Rate limits** - Shared across all workspaces for the token\n\n### Script Usage for Multi-Workspace\n\n```bash\n# List all workspaces\npython scripts/clickup_client.py get_teams\n\n# Get spaces in specific workspace\npython scripts/clickup_client.py get_spaces team_id=\"123\"\n\n# Create task in workspace A\npython scripts/clickup_client.py create_task list_id=\"abc\" name=\"Task Name\"\n\n# Create task in workspace B (same script, different IDs)\npython scripts/clickup_client.py create_task list_id=\"xyz\" name=\"Another Task\"\n```\n\nFile v1.1.1:CHANGELOG.md\n\n# ClickUp Skill Changelog\n\n## 2026-01-31 - Enhanced Reporting & Multi-Workspace Support\n\n### Summary\n\nThis update transforms the ClickUp skill from a basic task management tool into an **enterprise-grade agency workflow solution** with advanced analytics, multi-workspace support, and sophisticated client/project organization.\n\n---\n\n## What's New\n\n### 🔍 Automatic Subtask Inclusion\n\n**Problem:** Standard ClickUp API calls miss 70%+ of actual work because subtasks aren't included by default.\n\n**Solution:** All reporting methods automatically include `subtasks=true`, ensuring complete visibility into:\n- Parent tasks (containers)\n- Subtasks (actual work items)\n\n### 📊 Advanced Reporting Suite\n\nNew commands added for comprehensive analytics:\n\n| Command | Purpose | Output |\n|---------|---------|--------|\n| `task_counts` | Task volume breakdown | `{\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}` |\n| `assignee_breakdown` | Workload distribution | `{\"John\": 15, \"Jane\": 12, \"Unassigned\": 8}` |\n| `status_breakdown` | Tasks by status | `{\"to do\": 20, \"in progress\": 10, \"complete\": 15}` |\n| `priority_breakdown` | Tasks by priority | `{\"urgent\": 2, \"high\": 5, \"normal\": 15}` |\n| `standup_report` | Daily status report | Grouped by status category |\n| `get_all_tasks` | Full task export | Auto-pagination, all pages |\n\n**Key Features:**\n- Automatic pagination handling (no 100-task limit)\n- Filter by space, assignee, or include closed tasks\n- Parent vs. subtask distinction\n- Rate limit compliance (100 req/min)\n\n### 🏢 Multi-Workspace Architecture\n\nSeamlessly work across all your workspaces:\n- Client Work (agency projects)\n- Product Development (internal tools)\n- Personal Projects (side work)\n- Community (meetups/events)\n- Family (household management)\n\n### 👥 Client/Project Organization\n\nStructured folder hierarchy for each client:\n```\n📁 Client Folder\n├── 📋 Client Overview (relationship status)\n├── 📁 Completed Work (historical projects)\n├── 🟢 Active Projects (current work)\n└── 🟡 Proposals (in negotiation)\n```\n\n### 📈 Sales Pipeline Tracking\n\nTrack projects from prospect to completion:\n- New prospect negotiations\n- Existing client expansion\n- Proposal status monitoring\n- Project lifecycle management\n\n---\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **Always includes subtasks** | Never miss 70%+ of actual work |\n| **Advanced reporting** | Task counts, workload distribution, status breakdowns |\n| **Multi-workspace** | Seamlessly switch between all workspaces |\n| **Client organization** | Structured folders for overview, completed, and active work |\n| **Sales pipeline** | Track proposals and negotiations |\n| **Time tracking** | Built-in timers and billing support |\n| **Document management** | Create docs and pages via API v3 |\n| **Task relationships** | Dependencies, blocking/waiting, arbitrary linking |\n\n---\n\n## Comparison: Community vs. Our Skill\n\n| | Community Skill | **Our Enhanced Skill** |\n|--|-----------------|------------------------|\n| **Language** | Bash scripts | Python client |\n| **Workspaces** | Single | **Multi-workspace** |\n| **Focus** | Read-only reports | **Full CRUD + reports** |\n| **Client structure** | None | **Custom folders/lists** |\n| **Subtasks** | Manual flag | **Automatic inclusion** |\n| **Pagination** | Manual loops | **Auto-handled** |\n| **Scope** | Generic queries | **Agency workflow** |\n\n---\n\n## Who This Is For\n\nThis skill is specifically built for:\n\n- **Agencies** managing multiple clients\n- **Freelancers** with complex project portfolios\n- **Product teams** juggling multiple workspaces\n- **Anyone** who needs visibility across ClickUp hierarchies\n\n---\n\n## Technical Highlights\n\n### Critical API Rules Implemented\n\n1. **Always Include Subtasks**\n   ```python\n   params = {\"subtasks\": \"true\", ...}  # Never skip this\n   ```\n\n2. **Handle Pagination**\n   ```python\n   while not result.get(\"last_page\"):\n       page += 1\n       # fetch next page\n   ```\n\n3. **Distinguish Parent vs Subtask**\n   ```python\n   parents = [t for t in tasks if t.get(\"parent\") is None]\n   subtasks = [t for t in tasks if t.get(\"parent\") is not None]\n   ```\n\n### Rate Limiting\n\n- Respects ClickUp's 100 requests/minute limit\n- Automatic retry logic for 429 responses\n- Pagination loops include safety limits (max 10 pages/1000 tasks)\n\n---\n\n## Files Updated\n\n| File | Changes |\n|------|---------|\n| `SKILL.md` | Complete rewrite with benefits table, reporting workflows |\n| `scripts/clickup_client.py` | Added 6 new reporting methods, 200+ lines |\n\n---\n\n## Usage Examples\n\n### Quick Reporting\n\n```bash\n# Task breakdown\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"YOUR_TEAM_ID\"\n\n# Workload distribution\npython skills/clickup/scripts/clickup_client.py assignee_breakdown team_id=\"YOUR_TEAM_ID\"\n\n# Daily standup\npython skills/clickup/scripts/clickup_client.py standup_report team_id=\"YOUR_TEAM_ID\"\n```\n\n### With Filters\n\n```bash\n# Specific space\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"SPACE_ID_HERE\"]'\n\n# Specific assignee\npython skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"USER_ID_HERE\"]'\n\n# Include completed\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n```\n\n---\n\n## Result\n\nThis skill now clearly communicates it's **not just another ClickUp integration** — it's a comprehensive agency workflow solution that stands apart from generic community alternatives.\n\nArchive v1.1.0: 4 files, 12753 bytes\n\nFiles: references/api_reference.md (6063b), scripts/clickup_client.py (29640b), SKILL.md (13940b), _meta.json (132b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: clickup\ndescription: \"Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking (📋 Client Overview, 📁 Completed Work, active project lists), (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.\"\n---\n\n# ClickUp Skill\n\n**Enterprise-grade ClickUp integration for agency workflows.** Manage multiple clients, projects, and workspaces with advanced reporting, automatic subtask handling, and sophisticated folder organization.\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **🔍 Always includes subtasks** | Never miss 70%+ of actual work — subtasks included automatically |\n| **📊 Advanced reporting** | Task counts, workload distribution, status breakdowns, standup reports |\n| **🏢 Multi-workspace** | Seamlessly switch between Elevated, Atrium, Winch Life, and more |\n| **👥 Client organization** | Structured folders: 📋 Client Overview, 📁 Completed Work, active projects |\n| **📈 Sales pipeline** | Track proposals, negotiations, and project lifecycles |\n| **⏱️ Time tracking** | Built-in timers and manual entries with billing support |\n| **📄 Document management** | Create docs and pages via API v3 |\n| **🔗 Task relationships** | Dependencies, blocking/waiting, and arbitrary task linking |\n\n## Quick Start\n\n### Setup\nSet your ClickUp API token:\n```bash\nexport CLICKUP_API_TOKEN=\"pk_your_token_here\"\n```\n\nGet your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**\n```bash\npython skills/clickup/scripts/clickup_client.py get_teams\n```\n\n**Create a task:**\n```bash\npython skills/clickup/scripts/clickup_client.py create_task list_id=\"123\" name=\"New Task\" status=\"to do\"\n```\n\n**Update a task:**\n```bash\npython skills/clickup/scripts/clickup_client.py update_task task_id=\"abc\" status=\"in progress\"\n```\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n├── Spaces\n│   ├── Folders\n│   │   └── Lists → Tasks\n│   └── Lists (Folderless) → Tasks\n└── Documents\n```\n\nAll operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspaces:\n\n1. Use `get_teams` to list available workspaces\n2. Reference workspace by `team_id` in operations\n3. Each workspace maintains independent spaces, folders, lists\n4. Custom task IDs require both `custom_task_ids=true` and `team_id`\n\n## Common Workflows\n\n### Workflow: Create Task in Specific Workspace\n\n1. Get workspace ID: `get_teams`\n2. Get target space: `get_spaces team_id=\"xxx\"`\n3. Get or create list: `get_folders space_id=\"yyy\"` → `get_lists folder_id=\"zzz\"`\n4. Create task: `create_task list_id=\"aaa\" name=\"Task\" ...`\n\n### Workflow: Configure Space Statuses\n\n1. Get space: `get_space space_id=\"xxx\"`\n2. Update space with statuses: `update_space space_id=\"xxx\" statuses=[...]`\n\nSee [API Reference](references/api_reference.md) for status configuration format.\n\n### Workflow: Track Time on Task\n\n**Option A - Manual Entry:**\n```bash\npython skills/clickup_client.py create_time_entry \\\n  team_id=\"xxx\" \\\n  task_id=\"yyy\" \\\n  duration=3600000 \\\n  description=\"Worked on feature\"\n```\n\n**Option B - Timer:**\n```bash\n# Start timer\npython skills/clickup/scripts/clickup_client.py start_timer team_id=\"xxx\" task_id=\"yyy\"\n\n# Stop timer (stops current running timer for user)\npython skills/clickup/scripts/clickup_client.py stop_timer team_id=\"xxx\"\n```\n\n### Workflow: Create Document Structure\n\n1. Create doc: `create_doc workspace_id=\"xxx\" name=\"Project Docs\"`\n2. Add pages: Use ClickUp UI (pages API is in beta)\n\nNote: Documents use ClickUp API v3 (workspace_id instead of team_id).\n\n### Workflow: Reporting & Analytics\n\n**Get task counts (with parent/subtask breakdown):**\n```bash\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\"\n# Returns: {\"total\": 50, \"parents\": 20, \"subtasks\": 30, \"unassigned\": 5}\n```\n\n**Get workload by assignee:**\n```bash\npython skills/clickup/scripts/clickup_client.py assignee_breakdown team_id=\"xxx\"\n# Returns: {\"John Doe\": 15, \"Jane Smith\": 12, \"Unassigned\": 8}\n```\n\n**Get tasks by status:**\n```bash\npython skills/clickup/scripts/clickup_client.py status_breakdown team_id=\"xxx\"\n# Returns: {\"to do\": 20, \"in progress\": 10, \"complete\": 15}\n```\n\n**Get tasks by priority:**\n```bash\npython skills/clickup/scripts/clickup_client.py priority_breakdown team_id=\"xxx\"\n# Returns: {\"urgent\": 2, \"high\": 5, \"normal\": 15, \"low\": 8, \"none\": 20}\n```\n\n**Daily standup report (grouped by status):**\n```bash\n# All team members\npython skills/clickup/scripts/clickup_client.py standup_report team_id=\"xxx\"\n\n# Specific person (use user ID)\npython skills/clickup/scripts/clickup_client.py standup_report team_id=\"xxx\" assignee_id=\"12345\"\n```\n\n**Get all tasks with pagination (auto-handled):**\n```bash\npython skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\"\n# Always includes subtasks automatically (critical!)\n```\n\n**Filter reports by space or assignee:**\n```bash\n# Specific space\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"90172290075\"]'\n\n# Specific assignee\npython skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"12345\"]'\n\n# Include closed tasks\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n```\n\n**Critical Rules for Reporting:**\n1. **Always include subtasks** — Our methods do this automatically via `subtasks=true`\n2. **Pagination handled** — `get_all_tasks` loops until all pages retrieved\n3. **Parent vs Subtask** — Parents have `parent: null`, subtasks have `parent: \"task_id\"`\n4. **Rate limit** — 100 requests/min; our pagination respects this\n\n### Workflow: Link Doc to Task\n\n**Option A - Add as attachment:**\n```bash\npython skills/clickup/scripts/clickup_client.py link_doc_to_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\n**Option B - Mention in description:**\n```bash\npython skills/clickup/scripts/clickup_client.py mention_doc_in_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\nBoth create clickable links to the document from the task.\n\n### Workflow: Task Dependencies\n\n**Set up blocking relationship:**\n```bash\n# Task B is blocked by/waiting on Task A\npython skills/clickup/scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n\n# Check dependencies\npython skills/clickup/scripts/clickup_client.py get_dependencies \\\n  task_id=\"TASK_B_ID\"\n\n# Remove dependency\npython skills/clickup/scripts/clickup_client.py remove_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n```\n\n**Set up reverse dependency (task is blocking another):**\n```bash\n# Task A is blocking Task B\npython skills/clickup/scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_A_ID\" \\\n  waiting_on=\"TASK_B_ID\"\n```\n\n### Workflow: Link Related Tasks (Non-Dependency)\n\nFor related tasks that aren't blocking each other:\n\n```bash\n# Link Task A to Task B (arbitrary relationship)\npython skills/clickup/scripts/clickup_client.py link_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n\n# Remove link\npython skills/clickup/scripts/clickup_client.py unlink_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n```\n\nNote: `link_tasks` creates a \"linked task\" relationship (appears in task's \"Linked Tasks\" section), while `add_dependency` creates blocking/waiting relationships.\n\n### Workflow: Bulk Task Operations\n\nFor bulk operations, loop through tasks:\n```bash\n# Get tasks\nTASKS=$(python skills/clickup/scripts/clickup_client.py get_tasks list_id=\"xxx\")\n\n# Process each (parse JSON and loop)\n```\n\n## Script Reference\n\n### scripts/clickup_client.py\n\nMain CLI interface for ClickUp operations.\n\n**Usage:**\n```bash\npython scripts/clickup_client.py <command> [key=value ...]\n```\n\n**Commands:**\n\n#### Workspace Operations\n- `get_teams` - List all accessible workspaces\n\n#### Space Operations\n- `get_spaces team_id=\"xxx\"` - List spaces\n- `create_space team_id=\"xxx\" name=\"Name\" [options...]` - Create space\n- `update_space space_id=\"xxx\" [options...]` - Update space\n\n#### Folder Operations\n- `get_folders space_id=\"xxx\"` - List folders\n- `create_folder space_id=\"xxx\" name=\"Name\"` - Create folder\n\n#### List Operations\n- `get_lists folder_id=\"xxx\"` - Lists in folder\n- `get_space_lists space_id=\"xxx\"` - Folderless lists\n- `create_list folder_id=\"xxx\" name=\"Name\" [options...]` - Create in folder\n- `create_space_list space_id=\"xxx\" name=\"Name\" [options...]` - Create folderless\n\n#### Task Operations\n- `get_task task_id=\"xxx\"` - Get task details (includes dependencies, linked tasks)\n- `get_tasks list_id=\"xxx\" [filters...]` - List tasks\n- `create_task list_id=\"xxx\" name=\"Name\" [options...]` - Create task\n- `update_task task_id=\"xxx\" [options...]` - Update task\n\n#### Time Tracking\n- `get_time_entries team_id=\"xxx\" [filters...]` - List entries\n- `create_time_entry team_id=\"xxx\" task_id=\"yyy\" duration=3600000 [...]` - Create entry\n- `start_timer team_id=\"xxx\" task_id=\"yyy\"` - Start timer\n- `stop_timer team_id=\"xxx\"` - Stop timer\n\n#### Documents (API v3)\n- `get_docs workspace_id=\"xxx\"` - List documents\n- `create_doc workspace_id=\"xxx\" name=\"Name\" [options...]` - Create document\n- `get_doc doc_id=\"xxx\"` - Get document details\n\n**Note on Pages:** Doc pages API is in beta. Pages may need to be created via ClickUp UI.\n\n#### Doc-Task Linking\n- `link_doc_to_task task_id=\"xxx\" doc_id=\"yyy\"` - Attach doc URL to task\n- `mention_doc_in_task task_id=\"xxx\" doc_id=\"yyy\"` - Add doc link to task description\n\n#### Task Dependencies (Blocking/Waiting On)\n- `add_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Task is blocked by/waiting on another task\n- `add_dependency task_id=\"xxx\" waiting_on=\"yyy\"` - Another task is blocked by/waiting on this task\n- `remove_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Remove dependency\n- `get_dependencies task_id=\"xxx\"` - List all dependencies for a task\n\n#### Task Linking (Arbitrary Relationships)\n- `link_tasks task_id=\"xxx\" links_to=\"yyy\"` - Create arbitrary link between tasks\n- `unlink_tasks task_id=\"xxx\" links_to=\"yyy\"` - Remove task link\n\n#### Reporting & Analytics\n- `get_all_tasks team_id=\"xxx\" [include_closed=\"true\"] [space_ids='[\"id1\"]'] [assignees='[\"uid1\"]']` - All tasks with auto-pagination (always includes subtasks)\n- `task_counts team_id=\"xxx\" [filters...]` - Count breakdown: total, parents, subtasks, unassigned\n- `assignee_breakdown team_id=\"xxx\" [filters...]` - Workload distribution by assignee\n- `status_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by status\n- `priority_breakdown team_id=\"xxx\" [filters...]` - Tasks grouped by priority\n- `standup_report team_id=\"xxx\" [assignee_id=\"yyy\"]` - Daily standup report grouped by status\n\n#### Documents\n- `get_docs team_id=\"xxx\"` - List documents\n- `create_doc team_id=\"xxx\" name=\"Name\" [options...]` - Create document\n\n## Advanced Configuration\n\n### Custom Fields\n\nTo work with custom fields:\n\n1. Get field definitions: `GET /list/{list_id}/field` (see API Reference)\n2. Set values when creating/updating tasks:\n   ```bash\n   python skills/clickup/scripts/clickup_client.py update_task \\\n     task_id=\"xxx\" \\\n     'custom_fields=[{\"id\":\"field_id\",\"value\":\"value\"}]'\n   ```\n\n### Status Configuration\n\nWhen creating/updating spaces or lists:\n\n```bash\npython skills/clickup/scripts/clickup_client.py update_space \\\n  space_id=\"xxx\" \\\n  'statuses=[{\"status\":\"To Do\",\"type\":\"open\"},{\"status\":\"Done\",\"type\":\"closed\"}]'\n```\n\n### Priority Levels\n\n- `1` - Urgent\n- `2` - High\n- `3` - Normal\n- `4` - Low\n\n## Error Handling\n\nCommon errors and solutions:\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `401 Unauthorized` | Invalid API token | Check CLICKUP_API_TOKEN |\n| `404 Not Found` | Invalid ID | Verify workspace/space/folder/list/task IDs |\n| `429 Too Many Requests` | Rate limit | Wait and retry (100 req/min limit) |\n| `400 Bad Request` | Invalid parameters | Check JSON format in arguments |\n\n## Python Client Usage\n\nFor complex operations, import the client directly:\n\n```python\nfrom skills.clickup.scripts.clickup_client import ClickUpClient\n\nclient = ClickUpClient()\n\n# Get all workspaces\nteams = client.get_teams()\n\n# Create task with full control\ntask = client.create_task(\n    list_id=\"123\",\n    name=\"Complex Task\",\n    description=\"Detailed description\",\n    assignees=[123, 456],\n    tags=[\"urgent\", \"client\"],\n    priority=2,\n    due_date=1704067200000,\n    time_estimate=14400000\n)\n```\n\n## References\n\n- **API Details**: See [references/api_reference.md](references/api_reference.md) for complete endpoint documentation, request/response formats, and field types.\n- **ClickUp API Docs**: https://clickup.com/api\n\n## Best Practices\n\n1. **Store IDs**: Workspace/space/folder/list IDs rarely change. Store them in `TOOLS.md` for quick reference.\n2. **Custom Task IDs**: If using custom IDs, always include `custom_task_ids=true` and `team_id` in task operations.\n3. **Rate Limiting**: Space out bulk operations to avoid 429 errors.\n4. **Time Tracking**: Use milliseconds for all duration/timestamp values.\n5. **Multi-Workspace**: Always double-check `team_id` when working across workspaces to avoid modifying wrong workspace.\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7f2k6h1966tz57xe7vnhzrrd809tff\",\n  \"slug\": \"clickup-skill\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1769898874993\n}\n\nFile v1.1.0:references/api_reference.md\n\n# ClickUp API Reference\n\n## Authentication\n\nAll requests require an API token passed in the `Authorization` header:\n```\nAuthorization: pk_xxxxxxxxxxxxxxxxxxxx\n```\n\nSet via environment variable: `CLICKUP_API_TOKEN`\n\n## Rate Limits\n- 100 requests per minute per token\n- 500 requests per minute per OAuth app\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n└── Space\n    ├── Folder\n    │   └── List\n    │       └── Task\n    └── List (Folderless)\n        └── Task\n```\n\n## Common Operations\n\n### Workspaces (Teams)\n- `GET /team` - List all workspaces\n- `GET /team/{team_id}` - Get workspace details\n\n### Spaces\n- `GET /team/{team_id}/space` - List spaces\n- `POST /team/{team_id}/space` - Create space\n- `PUT /space/{space_id}` - Update space\n- `DELETE /space/{space_id}` - Delete space\n\n**Space Configuration Options:**\n```json\n{\n  \"name\": \"Space Name\",\n  \"multiple_assignees\": true,\n  \"features\": {\n    \"due_dates\": {\"enabled\": true, \"remap_due_dates\": true, \"remap_closed_due_date\": false},\n    \"time_tracking\": {\"enabled\": true},\n    \"tags\": {\"enabled\": true},\n    \"time_estimates\": {\"enabled\": true},\n    \"checklists\": {\"enabled\": true},\n    \"custom_fields\": {\"enabled\": true},\n    \"remap_dependencies\": {\"enabled\": true},\n    \"dependency_warning\": {\"enabled\": true},\n    \"portfolios\": {\"enabled\": true}\n  }\n}\n```\n\n### Folders\n- `GET /space/{space_id}/folder` - List folders\n- `POST /space/{space_id}/folder` - Create folder\n- `PUT /folder/{folder_id}` - Update folder\n- `DELETE /folder/{folder_id}` - Delete folder\n\n### Lists\n- `GET /folder/{folder_id}/list` - List lists in folder\n- `GET /space/{space_id}/list` - List folderless lists\n- `POST /folder/{folder_id}/list` - Create list in folder\n- `POST /space/{space_id}/list` - Create folderless list\n- `PUT /list/{list_id}` - Update list\n- `DELETE /list/{list_id}` - Delete list\n\n**List Configuration Options:**\n```json\n{\n  \"name\": \"List Name\",\n  \"content\": \"Description\",\n  \"status\": {\"status\": \"red\", \"hide_label\": true},\n  \"priority\": 1,\n  \"assignee\": 123,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"folder_id\": \"456\"\n}\n```\n\n### Tasks\n- `GET /list/{list_id}/task` - List tasks\n- `GET /task/{task_id}` - Get task details\n- `POST /list/{list_id}/task` - Create task\n- `PUT /task/{task_id}` - Update task\n- `DELETE /task/{task_id}` - Delete task\n\n**Task Creation Options:**\n```json\n{\n  \"name\": \"Task Name\",\n  \"description\": \"Task description\",\n  \"assignees\": [123, 456],\n  \"tags\": [\"tag1\", \"tag2\"],\n  \"status\": \"to do\",\n  \"priority\": 1,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"time_estimate\": 8640000,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"notify_all\": true,\n  \"parent\": null,\n  \"links_to\": null,\n  \"custom_fields\": [\n    {\"id\": \"abc\", \"value\": \"value\"}\n  ]\n}\n```\n\n**Task Update Options:**\nSame as create, plus:\n```json\n{\n  \"archived\": false\n}\n```\n\n### Time Tracking\n- `GET /team/{team_id}/time_entries` - List time entries\n- `GET /team/{team_id}/time_entries/{time_entry_id}` - Get time entry\n- `POST /team/{team_id}/time_entries` - Create time entry\n- `PUT /team/{team_id}/time_entries/{time_entry_id}` - Update time entry\n- `DELETE /team/{team_id}/time_entries/{time_entry_id}` - Delete time entry\n- `POST /task/{task_id}/time/start_timer` - Start timer\n- `POST /task/{task_id}/time/stop_timer` - Stop timer\n\n**Time Entry Creation:**\n```json\n{\n  \"tid\": \"task_id\",\n  \"description\": \"Worked on feature\",\n  \"duration\": 3600000,\n  \"start\": 1567780450202,\n  \"billable\": true,\n  \"assignee\": 123\n}\n```\n\n### Documents\n- `GET /team/{team_id}/doc` - List documents\n- `GET /doc/{doc_id}` - Get document\n- `POST /team/{team_id}/doc` - Create document\n- `PUT /doc/{doc_id}` - Update document\n- `DELETE /doc/{doc_id}` - Delete document\n- `GET /doc/{doc_id}/page` - List pages\n- `POST /doc/{doc_id}/page` - Create page\n- `PUT /doc/{doc_id}/page/{page_id}` - Update page\n\n**Document Creation:**\n```json\n{\n  \"name\": \"Document Name\",\n  \"parent\": {\"id\": \"parent_id\", \"type\": 6},\n  \"template_id\": \"template_id\",\n  \"visibility\": \"private\"\n}\n```\n\n**Document Page Creation:**\n```json\n{\n  \"name\": \"Page Title\",\n  \"content\": \"Page content in ClickUp format\",\n  \"parent_page_id\": \"parent_page_id\"\n}\n```\n\n## Custom Fields\n\n### Get Custom Fields\n- `GET /list/{list_id}/field` - List custom fields in list\n\n### Set Custom Field Value\n- `POST /task/{task_id}/field/{field_id}` - Set field value\n\n**Custom Field Types:**\n- `url`: String\n- `drop_down`: Integer (option index)\n- `labels`: Array of strings\n- `text`: String\n- `number`: Number\n- `date`: Timestamp\n- `emoji`: String\n- `checkbox`: Boolean\n- `currency`: Number\n- `location`: Object with `lat`, `lng`, `formatted_address`\n- `users`: Array of user IDs\n- `attachment`: File object\n\n## Statuses\n\n### Space Statuses\n- `GET /space/{space_id}/status` - Get space statuses\n\nStatus types:\n- `open` - Active statuses\n- `closed` - Done/complete statuses\n- `custom` - Custom workflow statuses\n\n## Tags\n\n- `GET /space/{space_id}/tag` - List tags\n- `POST /space/{space_id}/tag` - Create tag\n- `PUT /space/{space_id}/tag/{tag_name}` - Update tag\n- `DELETE /space/{space_id}/tag/{tag_name}` - Delete tag\n\n## Multi-Workspace Considerations\n\nWhen working across workspaces:\n\n1. **Workspace IDs are unique** - All operations require explicit team_id\n2. **Custom task IDs** - If using custom task IDs, include `custom_task_ids=true` and `team_id` in requests\n3. **Permissions** - API token must have access to target workspace\n4. **Rate limits** - Shared across all workspaces for the token\n\n### Script Usage for Multi-Workspace\n\n```bash\n# List all workspaces\npython scripts/clickup_client.py get_teams\n\n# Get spaces in specific workspace\npython scripts/clickup_client.py get_spaces team_id=\"123\"\n\n# Create task in workspace A\npython scripts/clickup_client.py create_task list_id=\"abc\" name=\"Task Name\"\n\n# Create task in workspace B (same script, different IDs)\npython scripts/clickup_client.py create_task list_id=\"xyz\" name=\"Another Task\"\n```\n\nArchive v1.0.0: 4 files, 9947 bytes\n\nFiles: references/api_reference.md (6063b), scripts/clickup_client.py (21684b), SKILL.md (9908b), _meta.json (132b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: clickup\ndescription: \"Comprehensive ClickUp project management integration supporting multiple workspaces. Use when: (1) Creating, updating, or managing tasks across ClickUp workspaces, (2) Configuring spaces, folders, lists, and their statuses/custom fields, (3) Managing time tracking and timers, (4) Creating or editing ClickUp documents and pages, (5) Querying workspace structure (teams, spaces, folders, lists), (6) Moving tasks between lists or workspaces, (7) Bulk operations on tasks or time entries. Multi-workspace capable with full CRUD operations.\"\n---\n\n# ClickUp Skill\n\nManage ClickUp workspaces, tasks, time tracking, and documents across multiple workspaces.\n\n## Quick Start\n\n### Setup\nSet your ClickUp API token:\n```bash\nexport CLICKUP_API_TOKEN=\"pk_your_token_here\"\n```\n\nGet your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**\n```bash\npython skills/clickup/scripts/clickup_client.py get_teams\n```\n\n**Create a task:**\n```bash\npython skills/clickup/scripts/clickup_client.py create_task list_id=\"123\" name=\"New Task\" status=\"to do\"\n```\n\n**Update a task:**\n```bash\npython skills/clickup/scripts/clickup_client.py update_task task_id=\"abc\" status=\"in progress\"\n```\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n├── Spaces\n│   ├── Folders\n│   │   └── Lists → Tasks\n│   └── Lists (Folderless) → Tasks\n└── Documents\n```\n\nAll operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspaces:\n\n1. Use `get_teams` to list available workspaces\n2. Reference workspace by `team_id` in operations\n3. Each workspace maintains independent spaces, folders, lists\n4. Custom task IDs require both `custom_task_ids=true` and `team_id`\n\n## Common Workflows\n\n### Workflow: Create Task in Specific Workspace\n\n1. Get workspace ID: `get_teams`\n2. Get target space: `get_spaces team_id=\"xxx\"`\n3. Get or create list: `get_folders space_id=\"yyy\"` → `get_lists folder_id=\"zzz\"`\n4. Create task: `create_task list_id=\"aaa\" name=\"Task\" ...`\n\n### Workflow: Configure Space Statuses\n\n1. Get space: `get_space space_id=\"xxx\"`\n2. Update space with statuses: `update_space space_id=\"xxx\" statuses=[...]`\n\nSee [API Reference](references/api_reference.md) for status configuration format.\n\n### Workflow: Track Time on Task\n\n**Option A - Manual Entry:**\n```bash\npython skills/clickup_client.py create_time_entry \\\n  team_id=\"xxx\" \\\n  task_id=\"yyy\" \\\n  duration=3600000 \\\n  description=\"Worked on feature\"\n```\n\n**Option B - Timer:**\n```bash\n# Start timer\npython skills/clickup/scripts/clickup_client.py start_timer team_id=\"xxx\" task_id=\"yyy\"\n\n# Stop timer (stops current running timer for user)\npython skills/clickup/scripts/clickup_client.py stop_timer team_id=\"xxx\"\n```\n\n### Workflow: Create Document Structure\n\n1. Create doc: `create_doc workspace_id=\"xxx\" name=\"Project Docs\"`\n2. Add pages: Use ClickUp UI (pages API is in beta)\n\nNote: Documents use ClickUp API v3 (workspace_id instead of team_id).\n\n### Workflow: Link Doc to Task\n\n**Option A - Add as attachment:**\n```bash\npython skills/clickup/scripts/clickup_client.py link_doc_to_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\n**Option B - Mention in description:**\n```bash\npython skills/clickup/scripts/clickup_client.py mention_doc_in_task \\\n  task_id=\"xxx\" \\\n  doc_id=\"yyy\"\n```\n\nBoth create clickable links to the document from the task.\n\n### Workflow: Task Dependencies\n\n**Set up blocking relationship:**\n```bash\n# Task B is blocked by/waiting on Task A\npython skills/clickup/scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n\n# Check dependencies\npython skills/clickup/scripts/clickup_client.py get_dependencies \\\n  task_id=\"TASK_B_ID\"\n\n# Remove dependency\npython skills/clickup/scripts/clickup_client.py remove_dependency \\\n  task_id=\"TASK_B_ID\" \\\n  depends_on=\"TASK_A_ID\"\n```\n\n**Set up reverse dependency (task is blocking another):**\n```bash\n# Task A is blocking Task B\npython skills/clickup/scripts/clickup_client.py add_dependency \\\n  task_id=\"TASK_A_ID\" \\\n  waiting_on=\"TASK_B_ID\"\n```\n\n### Workflow: Link Related Tasks (Non-Dependency)\n\nFor related tasks that aren't blocking each other:\n\n```bash\n# Link Task A to Task B (arbitrary relationship)\npython skills/clickup/scripts/clickup_client.py link_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n\n# Remove link\npython skills/clickup/scripts/clickup_client.py unlink_tasks \\\n  task_id=\"TASK_A_ID\" \\\n  links_to=\"TASK_B_ID\"\n```\n\nNote: `link_tasks` creates a \"linked task\" relationship (appears in task's \"Linked Tasks\" section), while `add_dependency` creates blocking/waiting relationships.\n\n### Workflow: Bulk Task Operations\n\nFor bulk operations, loop through tasks:\n```bash\n# Get tasks\nTASKS=$(python skills/clickup/scripts/clickup_client.py get_tasks list_id=\"xxx\")\n\n# Process each (parse JSON and loop)\n```\n\n## Script Reference\n\n### scripts/clickup_client.py\n\nMain CLI interface for ClickUp operations.\n\n**Usage:**\n```bash\npython scripts/clickup_client.py <command> [key=value ...]\n```\n\n**Commands:**\n\n#### Workspace Operations\n- `get_teams` - List all accessible workspaces\n\n#### Space Operations\n- `get_spaces team_id=\"xxx\"` - List spaces\n- `create_space team_id=\"xxx\" name=\"Name\" [options...]` - Create space\n- `update_space space_id=\"xxx\" [options...]` - Update space\n\n#### Folder Operations\n- `get_folders space_id=\"xxx\"` - List folders\n- `create_folder space_id=\"xxx\" name=\"Name\"` - Create folder\n\n#### List Operations\n- `get_lists folder_id=\"xxx\"` - Lists in folder\n- `get_space_lists space_id=\"xxx\"` - Folderless lists\n- `create_list folder_id=\"xxx\" name=\"Name\" [options...]` - Create in folder\n- `create_space_list space_id=\"xxx\" name=\"Name\" [options...]` - Create folderless\n\n#### Task Operations\n- `get_task task_id=\"xxx\"` - Get task details (includes dependencies, linked tasks)\n- `get_tasks list_id=\"xxx\" [filters...]` - List tasks\n- `create_task list_id=\"xxx\" name=\"Name\" [options...]` - Create task\n- `update_task task_id=\"xxx\" [options...]` - Update task\n\n#### Time Tracking\n- `get_time_entries team_id=\"xxx\" [filters...]` - List entries\n- `create_time_entry team_id=\"xxx\" task_id=\"yyy\" duration=3600000 [...]` - Create entry\n- `start_timer team_id=\"xxx\" task_id=\"yyy\"` - Start timer\n- `stop_timer team_id=\"xxx\"` - Stop timer\n\n#### Documents (API v3)\n- `get_docs workspace_id=\"xxx\"` - List documents\n- `create_doc workspace_id=\"xxx\" name=\"Name\" [options...]` - Create document\n- `get_doc doc_id=\"xxx\"` - Get document details\n\n**Note on Pages:** Doc pages API is in beta. Pages may need to be created via ClickUp UI.\n\n#### Doc-Task Linking\n- `link_doc_to_task task_id=\"xxx\" doc_id=\"yyy\"` - Attach doc URL to task\n- `mention_doc_in_task task_id=\"xxx\" doc_id=\"yyy\"` - Add doc link to task description\n\n#### Task Dependencies (Blocking/Waiting On)\n- `add_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Task is blocked by/waiting on another task\n- `add_dependency task_id=\"xxx\" waiting_on=\"yyy\"` - Another task is blocked by/waiting on this task\n- `remove_dependency task_id=\"xxx\" depends_on=\"yyy\"` - Remove dependency\n- `get_dependencies task_id=\"xxx\"` - List all dependencies for a task\n\n#### Task Linking (Arbitrary Relationships)\n- `link_tasks task_id=\"xxx\" links_to=\"yyy\"` - Create arbitrary link between tasks\n- `unlink_tasks task_id=\"xxx\" links_to=\"yyy\"` - Remove task link\n\n#### Documents\n- `get_docs team_id=\"xxx\"` - List documents\n- `create_doc team_id=\"xxx\" name=\"Name\" [options...]` - Create document\n\n## Advanced Configuration\n\n### Custom Fields\n\nTo work with custom fields:\n\n1. Get field definitions: `GET /list/{list_id}/field` (see API Reference)\n2. Set values when creating/updating tasks:\n   ```bash\n   python skills/clickup/scripts/clickup_client.py update_task \\\n     task_id=\"xxx\" \\\n     'custom_fields=[{\"id\":\"field_id\",\"value\":\"value\"}]'\n   ```\n\n### Status Configuration\n\nWhen creating/updating spaces or lists:\n\n```bash\npython skills/clickup/scripts/clickup_client.py update_space \\\n  space_id=\"xxx\" \\\n  'statuses=[{\"status\":\"To Do\",\"type\":\"open\"},{\"status\":\"Done\",\"type\":\"closed\"}]'\n```\n\n### Priority Levels\n\n- `1` - Urgent\n- `2` - High\n- `3` - Normal\n- `4` - Low\n\n## Error Handling\n\nCommon errors and solutions:\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `401 Unauthorized` | Invalid API token | Check CLICKUP_API_TOKEN |\n| `404 Not Found` | Invalid ID | Verify workspace/space/folder/list/task IDs |\n| `429 Too Many Requests` | Rate limit | Wait and retry (100 req/min limit) |\n| `400 Bad Request` | Invalid parameters | Check JSON format in arguments |\n\n## Python Client Usage\n\nFor complex operations, import the client directly:\n\n```python\nfrom skills.clickup.scripts.clickup_client import ClickUpClient\n\nclient = ClickUpClient()\n\n# Get all workspaces\nteams = client.get_teams()\n\n# Create task with full control\ntask = client.create_task(\n    list_id=\"123\",\n    name=\"Complex Task\",\n    description=\"Detailed description\",\n    assignees=[123, 456],\n    tags=[\"urgent\", \"client\"],\n    priority=2,\n    due_date=1704067200000,\n    time_estimate=14400000\n)\n```\n\n## References\n\n- **API Details**: See [references/api_reference.md](references/api_reference.md) for complete endpoint documentation, request/response formats, and field types.\n- **ClickUp API Docs**: https://clickup.com/api\n\n## Best Practices\n\n1. **Store IDs**: Workspace/space/folder/list IDs rarely change. Store them in `TOOLS.md` for quick reference.\n2. **Custom Task IDs**: If using custom IDs, always include `custom_task_ids=true` and `team_id` in task operations.\n3. **Rate Limiting**: Space out bulk operations to avoid 429 errors.\n4. **Time Tracking**: Use milliseconds for all duration/timestamp values.\n5. **Multi-Workspace**: Always double-check `team_id` when working across workspaces to avoid modifying wrong workspace.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7f2k6h1966tz57xe7vnhzrrd809tff\",\n  \"slug\": \"clickup-skill\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1769879125430\n}\n\nFile v1.0.0:references/api_reference.md\n\n# ClickUp API Reference\n\n## Authentication\n\nAll requests require an API token passed in the `Authorization` header:\n```\nAuthorization: pk_xxxxxxxxxxxxxxxxxxxx\n```\n\nSet via environment variable: `CLICKUP_API_TOKEN`\n\n## Rate Limits\n- 100 requests per minute per token\n- 500 requests per minute per OAuth app\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n└── Space\n    ├── Folder\n    │   └── List\n    │       └── Task\n    └── List (Folderless)\n        └── Task\n```\n\n## Common Operations\n\n### Workspaces (Teams)\n- `GET /team` - List all workspaces\n- `GET /team/{team_id}` - Get workspace details\n\n### Spaces\n- `GET /team/{team_id}/space` - List spaces\n- `POST /team/{team_id}/space` - Create space\n- `PUT /space/{space_id}` - Update space\n- `DELETE /space/{space_id}` - Delete space\n\n**Space Configuration Options:**\n```json\n{\n  \"name\": \"Space Name\",\n  \"multiple_assignees\": true,\n  \"features\": {\n    \"due_dates\": {\"enabled\": true, \"remap_due_dates\": true, \"remap_closed_due_date\": false},\n    \"time_tracking\": {\"enabled\": true},\n    \"tags\": {\"enabled\": true},\n    \"time_estimates\": {\"enabled\": true},\n    \"checklists\": {\"enabled\": true},\n    \"custom_fields\": {\"enabled\": true},\n    \"remap_dependencies\": {\"enabled\": true},\n    \"dependency_warning\": {\"enabled\": true},\n    \"portfolios\": {\"enabled\": true}\n  }\n}\n```\n\n### Folders\n- `GET /space/{space_id}/folder` - List folders\n- `POST /space/{space_id}/folder` - Create folder\n- `PUT /folder/{folder_id}` - Update folder\n- `DELETE /folder/{folder_id}` - Delete folder\n\n### Lists\n- `GET /folder/{folder_id}/list` - List lists in folder\n- `GET /space/{space_id}/list` - List folderless lists\n- `POST /folder/{folder_id}/list` - Create list in folder\n- `POST /space/{space_id}/list` - Create folderless list\n- `PUT /list/{list_id}` - Update list\n- `DELETE /list/{list_id}` - Delete list\n\n**List Configuration Options:**\n```json\n{\n  \"name\": \"List Name\",\n  \"content\": \"Description\",\n  \"status\": {\"status\": \"red\", \"hide_label\": true},\n  \"priority\": 1,\n  \"assignee\": 123,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"folder_id\": \"456\"\n}\n```\n\n### Tasks\n- `GET /list/{list_id}/task` - List tasks\n- `GET /task/{task_id}` - Get task details\n- `POST /list/{list_id}/task` - Create task\n- `PUT /task/{task_id}` - Update task\n- `DELETE /task/{task_id}` - Delete task\n\n**Task Creation Options:**\n```json\n{\n  \"name\": \"Task Name\",\n  \"description\": \"Task description\",\n  \"assignees\": [123, 456],\n  \"tags\": [\"tag1\", \"tag2\"],\n  \"status\": \"to do\",\n  \"priority\": 1,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"time_estimate\": 8640000,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"notify_all\": true,\n  \"parent\": null,\n  \"links_to\": null,\n  \"custom_fields\": [\n    {\"id\": \"abc\", \"value\": \"value\"}\n  ]\n}\n```\n\n**Task Update Options:**\nSame as create, plus:\n```json\n{\n  \"archived\": false\n}\n```\n\n### Time Tracking\n- `GET /team/{team_id}/time_entries` - List time entries\n- `GET /team/{team_id}/time_entries/{time_entry_id}` - Get time entry\n- `POST /team/{team_id}/time_entries` - Create time entry\n- `PUT /team/{team_id}/time_entries/{time_entry_id}` - Update time entry\n- `DELETE /team/{team_id}/time_entries/{time_entry_id}` - Delete time entry\n- `POST /task/{task_id}/time/start_timer` - Start timer\n- `POST /task/{task_id}/time/stop_timer` - Stop timer\n\n**Time Entry Creation:**\n```json\n{\n  \"tid\": \"task_id\",\n  \"description\": \"Worked on feature\",\n  \"duration\": 3600000,\n  \"start\": 1567780450202,\n  \"billable\": true,\n  \"assignee\": 123\n}\n```\n\n### Documents\n- `GET /team/{team_id}/doc` - List documents\n- `GET /doc/{doc_id}` - Get document\n- `POST /team/{team_id}/doc` - Create document\n- `PUT /doc/{doc_id}` - Update document\n- `DELETE /doc/{doc_id}` - Delete document\n- `GET /doc/{doc_id}/page` - List pages\n- `POST /doc/{doc_id}/page` - Create page\n- `PUT /doc/{doc_id}/page/{page_id}` - Update page\n\n**Document Creation:**\n```json\n{\n  \"name\": \"Document Name\",\n  \"parent\": {\"id\": \"parent_id\", \"type\": 6},\n  \"template_id\": \"template_id\",\n  \"visibility\": \"private\"\n}\n```\n\n**Document Page Creation:**\n```json\n{\n  \"name\": \"Page Title\",\n  \"content\": \"Page content in ClickUp format\",\n  \"parent_page_id\": \"parent_page_id\"\n}\n```\n\n## Custom Fields\n\n### Get Custom Fields\n- `GET /list/{list_id}/field` - List custom fields in list\n\n### Set Custom Field Value\n- `POST /task/{task_id}/field/{field_id}` - Set field value\n\n**Custom Field Types:**\n- `url`: String\n- `drop_down`: Integer (option index)\n- `labels`: Array of strings\n- `text`: String\n- `number`: Number\n- `date`: Timestamp\n- `emoji`: String\n- `checkbox`: Boolean\n- `currency`: Number\n- `location`: Object with `lat`, `lng`, `formatted_address`\n- `users`: Array of user IDs\n- `attachment`: File object\n\n## Statuses\n\n### Space Statuses\n- `GET /space/{space_id}/status` - Get space statuses\n\nStatus types:\n- `open` - Active statuses\n- `closed` - Done/complete statuses\n- `custom` - Custom workflow statuses\n\n## Tags\n\n- `GET /space/{space_id}/tag` - List tags\n- `POST /space/{space_id}/tag` - Create tag\n- `PUT /space/{space_id}/tag/{tag_name}` - Update tag\n- `DELETE /space/{space_id}/tag/{tag_name}` - Delete tag\n\n## Multi-Workspace Considerations\n\nWhen working across workspaces:\n\n1. **Workspace IDs are unique** - All operations require explicit team_id\n2. **Custom task IDs** - If using custom task IDs, include `custom_task_ids=true` and `team_id` in requests\n3. **Permissions** - API token must have access to target workspace\n4. **Rate limits** - Shared across all workspaces for the token\n\n### Script Usage for Multi-Workspace\n\n```bash\n# List all workspaces\npython scripts/clickup_client.py get_teams\n\n# Get spaces in specific workspace\npython scripts/clickup_client.py get_spaces team_id=\"123\"\n\n# Create task in workspace A\npython scripts/clickup_client.py create_task list_id=\"abc\" name=\"Task Name\"\n\n# Create task in workspace B (same script, different IDs)\npython scripts/clickup_client.py create_task list_id=\"xyz\" name=\"Another Task\"\n```","readmeExcerpt":"Skill: ClickUp Skill Owner: d3layd Summary: Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusio","codeSnippets":[],"executableExamples":[{"language":"python","snippet":"params = {\"subtasks\": \"true\", ...}  # Never skip this\n\n2. Handle Paginationwhile not result.get(\"last_page\"):\n    page += 1\n    # fetch next page\n\n3. Distinguish Parent vs Subtaskparents = [t for t in tasks if t.get(\"parent\") is None]\nsubtasks = [t for t in tasks if t.get(\"parent\") is not None]\n\nRate Limiting\n\n• Respects ClickUp's 100 requests/minute limit\n• Automatic retry logic for 429 responses\n• Pagination loops include safety limits (max 10 pages/1000 tasks)\n\nFiles Updated\n\n| File                      | Changes                                                   |\n| ------------------------- | --------------------------------------------------------- |\n| SKILL.md                  | Complete rewrite with benefits table, reporting workflows |\n| scripts/clickup_client.py | Added 6 new reporting methods, 200+ lines                 |\n\n\nUsage Examples\n\nQuick Reporting\n\n# Task breakdown\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"9017466511\"\n\n# Workload distribution\npython skills/clickup/scripts/clickup_client.py assignee_breakdown team_id=\"9017466511\"\n\n# Daily standup\npython skills/clickup/scripts/clickup_client.py standup_report team_id=\"9017466511\"\n\nWith Filters\n\n# Specific space\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" space_ids='[\"90172290075\"]'\n\n# Specific assignee\npython skills/clickup/scripts/clickup_client.py get_all_tasks team_id=\"xxx\" assignees='[\"12345\"]'\n\n# Include completed\npython skills/clickup/scripts/clickup_client.py task_counts team_id=\"xxx\" include_closed=\"true\"\n\nv1.0.0 | 2026-01-31T17:05:25.430Z | user\n\nClickUp Skill by d3layd\n\nComprehensive ClickUp project management integration supporting multiple workspaces. \n\nFeatures: multi-workspace support, task CRUD, time tracking, documents, task dependencies, and task linking.\n\nArchive index:\n\nArchive v1.1.2: 8 files, 27934 bytes\n\nFiles: clickup/CHANGELOG.md (5472b), clickup/references/api_reference.md (6063b), clickup/scripts/clickup_client.py (296"},{"language":"text","snippet":"Get your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**"},{"language":"text","snippet":"**Create a task:**"},{"language":"text","snippet":"**Update a task:**"},{"language":"text","snippet":"## Workspace Hierarchy"},{"language":"text","snippet":"All operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspaces:\n\n1. Use `get_teams` to list available workspaces\n2. Reference workspace by `team_id` in operations\n3. Each workspace maintains independent spaces, folders, lists\n4. Custom task IDs require both `custom_task_ids=true` and `team_id`\n\n## Common Workflows\n\n### Workflow: Create Task in Specific Workspace\n\n1. Get workspace ID: `get_teams`\n2. Get target space: `get_spaces team_id=\"xxx\"`\n3. Get or create list: `get_folders space_id=\"yyy\"` → `get_lists folder_id=\"zzz\"`\n4. Create task: `create_task list_id=\"aaa\" name=\"Task\" ...`\n\n### Workflow: Configure Space Statuses\n\n1. Get space: `get_space space_id=\"xxx\"`\n2. Update space with statuses: `update_space space_id=\"xxx\" statuses=[...]`\n\nSee [API Reference](references/api_reference.md) for status configuration format.\n\n### Workflow: Track Time on Task\n\n**Option A - Manual Entry:**"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"clickup/SKILL.md","content":"---\nname: clickup\ndescription: \"Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking, (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.\"\nenv:\n  - name: CLICKUP_API_TOKEN\n    description: \"ClickUp personal API token. Generate at: ClickUp Settings → Apps → Generate API Token\"\n    required: true\ndependencies:\n  - python3\n  - pip:requests\n---\n\n# ClickUp Skill\n\n**Enterprise-grade ClickUp integration for agency workflows.** Manage multiple clients, projects, and workspaces with advanced reporting, automatic subtask handling, and sophisticated folder organization.\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **🔍 Always includes subtasks** | Never miss 70%+ of actual work — subtasks included automatically |\n| **📊 Advanced reporting** | Task counts, workload distribution, status breakdowns, standup reports |\n| **🏢 Multi-workspace** | Seamlessly switch between Client Work, Product Development, Personal Projects, and more |\n| **👥 Client organization** | Structured folders: 📋 Client Overview, 📁 Completed Work, active projects |\n| **📈 Sales pipeline** | Track proposals, negotiations, and project lifecycles |\n| **⏱️ Time tracking** | Built-in timers and manual entries with billing support |\n| **📄 Document management** | Create docs and pages via API v3 |\n| **🔗 Task relationships** | Dependencies, blocking/waiting, and arbitrary task linking |\n\n## Quick Start\n\n### Setup\nSet your ClickUp API token:\n```bash\nexport CLICKUP_API_TOKEN=\"pk_your_token_here\"\n```\n\nGet your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**\n```bash\npython scripts/clickup_client.py get_teams\n```\n\n**Create a task:**\n```bash\npython scripts/clickup_client.py create_task list_id=\"123\" name=\"New Task\" status=\"to do\"\n```\n\n**Update a task:**\n```bash\npython scripts/clickup_client.py update_task task_id=\"abc\" status=\"in progress\"\n```\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n├── Spaces\n│   ├── Folders\n│   │   └── Lists → Tasks\n│   └── Lists (Folderless) → Tasks\n└── Documents\n```\n\nAll operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspace"},{"path":"SKILL.md","content":"---\nname: clickup\ndescription: \"Enterprise-grade ClickUp project management integration with advanced reporting, multi-workspace support, and client/project tracking. Core capabilities: (1) Multi-workspace task management with automatic workspace switching, (2) Advanced analytics & reporting (task counts, assignee breakdowns, status/priority analysis, daily standup reports) with automatic subtask inclusion and pagination, (3) Client folder organization with project tracking, (4) Full CRUD operations for spaces, folders, lists, tasks, and custom fields, (5) Time tracking & timer management with billing support, (6) Document creation and page management (API v3), (7) Task dependencies, linking, and relationship mapping, (8) Sales pipeline tracking with prospect/project status, (9) Retainer & recurring billing management. Built for agencies managing multiple clients across complex workspace hierarchies.\"\nenv:\n  - name: CLICKUP_API_TOKEN\n    description: \"ClickUp personal API token. Generate at: ClickUp Settings → Apps → Generate API Token\"\n    required: true\ndependencies:\n  - python3\n  - pip:requests\n---\n\n# ClickUp Skill\n\n**Enterprise-grade ClickUp integration for agency workflows.** Manage multiple clients, projects, and workspaces with advanced reporting, automatic subtask handling, and sophisticated folder organization.\n\n## Key Benefits\n\n| Feature | Why It Matters |\n|---------|----------------|\n| **🔍 Always includes subtasks** | Never miss 70%+ of actual work — subtasks included automatically |\n| **📊 Advanced reporting** | Task counts, workload distribution, status breakdowns, standup reports |\n| **🏢 Multi-workspace** | Seamlessly switch between Elevated, Atrium, Winch Life, and more |\n| **👥 Client organization** | Structured folders: 📋 Client Overview, 📁 Completed Work, active projects |\n| **📈 Sales pipeline** | Track proposals, negotiations, and project lifecycles |\n| **⏱️ Time tracking** | Built-in timers and manual entries with billing support |\n| **📄 Document management** | Create docs and pages via API v3 |\n| **🔗 Task relationships** | Dependencies, blocking/waiting, and arbitrary task linking |\n\n## Quick Start\n\n### Setup\nSet your ClickUp API token:\n```bash\nexport CLICKUP_API_TOKEN=\"pk_your_token_here\"\n```\n\nGet your token from: ClickUp Settings → Apps → Generate API Token\n\n### Basic Operations\n\n**List all workspaces:**\n```bash\npython scripts/clickup_client.py get_teams\n```\n\n**Create a task:**\n```bash\npython scripts/clickup_client.py create_task list_id=\"123\" name=\"New Task\" status=\"to do\"\n```\n\n**Update a task:**\n```bash\npython scripts/clickup_client.py update_task task_id=\"abc\" status=\"in progress\"\n```\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n├── Spaces\n│   ├── Folders\n│   │   └── Lists → Tasks\n│   └── Lists (Folderless) → Tasks\n└── Documents\n```\n\nAll operations require explicit workspace identification via IDs.\n\n## Multi-Workspace Support\n\nThis skill supports operations across multiple ClickUp workspaces:\n\n1. Use `get_teams` "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7f2k6h1966tz57xe7vnhzrrd809tff\",\n  \"slug\": \"clickup-skill\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1771014391882\n}"},{"path":"clickup/references/api_reference.md","content":"# ClickUp API Reference\n\n## Authentication\n\nAll requests require an API token passed in the `Authorization` header:\n```\nAuthorization: pk_xxxxxxxxxxxxxxxxxxxx\n```\n\nSet via environment variable: `CLICKUP_API_TOKEN`\n\n## Rate Limits\n- 100 requests per minute per token\n- 500 requests per minute per OAuth app\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n└── Space\n    ├── Folder\n    │   └── List\n    │       └── Task\n    └── List (Folderless)\n        └── Task\n```\n\n## Common Operations\n\n### Workspaces (Teams)\n- `GET /team` - List all workspaces\n- `GET /team/{team_id}` - Get workspace details\n\n### Spaces\n- `GET /team/{team_id}/space` - List spaces\n- `POST /team/{team_id}/space` - Create space\n- `PUT /space/{space_id}` - Update space\n- `DELETE /space/{space_id}` - Delete space\n\n**Space Configuration Options:**\n```json\n{\n  \"name\": \"Space Name\",\n  \"multiple_assignees\": true,\n  \"features\": {\n    \"due_dates\": {\"enabled\": true, \"remap_due_dates\": true, \"remap_closed_due_date\": false},\n    \"time_tracking\": {\"enabled\": true},\n    \"tags\": {\"enabled\": true},\n    \"time_estimates\": {\"enabled\": true},\n    \"checklists\": {\"enabled\": true},\n    \"custom_fields\": {\"enabled\": true},\n    \"remap_dependencies\": {\"enabled\": true},\n    \"dependency_warning\": {\"enabled\": true},\n    \"portfolios\": {\"enabled\": true}\n  }\n}\n```\n\n### Folders\n- `GET /space/{space_id}/folder` - List folders\n- `POST /space/{space_id}/folder` - Create folder\n- `PUT /folder/{folder_id}` - Update folder\n- `DELETE /folder/{folder_id}` - Delete folder\n\n### Lists\n- `GET /folder/{folder_id}/list` - List lists in folder\n- `GET /space/{space_id}/list` - List folderless lists\n- `POST /folder/{folder_id}/list` - Create list in folder\n- `POST /space/{space_id}/list` - Create folderless list\n- `PUT /list/{list_id}` - Update list\n- `DELETE /list/{list_id}` - Delete list\n\n**List Configuration Options:**\n```json\n{\n  \"name\": \"List Name\",\n  \"content\": \"Description\",\n  \"status\": {\"status\": \"red\", \"hide_label\": true},\n  \"priority\": 1,\n  \"assignee\": 123,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"folder_id\": \"456\"\n}\n```\n\n### Tasks\n- `GET /list/{list_id}/task` - List tasks\n- `GET /task/{task_id}` - Get task details\n- `POST /list/{list_id}/task` - Create task\n- `PUT /task/{task_id}` - Update task\n- `DELETE /task/{task_id}` - Delete task\n\n**Task Creation Options:**\n```json\n{\n  \"name\": \"Task Name\",\n  \"description\": \"Task description\",\n  \"assignees\": [123, 456],\n  \"tags\": [\"tag1\", \"tag2\"],\n  \"status\": \"to do\",\n  \"priority\": 1,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"time_estimate\": 8640000,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"notify_all\": true,\n  \"parent\": null,\n  \"links_to\": null,\n  \"custom_fields\": [\n    {\"id\": \"abc\", \"value\": \"value\"}\n  ]\n}\n```\n\n**Task Update Options:**\nSame as create, plus:\n```json\n{\n  \"archived\": false\n}\n```\n\n### Time Tracking\n- `GET /team/{team_id}/time_entries` - List time entries\n- `GET /te"},{"path":"references/api_reference.md","content":"# ClickUp API Reference\n\n## Authentication\n\nAll requests require an API token passed in the `Authorization` header:\n```\nAuthorization: pk_xxxxxxxxxxxxxxxxxxxx\n```\n\nSet via environment variable: `CLICKUP_API_TOKEN`\n\n## Rate Limits\n- 100 requests per minute per token\n- 500 requests per minute per OAuth app\n\n## Workspace Hierarchy\n\n```\nTeam (Workspace)\n└── Space\n    ├── Folder\n    │   └── List\n    │       └── Task\n    └── List (Folderless)\n        └── Task\n```\n\n## Common Operations\n\n### Workspaces (Teams)\n- `GET /team` - List all workspaces\n- `GET /team/{team_id}` - Get workspace details\n\n### Spaces\n- `GET /team/{team_id}/space` - List spaces\n- `POST /team/{team_id}/space` - Create space\n- `PUT /space/{space_id}` - Update space\n- `DELETE /space/{space_id}` - Delete space\n\n**Space Configuration Options:**\n```json\n{\n  \"name\": \"Space Name\",\n  \"multiple_assignees\": true,\n  \"features\": {\n    \"due_dates\": {\"enabled\": true, \"remap_due_dates\": true, \"remap_closed_due_date\": false},\n    \"time_tracking\": {\"enabled\": true},\n    \"tags\": {\"enabled\": true},\n    \"time_estimates\": {\"enabled\": true},\n    \"checklists\": {\"enabled\": true},\n    \"custom_fields\": {\"enabled\": true},\n    \"remap_dependencies\": {\"enabled\": true},\n    \"dependency_warning\": {\"enabled\": true},\n    \"portfolios\": {\"enabled\": true}\n  }\n}\n```\n\n### Folders\n- `GET /space/{space_id}/folder` - List folders\n- `POST /space/{space_id}/folder` - Create folder\n- `PUT /folder/{folder_id}` - Update folder\n- `DELETE /folder/{folder_id}` - Delete folder\n\n### Lists\n- `GET /folder/{folder_id}/list` - List lists in folder\n- `GET /space/{space_id}/list` - List folderless lists\n- `POST /folder/{folder_id}/list` - Create list in folder\n- `POST /space/{space_id}/list` - Create folderless list\n- `PUT /list/{list_id}` - Update list\n- `DELETE /list/{list_id}` - Delete list\n\n**List Configuration Options:**\n```json\n{\n  \"name\": \"List Name\",\n  \"content\": \"Description\",\n  \"status\": {\"status\": \"red\", \"hide_label\": true},\n  \"priority\": 1,\n  \"assignee\": 123,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"folder_id\": \"456\"\n}\n```\n\n### Tasks\n- `GET /list/{list_id}/task` - List tasks\n- `GET /task/{task_id}` - Get task details\n- `POST /list/{list_id}/task` - Create task\n- `PUT /task/{task_id}` - Update task\n- `DELETE /task/{task_id}` - Delete task\n\n**Task Creation Options:**\n```json\n{\n  \"name\": \"Task Name\",\n  \"description\": \"Task description\",\n  \"assignees\": [123, 456],\n  \"tags\": [\"tag1\", \"tag2\"],\n  \"status\": \"to do\",\n  \"priority\": 1,\n  \"due_date\": 1567780450202,\n  \"due_date_time\": false,\n  \"time_estimate\": 8640000,\n  \"start_date\": 1567780450202,\n  \"start_date_time\": false,\n  \"notify_all\": true,\n  \"parent\": null,\n  \"links_to\": null,\n  \"custom_fields\": [\n    {\"id\": \"abc\", \"value\": \"value\"}\n  ]\n}\n```\n\n**Task Update Options:**\nSame as create, plus:\n```json\n{\n  \"archived\": false\n}\n```\n\n### Time Tracking\n- `GET /team/{team_id}/time_entries` - List time entries\n- `GET /te"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2206,"uniquenessScore":29,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:07:21.073Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:07:21.073Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:12:05.301Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}