GitHub Issues Workflow
Markdown bodies: never inline multiline text
Never pass multiline Markdown through --body "...". Shell quoting can leak literal \n into GitHub.
Always write Markdown to a temp file and use --body-file:
bashcat > /tmp/body.md <<'EOF' ## Summary - ... ## Tests - `...` EOF gh pr create --body-file /tmp/body.md # or gh pr edit <number> --body-file /tmp/body.md # or gh issue create --body-file /tmp/body.md
Review handoff
For PR inspection, use the pr-review skill. This skill handles GitHub issue and PR mechanics such as reading templates, using --body-file for multiline Markdown, and checking existing comments before closing or posting.
View issue
bashgh issue view <number>
Create issue safely
For non-trivial bodies, always write the draft to a temp file first. Do not inline long Markdown with shell quoting.
bashcat > /tmp/issue.md <<'EOF' ### What happened? ... EOF gh issue create --repo OWNER/REPO --title "Short title" --body-file /tmp/issue.md
Before creating issues in someone else's repo, check templates/contributing docs and keep the report concise.
bashgh api repos/OWNER/REPO/contents/.github/ISSUE_TEMPLATE --jq '.[].name' gh api repos/OWNER/REPO/contents/CONTRIBUTING.md --jq .content | base64 --decode
If gh issue create prompts for confirmation, review the preview carefully before accepting.
Link issues in commits, changelogs, releases
- Commits:
fix: description (#1)orfix: description (fixes #1)— auto-closes on merge to default branch - Changelog:
([#1](https://github.com/owner/repo/issues/1)) - Release notes:
fixes #1— does NOT auto-close, must close manually
Public replies
Use the maintainer-reply skill before drafting or posting issue and PR replies. Read the conversation first; do not apply a generic thank-you or mention a fix version when it is unknown or irrelevant.
Close with comment
When closing with a reply, mention the fix version when known and thank the reporter when appropriate to the conversation:
bashgh issue close <number> --comment "Fixed in v1.2.3. Thanks for the report!"
Test fixes before closing
For npm packages, simulate fresh install:
bashnpm pack --pack-destination /tmp/ cd /tmp && mkdir test && cd test echo '{"name":"test"}' > package.json bun add /tmp/package-name-1.0.0.tgz ./node_modules/.bin/command --help


