Reference for Claude Code Tasks — tool parameters, status lifecycle, dependency management, and conventions
Manages task creation, status updates, and dependency tracking for coordinated code projects.
/plugin marketplace add sequenzia/agent-alchemy/plugin install agent-alchemy-claude-tools@agent-alchemyThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/anti-patterns.mdreferences/task-patterns.mdThis skill is a shared reference for Claude Code's Task tools: TaskCreate, TaskGet, TaskUpdate, and TaskList. Load it when your skill or agent needs to create, manage, or coordinate tasks.
This reference covers:
For deeper content, load the reference files listed at the end of this document.
Creates a new task. Returns the created task object with a system-assigned id.
| Parameter | Type | Required | Description |
|---|---|---|---|
subject | string | Yes | Short imperative title for the task (e.g., "Create user schema"). Displayed in the task list UI. |
description | string | No | Detailed description of what the task involves. Supports markdown. Used to convey acceptance criteria, context, and instructions. |
activeForm | string | No | Present-continuous description shown while the task is in progress (e.g., "Creating user schema"). Displayed in the task list UI during execution. |
metadata | object | No | Key-value pairs for categorization and tracking. Keys and values are strings. Common keys documented in the Metadata Conventions section below. |
Returns the full task object including:
id — System-assigned unique identifier (integer)subject — The subject provideddescription — The description provided (if any)activeForm — The activeForm provided (if any)status — Always pending for newly created tasksmetadata — The metadata provided (if any)blockedBy — Empty array (no dependencies yet)blocks — Empty array (no dependents yet)TaskCreate:
subject: "Create user authentication module"
description: "Implement JWT-based auth with login, logout, and token refresh endpoints."
activeForm: "Creating user authentication module"
metadata:
priority: "high"
complexity: "medium"
task_group: "user-auth"
Retrieves a single task by its ID. Use this to get full task details including description, metadata, and dependency information.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | integer | Yes | The ID of the task to retrieve. |
Returns the full task object:
id — Task identifiersubject — Task titledescription — Full description (may be long)activeForm — Present-continuous form (if set)status — Current status (pending, in_progress, completed, deleted)metadata — Key-value pairsblockedBy — Array of task IDs this task depends onblocks — Array of task IDs that depend on this taskowner — The agent or session that owns this task (if set)Updates an existing task. Only the fields you provide are changed; omitted fields remain unchanged.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | integer | Yes | The ID of the task to update. |
status | string | No | New status. Valid values: pending, in_progress, completed, deleted. See Status Lifecycle below. |
subject | string | No | Updated subject line. |
description | string | No | Updated description. |
activeForm | string | No | Updated present-continuous description. |
owner | string | No | Set or change the task owner (agent name or session identifier). |
metadata | object | No | Replace the entire metadata object. Merges are not supported — provide the full metadata object. |
addBlocks | integer[] | No | Add task IDs to this task's blocks list (tasks that depend on this one). |
addBlockedBy | integer[] | No | Add task IDs to this task's blockedBy list (tasks this one depends on). |
Returns the updated task object with all current fields.
TaskUpdate:
taskId: 5
status: "in_progress"
activeForm: "Implementing user authentication module"
Lists all tasks in the current task list. Takes no parameters.
None.
Returns an array of task summary objects. Each summary includes:
id — Task identifiersubject — Task titlestatus — Current statusblockedBy — Array of blocking task IDsblocks — Array of dependent task IDsmetadata — Key-value pairsNote: TaskList returns summary objects. Use TaskGet to retrieve the full description for a specific task.
Tasks follow a simple three-state lifecycle with an additional terminal state.
pending --> in_progress --> completed
|
+--> deleted
| Status | Meaning | Entry Condition |
|---|---|---|
pending | Task is created and waiting to be started | Default on creation via TaskCreate |
in_progress | Task is actively being worked on | Explicitly set via TaskUpdate |
completed | Task is finished | Explicitly set via TaskUpdate |
deleted | Task is removed (soft delete) | Explicitly set via TaskUpdate |
blockedBy (where blockers are not yet completed) should not be started. The system does not enforce this automatically — your orchestration logic must check dependencies before transitioning to in_progress.The subject field uses imperative mood — a command that describes what the task will accomplish:
| Good | Bad |
|---|---|
| "Create user schema" | "Creating user schema" |
| "Add JWT authentication" | "JWT authentication addition" |
| "Fix login timeout bug" | "Login timeout bug" |
| "Implement rate limiting" | "Rate limiting implementation" |
The activeForm field uses present-continuous tense — describing what is happening while the task runs:
| Subject | activeForm |
|---|---|
| "Create user schema" | "Creating user schema" |
| "Add JWT authentication" | "Adding JWT authentication" |
| "Fix login timeout bug" | "Fixing login timeout bug" |
| "Implement rate limiting" | "Implementing rate limiting" |
The activeForm appears in the task list UI while the task status is in_progress. If omitted, the UI falls back to the subject.
Tasks support dependency tracking via blockedBy and blocks fields, forming a Directed Acyclic Graph (DAG).
blockedBy: Array of task IDs that must complete before this task can start. Set via addBlockedBy in TaskUpdate.blocks: Array of task IDs that are waiting on this task. Set via addBlocks in TaskUpdate. This is the inverse of blockedBy.Dependencies are set after task creation using TaskUpdate:
TaskUpdate:
taskId: 5
addBlockedBy: [3, 4]
This means task 5 cannot start until tasks 3 and 4 are both completed.
| Pattern | Structure | Use Case |
|---|---|---|
| Linear chain | A -> B -> C | Sequential steps where each builds on the previous |
| Fan-out | A -> [B, C, D] | One task produces input for multiple parallel tasks |
| Fan-in | [A, B, C] -> D | Multiple tasks must complete before a summary/merge task |
| Diamond | A -> [B, C] -> D | Fan-out followed by fan-in; B and C are independent but D needs both |
The metadata field accepts arbitrary string key-value pairs. These common keys are used across the agent-alchemy ecosystem:
| Key | Values | Purpose |
|---|---|---|
priority | critical, high, medium, low, unprioritized | Execution ordering within a wave; higher priority tasks run first |
complexity | trivial, low, medium, high | Estimate of implementation effort; used for planning |
task_group | Any string (e.g., user-auth, payments) | Groups related tasks for filtered execution via --task-group |
spec_path | File path (e.g., internal/specs/auth-SPEC.md) | Links the task back to its source specification |
feature_name | Any string (e.g., user-authentication) | Associates the task with a feature for tracking |
task_uid | Composite key (e.g., auth:create-schema) | Enables idempotent merge mode — matching UIDs update existing tasks instead of creating duplicates |
spec_phase | Phase identifier (e.g., phase-1) | Tracks which spec phase generated this task |
source_section | Section reference (e.g., Section 5.1) | Links to the specific spec section that defined this task |
TaskUpdate's metadata field performs a full replacement, not a merge. To add a single key, you must read the existing metadata first, add the key, and provide the complete object:
TaskGet: taskId=5
# Returns metadata: { priority: "high", task_group: "auth" }
TaskUpdate:
taskId: 5
metadata:
priority: "high"
task_group: "auth"
complexity: "medium"
For deeper content on task design patterns and common mistakes, load these reference files:
Covers dependency graph design patterns (linear, fan-out, fan-in, diamond), task right-sizing guidance, multi-agent coordination via tasks, and metadata strategies.
Read ${CLAUDE_PLUGIN_ROOT}/skills/claude-code-tasks/references/task-patterns.md
Documents common mistakes when using Tasks: circular dependencies, over-granular tasks, missing activeForm, batch status update pitfalls, duplicate task creation, and more. Each anti-pattern includes the problem, why it matters, and the correct alternative.
Read ${CLAUDE_PLUGIN_ROOT}/skills/claude-code-tasks/references/anti-patterns.md
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.