--- title: Advanced Tasks sidebarTitle: "Advanced Tasks" --- ## AI-Driven Development Workflow The Cursor agent is pre-configured (via the rules file) to follow this workflow: ### 1. Task Discovery and Selection Ask the agent to list available tasks: ``` What tasks are available to work on next? ``` ``` Can you show me tasks 1, 3, and 5 to understand their current status? ``` The agent will: - Run `task-master list` to see all tasks - Run `task-master next` to determine the next task to work on - Run `task-master 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 based on priority level and 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: ``` Let's implement task 3. What does it involve? ``` ### 2.1. Viewing Multiple Tasks For efficient context gathering and batch operations: ``` Show me tasks 5, 7, and 9 so I can plan my implementation approach. ``` The agent will: - Run `task-master 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: ``` Task 3 is now complete. Please update its status. ``` The agent will execute: ```bash task-master set-status --id=3 --status=done ``` ### 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: ``` We've decided to use MongoDB instead of PostgreSQL. Can you update all future tasks (from ID 4) to reflect this change? ``` The agent will execute: ```bash task-master update --from=4 --prompt="Now we are using MongoDB instead of PostgreSQL." # OR, if research is needed to find best practices for MongoDB: task-master update --from=4 --prompt="Update to use MongoDB, researching best practices" --research ``` 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: ``` I think subtask 5.2 would fit better as part of task 7 instead. Can you move it there? ``` The agent will execute: ```bash task-master move --from=5.2 --to=7.3 ``` 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, Taskmaster 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: ``` I just merged the main branch and there's a conflict with tasks.json. My teammates created tasks 10-15 while I created tasks 10-12 on my branch. Can you help me resolve this? ``` The agent will help you: 1. Keep your teammates' tasks (10-15) 2. Move your tasks to new positions to avoid conflicts: ```bash # Move your tasks to new positions (e.g., 16-18) task-master move --from=10 --to=16 task-master move --from=11 --to=17 task-master move --from=12 --to=18 ``` 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: ``` Task 5 seems complex. Can you break it down into subtasks? ``` The agent will execute: ```bash task-master expand --id=5 --num=3 ``` You can provide additional context: ``` Please break down task 5 with a focus on security considerations. ``` The agent will execute: ```bash task-master expand --id=5 --prompt="Focus on security aspects" ``` You can also expand all pending tasks: ``` Please break down all pending tasks into subtasks. ``` The agent will execute: ```bash task-master expand --all ``` For research-backed subtask generation using the configured research model: ``` Please break down task 5 using research-backed generation. ``` The agent will execute: ```bash task-master expand --id=5 --research ```