Problem
#975 (PR #1029) added the pr_body_required_sections config key on .claude/source-control.md,
resolved by /pull-request create and documented in plugins/source-control/reference/config-resolution.md.
The fleet's sanctioned adoption path for every other key on that surface is /source-control:setup —
check reports the effective value/source, apply interviews and writes it. pr_body_required_sections
has neither: check doesn't report it and apply's interview/write template doesn't offer it, so a
consumer's only path to configuring the key is hand-editing .claude/source-control.md directly. That
stalls rollout — the key exists but the sanctioned onboarding flow doesn't know about it.
Scope
Extend plugins/source-control/skills/setup/SKILL.md to bring pr_body_required_sections to parity
with the other per-key surfaces (subject_pattern, pr_title_pattern, trailer_policy,
pr_body_attribution):
check reports the key's effective value and which layer supplied it (or the portable default when
unset).
apply's interview offers setting it, recommending the plugin's own portable default
(Summary, Test plan) rather than any specific org's convention — the setup interview must stay
agnostic, matching the plugin's Two-lane convention posture.
- The write template (the
.claude/source-control.md section list apply materializes) gains the new
## pr_body_required_sections section, following the same "omit when unset" rule the other optional
keys already follow.
Refs #975
Refs #1029
Problem
#975 (PR #1029) added the
pr_body_required_sectionsconfig key on.claude/source-control.md,resolved by
/pull-request createand documented inplugins/source-control/reference/config-resolution.md.The fleet's sanctioned adoption path for every other key on that surface is
/source-control:setup—checkreports the effective value/source,applyinterviews and writes it.pr_body_required_sectionshas neither:
checkdoesn't report it andapply's interview/write template doesn't offer it, so aconsumer's only path to configuring the key is hand-editing
.claude/source-control.mddirectly. Thatstalls rollout — the key exists but the sanctioned onboarding flow doesn't know about it.
Scope
Extend
plugins/source-control/skills/setup/SKILL.mdto bringpr_body_required_sectionsto paritywith the other per-key surfaces (
subject_pattern,pr_title_pattern,trailer_policy,pr_body_attribution):checkreports the key's effective value and which layer supplied it (or the portable default whenunset).
apply's interview offers setting it, recommending the plugin's own portable default(
Summary,Test plan) rather than any specific org's convention — the setup interview must stayagnostic, matching the plugin's Two-lane convention posture.
.claude/source-control.mdsection listapplymaterializes) gains the new## pr_body_required_sectionssection, following the same "omit when unset" rule the other optionalkeys already follow.
Refs #975
Refs #1029