
When to Create an Issue
Create issues to track discrete, actionable work. Think of issues as your agent’s work queue.Implement Specs
Break down specifications into discrete implementation tasks that agents can execute
Manage Dependencies
Use issues to capture the dependency of work items and enforce execution order
Enable Discovery
Create discovery issues that leave behind other issues and specs as artifacts
- Large, ambiguous goals without clear actionability
- Defining requirements for larger tasks (use specs instead)
- Temporary notes or reminders (use comments or external tools)
How to Create an Issue
Method 1: Spec-Driven Implementation
Create issues that implement specific sections or requirements from a spec.1
Review the spec
2
Agent creates linked issues
3
Verify relationships
Agent doesn’t always create dependencies: If you notice that the agent hasn’t established dependency relationships between related issues, you can prompt it directly:
Method 2: Breaking Down Large Issues
Take a large or complex issue (epic) and split it into smaller, manageable sub-issues.1
Identify the epic
2
Create child issues
3
Set up dependencies
Method 3: Discovery-Driven Issues
Create new issues when you discover unexpected work during implementation.1
Discover new work
2
Link to source
3
Decide priority
Method 4: Standalone Ad-Hoc Work
Create individual issues for bugs, quick features, or tasks that don’t relate to a spec.1
Create the issue
2
Agent completes immediately
Organizing Issues
Priority Levels
Priority levels help agents decide what to work on first Ask an agent to set priority when creating or updating issues.Issue Hierarchies
Use parent-child relationships for issue breakdown:Dependency Management
Define execution order using relationship types: blocks: Hard blocker (B blocks A means A can’t start until B is done)Tagging
Use tags for categorization and filtering:Best Practices
Keep Issues Focused
Keep Issues Focused
Each issue should represent a single, cohesive piece of work.Good:Bad:
Link Issues to Specs
Link Issues to Specs
Always use the
implements relationship to connect issues to specs.Why it matters:- Agents can reference spec requirements during implementation
- Agents can provide feedback on spec clarity
- You can track which specs are implemented vs. pending
from_id: "i-xyz", to_id: "s-abc", type: "implements"Use Dependencies Wisely
Use Dependencies Wisely
Only create blockers for true dependencies, not nice-to-haves.Good dependency:Bad dependency:Over-using blockers creates bottlenecks. Use priority instead when possible.
Archive Completed Work
Archive Completed Work
Mark issues as archived when they’re no longer relevant for context.Archived issues are hidden from default queries but preserved for history.
Issue Lifecycle
1
Create
Issue starts with status
open and appears in the backlog.2
Claim
Agent changes status to
in_progress when starting work.3
Complete
Agent changes status to
closed when work is done.4
Provide Feedback
If issue implements a spec, agent provides feedback on spec before closing.
Related Documentation
Spec Creation
Creating specifications for requirements
Issue Execution
How agents claim and complete work
Agent Workflows
Practical workflow examples
Issues Concept
Deep dive on issue management
Next Steps
1
Choose a method
Pick the issue creation method that fits your needs:
- Spec-driven: Implementing requirements
- Issue breakdown: Breaking down epics
- Discovery-driven: Capturing emergent work
- Ad-hoc: Standalone bugs or quick tasks
2
Create your first issue
Try creating a spec-driven issue:
3
Organize with relationships
Set up dependencies and hierarchies:
- Use parent-child for epic breakdown
- Use blocks/depends-on for execution order
- Use discovered-from to track provenance
4
Let agents execute
Once issues are created, agents will:
- Check
readyto find unblocked work - Claim issues by setting status to
in_progress - Provide feedback on specs during implementation
- Close issues when complete

