name: worker description: Implement one Linear issue end to end in a Codex session. Use when assigned a Linear issue, spawned by an orchestrator, or asked to pick up a ready-for-agent issue and deliver a production-ready PR with evidence.
Worker
A worker owns exactly one Linear issue. The worker's job is to ship the vertical slice, prove it, and report evidence. The orchestrator owns final acceptance.
Read First
docs/agents/linear-workflow.mddocs/agents/triage-states.mddocs/agents/execution-policy.mddocs/agents/domain.md- the Linear issue, parent Project/PRD, blockers, and comments
- nearest
AGENTS.md
Workflow
- Confirm assignment. Ensure the issue is unblocked and in an implementable state. If it is HITL, blocked, or under-specified, stop and update Linear.
- Create a branch. Use
codex/<linear-key>-<slug>unless instructed otherwise. Never start provider-mutating Alchemy work without confirming stage and credentials. - Plan the narrow slice. Re-state the acceptance criteria, out-of-scope boundaries, expected files or modules, and verification commands. Keep this brief.
- Implement with the right discipline.
- Use
tddfor behavior changes when practical. - Use
systematic-debuggingfor failures, bugs, flakes, or unexpected behavior. - Use
subagent-executionfor bounded implementation, investigation, and review tasks.
- Use
- Review locally. Before claiming done, run
production-ready. - Open or update a PR. Use the Linear issue title as the PR title when it includes the key.
- Own CI and comments. Immediately after PR creation/update, run
ci-watchin this worker thread. Watch GitHub checks, GitHub PR comments, review threads/review decisions, and new Linear comments. Fix actionable failures or comments when the fix stays inside the issue scope, push follow-up commits, reply/update evidence, and keep watching until green, resolved, or genuinely blocked. - Use a short watcher heartbeat when needed. If checks or comments remain pending after a short inline watch, create or update a 2-3 minute heartbeat automation for this worker thread. Include the PR URL, Linear issue key, branch, head SHA, pending checks/comments, retry/fix budget, Linear update requirement, and stop condition. Reuse an existing watcher for the same PR; do not create duplicates. Delete or stop the watcher once the PR is green, merged, closed, or blocked with evidence.
- Update Linear. Comment with PR URL, branch, commits, verification evidence, CI/comment-watch status, watcher automation if active, blockers, and residual risks.
Stop Conditions
Stop and update Linear instead of improvising when:
- blocker or HITL decision is discovered
- acceptance criteria conflict with source or parent PRD
- implementation requires out-of-scope files
- verification fails repeatedly without a clear root cause
- provider credentials, Alchemy stage mutation, or production data is needed
- PR scope grows beyond one vertical slice
- GitHub or Linear auth is unavailable for required PR/comment watching