You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add sub-issues, issue types, projects, and issue fields guidance to github-issues skill (#884)
* Add issue fields, issue types, and list_issue_types to github-issues skill
- Add list_issue_types to available MCP tools table
- Add type parameter to optional parameters with guidance
- Expand issue types section: MCP tools (preferred) + GraphQL (advanced)
- Document org-level type discovery, create/update with type, GraphQL mutations
- Add issue fields section: discover, read, set via GraphQL
- Note required GraphQL-Features headers (issue_fields, issue_types)
- Update skill description to mention fields, types, dates, priority
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add Projects V2 guidance to github-issues skill
Include MCP tools (projects_list, projects_get, projects_write) and
GraphQL examples for project item management.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add sub-issues section, move issue fields to end with preview note
- Add Sub-Issues and Parent Issues section (MCP, REST, GraphQL)
- Add issue_read tool to MCP tools table
- Move Issue Fields to last section with private preview callout
- Link to community discussion for requesting access
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Prefer issue types over labels for categorization
Update guidance and examples to use type parameter (Bug, Feature)
instead of equivalent labels when issue types are available.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Prefer issue fields over project fields for metadata
Issue fields live on the issue and travel across projects.
Project fields are scoped to a single project.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add issue dependencies (blocked by/blocking) section
Covers REST endpoints (list, add, remove) and GraphQL
(blockedBy, blocking, issueDependenciesSummary, mutations).
Also documents tracked issues read-only fields.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add project discovery workflow for progress reports
Teach agents how to find projects by name, discover fields
and iterations, paginate items, and build status breakdowns.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Generate updated skill listing after SKILL.md changes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Split skill into reference files per reviewer feedback
Move sub-issues, dependencies, issue types, projects, and issue fields
into separate references/ files. Main SKILL.md now contains core MCP
workflow and a capability table pointing to each reference. This way
the agent only loads the knowledge it needs for the specific task.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: docs/README.skills.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -120,7 +120,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
120
120
|[git-commit](../skills/git-commit/SKILL.md)| Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping | None |
121
121
|[git-flow-branch-creator](../skills/git-flow-branch-creator/SKILL.md)| Intelligent Git Flow branch creator that analyzes git status/diff and creates appropriate branches following the nvie Git Flow branching model. | None |
122
122
|[github-copilot-starter](../skills/github-copilot-starter/SKILL.md)| Set up complete GitHub Copilot configuration for a new project based on technology stack | None |
123
-
|[github-issues](../skills/github-issues/SKILL.md)| 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. |`references/templates.md`|
123
+
|[github-issues](../skills/github-issues/SKILL.md)| 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. |`references/dependencies.md`<br />`references/issue-fields.md`<br />`references/issue-types.md`<br />`references/projects.md`<br />`references/sub-issues.md`<br />`references/templates.md`|
124
124
|[go-mcp-server-generator](../skills/go-mcp-server-generator/SKILL.md)| Generate a complete Go MCP server project with proper structure, dependencies, and implementation using the official github.com/modelcontextprotocol/go-sdk. | None |
125
125
|[image-manipulation-image-magick](../skills/image-manipulation-image-magick/SKILL.md)| Process and manipulate images using ImageMagick. Supports resizing, format conversion, batch processing, and retrieving image metadata. Use when working with images, creating thumbnails, resizing wallpapers, or performing batch image operations. | None |
126
126
|[import-infrastructure-as-code](../skills/import-infrastructure-as-code/SKILL.md)| Import existing Azure resources into Terraform using Azure CLI discovery and Azure Verified Modules (AVM). Use when asked to reverse-engineer live Azure infrastructure, generate Infrastructure as Code from existing subscriptions/resource groups/resource IDs, map dependencies, derive exact import addresses from downloaded module source, prevent configuration drift, and produce AVM-based Terraform files ready for validation and planning across any Azure resource type. | None |
Copy file name to clipboardExpand all lines: skills/github-issues/SKILL.md
+26-3Lines changed: 26 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: github-issues
3
-
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.'
3
+
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.'
4
4
---
5
5
6
6
# GitHub Issues
@@ -17,6 +17,11 @@ Manage GitHub issues using the `@modelcontextprotocol/server-github` MCP server.
17
17
|`mcp__github__search_issues`| Search issues |
18
18
|`mcp__github__add_issue_comment`| Add comments |
19
19
|`mcp__github__list_issues`| List repository issues |
20
+
|`mcp__github__list_issue_types`| List available issue types for an organization |
type: issue type name (e.g., "Bug", "Feature", "Task", "Epic")
46
52
```
47
53
54
+
**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.
55
+
56
+
**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.
57
+
48
58
### Title Guidelines
49
59
50
60
- Start with type prefix when useful: `[Bug]`, `[Feature]`, `[Docs]`
@@ -89,7 +99,7 @@ State values: `open`, `closed`
89
99
"repo": "awesome-copilot",
90
100
"title": "[Bug] Login page crashes when using SSO",
91
101
"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.",
92
-
"labels": ["bug"]
102
+
"type": "Bug"
93
103
}
94
104
```
95
105
@@ -104,7 +114,8 @@ State values: `open`, `closed`
104
114
"repo": "awesome-copilot",
105
115
"title": "[Feature] Add dark mode support",
106
116
"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.",
107
-
"labels": ["enhancement", "high-priority"]
117
+
"type": "Feature",
118
+
"labels": ["high-priority"]
108
119
}
109
120
```
110
121
@@ -130,3 +141,15 @@ Use these standard labels when applicable:
130
141
- Ask for missing critical information rather than guessing
131
142
- Link related issues when known: `Related to #123`
132
143
- For updates, fetch current issue first to preserve unchanged fields
144
+
145
+
## Extended Capabilities
146
+
147
+
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.
148
+
149
+
| Capability | When to use | Reference |
150
+
|------------|-------------|-----------|
151
+
| Sub-issues & parent issues | Breaking work into hierarchical tasks |[references/sub-issues.md](references/sub-issues.md)|
Dependencies let you mark that an issue is blocked by another issue. This creates a formal dependency relationship visible in the UI and trackable via API. No MCP tools exist for dependencies; use REST or GraphQL directly.
4
+
5
+
## Using REST API
6
+
7
+
**List issues blocking this issue:**
8
+
```
9
+
GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by
10
+
```
11
+
12
+
**Add a blocking dependency:**
13
+
```
14
+
POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by
15
+
Body: { "issue_id": 12345 }
16
+
```
17
+
18
+
The `issue_id` is the numeric issue **ID** (not the issue number).
> **Private preview:** Issue fields are currently in private preview. Request access at https://github.com/orgs/community/discussions/175366
4
+
5
+
Issue fields are custom metadata (dates, text, numbers, single-select) defined at the organization level and set per-issue. They are separate from labels, milestones, and assignees. Common examples: Start Date, Target Date, Priority, Impact, Effort.
6
+
7
+
**Important:** All issue field queries and mutations require the `GraphQL-Features: issue_fields` HTTP header. Without it, the fields are not visible in the schema.
8
+
9
+
**Prefer issue fields over project fields.** When you need to set metadata like dates, priority, or status on an issue, use issue fields (which live on the issue itself) rather than project fields (which live on a project item). Issue fields travel with the issue across projects and views, while project fields are scoped to a single project. Only use project fields when issue fields are not available or when the field is project-specific (e.g., sprint iterations).
10
+
11
+
## Discovering available fields
12
+
13
+
Fields are defined at the org level. List them before trying to set values:
Issue types (Bug, Feature, Task, Epic, etc.) are defined at the **organization** level and inherited by repositories. They categorize issues beyond labels.
4
+
5
+
For basic usage, the MCP tools handle issue types natively. Call `mcp__github__list_issue_types` to discover types, and pass `type: "Bug"` to `mcp__github__create_issue` or `mcp__github__update_issue`. This reference covers advanced GraphQL operations.
6
+
7
+
## GraphQL Feature Header
8
+
9
+
All GraphQL issue type operations require the `GraphQL-Features: issue_types` HTTP header.
10
+
11
+
## List types (org or repo level)
12
+
13
+
```graphql
14
+
# Header: GraphQL-Features: issue_types
15
+
{
16
+
organization(login: "OWNER") {
17
+
issueTypes(first: 20) {
18
+
nodes { idnamecolordescriptionisEnabled }
19
+
}
20
+
}
21
+
}
22
+
```
23
+
24
+
Types can also be listed per-repo via `repository.issueTypes` or looked up by name via `repository.issueType(name: "Bug")`.
0 commit comments