Skip to content

task-monitor 2/6: worker PR bodies open with a plain-language ## Summary: require it in every worker prompt - #279

Merged
martin-conur merged 1 commit into
mainfrom
task/pr-summary-section
Oct 20, 2026
Merged

martin-conur merged 1 commit into
mainfrom
task/pr-summary-section

Conversation

@martin-conur

Copy link
Copy Markdown
Owner

Summary

Every worker now opens its pull request with a short ## Summary written for you, not for the reviewer: two or three plain sentences on what changed and why. That gives each PR a description you can read once its ticket number stops meaning anything, and it is what the task monitor will show for finished work. Reviewers flag a PR without one as a minor nit.

Closes #274

What changed

  • Workers (all 8 prompts: claude gh/jira/notion/local, the dogfood copy, kiro gh/local/notion): step 8 now runs gh pr create … --fill --body-file - <<'BODY' with an example body that opens with ## Summary, then the tracker's own Closes line (Closes #<N>, the jira key, the notion page URL, or the local task file). --fill still sets the title. Workers are told to write the body flush left, since GitHub renders an indented ## Summary as code.
  • Reviewers (all 6 prompts): a missing ## Summary is a nit that never blocks on its own.
  • Docs: a ### PR Body section in .claude/gh-workflow.md and all seven steering templates; the README's PR step shows the new command.
  • CHANGELOG: entry under Unreleased with Upgrading: re-run task-init <loadout>.

Not changed

task-done's printed gh pr create … --fill hint for humans is untouched. The spec covers the worker prompts only.

Tests

tests/worker_checklist.bats gains 5 tests: on every worker prompt, the example body's first line is ## Summary and the loadout's Closes line follows it; no prompt keeps a bare --fill; the rule is worded the same on every claude loadout; all reviewers call it a nit; every workflow doc and the README carry the section. I broke each one's target in turn, and each test failed. Full suite: 1388/1388 pass. tools/check-drift.sh is clean. No shell files changed.

🤖 Generated with Claude Code

…ary: require it in every worker prompt

Every worker prompt (four claude loadouts, the dogfood copy, three kiro
agents) now opens the PR with `gh pr create --fill --body-file -` off a
quoted heredoc whose body starts with `## Summary`: two or three plain
sentences for the user, then the tracker's `Closes` line. Every reviewer
prompt calls a missing summary a nit. Docs: a `### PR Body` section in
each workflow doc and steering template, and the README's PR step.
Tests in `tests/worker_checklist.bats` pin all of it per loadout.

Closes #274

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@martin-conur

Copy link
Copy Markdown
Owner Author

Spec compliance (#274)

  • Worker prompts on every loadout: delivered. All 8 (claude gh/jira/notion/local, the dogfood .claude/ copy, kiro gh/local/notion) now run gh pr create … --fill --body-file - <<'BODY'. The example body opens with ## Summary and then carries the tracker's own Closes line. The rule wording says "written for the user rather than a reviewer", as the spec asked.
  • Reviewer prompts: delivered. All 6 (4 claude loadouts, the dogfood copy, kiro-gh) treat a missing ## Summary as a nit that never blocks on its own. kiro-local and kiro-notion have no reviewer agent, so nothing is missing there.
  • Docs: delivered. The ### PR Body section is in .claude/gh-workflow.md and all 7 steering templates, and the README's PR step is updated.
  • CHANGELOG: delivered, with the "Upgrading: re-run task-init <loadout>" note.
  • Parity and doc suites pin it on every loadout: delivered. The 5 new bats tests cover the first line of the example body, the per-tracker Closes line, no bare --fill, byte-identical rule wording across the claude loadouts, the reviewer nit, and the docs and README.
  • CI: a run exists for head dc20ac3, and bats (macOS and ubuntu), drift and ShellCheck all pass.
  • PR body: opens with ## Summary, so no nit there.

Code-review findings

No correctness, security or edge-case issues found.

  • Combining --fill with --body-file - is sound: --fill supplies the title and the explicit body wins. The old "opens an editor" line is gone, which fits a non-interactive worker.
  • The quoted <<'BODY' heredoc matches the repo's no-backtick-substitution rule from reviewer PR comments are shell-interpolated: backticked code is command-substituted, and substituted-to-empty findings lose words silently #234.
  • The worker is told to write the body and its terminator flush left. That is the right call, since the example sits indented inside a list and a quoted heredoc needs a flush-left terminator.
  • The example Closes lines per tracker are correct. task-done's printed gh pr create … --fill hint is left untouched, as the PR body says, and the spec only covers worker prompts.

Verdict

clean — nothing to fix in this PR. Merge decision is PM's.

@martin-conur
martin-conur merged commit fa8aee7 into main Oct 20, 2026
7 of 8 checks passed
@martin-conur
martin-conur deleted the task/pr-summary-section branch October 20, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

task-monitor 2/6: worker PR bodies open with a plain-language ## Summary

1 participant