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, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", or any GitHub issue management task.
SKILL.md
| Name | github-issues |
| Description | 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, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", or any GitHub issue management task. |
name: github-issues description: '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, set issue fields (dates, priority, custom fields), set issue types, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", "set the priority", "set the start date", or any GitHub issue management task.'
GitHub Issues
Manage GitHub issues using the @modelcontextprotocol/server-github MCP server.
Available MCP Tools
| Tool | Purpose |
|---|---|
mcp__github__create_issue | Create new issues |
mcp__github__update_issue | Update existing issues |
mcp__github__get_issue | Fetch issue details |
mcp__github__search_issues | Search issues |
mcp__github__add_issue_comment | Add comments |
mcp__github__list_issues | List repository issues |
mcp__github__list_issue_types | List available issue types for an organization |
mcp__github__issue_read | Read issue details, sub-issues, comments, labels |
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 |
Workflow
- Determine action: Create, update, or query?
- Gather context: Get repo info, existing labels, milestones if needed
- Structure content: Use appropriate template from references/templates.md
- Execute: Call the appropriate MCP tool
- Confirm: Report the issue URL to user
Creating Issues
Required Parameters
owner: repository owner (org or user)
repo: repository name
title: clear, actionable title
body: structured markdown content
Optional Parameters
labels: ["bug", "enhancement", "documentation", ...]
assignees: ["username1", "username2"]
milestone: milestone number (integer)
type: issue type name (e.g., "Bug", "Feature", "Task", "Epic")
Issue types are organization-level metadata. Before using type, call mcp__github__list_issue_types with the org name to discover available types. If the org has no issue types configured, omit the parameter.
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
- Start with type prefix when useful:
[Bug],[Feature],[Docs] - Be specific and actionable
- Keep under 72 characters
- Examples:
[Bug] Login fails with SSO enabled[Feature] Add dark mode supportAdd unit tests for auth module
Body Structure
Always use the templates in 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 mcp__github__update_issue with:
owner, repo, issue_number (required)
title, body, state, labels, assignees, milestone (optional - only changed fields)
State values: open, closed
Examples
Example 1: Bug Report
User: "Create a bug issue - the login page crashes when using SSO"
Action: Call mcp__github__create_issue with:
{
"owner": "github",
"repo": "awesome-copilot",
"title": "[Bug] Login page crashes when using SSO",
"body": "## Description\nThe login page crashes when users attempt to authenticate using SSO.\n\n## Steps to Reproduce\n1. Navigate to login page\n2. Click 'Sign in with SSO'\n3. Page crashes\n\n## Expected Behavior\nSSO authentication should complete and redirect to dashboard.\n\n## Actual Behavior\nPage becomes unresponsive and displays error.\n\n## Environment\n- Browser: [To be filled]\n- OS: [To be filled]\n\n## Additional Context\nReported by user.",
"type": "Bug"
}
Example 2: Feature Request
User: "Create a feature request for dark mode with high priority"
Action: Call mcp__github__create_issue with:
{
"owner": "github",
"repo": "awesome-copilot",
"title": "[Feature] Add dark mode support",
"body": "## Summary\nAdd dark mode theme option for improved user experience and accessibility.\n\n## Motivation\n- Reduces eye strain in low-light environments\n- Increasingly expected by users\n- Improves accessibility\n\n## Proposed Solution\nImplement theme toggle with system preference detection.\n\n## Acceptance Criteria\n- [ ] Toggle switch in settings\n- [ ] Persists user preference\n- [ ] Respects system preference by default\n- [ ] All UI components support both themes\n\n## Alternatives Considered\nNone specified.\n\n## Additional Context\nHigh priority request.",
"type": "Feature",
"labels": ["high-priority"]
}
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 |
|---|---|---|
| Sub-issues & parent issues | Breaking work into hierarchical tasks | references/sub-issues.md |
| Issue dependencies | Tracking blocked-by / blocking relationships | references/dependencies.md |
| Issue types (advanced) | GraphQL operations beyond MCP list_issue_types / type param | references/issue-types.md |
| Projects V2 | Project boards, progress reports, field management | references/projects.md |
| Issue fields | Custom metadata: dates, priority, text, numbers (private preview) | references/issue-fields.md |