github-issues
Create, update, and manage GitHub issues using MCP tools. Use this skill when users want to create bug reports, feature requests, or task issues, update existing issues, add labels/assignees/milestones, manage repository labels, set issue fields (dates, priority, custom fields), set issue types, man
By github · 15,603 installs
npx skills add github/awesome-copilot --skill github-issues
Source repository · Upstream listing
GitHub Issues
Manage GitHub issues using the @modelcontextprotocol/server github MCP server.
Available Tools
MCP Tools (read operations)
Tool Purpose
mcp github issue read Read issue details, sub issues, comments, labels (methods: get, get comments, get sub issues, get labels)
mcp github list issues List and filter repository issues by state, labels, date
mcp github search issues Search issues across repos using GitHub search syntax
mcp github projects list List projects, project fields, project items, status updates
mcp github projects get Get details of a project, field, item, or status update
mcp github projects write Add/update/delete project items, create status updates
MCP Tools (write operations)
Tool Purpose
mcp github issue write Create or update an issue (methods: create, update). Supports title, body, type, labels, assignees, milestone, and issue fields
mcp github add issue comment Add a comment or a reaction to an issue
mcp github sub issue write Add, remove, or reprioritize a sub issue
CLI / REST API (write operations)
gh api performs the same writes and is the form used in the examples below. Reach for it when the MCP server is not connected, or when you need a REST field the MCP tools do not expose.
Operation Command
Create issue gh api repos/{owner}/{repo}/issues X POST f title=... f body=...
Update issue gh api repos/{owner}/{repo}/issues/{number} X PATCH f title=... f state=...
Add comment gh api repos/{owner}/{repo}/issues/{number}/comments X POST f body=...
Close issue gh api repos/{owner}/{repo}/issues/{number} X PATCH f state=closed
Set issue type Include f type=Bug in the create call (REST API only, not supported by gh issue create CLI)
Note: gh issue create works for basic issue creation but does not support the type flag. Use gh api when you need to set issue types.
Workflow
1. Determine action : Create, update, or query?
2. Gather context : Get repo info, existing labels, milestones if needed
3. Structure content : Use appropriate template from [references/templates.md](references/templates.md)
4. Execute : Use MCP tools for reads, gh api for writes
5. Confirm : Report the issue URL to user
Creating Issues
Use gh api to create issues. This supports all parameters including issue types.
Optional Parameters
Add any of these flags to the gh api call:
Quote the whole name[]=value pair. [] is a glob pattern in zsh, the default shell
on macOS, so an unquoted f labels[]=bug never reaches gh :
Issue types are organization level metadata. To discover available types, use:
Prefer issue types over labels for categorization. When issue types are available (e.g., Bug, Feature, Task), use the type parameter instead of applying equivalent labels like bug or enhancement . Issue types are the canonical way to categorize issues on GitHub. Only fall back to labels when the org has no issue types configured.
Title Guidelines
Be specific and actionable
Keep under 72 characters
When issue types are set, don't add redundant prefixes like [Bug]
Examples:
Login fails with SSO enabled (with type=Bug)
Add dark mode support (with type=Feature)
Add unit tests for auth module (with type=Task)
Body Structure
Always use the templates in [references/templates.md](references/templates.md). Choose based on issue type:
User Request Template
Bug, error, broken, not working Bug Report
Feature, enhancement, add, new Feature Request
Task, chore, refactor, update Task
Updating Issues
Use gh api with PATCH:
Only include fields you want to change. Available fields: title , body , state (open/closed), labels , assignees , milestone .
Examples
Example 1: Bug Report
User : "Create a bug issue the login page crashes when using SSO"
Action :
Example 2: Feature Request
User : "Create a feature request for dark mode with high priority"
Action :
Common Labels
Use these standard labels when applicable:
Label Use For
bug Something isn't working
enhancement New feature or improvement
documentation Documentation updates
good first issue Good for newcomers
help wanted Extra attention needed
question Further information requested
wontfix Will not be addressed
duplicate Already exists
high priority Urgent issues
Tips
Always confirm the repository context before creating issues
Ask for missing critical information rather than guessing
Link related issues when known: Related to 123
For updates, fetch current issue first to preserve unchanged fields
Extended Capabilities
The following features require REST or GraphQL APIs beyond the basic MCP tools. Each is documented in its own reference file so the agent only loads the knowledge it needs.
Capability When to use Reference
Advanced search Complex queries with boolean logic, date ranges, cross repo search, issue field filters ( field.name:value ) [references/search.md](references/search.md)
Sub issues & parent issues Breaking work into hierarchical tasks [references/sub issues.md](references/sub issues.md)
Milestones Create, read, update, close, reopen, delete milestones and manage milestone issues [references/milestones.md](references/milestones.md)
Labels Discover, create, rename, recolor, and delete repository labels; add or replace labels on an issue [references/labels.md](references/labels.md)
Issue dependencies Tracking blocked by / blocking relationships [references/dependencies.md](references/dependencies.md)
Issue types (advanced) GraphQL operations beyond MCP list issue types / type param [references/issue types.md](references/issue types.md)
Projects V2 Project boards, progress reports, field management [references/projects.md](references/projects.md)
Issue fields Custom metadata: dates, priority, text, numbers (private preview) [references/issue fields.md](references/issue fields.md)
Images in issues Embedding images in issue bodies and comments via CLI [references/images.md](references/images.md)