skills/github-sub-issue-guide/SKILL.md
Managing sub-issues in GitHub Issues. Query, reorder, and create sub-issues using the GraphQL API. Use when working with parent/child issue relationships or reordering sub-issues within an epic.
npx skillsauth add jitsusama/agentic-harness.pi github-sub-issue-guideInstall 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.
GitHub Issues supports parent/child relationships via sub-issues. These are managed through GraphQL mutations that require a special header.
All sub-issue GraphQL calls must include this header:
GraphQL-Features: sub_issues
Without it, the API silently ignores sub-issue fields and mutations.
List sub-issues of a parent issue:
gh api graphql \
-H "GraphQL-Features: sub_issues" \
-f query='
query($owner: String!, $repo: String!, $number: Int!) {
repository(owner: $owner, name: $repo) {
issue(number: $number) {
title
subIssues(first: 50) {
nodes {
id
number
title
state
}
}
}
}
}' -f owner="OWNER" -f repo="REPO" -F number=NUMBER
Or use the helper script:
./scripts/query-sub-issues.sh <owner> <repo> <issue-number>
Use the reprioritizeSubIssue mutation to reposition a sub-issue
within its parent:
gh api graphql \
-H "GraphQL-Features: sub_issues" \
-f query='
mutation {
reprioritizeSubIssue(input: {
issueId: "I_kwDO..." # Parent issue node ID
subIssueId: "I_kwDO..." # Sub-issue to move
afterId: "I_kwDO..." # Position after this sub-issue
}) {
issue { title }
}
}'
Or use the helper script:
./scripts/reorder-sub-issues.sh <parent-id> <sub-issue-id> [after-id]
afterId is optional; omit it to move the sub-issue to the topIssue IDs (format I_kwDO...) are required for mutations. Resolve
them from issue numbers:
gh issue list --repo owner/repo --json number,id
Or filter by label:
gh issue list --repo owner/repo --search "label:my-label" --json number,id
Or use the helper script:
./scripts/get-issue-ids.sh <owner> <repo> <numbers-or-labels>
Scripts are in the scripts/ directory relative to this skill.
Each accepts --help for usage information. They wrap the GraphQL
calls above with error handling and formatted output.
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.