Write the PR body for the current mflux branch and show it to the developer for approval. Fills the What section, the release-note block and the Verification section of the PR template. Use when the developer asks to write, fill or update a PR description or a release note.
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Write the PR body for the current branch. The developer must approve the body before it goes to GitHub.
main.git log --oneline main..HEADgit diff --stat main...HEADgit diff main...HEADgh pr view <n> --json title,body,closingIssuesReferences and gh pr checks <n>..github/pull_request_template.md to tmp-PR-content.md. If tmp-PR-content.md exists, ask the developer before you replace it.
# Draft PR Content.Title: below the heading. Add an empty line after it.Title: .gh pr edit --body-file replaces the existing body. Copy each existing section and link that the template does not have into tmp-PR-content.md. Get them from the body field of step 1. If you do not copy them, ask the developer to confirm before you discard them.What section. Obey pr-what-prompt.md in this folder. Use the diff from step 1 if the PR is not open. Add Fixes #<n> for each linked issue.
Title: . Use one short line that names the change.release-note-prompt.md in this folder.
Verification section. List only the commands that ran, with the result of each command. If no command ran, write TODO: add the commands that you ran. Do not write a result that you did not see.Checklist section. The developer ticks them.asd-ste100 skill in STE-flavored mode.Title: line in it. Run python3 .cursor/skills/asd-ste100/scripts/ste-lint.py <file>.tmp-PR-content.md. Fix tmp-PR-content.md until the check passes:
python3 - tmp-PR-content.md <<'PY'
import re, sys
body = open(sys.argv[1], newline="").read()
m = re.search(r"^```release-note[ \t\r]*\n(.*?)^```[ \t\r]*$", body, re.DOTALL | re.IGNORECASE | re.MULTILINE)
sys.exit(0 if m and m.group(1).strip() else "FAIL: no complete release-note block")
PYtmp-PR-content.md in the editor. Use code tmp-PR-content.md or cursor tmp-PR-content.md. If neither command works, give the developer the file path.approve in the chat when the content is ready.approve.tmp-PR-content.md again after the developer approves it. The developer can edit the file before approval. Do step 8 again.
# Draft PR Content and line 2 is the Title: line. Put them back if the developer moved them.Title: line has a title. If it is empty, ask the developer for the title. Write the title after Title: in tmp-PR-content.md.mflux-pr skill.gh pr edit <n> --title "$title" --body-file tmp-PR-body.md.
title="$(awk 'NR <= 2 && sub(/^Title: */, "") { print; exit }' tmp-PR-content.md)"
awk 'NR == 1 && /^# Draft PR Content$/ { next } NR == 2 && /^Title:/ { next } { print }' tmp-PR-content.md > tmp-PR-body.md
gh pr create --title "$title" --body-file tmp-PR-body.md$ in a typed title run as shell code.# Draft PR Content line or the Title: line. Other lines that start with Title: stay in the body.tmp-PR-content.md and tmp-PR-body.md.gh pr create --body or --fill. GitHub must get the body that you checked, without the two draft lines..github/workflows/release-note.yml and _FENCE in src/mflux/release/release_notes.py.mflux-community/mflux
a3b21fc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.