What is it?
This skill manages the lifecycle of GitHub Issues. It handles creation, triage (assignment), milestones, exploration (reading/searching), and hierarchy (sub-issues).
Success Criteria
- •Issues are created with appropriate titles and descriptive bodies.
- •Milestones are used to group issues into actionable releases or sprints.
- •
type(Bug, Feature, Task) is correctly assigned when supported. - •Sub-issues are linked using numeric parent numbers and string child IDs.
- •Search queries are specific to avoid hitting rate limits.
When to use this skill
- •"Create a bug report for X."
- •"What are the open issues assigned to me?"
- •"Create a milestone for V1.0."
- •"Add issue #42 to the 'Beta' milestone."
- •"Break this task down into sub-issues."
- •"Assign Copilot to fix issue #123."
What this skill can do
- •Create/Update: Open new issues, close completed ones, update descriptions.
- •Planning: Create and list milestones, assign issues to milestones.
- •Triage: Assign users, Assign Copilot.
- •Explore: Search specific issues, read comments, list issue types.
- •Hierarchy: Create and manage sub-issues (tracking lists).
- •Dependencies: explicit blocking relationships using REST API (see DEPENDENCIES.md).
What this skill will NOT do
- •Create Pull Requests (use
github-pr-flow). - •Modify code (use
github-pr-flow). - •Create repositories.
How to use this skill
- •Identify Intent: Are we creating, reading, or modifying?
- •Select Tool: Use MCP_TOOL_MAP.
- •Execute: Call the corresponding MCP tool function.
Tool usage rules
- •Issue Type: Always specify a
type(e.g., "Bug", "Feature", "Task") when creating issues. Uselist_issue_typesto see valid values. Iflist_issue_typesreturns empty or the organization doesn't support issue types, omit thetypeparameter. - •MCP First: Use
issue_write,issue_read,search_issues,list_issue_types. - •Sub-issues: Use
sub_issue_writeto link parent/child issues. Thesub_issue_idparameter requires the issue ID (e.g.,I_kwDOABC123), not the issue number. Useissue_readto get the ID from an issue number. - •Milestones:
- •Milestones: Use
gh apito list/create. Usegh issue edit(CLI) orissue_write(MCP) to assign. - •Discovery: Use
gh api /repos/{owner}/{repo}/milestones(viarun_command) to list existing milestones and find their number. - •Creation: Use
gh api -X POST /repos/{owner}/{repo}/milestones -f title="title"to create new ones. - •Assignment:
- •MCP: Use
issue_writewith themilestoneparameter (integer). - •CLI: Use
gh issue edit <number> --milestone "title"for title-based assignment.
- •MCP: Use
- •Milestones: Use
- •Issue Types: Types are MANDATORY. Use
list_issue_typesto find valid types (e.g. "Bug 🐞"). You MUST useissue_write(MCP) with thetypeparameter (exact name) to create issues. Do NOT usegh issue createif a type is required. - •Issue Dependencies:
- •Method: Use
gh apiREST endpoints as described in DEPENDENCIES.md. - •IDs: Adding or removing dependencies requires the database ID (integer) of the blocking issue. Use
issue_readto find theidfield.
- •Method: Use
- •Copilot: Use
assign_copilot_to_issueto start an AI session on an issue.
Examples
See references/examples.md for compliant issue management examples.
Limitations
- •Cannot see deleted issues.
- •Rate limits apply to search queries.