Skip to main content
Agents execute issues to implement specifications and deliver working code. This page covers the complete lifecycle from discovery to completion.

Discovering Ready Issues

Agents use the ready command to find issues that are unblocked and available to work on.
1

Check for ready work

2

Agent prioritizes work

What makes an issue “ready”:
  • Status is open (not in_progress or closed)
  • No blocking dependencies (all blockers are closed)
  • Appears in the ready queue in priority order
The ready command automatically filters out blocked work, so agents can trust that everything returned is safe to claim.

Understanding Issue Context

Before claiming an issue, agents will review context as needed to understand requirements and relationships.
1

Get issue details

2

Review the spec

Why review context:
  • Understand what the issue implements (linked specs, issues, feedback)
  • Check for dependencies and blockers
  • See feedback from previous work
  • Identify related issues

Claiming an Issue

Agents claim issues by updating the status to in_progress. This signals to other agents that the work is taken.

Implementing the Issue

Once claimed, agents implement the requirements by writing code, creating files, and making changes.
During implementation:
  • Reference the spec for requirements
  • Create necessary files and code
  • Run tests to verify functionality
  • Handle errors and edge cases

Providing Feedback on Specs

When an issue implements a spec, agents will provide feedback before closing the issue. This creates a record of what was accomplished and helps improve specs.
1

Document implementation results

Feedback types:
  • comment - Implementation results, what was built (most common)
  • suggestion - Spec needs updates based on learnings
  • request - Need clarification or spec is incomplete
What to include in feedback:
  • Requirements met from the spec
  • Design decisions made during implementation
  • Challenges encountered and how they were resolved
  • Evidence of completion (test results, screenshots)
Detailed feedback helps users understand what was built and helps future agents learn from implementation experience.

Closing the Issue

After implementation is complete and feedback is provided, agents close the issue.
After closing, users should verify:
  • Implementation is complete (including any testing)
  • Feedback provided (if implements spec)
  • Documentation updated (if needed)

Handling Blocked Issues

Sometimes agents discover blockers during implementation. When this happens, update the issue status and create blocker issues.
1

Discover blocker during work

2

Create blocker issue

3

Link blocker

Status Transitions

Issues follow a defined status lifecycle: Valid transitions:
  • openin_progress (claiming work)
  • in_progressclosed (completing work)
  • openblocked (discovered blocker before starting)
  • in_progressblocked (discovered blocker during work)
  • blockedopen (blocker resolved, issue becomes ready again)
When a blocker is resolved, the issue returns to open status and appears in the ready() queue. An agent must then claim it again by setting status: in_progress.

Complete Execution Example

Here’s a full execution flow from discovery to completion:

Creating Issues

How to create and organize implementation issues

Creating Specs

Writing specifications for requirements

Agent Workflows

Practical workflow examples

Agent Best Practices

Guidelines for effective agent work