skills/github-cli-convention/SKILL.md
Command syntax for GitHub CLI operations. Heredoc format for PR and issue bodies, title conventions and metadata flags. Use when running gh pr create, gh issue create or any gh command with structured input.
npx skillsauth add jitsusama/agentic-harness.pi github-cli-conventionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use --body-file - with a heredoc to pass multi-line bodies:
gh pr create \
--title "Add Token Refresh to Prevent Session Timeouts" \
--body-file - <<'EOF'
### 🔍 What We're Doing
Body content here. Backticks and special characters all
work reliably without escaping.
EOF
The single-quoted 'EOF' delimiter prevents shell variable
expansion; backticks, dollar signs and special characters
all pass through literally.
Never use an unquoted heredoc delimiter. <<EOF allows
shell variable expansion: $variables, backticks and
$(commands) are expanded inside the body, corrupting
the content. Always quote the delimiter: <<'EOF'.
Because quoted heredocs are fully literal, never put
$variable syntax in the body expecting it to resolve.
It won't — the text arrives exactly as written. If you
need a dynamic value, write the actual value directly
in the body text.
Never use --body-file with a file path. Always use
--body-file - to pipe from a heredoc. File-based bodies
add an unnecessary intermediate artifact and bypass the
guardian review flow.
The same pattern works for editing:
gh pr edit NUMBER \
--body-file - <<'EOF'
Updated body content here.
EOF
And for issues:
gh issue create \
--title "Add Rate Limiting to Prevent API Abuse" \
--body-file - <<'ISSUE_BODY'
Body content here.
ISSUE_BODY
[Action] [What] [For What Purpose]Good: "Add Rate Limiting to Prevent API Abuse" Bad: "rate limiting work"
For PRs, use descriptive titles, not conventional commit format. "Add Token Refresh to Prevent Session Timeouts" rather than "feat(auth): implement refresh token logic".
After creating or editing, assign metadata in separate commands; don't pack flags into the create command:
gh pr edit NUMBER --add-assignee @me
gh pr edit NUMBER --add-label "label1" --add-label "label2"
gh issue edit NUMBER --add-label "label1"
gh issue edit NUMBER --add-assignee @me
This keeps the create command focused on title and body.
Do NOT hard-wrap PR or issue body paragraphs. Write each paragraph as a single continuous line. GitHub's markdown renderer handles the wrapping; hard line breaks within a paragraph render as visible breaks, making the text choppy.
Hard-wrapping at 72 characters is for commit messages only (terminals don't reflow those). PR and issue bodies are rendered by GitHub's markdown engine, which reflows paragraphs automatically.
The --body flag has quoting issues:
--body-file - with heredoc avoids all of these. Always
prefer it for bodies with any formatting.
Do not use --body-file with a file path either. Always
use --body-file - piped from a heredoc.
The github-pr-format and github-issue-format skills cover the
content of descriptions. This skill covers the command
mechanics.
development
Structure of a quest README and the documents that live under it: frontmatter shape, the four core and four optional body sections, emoji glyphs, ID format, alias notation, Cast bullets and Journey entries. Use when writing or editing a quest README, a plan, research, brief or report document under a quest. Pairs with quest-convention for choices like kind, promotion and reordering. Follow the prose-standard for voice.
tools
Operational conventions for the quest system: when to use a quest versus a subquest versus a sidequest, when to scaffold a plan or research document, how to reorder priorities, when to add optional sections, when to conclude versus retire, the resuscitate pattern. Use when driving the quest tool, deciding kind, promoting or parking work, or organising a project as quests. Pairs with quest-format for the on-disk shape.
development
Markdown structure rules: Title Case headings with their exceptions, the line-width target and its legitimate exceptions, reference-style links, fenced code blocks with language tags, tables and lists. Use when writing or editing any markdown file (README, AGENTS, docs, plans, skill files), or when adding a heading, link, table or code block. Owns markdown structure; pairs with prose-standard, which owns voice, grammar, spelling and punctuation.
tools
How to measure whether convention corrections keep recurring in the pi session logs, by category and by week. Use to record a baseline before the convention gates take effect and to re-run afterwards to confirm the recurring categories bend down. Pairs with the convention gates (pr-guardian, issue-guardian, commit-guardian, slack-integration) and the convention-context extension.