skills/mp-issue-create/SKILL.md
Create GitHub issues with optional PRD linking. Use when: "create issue", "create github issue"
npx skillsauth add MartinoPolo/mpx-claude-code mp-issue-createInstall 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.
Create a well-structured GitHub issue using the canonical template. Links to a PRD as a native sub-issue — either from --prd <number> or auto-discovered. $ARGUMENTS
Issue body format: @skills/shared/GITHUB_ISSUE_TEMPLATE.md
From $ARGUMENTS, extract:
--prd <number>: optional PRD issue number to link as sub-issueIf --prd is set, use that number directly.
If --prd is not set, spawn a sonnet sub-agent to find the most relevant open PRD:
Agent task: Search open GitHub issues labelled "PRD" (gh issue list --label PRD --state open --json number,title,body --limit 50).
Return the single best-matching PRD number for: "<summary>".
If no match is found, return null.
If the agent returns a PRD number, treat it as if --prd <number> was passed. If it returns null, proceed without a PRD (standalone issue).
gh issue view <prd_number> --json title,body,milestone,labels
Extract from the PRD: requirements, milestone name, existing sub-issues (for blocking relationships).
Get owner/repo and PRD node ID for sub-issue linking:
OWNER_REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
PRD_NODE_ID=$(gh api graphql -f query="{ repository(owner: \"${OWNER_REPO%/*}\", name: \"${OWNER_REPO#*/}\") { issue(number: $PRD_NUMBER) { id } } }" --jq '.data.repository.issue.id')
List existing sub-issues to determine blocking relationships:
gh issue list --search "parent:$PRD_NUMBER" --json number,title,labels,state
Search for affected code using Grep/Glob:
Determine whether the issue requires human interaction:
When all questions have been resolved upfront, the issue should be AFK.
If HITL: list the specific unanswered questions in the blockquote.
gh label list --limit 100
Create missing labels:
gh label create "task" --description "Implementation task" --color "0E8A16" --force
gh label create "HITL" --description "Requires human interaction" --color "FBCA04" --force
gh label create "AFK" --description "Can be implemented autonomously" --color "0E8A16" --force
gh label create "design-needed" --description "Needs design brief + mockup before implementation" --color "E8820C" --force
Create area labels as needed (area:api, area:ui, area:db, etc.).
Add design-needed when the issue involves new UI components, significant visual changes, complex layouts, or user-facing workflows that need design exploration. Do NOT add for purely backend work, bug fixes, or minor UI tweaks.
Use the canonical template from @skills/shared/GITHUB_ISSUE_TEMPLATE.md.
For HITL issues, start with the blockquote:
> **Unanswered questions:**
>
> - [Specific question that needs answering before/during implementation]
## Description
...
For AFK issues, start directly with Description:
## Description
...
Requirements section:
Blocking Relationships:
ISSUE_URL=$(gh issue create \
--title "Short descriptive title" \
--label "task,AFK,area:api" \
--assignee @me \
--milestone "Milestone Name" \
--body "$(cat <<'EOF'
[body from Step 6]
EOF
)")
Include --milestone only when a PRD was resolved and it has a milestone.
Link as a native sub-issue of the PRD:
gh api graphql -f query="
mutation {
addSubIssue(input: {
issueId: \"$PRD_NODE_ID\",
subIssueUrl: \"$ISSUE_URL\"
}) {
issue { number }
subIssue { number }
}
}
"
If blocking relationships reference issues not yet created (forward references), note them for later update.
Display:
development
Audit all active skills for consistency, convention drift, and common issues. Auto-fixes where possible, reports remaining issues. Use when: "audit skills", "skill audit", "check skills", "lint skills"
testing
Ship finished work: sync base, commit, push, PR, wait for CI green, merge. Use when: "ship it", "ship and merge", "ship this"
development
Scan recent Claude Code sessions for grilling/design discussions, extract decisions, and update CONTEXT.md + DECISIONS.md. Use when: "harvest decisions", "extract decisions from sessions", "update docs from sessions", "sync decisions"
tools
Consolidate CONTEXT.md: remove duplicates, outdated items, tighten language. Use when: "consolidate context", "clean up context", "simplify context", "consolidate requirements"