Workflow
-
Collect context
git rev-parse --abbrev-ref HEAD git diff main...HEAD git log main..HEAD --oneline -
Generate a PR title in conventional commit format (see
pr-titleskill if available) -
Find related GitHub issues from branch name, commit messages, or keyword search (see
pr-issue-searchskill if available) -
Write description -- analyze the diff to answer: (1) what is the reason for the change? (2) what is the improvement/solution?
-
Generate a changelog entry for the PR (see
pr-changelogskill if available)
-
Generate Gherkin manual testing steps for the changed features (see
pr-manual-testingskill if available) -
Verify author checklist items -- run the
pr-readiness-checkskill (if available) to warn about missing tests, missing JSDoc, or guideline violations. Do not block — continue generating the description regardless of findings. -
Assemble output -- read
.github/pull-request-template.mdfor the full template body, then fill all sections
Template Sections
CI validates that all 7 section titles are present exactly as written below (.github/scripts/shared/template.ts). Missing or altered titles cause the invalid-pull-request-template label.
| Section title (exact string) | Guidance |
|---|---|
## **Description** |
Concise what/why. Keep HTML comments from template as-is. |
## **Changelog** |
CHANGELOG entry: <past-tense summary> or CHANGELOG entry: null. Line must exist and be non-empty -- CI enforces this. |
## **Related issues** |
Fixes: #NUMBER or Refs: #NUMBER. Leave Fixes: empty if none found. |
## **Manual testing steps** |
Gherkin code block. If no useful manual test exists (e.g. automation-only, unit tests suffice), write N/A. |
## **Screenshots/Recordings** |
Keep Before/After subsections. Write N/A in each subsection when not applicable instead of HTML comments. |
## **Pre-merge author checklist** |
Include all checklist items from the template. Check all boxes (- [x]): checking means the author actively considered the item and takes responsibility, even if it doesn't apply to this PR. |
## **Pre-merge reviewer checklist** |
Include all checklist items from the template. Leave boxes unchecked — these are for the reviewer. |
Output
Write the result to .agent/[branch-name].PR-desc.md. Create the .agent/ directory if it does not exist. Sanitize the branch name first by replacing / with - so names like feat/MCWP-392 become feat-MCWP-392 (avoids creating nested directories).
Structure:
# PR Title
<generated title>
---
<full PR description body with all 7 sections, HTML comments, and checklists>
Preserve all HTML comments from the original template as guidance for the PR author.
Append at the very end of the file:
<!-- Generated with the help of the pr-description AI skill -->