The problem
A large share of each ticket was not the change itself. It was reading the ticket, finding the relevant code, writing the PR description, updating docs and working through review comments.
Ad-hoc prompting helped individuals but produced inconsistent results across the team.
Constraints
Agents produce plausible code that can be confidently wrong, so the workflow could not assume correctness.
Output had to follow internal engineering standards, not the agent's defaults.
Architectural decisions stay with engineers.
The decision
A fixed sequence with explicit checkpoints: ticket intake through Atlassian MCP, codebase research, an implementation plan, human approval, implementation, a pre-PR security and standards audit, then PR creation, documentation and a work summary through GitHub MCP.
A separate workflow for review feedback: pull the GitHub review comments, check each one against internal standards, plan the valid ones and apply the approved changes.
The trade-off
The approval gate makes the happy path slower than letting the agent run end to end.
Accepted, because an unreviewed plan is how you get a large, tidy diff that solves the wrong problem.
Outcome
Repetitive work per ticket went down and pull requests became more consistent across the team.
Pre-PR audits caught standards issues before reviewers had to.