Claude-skill-registry create-clickup-task
Create ClickUp tasks with proper formatting, task types, custom fields, and assignment. Use when the user wants to create a task, bug, feature, or ticket in ClickUp, or when they mention Sprint planning or task tracking.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/create-clickup-task" ~/.claude/skills/majiayu000-claude-skill-registry-create-clickup-task && rm -rf "$T"
manifest:
skills/data/create-clickup-task/SKILL.mdsource content
Create ClickUp Task
This skill creates well-structured ClickUp tasks using the ClickUp MCP tools.
Instructions
Step 1: Gather task information
Ask clarifying questions if any required information is missing:
- Task name - Clear, concise title (will be prefixed with appropriate emoji)
- Task Type - Task (default) or Bug. Important: This is different from Value Stream!
- Description - User story, problem statement, and/or solution details
- Sprint/List - Which sprint or list to add the task to (e.g., "Sprint 119")
- Priority - Urgent (1), High (2), Normal (3), or Low (4). Default: Normal
- Status - Default: "Ready to Start"
- Assignee - Who should be assigned (can search by name or email)
- Value Stream - Bug, Internal Enhancement, External Enhancement, Differentiator, Must Have, etc.
- Requested By/Affects Clients - RSF, Falcon, PGW, LVLup, Buho, PTAC, All Clients, etc.
Step 2: Determine Task Type
ClickUp has a "Task Type" feature (shown as
custom_item_id in the API). This is separate from the "Value Stream" custom field.
Task Types:
| Type | custom_item_id |
|---|---|
| Task | 0 (default) |
| Bug | 1001 |
When to use Bug type:
- Defects in existing functionality
- Unexpected behavior reported by users
- Issues that need fixing (not new features)
When to use Task type:
- New features
- Enhancements
- Documentation
- Refactoring
- General work items
Step 3: Format the task
Task Name
Prefix with an appropriate emoji based on type:
- Bug:
orFix...
(no emoji needed - the Bug type provides the icon)Ignore... - Feature:
orAdd...Implement... - Enhancement:
orImprove...Optimize... - Documentation:
Document... - Refactor:
Refactor...
Description Format
Use this markdown template for the description:
**As a** [role], **I want** [capability], **So that** [benefit]. # Problem Statement [Describe the problem, include evidence, examples, or references] # Solution [Describe the proposed solution and implementation approach] # Files to Modify | File | Change | |------|--------| | `path/to/file.php` | Description of change | # Acceptance Criteria 1. [Criterion 1] 2. [Criterion 2] 3. [Criterion 3]
Step 4: Find the list and assignee
- Find the Sprint list: Use
withClickUp_get_task
like "Sprint NNN" to find the list IDtaskName - Find the assignee: Use
to get the user IDClickUp_find_member_by_name
Step 5: Create the task
Use
ClickUp_create_task with:
: Task name (emoji optional - Bug type provides its own icon)name
: The sprint list ID (preferred over listName)listId
: 1-4 (1=urgent, 4=low)priority
: "Ready to Start" (or as specified)status
: Array with user ID, e.g.,assignees[2685610]
: Full formatted descriptionmarkdown_description
: Task type ID - usecustom_item_id
for Bug type, omit or use1001
for regular Task0
Note: If the
custom_item_id parameter is not supported by the MCP tool, inform the user that they will need to manually change the Task Type to "Bug" in ClickUp after creation, or the MCP server needs to be updated to support this parameter.
Step 6: Set custom fields
Use
ClickUp_update_task to set custom fields:
Value Stream (field ID:
49ed7876-0e5f-490e-9cdc-612252997997):
| Value | Option ID |
|---|---|
| Unknown | |
| Internal Enhancement | |
| External Enhancement | |
| Differentiator | |
| Bug | |
| Must Have | |
| Who Needs This | |
Requested By/Affects Clients (field ID:
40acbf4e-77be-4e77-a0f6-d38b448c2804):
| Value | Option ID |
|---|---|
| All Clients | |
| RSF | |
| Falcon | |
| PGW | |
| LVLup | |
| Buho | |
| PTAC | |
| Prospects | |
| R&S Logistics | |
| LuckyGunner | |
| RSD | |
Example update call:
custom_fields: [ {"id": "49ed7876-0e5f-490e-9cdc-612252997997", "value": "4499c3b7-49da-43cd-ad38-f082a56079ef"}, {"id": "40acbf4e-77be-4e77-a0f6-d38b448c2804", "value": ["927a2f33-0026-40df-971b-a21d1395ac58"]} ]
Step 7: Report the result
After creating the task, provide a summary:
**ClickUp Task Created:** | Field | Value | |-------|-------| | **ID** | DEV-XXXX | | **Name** | Task name | | **Type** | Bug | | **List** | Sprint NNN | | **Status** | Ready to Start | | **Priority** | Normal | | **Assignee** | Name | | **Value Stream** | Bug | | **Requested By** | RSF | **URL:** https://app.clickup.com/t/XXXXXXXX
Common team members
| Name | User ID |
|---|---|
| Colin | 2685610 |
Use
ClickUp_find_member_by_name to find other team members by name or email.
Tips
- Always use
instead oflistId
when you have it - it's faster and more reliablelistName - The Sprint list name format is typically "Sprint NNN (MM/DD - MM/DD)"
- For bugs: Set BOTH Task Type to Bug (
) AND Value Stream to "Bug"custom_item_id: 1001 - For client-reported issues, set the appropriate client in "Requested By/Affects Clients"
- Custom field values for dropdowns use the option ID, not the display name
- Custom field values for labels (like "Requested By") take an array of option IDs
- Task Type (Bug vs Task) is different from Value Stream - both should be set appropriately