AI CodeOps

Pull request description template for AI-written changes

Last updated

A pull request template for changes an AI agent wrote: the task, the tool, what was verified and what wasn't, and where reviewers should look first.

Save the block below as .github/pull_request_template.md (GitHub) or as a Markdown file in .gitlab/merge_request_templates/ (GitLab). Delete the sections your team doesn't use, and this note.

## What this changes

<!-- One or two sentences a reviewer can check the diff against. -->

## Why

<!-- The issue, ticket or decision this comes from. -->

Closes #

## How it was made

- [ ] Written by a person
- [ ] Written with an AI assistant (completion or chat)
- [ ] Written by a coding agent

Tool and model:
Task given to the tool (paste it, or link to it):

## What was verified

- [ ] Tests ran on this exact commit: <!-- link to the run -->
- [ ] New tests fail without this change
- [ ] No tests were deleted, skipped or loosened (or the reason is below)
- [ ] Checked by hand: <!-- what, and how -->

## What was NOT verified

<!-- Be specific. "Not run against production-sized data", "No browser test for Safari". Write "Nothing" only if that's true. -->

## Where to look first

<!-- The files or lines where a mistake would be expensive: money, auth, permissions, personal data, migrations. -->

## Out of scope

<!-- Anything the tool changed that the task didn't ask for, and why it stays. Empty is best. -->

## Risk and rollback

- Risk: low / medium / high, because
- Rollback: revert this commit / feature flag / other:
- Needs a migration or config change: yes / no

## Reviewer

- [ ] I read the task and the test results before the code
- [ ] I'm not the person who gave the tool its task

How to fill it in

What this changes. Write it so a reviewer can hold it next to the diff. If the summary and the diff disagree, one of them is wrong, and that is worth knowing before reading anything else.

How it was made. Tick one box and name the tool and model. Reviewers read agent-written code differently: the risk is less in the syntax and more in scope, assumptions and tests. Paste the task. It is the real specification of what the agent built.

What was verified. Each tick needs evidence behind it, ideally a link to the test run for this commit. A run from before the last push doesn't count. If you ticked "new tests fail without this change", you checked it by reverting the fix and running them.

What was NOT verified. This is the most useful section and the one most often left empty. Agents describe their own work as complete. A person filling this in is the check on that.

Where to look first. Point at the few places where an error costs real money or trust. A reviewer with limited time should spend it there.

Out of scope. Agents fix things they notice on the way. List them here, or better, move them to their own pull request.

Reviewer. Two boxes for the person approving. The second exists because the person who wrote the task is, in effect, the author of the change.

Frequently asked questions

Where do I put this pull request template?

On GitHub, save it as .github/pull_request_template.md. On GitLab, save it as a Markdown file in .gitlab/merge_request_templates/ and pick it when you open the merge request.

Why ask what was not verified?

Because a reviewer can't see what didn't happen. A line saying the migration wasn't run against a copy of production tells them exactly where to look, and costs the author ten seconds.

Should the AI agent fill this in itself?

It can draft it, but a person checks it before asking for review. The verification section in particular is a claim, and claims about tests need the test run behind them.

Cite this

AI CodeOps (2026). Pull request description template for AI-written changes. https://aicodeops.dev/templates/ai-pr-description

This page and its downloads are licensed CC BY 4.0: copy and adapt them for your team, and link back to this page when you publish your version.