Coding Tasks
Organize and track AI-powered feature implementation
Overview
Coding Tasks are structured units of work that help you organize and track feature implementation in Capacity. Instead of sending ad-hoc messages to the AI, tasks let you break down complex features into manageable pieces that can be tracked, prioritized, and implemented systematically.
Why Use Tasks?
| Chat Messages | Coding Tasks |
|---|---|
| One-off requests | Organized, trackable work items |
| No status tracking | Visual progress tracking |
| Hard to revisit | Persistent history |
| No prioritization | Priority levels (low, medium, high) |
The Tasks Board
Tasks are displayed in a Kanban board with four columns representing different stages of implementation:
Pending (Grey)
Tasks waiting to be implemented. Click the play button to start AI implementation.
Being Implemented (Blue)
Tasks currently being processed by AI. You'll see a pulsing indicator while the AI works on your feature.
Implemented (Green)
Successfully completed tasks. The feature has been added to your project.
Failed (Orange)
Tasks that encountered an error during implementation. You can retry or modify the task description.
Creating Tasks
There are two ways to create coding tasks:
Method 1: Via Spec Coding (Recommended)
When you use Spec Coding mode, tasks are created automatically:
- 1Switch to Spec Mode
Use the mode toggle in the chat input to switch to Spec mode.
- 2Describe Your Feature
Write a detailed description of what you want to build.
- 3Review and Confirm
The Spec Coding dialog shows your formatted task. Click "Create & Start" to create the task and begin implementation automatically.
Method 2: Manual Creation
You can also create tasks directly from the Tasks board:
- 1Open the Tasks Tab
Navigate to the Tasks tab in your project sidebar.
- 2Click New Task
Click the "New task" button to open the task creation dialog.
- 3Write Your Description
Enter a detailed description of the feature you want to build.
- 4Submit
Click create to add the task to your Pending column.
Writing Effective Task Descriptions
Good task descriptions help AI understand exactly what you need:
- Be specific - Describe the exact functionality, not vague goals
- Include context - Reference existing components or pages
- Define scope - Be clear about what's included and what's not
- Use examples - Provide sample data or expected behavior
Note:
Example of a good task description:
"Add a search bar to the products page that filters products by name and category. The search should be instant (no submit button needed) and show 'No results found' when there are no matches."
Implementing Tasks
Once you have pending tasks, implementing them is simple:
- 1Find Your Task
Locate the task in the Pending column of your Tasks board.
- 2Click Implement
Click the play button on the task card to start AI implementation.
- 3Monitor Progress
The task moves to "Being Implemented" while AI generates the code. You can watch the changes in real-time in your project preview.
- 4Review Results
Once complete, the task moves to "Implemented". Review the changes in your project to ensure they match your expectations.
Managing Tasks
Task Priorities
Tasks can have three priority levels:
- High - Urgent features that should be implemented first
- Medium - Standard priority (default)
- Low - Nice-to-have features
Higher priority tasks are processed before lower priority ones when multiple tasks are queued.
Viewing Task Details
Click on any task card to view its full description and details. This is especially useful for tasks with long descriptions.
Deleting Tasks
You can delete tasks that are no longer needed. Hover over a task card and click the delete icon. Deleted tasks cannot be recovered.
Best Practices
One Feature Per Task
Keep tasks focused on a single feature or change. This makes it easier to track progress and troubleshoot if something goes wrong.
Good: "Add user avatar upload to profile settings"
Too broad: "Build the entire user profile system"
Use Spec Coding for Complex Features
For features that need to follow your project specifications, use Spec Coding mode. This ensures AI has full context about your project's architecture and design requirements.
Review Before Moving On
After a task is implemented, review the changes before starting the next task. This helps catch issues early and ensures each feature works correctly before building on top of it.
Prioritize Strategically
Use high priority for features that unblock other work. Use low priority for polish and nice-to-have features that can wait.
FAQ
What happens if a task fails?
Failed tasks move to the "Failed" column. You can view the error, modify the task description if needed, and retry implementation.
Can I edit a task after creating it?
You can delete a task and create a new one with updated description. Tasks that are being implemented cannot be modified.
How many tasks can I have?
There's no limit to the number of tasks you can create. However, tasks are processed one at a time based on priority.
What's the difference between tasks and chat messages?
Chat messages (Vibe Coding) are for quick, iterative changes. Tasks are for organized feature development with tracking and prioritization. Use chat for exploration, use tasks for building.
Coding Tasks help you stay organized while building with AI. By breaking down your project into focused, trackable units of work, you can build complex applications systematically and maintain visibility into your progress.