These patterns and workflows will help you move faster, stay organized, and get better results from Taskmaster across your projects.
Follow this cycle for the best results on any project:
tm parse-prd generates a structured task plantm analyze-complexity scores every tasktm complexity-report shows what needs breaking downtm expand splits high-complexity tasks into subtaskstm research gathers live information for technical decisionstm next selects the highest-priority unblocked tasktm update keeps future tasks aligned if plans changetm set-status --id=N --status=done and move onThis cycle keeps your project structured while adapting to what you learn during implementation.
Before writing any code, run complexity analysis on your task list:
tm analyze-complexity --research
This scores every task on a 1–10 scale and recommends how many subtasks each one needs. Then review the formatted report:
tm complexity-report
Why this matters: Tasks that seem simple in a PRD often hide significant complexity. Analyzing upfront prevents surprises mid-implementation and helps you allocate time accurately.
Expand your highest-complexity tasks first:
# Expand a specific complex task
tm expand --id=5
# Expand with additional context
tm expand --id=5 --prompt="Focus on security considerations"
# Expand all pending tasks at once
tm expand --all
Use the built-in research command whenever you're working with unfamiliar technology, making architectural decisions, or need information beyond AI training data:
# Basic research
tm research "JWT best practices for refresh token rotation"
# Research with task context
tm research "React Query v5 migration" --id=15
# Research with file context
tm research "Optimize this database schema" --files=src/db/schema.ts
# Save findings directly to a task
tm research "OAuth PKCE flow" --save-to=12
Research uses your configured research model (typically Perplexity) to pull live information from the web. This is especially valuable for:
Tip: Research first, then update your tasks with the findings. This produces better subtasks and implementation details than guessing.
When planning your next stretch of work, view several tasks at once for a bird's-eye perspective:
# View multiple tasks in a compact table
tm show 5,7,9
# Mix parent tasks and subtasks
tm show 44,44.1,55,55.2
The multi-task view shows a summary table with status, priority, and progress indicators. You can also perform batch operations — marking multiple tasks as in-progress, expanding all of them, or checking dependency relationships at a glance.
Plans change during implementation. When your approach diverges from what was originally planned, update future tasks so they reflect reality:
# Update all tasks from a given ID forward
tm update --from=4 --prompt="Switched from REST to GraphQL for the API layer"
# Use research-backed updates for better suggestions
tm update --from=4 --prompt="Migrating to MongoDB" --research
# Update a single task's details
tm update-task --id=3 --prompt="Need to handle pagination differently"
This rewrites future task details while preserving completed work — no need to start over or manually rewrite your plan.
Tags let you maintain separate task lists for different features, branches, or experiments:
# Create a tag from your current git branch
tm add-tag --from-branch
# Create a named tag
tm add-tag api-v2 --description="API v2 redesign"
# Switch context
tm use-tag auth
# Copy current tasks into a new tag for experimentation
tm add-tag experiment --copy-from-current
Tags prevent merge conflicts when multiple team members create tasks on different branches, and make it easy to context-switch between workstreams without losing track of progress.
If you use Taskmaster through an MCP-enabled editor, you can control how many tools are loaded to manage context window usage:
| Preset | Tools Loaded | Token Cost | Best For |
|---|---|---|---|
core |
7 essential | ~5,000 | Daily development |
standard |
15 common | ~10,000 | Balanced feature set |
all |
36 total | ~21,000 | Full functionality |
Configure this in your MCP settings:
{
"mcpServers": {
"task-master-ai": {
"env": {
"TASK_MASTER_TOOLS": "standard"
}
}
}
}
For long-running operations like PRD parsing or research, extend the MCP timeout:
{
"mcpServers": {
"task-master-ai": {
"timeout": 300
}
}
}
tm validate-dependencies to catch circular or missing dependencies before they block you--research liberally — Adding the --research flag to expand, update, and analyze-complexity pulls live information for better resultsin-progress when you start and done when you finish. This keeps tm next accurate