This skill provides comprehensive CLI reference for the mcp-tasks command-line tool.
Provides CLI reference for the mcp-tasks command-line tool. Use this when users ask about mcp-tasks commands, options, or syntax for task management scripting.
/plugin marketplace add hugoduncan/mcp-tasks/plugin install mcp-tasks-cli@mcp-tasksThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill provides comprehensive CLI reference for the mcp-tasks command-line tool.
The mcp-tasks CLI provides task management via command-line interface for scripting and automation. For agent workflows, use the MCP server instead.
The CLI is distributed as a pre-built Babashka uberscript in this plugin:
plugins/mcp-tasks-cli/bin/mcp-tasks
Add to PATH or invoke directly:
# Add to PATH (example)
export PATH="$PATH:/path/to/plugins/mcp-tasks-cli/bin"
# Or invoke directly
/path/to/plugins/mcp-tasks-cli/bin/mcp-tasks --help
No --config-path required. The CLI automatically searches for .mcp-tasks.edn:
Example:
# Project structure:
# /project/.mcp-tasks.edn
# /project/src/
# Works from any subdirectory:
cd /project/src
mcp-tasks list # Finds /project/.mcp-tasks.edn
| Command | Purpose | Required Args | Key Options |
|---|---|---|---|
list | Query tasks with filters | None | --status, --category, --type, --parent-id, --task-id, --title-pattern, --limit, --unique |
show | Display single task | --task-id | --format |
add | Create new task | --category, --title | --description, --type, --parent-id, --prepend |
complete | Mark task complete | --task-id or --title | --category, --completion-comment |
update | Update task fields | --task-id | --title, --description, --design, --status, --category, --type, --parent-id, --meta, --relations |
delete | Delete task | --task-id or --title-pattern | None |
| Option | Values | Default | Description |
|---|---|---|---|
--format | edn, json, human | edn | Output format |
--help | - | - | Show help message |
Query tasks with optional filters.
Usage:
mcp-tasks list [options]
Options:
| Flag | Alias | Type | Description |
|---|---|---|---|
--status | -s | keyword | Filter by status: open, closed, in-progress, blocked, any |
--category | -c | string | Filter by category name |
--type | -t | keyword | Filter by type: task, bug, feature, story, chore |
--parent-id | -p | integer | Filter by parent task ID |
--task-id | - | integer | Filter by specific task ID |
--title-pattern | --title | string | Filter by title pattern (regex or substring) |
--limit | - | integer | Maximum tasks to return (default: 30) |
--unique | - | boolean | Enforce 0 or 1 match (error if >1) |
--format | - | keyword | Output format: edn, json, human |
Examples:
# List open tasks in human format
mcp-tasks list --status open --format human
# List all tasks for a category
mcp-tasks list --status any --category simple
# List story child tasks
mcp-tasks list --parent-id 31 --status open
Display a single task by ID.
Usage:
mcp-tasks show --task-id <id> [options]
Options:
| Flag | Alias | Type | Required | Description |
|---|---|---|---|---|
--task-id | --id | integer | Yes | Task ID to display |
--format | - | keyword | No | Output format: edn, json, human |
Examples:
# Show task in EDN format
mcp-tasks show --task-id 42
# Show task in human-readable format
mcp-tasks show --id 42 --format human
Create a new task.
Usage:
mcp-tasks add --category <name> --title <title> [options]
Options:
| Flag | Alias | Type | Required | Description |
|---|---|---|---|---|
--category | -c | string | Yes | Task category (e.g., simple, medium, large) |
--title | -t | string | Yes | Task title |
--description | -d | string | No | Task description |
--type | - | keyword | No | Task type (default: task). Options: task, bug, feature, story, chore |
--parent-id | -p | integer | No | Parent task ID (for child tasks) |
--prepend | - | boolean | No | Add task at beginning instead of end |
--format | - | keyword | No | Output format: edn, json, human |
Examples:
# Create simple task
mcp-tasks add --category simple --title "Fix parser bug"
# Create task with description
mcp-tasks add -c medium -t "Add auth" -d "Implement JWT auth"
# Create child task
mcp-tasks add --category simple --title "Subtask" --parent-id 31
Mark a task as complete and move to archive.
Usage:
mcp-tasks complete (--task-id <id> | --title <pattern>) [options]
Options:
| Flag | Alias | Type | Required | Description |
|---|---|---|---|---|
--task-id | --id | integer | * | Task ID to complete |
--title | -t | string | * | Task title pattern (alternative to task-id) |
--category | -c | string | No | Task category (for verification) |
--completion-comment | --comment | string | No | Optional completion comment |
--format | - | keyword | No | Output format: edn, json, human |
* At least one of --task-id or --title required.
Examples:
# Complete by ID
mcp-tasks complete --task-id 42
# Complete by title with comment
mcp-tasks complete --title "Fix bug" --comment "Fixed via PR #123"
# Complete with category verification
mcp-tasks complete --id 42 --category simple
Update task fields.
Usage:
mcp-tasks update --task-id <id> [options]
Options:
| Flag | Alias | Type | Required | Description |
|---|---|---|---|---|
--task-id | --id | integer | Yes | Task ID to update |
--title | -t | string | No | New task title |
--description | -d | string | No | New task description |
--design | - | string | No | New task design notes |
--status | -s | keyword | No | New status: open, closed, in-progress, blocked |
--category | -c | string | No | New task category |
--type | - | keyword | No | New task type: task, bug, feature, story, chore |
--parent-id | -p | integer/string | No | New parent task ID (pass "null" to remove) |
--meta | - | JSON string | No | New metadata as JSON object (replaces entire map) |
--relations | - | JSON string | No | New relations as JSON array (replaces entire vector) |
--format | - | keyword | No | Output format: edn, json, human |
Examples:
# Update status
mcp-tasks update --task-id 42 --status in-progress
# Update title and description
mcp-tasks update --id 42 --title "New title" --description "New desc"
# Update metadata
mcp-tasks update --task-id 42 --meta '{"priority":"high"}'
# Remove parent relationship
mcp-tasks update --task-id 42 --parent-id "null"
Delete a task from tasks.ednl (archives to complete.ednl with :status :deleted).
Usage:
mcp-tasks delete (--task-id <id> | --title-pattern <pattern>) [options]
Options:
| Flag | Alias | Type | Required | Description |
|---|---|---|---|---|
--task-id | --id | integer | * | Task ID to delete |
--title-pattern | --title | string | * | Title pattern to match (alternative to task-id) |
--format | - | keyword | No | Output format: edn, json, human |
* At least one of --task-id or --title-pattern required.
Constraints:
Examples:
# Delete by ID
mcp-tasks delete --task-id 42
# Delete by title pattern
mcp-tasks delete --title-pattern "old-task"
# Delete with human-readable output
mcp-tasks delete --id 42 --format human
Clojure EDN format suitable for programmatic consumption:
{:tasks [{:id 42 :title "Fix bug" :status :open ...}]
:metadata {:open-task-count 5 :returned-count 1}}
JSON format for integration with non-Clojure tools:
{
"tasks": [{"id": 42, "title": "Fix bug", "status": "open", ...}],
"metadata": {"open_task_count": 5, "returned_count": 1}
}
Human-readable tabular format:
Tasks (1 found, showing 1):
ID | Status | Category | Type | Title
----|--------|----------|------|--------
42 | open | simple | task | Fix bug
Metadata:
Open tasks: 5
Returned: 1
# Find tasks by status and category
mcp-tasks list --status open --category medium --format human
# Show specific task details
mcp-tasks show --task-id 42 --format human
# Create simple task
mcp-tasks add --category simple --title "Fix parser"
# Create story with child tasks
mcp-tasks add --category large --title "User auth" --type story
mcp-tasks add --category medium --title "Login" --parent-id 100
# Update task status
mcp-tasks update --task-id 101 --status in-progress
# Complete task with comment
mcp-tasks complete --task-id 101 --comment "Implemented"
# Get open task count (JSON + jq)
mcp-tasks list --status open --format json | jq '.metadata.open_task_count'
# List all story tasks
mcp-tasks list --type story --status any --format human
# Batch update tasks (shell loop)
for id in 42 43 44; do
mcp-tasks update --task-id $id --status closed
done
The CLI operates on these files within the .mcp-tasks/ directory:
| File | Purpose |
|---|---|
.mcp-tasks.edn | Configuration file (searched automatically) |
.mcp-tasks/tasks.ednl | Incomplete tasks |
.mcp-tasks/complete.ednl | Completed/deleted tasks archive |
.mcp-tasks/prompts/<category>.md | Category-specific prompts (not used by CLI) |
Use CLI for:
Use MCP Server for:
The CLI and MCP server operate on the same .mcp-tasks/ data files and can be used interchangeably.
Configuration not found:
Error: Could not find .mcp-tasks.edn in current directory or any parent directory
Solution: Initialize project with .mcp-tasks.edn or run from correct directory.
Unknown option:
Unknown option: --invalid. Use --help to see valid options.
Solution: Check command-specific help with mcp-tasks <command> --help.
Invalid format:
Invalid format: xml. Must be one of: edn, json, human
Solution: Use one of the supported format values.
Missing required argument:
Required option: --task-id (or --id)
Solution: Provide all required arguments for the command.
Task not found:
Error: No task found with task-id: 999
Solution: Verify task ID exists using mcp-tasks list.
Check version in plugins/mcp-tasks-cli/.claude-plugin/plugin.json.
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.
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.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.