Taskmaster MCP-First Operations
When to Use
Use this skill when an agent needs to execute any Taskmaster workflow through Taskmaster MCP first, with Taskmaster CLI fallback only when MCP is unavailable or fails.
MCP scope for this skill:
- Allowed MCP integration:
mcp_task-master-ai only.
- Do not use any other MCP tool while executing this skill.
Typical triggers:
- Initialize Taskmaster in a repository.
- Parse a PRD and generate tasks.
- Expand tasks into subtasks.
- Create, update, move, prioritize, or delete tasks.
- Change task status (
pending, in-progress, done, cancelled, and other status values supported by the installed CLI version).
- Add, remove, or validate dependencies.
- Work with tags or contexts.
- Query progress, next task, or task details.
Do not use this skill for source-code implementation or git workflows.
Inputs
Inputs:
- Repository absolute path.
- Requested action intent (for example:
init, parse-prd, expand, set-status, add-dependency, next-task).
- Action parameters (task IDs, PRD path, status values, dependency IDs, tag/context names, and flags).
- Safety flags when needed:
allow_install (boolean)
confirmed (boolean for destructive actions)
If any required input is missing, stop and return a structured input error.
Procedure
Procedure:
- Resolve the CLI executable (test one by one and only test the next if first fails) in this order:
task-master
taskmaster
npx -y task-master-ai
Try to run the first one and if it fails, try the next one, but if one of them succeeds, continue with that one.
- Route the intent using the command catalog below.
- If the exact command is not available in the installed version, use the closest official alias shown in
<tm> --help.
- For destructive operations (delete, clear, overwrite, force replace), require
confirmed=true.
- Execute only Taskmaster CLI commands, do not edit tasks.json manually or with any other tool.
- Run post-action verification with one read command (
list, show, or equivalent) on the same channel used for execution (CLI).
- Return a structured execution report with exact commands/methods, outcomes
Command Catalog (CLI Reference)
Use these commands as the default reference. Always confirm with --help before execution.
Project bootstrap and setup:
task-master init
task-master init --rules cursor,windsurf,vscode
task-master migrate (when present in installed version)
PRD and planning:
task-master parse-prd <prd-file.txt>
task-master parse-prd <prd-file.txt> --num-tasks=5
task-master parse-prd <prd-file.txt> --num-tasks=0
Task inspection:
task-master list
task-master list --status=<status>
task-master list --with-subtasks // Shows all tasks with their subtasks
task-master list --status=<status> --with-subtasks
task-master next
task-master show <id> // Shows the task defailt, with the subtasks
task-master show --id=<id>
task-master show 1,3,5
task-master show 1.2
Task creation and updates:
task-master add-task --prompt="<description>"
task-master add-task --prompt="<description>" --research
task-master add-task --prompt="<description>" --dependencies=1,2,3
task-master add-task --prompt="<description>" --priority=high
task-master update --from=<id> --prompt="<prompt>"
task-master update --from=<id> --prompt="<prompt>" --research
task-master update-task --id=<id> --prompt="<prompt>"
task-master update-task --id=<id> --prompt="<prompt>" --research
task-master update-subtask --id=<parentId.subtaskId> --prompt="<prompt>"
task-master update-subtask --id=<parentId.subtaskId> --prompt="<prompt>" --research
Task lifecycle and status:
task-master set-status --id=<id> --status=<status>
task-master set-status --id=1,2,3 --status=<status>
task-master set-status --id=1.1,1.2 --status=<status>
Task expansion and decomposition:
task-master expand --id=<id> --num=<number>
task-master expand --id=<id> --num=0
task-master expand --id=<id> --prompt="<context>"
task-master expand --id=<id> --research
task-master expand --all
task-master expand --all --force
task-master expand --all --research
task-master clear-subtasks --id=<id>
task-master clear-subtasks --id=1,2,3
task-master clear-subtasks --all
Complexity analysis:
task-master analyze-complexity
task-master analyze-complexity --output=my-report.json
task-master analyze-complexity --model=<model>
task-master analyze-complexity --threshold=6
task-master analyze-complexity --file=custom-tasks.json
task-master analyze-complexity --research
task-master complexity-report
task-master complexity-report --file=my-report.json
Dependencies:
task-master add-dependency --id=<id> --depends-on=<id>
task-master remove-dependency --id=<id> --depends-on=<id>
task-master validate-dependencies
task-master fix-dependencies
Task moves and restructuring:
task-master move --from=<id> --to=<id>
task-master move --from=5.2 --to=7.3
task-master move --from=10,11,12 --to=16,17,18
task-master move --from=5 --from-tag=backlog --to-tag=in-progress
task-master move --from=5,6,7 --from-tag=backlog --to-tag=done --with-dependencies
task-master move --from=5 --from-tag=backlog --to-tag=in-progress --ignore-dependencies
Tag and context management:
task-master tags
task-master tags --show-metadata
task-master add-tag <tag-name>
task-master add-tag <tag-name> --description="<description>"
task-master add-tag --from-branch
task-master add-tag <new-tag> --copy-from-current
task-master add-tag <new-tag> --copy-from=<source-tag>
task-master use-tag <tag-name>
task-master rename-tag <old-name> <new-name>
task-master copy-tag <source-tag> <target-tag>
task-master copy-tag <source-tag> <target-tag> --description="<description>"
task-master delete-tag <tag-name>
task-master delete-tag <tag-name> --yes
Rules management:
task-master rules add <profile1,profile2,...>
task-master rules remove <profile1,profile2,...>
task-master rules remove <profile1,profile2,...> --force
task-master rules setup
Model configuration:
task-master models
task-master models --set-main=<model>
task-master models --set-research=<model>
task-master models --set-fallback=<model>
task-master models --set-main=<model> --ollama
task-master models --set-research=<model> --openrouter
task-master models --set-main=<model> --codex-cli
task-master models --set-fallback=<model> --codex-cli
task-master models --setup
Research:
task-master research "<query>"
task-master research "<query>" --id=15,16
task-master research "<query>" --files=src/a.js,src/b.js
task-master research "<query>" --context="<context>" --tree
task-master research "<query>" --detail=high
task-master research "<query>" --file=custom-tasks.json
task-master research "<query>" --tag=<tag-name>
task-master research "<query>" --save-file
task-master research "<query>" --save-to=15
task-master research "<query>" --save-to=15.2
Task file generation:
Intent-to-Command Routing Hints
Use this mapping when parent agents provide high-level intent:
initialize taskmaster -> init
create tasks from PRD -> parse-prd
expand task -> expand --id=<id>
expand pending tasks -> expand --all
mark task started/done/cancelled -> set-status
change downstream tasks after scope change -> update --from=<id>
update one task only -> update-task
append implementation notes to a subtask -> update-subtask
add/remove dependency -> add-dependency or remove-dependency
fix dependency graph -> fix-dependencies
switch work context -> use-tag
view next executable task -> next
Outputs
Outputs:
- Markdown report with these sections:
Preconditions
Command Resolution
Executed Commands
Result Data
Validation
Final Status
Final Status must be one of:
Examples
Input:
- Repository:
/repo/app
- Action:
set-status
- Params:
task_id=12, status=in-progress
Output:
Preconditions: Taskmaster executable resolved to task-master; repository contains .taskmaster/.
Command Resolution: intent set-status mapped to installed version command <tm> set-status.
Executed Commands: <tm> set-status --id=12 --status=in-progress.
Result Data: task 12 status updated.
Validation: <tm> show 12 confirms in-progress.
Final Status: success.
Input:
- Repository:
/repo/app
- Action:
parse-prd
- Params:
input=.taskmaster/docs/prd.md, num_tasks=20, research=true
Output:
Preconditions: Taskmaster initialized.
Command Resolution: intent parse-prd mapped to <tm> parse-prd.
Executed Commands: <tm> parse-prd .taskmaster/docs/prd.md --num-tasks=20 --research.
Result Data: 20 tasks created.
Validation: <tm> list shows new tasks.
Final Status: success.
Notes and Edge Cases
Notes:
- Do not execute source-code changes, git writes, or unrelated shell commands in this skill.
- NEVER manipulate the tasks.json file directly or using any other tool except the task-master CLI. Use the provided commands to manage tasks.
1---2name: taskmaster3description: Use when any agent must operate Taskmaster with an MCP-first approach and automatic CLI fallback for init, PRD parsing, task lifecycle, dependencies, and status workflows.4license: MIT5---67# Taskmaster MCP-First Operations89## When to Use1011Use this skill when an agent needs to execute any Taskmaster workflow through Taskmaster MCP first, with Taskmaster CLI fallback only when MCP is unavailable or fails.1213MCP scope for this skill:1415- Allowed MCP integration: `mcp_task-master-ai` only.16- Do not use any other MCP tool while executing this skill.1718Typical triggers:1920- Initialize Taskmaster in a repository.21- Parse a PRD and generate tasks.22- Expand tasks into subtasks.23- Create, update, move, prioritize, or delete tasks.24- Change task status (`pending`, `in-progress`, `done`, `cancelled`, and other status values supported by the installed CLI version).25- Add, remove, or validate dependencies.26- Work with tags or contexts.27- Query progress, next task, or task details.2829Do not use this skill for source-code implementation or git workflows.3031## Inputs3233Inputs:3435- Repository absolute path.36- Requested action intent (for example: `init`, `parse-prd`, `expand`, `set-status`, `add-dependency`, `next-task`).37- Action parameters (task IDs, PRD path, status values, dependency IDs, tag/context names, and flags).38- Safety flags when needed:39 - `allow_install` (boolean)40 - `confirmed` (boolean for destructive actions)4142If any required input is missing, stop and return a structured input error.4344## Procedure4546Procedure:47481. Resolve the CLI executable (test one by one and only test the next if first fails) in this order:49 - `task-master`50 - `taskmaster`51 - `npx -y task-master-ai`52 Try to run the first one and if it fails, try the next one, but if one of them succeeds, continue with that one.532. Route the intent using the command catalog below.543. If the exact command is not available in the installed version, use the closest official alias shown in `<tm> --help`.554. For destructive operations (delete, clear, overwrite, force replace), require `confirmed=true`.565. Execute only Taskmaster CLI commands, do not edit tasks.json manually or with any other tool.576. Run post-action verification with one read command (`list`, `show`, or equivalent) on the same channel used for execution (CLI).587. Return a structured execution report with exact commands/methods, outcomes5960### Command Catalog (CLI Reference)6162Use these commands as the default reference. Always confirm with `--help` before execution.6364Project bootstrap and setup:6566- `task-master init`67- `task-master init --rules cursor,windsurf,vscode`68- `task-master migrate` (when present in installed version)6970PRD and planning:7172- `task-master parse-prd <prd-file.txt>`73- `task-master parse-prd <prd-file.txt> --num-tasks=5`74- `task-master parse-prd <prd-file.txt> --num-tasks=0`7576Task inspection:7778- `task-master list`79- `task-master list --status=<status>`80- `task-master list --with-subtasks` // Shows all tasks with their subtasks81- `task-master list --status=<status> --with-subtasks`82- `task-master next`83- `task-master show <id>` // Shows the task defailt, with the subtasks84- `task-master show --id=<id>`85- `task-master show 1,3,5`86- `task-master show 1.2`8788Task creation and updates:8990- `task-master add-task --prompt="<description>"`91- `task-master add-task --prompt="<description>" --research`92- `task-master add-task --prompt="<description>" --dependencies=1,2,3`93- `task-master add-task --prompt="<description>" --priority=high`94- `task-master update --from=<id> --prompt="<prompt>"`95- `task-master update --from=<id> --prompt="<prompt>" --research`96- `task-master update-task --id=<id> --prompt="<prompt>"`97- `task-master update-task --id=<id> --prompt="<prompt>" --research`98- `task-master update-subtask --id=<parentId.subtaskId> --prompt="<prompt>"`99- `task-master update-subtask --id=<parentId.subtaskId> --prompt="<prompt>" --research`100101Task lifecycle and status:102103- `task-master set-status --id=<id> --status=<status>`104- `task-master set-status --id=1,2,3 --status=<status>`105- `task-master set-status --id=1.1,1.2 --status=<status>`106107Task expansion and decomposition:108109- `task-master expand --id=<id> --num=<number>`110- `task-master expand --id=<id> --num=0`111- `task-master expand --id=<id> --prompt="<context>"`112- `task-master expand --id=<id> --research`113- `task-master expand --all`114- `task-master expand --all --force`115- `task-master expand --all --research`116- `task-master clear-subtasks --id=<id>`117- `task-master clear-subtasks --id=1,2,3`118- `task-master clear-subtasks --all`119120Complexity analysis:121122- `task-master analyze-complexity`123- `task-master analyze-complexity --output=my-report.json`124- `task-master analyze-complexity --model=<model>`125- `task-master analyze-complexity --threshold=6`126- `task-master analyze-complexity --file=custom-tasks.json`127- `task-master analyze-complexity --research`128- `task-master complexity-report`129- `task-master complexity-report --file=my-report.json`130131Dependencies:132133- `task-master add-dependency --id=<id> --depends-on=<id>`134- `task-master remove-dependency --id=<id> --depends-on=<id>`135- `task-master validate-dependencies`136- `task-master fix-dependencies`137138Task moves and restructuring:139140- `task-master move --from=<id> --to=<id>`141- `task-master move --from=5.2 --to=7.3`142- `task-master move --from=10,11,12 --to=16,17,18`143- `task-master move --from=5 --from-tag=backlog --to-tag=in-progress`144- `task-master move --from=5,6,7 --from-tag=backlog --to-tag=done --with-dependencies`145- `task-master move --from=5 --from-tag=backlog --to-tag=in-progress --ignore-dependencies`146147Tag and context management:148149- `task-master tags`150- `task-master tags --show-metadata`151- `task-master add-tag <tag-name>`152- `task-master add-tag <tag-name> --description="<description>"`153- `task-master add-tag --from-branch`154- `task-master add-tag <new-tag> --copy-from-current`155- `task-master add-tag <new-tag> --copy-from=<source-tag>`156- `task-master use-tag <tag-name>`157- `task-master rename-tag <old-name> <new-name>`158- `task-master copy-tag <source-tag> <target-tag>`159- `task-master copy-tag <source-tag> <target-tag> --description="<description>"`160- `task-master delete-tag <tag-name>`161- `task-master delete-tag <tag-name> --yes`162163Rules management:164165- `task-master rules add <profile1,profile2,...>`166- `task-master rules remove <profile1,profile2,...>`167- `task-master rules remove <profile1,profile2,...> --force`168- `task-master rules setup`169170Model configuration:171172- `task-master models`173- `task-master models --set-main=<model>`174- `task-master models --set-research=<model>`175- `task-master models --set-fallback=<model>`176- `task-master models --set-main=<model> --ollama`177- `task-master models --set-research=<model> --openrouter`178- `task-master models --set-main=<model> --codex-cli`179- `task-master models --set-fallback=<model> --codex-cli`180- `task-master models --setup`181182Research:183184- `task-master research "<query>"`185- `task-master research "<query>" --id=15,16`186- `task-master research "<query>" --files=src/a.js,src/b.js`187- `task-master research "<query>" --context="<context>" --tree`188- `task-master research "<query>" --detail=high`189- `task-master research "<query>" --file=custom-tasks.json`190- `task-master research "<query>" --tag=<tag-name>`191- `task-master research "<query>" --save-file`192- `task-master research "<query>" --save-to=15`193- `task-master research "<query>" --save-to=15.2`194195Task file generation:196197- `task-master generate`198199### Intent-to-Command Routing Hints200201Use this mapping when parent agents provide high-level intent:202203- `initialize taskmaster` -> `init`204- `create tasks from PRD` -> `parse-prd`205- `expand task` -> `expand --id=<id>`206- `expand pending tasks` -> `expand --all`207- `mark task started/done/cancelled` -> `set-status`208- `change downstream tasks after scope change` -> `update --from=<id>`209- `update one task only` -> `update-task`210- `append implementation notes to a subtask` -> `update-subtask`211- `add/remove dependency` -> `add-dependency` or `remove-dependency`212- `fix dependency graph` -> `fix-dependencies`213- `switch work context` -> `use-tag`214- `view next executable task` -> `next`215216## Outputs217218Outputs:219220- Markdown report with these sections:221 - `Preconditions`222 - `Command Resolution`223 - `Executed Commands`224 - `Result Data`225 - `Validation`226 - `Final Status`227228`Final Status` must be one of:229230- `success`231- `partial`232- `failed`233234## Examples235236Input:237238- Repository: `/repo/app`239- Action: `set-status`240- Params: `task_id=12`, `status=in-progress`241242Output:243244- `Preconditions`: Taskmaster executable resolved to `task-master`; repository contains `.taskmaster/`.245- `Command Resolution`: intent `set-status` mapped to installed version command `<tm> set-status`.246- `Executed Commands`: `<tm> set-status --id=12 --status=in-progress`.247- `Result Data`: task `12` status updated.248- `Validation`: `<tm> show 12` confirms `in-progress`.249- `Final Status`: `success`.250251Input:252253- Repository: `/repo/app`254- Action: `parse-prd`255- Params: `input=.taskmaster/docs/prd.md`, `num_tasks=20`, `research=true`256257Output:258259- `Preconditions`: Taskmaster initialized.260- `Command Resolution`: intent `parse-prd` mapped to `<tm> parse-prd`.261- `Executed Commands`: `<tm> parse-prd .taskmaster/docs/prd.md --num-tasks=20 --research`.262- `Result Data`: 20 tasks created.263- `Validation`: `<tm> list` shows new tasks.264- `Final Status`: `success`.265266## Notes and Edge Cases267268Notes:269270- Do not execute source-code changes, git writes, or unrelated shell commands in this skill.271- **NEVER** manipulate the tasks.json file directly or using any other tool except the task-master CLI. Use the provided commands to manage tasks.