Linear Ticket Workflow
Linear Ticket Workflow for Project Work This document defines the default workflow for project tickets so work can resume cleanly when a ticket moves to In Prog
Linear Ticket Workflow for Project Work
This document defines the default workflow for project tickets so work can resume cleanly when a ticket moves to In Progress.
Core rule
- Git docs are the source of truth.
- Linear is the execution queue.
- A ticket assigned to
ynerv-ryo-2@agentmail.toand moved toIn Progressmeans: start work now. - If a ticket is blocked, explain why in the ticket and move it to
Blocked. - When implementation is complete, move the ticket to
Reviewif the team has that state; otherwise commentReady for reviewand move it toDoneonly after approval.
Recommended Linear states
Use these states for every project team:
Todo— not started yetIn Progress— actively being worked onReview— finished, waiting for human reviewBlocked— cannot continue right nowDone— accepted and closed
If a team cannot add Review, use Done plus a review comment instead.
Recommended labels
Use labels only for meaning, not for duplicating state.
Waiting and ownership labels
waiting:user— waiting for a user decision, approval, or confirmationwaiting:agent— waiting for the assistant to do the next stepneeds:confirmation— the ticket needs a business or product decision
Optional labels
Use only when needed:
needs:docs— docs must be updated before work continuesneeds:design— design clarification is requiredneeds:deps— blocked by another ticket or external dependency
Ticket lifecycle
1. Todo
Use when the ticket is known but not started.
Typical combinations:
Todo+waiting:user= waiting for youTodo+waiting:agent= waiting for me to pick it up or draft the next stepTodo+needs:confirmation= waiting for a product/business answer
2. In Progress
Use when active work has started.
Expected behavior:
- read the full ticket
- read the relevant project docs
- continue implementation or analysis
- post a short progress comment in Linear
- keep the project state doc current
3. Review
Use when the task is done and ready for your check.
Expected behavior:
- update the Linear ticket with the result
- summarize what changed
- mention any follow-up tickets if needed
- wait for approval or changes requested
4. Blocked
Use when work cannot continue.
Blocked ticket comment should include:
- the exact blocker
- what is missing
- what would unblock it
- whether this is a hard blocker or a temporary wait
5. Done
Use when the work is accepted.
Expected behavior:
- final result is in the ticket
- docs are aligned
- no further action is required for the current ticket
Trigger rules for the assistant
The assistant should start processing when all of these are true:
- ticket is assigned to
ynerv-ryo-2@agentmail.to - ticket is in
In Progress - the project state doc exists or can be created
The assistant should pause and report when:
- ticket is moved to
Blocked - ticket is moved to
Reviewand awaits human approval - ticket is reassigned away from the assistant
Required project files
Each project should keep:
docs/00-project-state.md— current handoff statedocs/10-linear-backlog.md— issue map and workflow notes- other project docs for scope, requirements, architecture, and workflows
Progress comment format
Assistant-authored Linear comments should start with the prefix:
🤖 Ryo:
Example:
🤖 Ryo: I picked this up and am now working on the submission flow.
Default operational loop
- Detect the ticket state change.
- Read the full ticket.
- Read the project docs.
- Update
docs/00-project-state.md. - Work the ticket.
- Post a progress comment in Linear.
- When complete, move to
Review. - If blocked, move to
Blockedand explain why.