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 MessagesCoding Tasks
One-off requestsOrganized, trackable work items
No status trackingVisual progress tracking
Hard to revisitPersistent history
No prioritizationPriority 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:

When you use Spec Coding mode, tasks are created automatically:

  1. 1
    Switch to Spec Mode

    Use the mode toggle in the chat input to switch to Spec mode.

  2. 2
    Describe Your Feature

    Write a detailed description of what you want to build.

  3. 3
    Review 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:

  1. 1
    Open the Tasks Tab

    Navigate to the Tasks tab in your project sidebar.

  2. 2
    Click New Task

    Click the "New task" button to open the task creation dialog.

  3. 3
    Write Your Description

    Enter a detailed description of the feature you want to build.

  4. 4
    Submit

    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:

  1. 1
    Find Your Task

    Locate the task in the Pending column of your Tasks board.

  2. 2
    Click Implement

    Click the play button on the task card to start AI implementation.

  3. 3
    Monitor Progress

    The task moves to "Being Implemented" while AI generates the code. You can watch the changes in real-time in your project preview.

  4. 4
    Review 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.