Skip to main content
This tutorial will guide you through setting up and using TaskGraph for AI-driven development.

Initial Setup

You need Claude Code installed and signed in (run claude once) and Node.js 22.13 or later. TaskGraph needs no API keys.
  1. Install the package
  1. Initialize your project from its folder:
This creates .taskgraph/ and imports TaskGraph’s workflow guide from your project’s CLAUDE.md. Add --mcp to also write a .mcp.json entry for the MCP server.
  1. (Optional) Use the MCP server. Slash commands and the CLI do everything without it. To drive TaskGraph in plain language, register the server and run /mcp in Claude Code to check that it is connected:
  1. Place your PRD in .taskgraph/docs/ (for example .taskgraph/docs/prd.md).
  2. Talk to Claude Code (or use the /taskgraph: slash commands from the plugin or the CLI):

Common Commands

After setting up TaskGraph, you can use these commands via slash commands, AI prompts or the CLI:

Initial Task Generation

In Claude Code, instruct the agent to generate tasks from your PRD:
The agent will execute:
This will:
  • Parse your PRD document
  • Generate a structured tasks.json file with tasks, dependencies, priorities, and test strategies
  • The agent will understand this process due to the imported CLAUDE.md guide

Generate Individual Task Files

Next, ask the agent to generate individual task files:

AI-Driven Development Workflow

Claude Code is pre-configured (via the imported CLAUDE.md guide) to follow this workflow:

1. Task Discovery and Selection

Ask the agent to list available tasks:
The agent will:
  • Run taskgraph list to see all tasks
  • Run taskgraph next to determine the next task to work on
  • Run taskgraph show 1,3,5 to display multiple tasks with interactive options
  • Analyze dependencies to determine which tasks are ready to be worked on
  • Prioritize tasks by priority, then by how much work they unblock, then fewer dependencies, then ID order
  • Suggest the next task(s) to implement

2. Task Implementation

When implementing a task, the agent will:
  • Reference the task’s details section for implementation specifics
  • Consider dependencies on previous tasks
  • Follow the project’s coding standards
  • Create appropriate tests based on the task’s testStrategy
You can ask:

2.1. Viewing Multiple Tasks

For efficient context gathering and batch operations:
The agent will:
  • Run taskgraph show 5,7,9 to display a compact summary table
  • Show task status, priority, and progress indicators
  • Provide an interactive action menu with batch operations
  • Allow you to perform group actions like marking multiple tasks as in-progress

3. Task Verification

Before marking a task as complete, verify it according to:
  • The task’s specified testStrategy
  • Any automated tests in the codebase
  • Manual verification if required

4. Task Completion

When a task is completed, tell the agent:
The agent will execute:

5. Handling Implementation Drift

If during implementation, you discover that:
  • The current approach differs significantly from what was planned
  • Future tasks need to be modified due to current implementation choices
  • New dependencies or requirements have emerged
Tell the agent:
The agent will execute:
This will rewrite or re-scope subsequent tasks in tasks.json while preserving completed work.

6. Reorganizing Tasks

If you need to reorganize your task structure:
The agent will execute:
You can reorganize tasks in various ways:
  • Moving a standalone task to become a subtask: --from=5 --to=7
  • Moving a subtask to become a standalone task: --from=5.2 --to=7
  • Moving a subtask to a different parent: --from=5.2 --to=7.3
  • Reordering subtasks within the same parent: --from=5.2 --to=5.4
  • Moving a task to a new ID position: --from=5 --to=25 (even if task 25 doesn’t exist yet)
  • Moving multiple tasks at once: --from=10,11,12 --to=16,17,18 (must have same number of IDs, TaskGraph will look through each position)
When moving tasks to new IDs:
  • The system automatically creates placeholder tasks for non-existent destination IDs
  • This prevents accidental data loss during reorganization
  • Any tasks that depend on moved tasks will have their dependencies updated
  • When moving a parent task, all its subtasks are automatically moved with it and renumbered
This is particularly useful as your project understanding evolves and you need to refine your task structure.

7. Resolving Merge Conflicts with Tasks

When working with a team, you might encounter merge conflicts in your tasks.json file if multiple team members create tasks on different branches. The move command makes resolving these conflicts straightforward:
The agent will help you:
  1. Keep your teammates’ tasks (10-15)
  2. Move your tasks to new positions to avoid conflicts:
This approach preserves everyone’s work while maintaining a clean task structure, making it much easier to handle task conflicts than trying to manually merge JSON files.

8. Breaking Down Complex Tasks

For complex tasks that need more granularity:
The agent will execute:
You can provide additional context:
The agent will execute:
You can also expand all pending tasks:
The agent will execute:
For research-backed subtask generation using the configured research model:
The agent will execute:

Example Claude Code Interactions

Starting a new project

Working on tasks

Implementing a specific task

Managing subtasks

Handling changes

Completing work

Analyzing complexity

Viewing complexity report

Research-Driven Development

TaskGraph includes a powerful research tool that provides fresh, up-to-date information beyond the AI’s knowledge cutoff. This is particularly valuable for:

Getting Current Best Practices

The agent will execute:

Research with Project Context

The agent will execute:

Research and Update Pattern

A powerful workflow is to research first, then update tasks with findings:
The agent will:
  1. Run research: taskgraph research "Node.js performance optimization 2024" --id=12
  2. Update the task: taskgraph update-subtask --id=12.2 --prompt="Updated with latest performance findings: [research results]"

When to Use Research

  • Before implementing any new technology
  • When encountering security-related tasks
  • For performance optimization tasks
  • When debugging complex issues
  • Before making architectural decisions
  • When updating dependencies
The research tool automatically includes relevant project context and provides fresh information that can significantly improve implementation quality.

Git Integration and Tag Management

TaskGraph supports tagged task lists for multi-context development, which is particularly useful when working with git branches or different project phases.

Working with Tags

Tags provide isolated task contexts, allowing you to maintain separate task lists for different features, branches, or experiments:
The agent will execute:
Or you can create a tag with a specific name:
The agent will execute:

Switching Between Contexts

When working on different features or branches:
The agent will execute:

Copying Tasks Between Tags

When you need to duplicate work across contexts:
The agent will execute:

Tag Management

View and manage your tag contexts:
The agent will execute:

Benefits of Tagged Task Lists

  • Branch Isolation: Each git branch can have its own task context
  • Merge Conflict Prevention: Tasks in different tags don’t interfere with each other
  • Parallel Development: Multiple team members can work on separate contexts
  • Context Switching: Easily switch between different project phases or features
  • Experimentation: Create experimental task lists without affecting main work

Git Workflow Integration

A typical git workflow with TaskGraph tags:
  1. Create feature branch: git checkout -b feature/user-auth
  2. Create matching tag: Ask the agent to run taskgraph tags add <name> --from-branch
  3. Work in isolated context: All task operations work within the new tag
  4. Switch contexts as needed: Use taskgraph tags use <name> to switch between different work streams
  5. Merge and cleanup: After merging the branch, optionally delete the tag with taskgraph tags remove <name>
This workflow ensures your task management stays organized and conflicts are minimized when working with teams or multiple features simultaneously.