github-issues

bởi github

Tạo, cập nhật và quản lý các issue trên GitHub với hỗ trợ quy trình làm việc đầy đủ bao gồm loại, nhãn, người được gán và phụ thuộc. Hỗ trợ tạo issue với phân loại loại (Lỗi, Tính năng, Công việc, v.v.), nhãn, người được gán và mốc thời gian qua các lệnh gọi REST của gh api. Các thao tác đọc qua công cụ MCP để lấy chi tiết issue, bình luận, nhãn và tìm kiếm giữa các kho lưu trữ. Xử lý cập nhật issue (tiêu đề, nội dung, trạng thái, nhãn, người được gán) và bao gồm các mẫu cho báo cáo lỗi, yêu cầu tính

npx skills add https://github.com/github/awesome-copilot --skill github-issues

GitHub Issues

Manage GitHub issues using the @modelcontextprotocol/server-github MCP server.

Available Tools

MCP Tools (read operations)

ToolPurpose
mcp__github__issue_readRead issue details, sub-issues, comments, labels (methods: get, get_comments, get_sub_issues, get_labels)
mcp__github__list_issuesList and filter repository issues by state, labels, date
mcp__github__search_issuesSearch issues across repos using GitHub search syntax
mcp__github__projects_listList projects, project fields, project items, status updates
mcp__github__projects_getGet details of a project, field, item, or status update
mcp__github__projects_writeAdd/update/delete project items, create status updates

MCP Tools (write operations)

ToolPurpose
mcp__github__issue_writeCreate or update an issue (methods: create, update). Supports title, body, type, labels, assignees, milestone, and issue fields
mcp__github__add_issue_commentAdd a comment or a reaction to an issue
mcp__github__sub_issue_writeAdd, 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.

OperationCommand
Create issuegh api repos/{owner}/{repo}/issues -X POST -f title=... -f body=...
Update issuegh api repos/{owner}/{repo}/issues/{number} -X PATCH -f title=... -f state=...
Add commentgh api repos/{owner}/{repo}/issues/{number}/comments -X POST -f body=...
Close issuegh api repos/{owner}/{repo}/issues/{number} -X PATCH -f state=closed
Set issue typeInclude -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
  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.

gh api repos/{owner}/{repo}/issues \
  -X POST \
  -f title="Issue title" \
  -f body="Issue body in markdown" \
  -f type="Bug" \
  --jq '{number, html_url}'

Optional Parameters

Add any of these flags to the gh api call:

-f type="Bug"                    # Issue type (Bug, Feature, Task, Epic, etc.)
-f 'labels[]=bug'                # Labels (repeat for multiple)
-f 'assignees[]=username'        # Assignees (repeat for multiple)
-f milestone=1                   # Milestone number

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:

zsh: no matches found: labels[]=bug

Issue types are organization-level metadata. To discover available types, use:

gh api graphql -f query='{ organization(login: "ORG") { issueTypes(first: 10) { nodes { name } } } }' --jq '.data.organization.issueTypes.nodes[].name'

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. Choose based on issue type:

User RequestTemplate
Bug, error, broken, not workingBug Report
Feature, enhancement, add, newFeature Request
Task, chore, refactor, updateTask

Updating Issues

Use gh api with PATCH:

gh api repos/{owner}/{repo}/issues/{number} \
  -X PATCH \
  -f state=closed \
  -f title="Updated title" \
  --jq '{number, html_url}'

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:

gh api repos/github/awesome-copilot/issues \
  -X POST \
  -f title="Login page crashes when using SSO" \
  -f type="Bug" \
  -f body="## Description
The login page crashes when users attempt to authenticate using SSO.

## Steps to Reproduce
1. Navigate to login page
2. Click 'Sign in with SSO'
3. Page crashes

## Expected Behavior
SSO authentication should complete and redirect to dashboard.

## Actual Behavior
Page becomes unresponsive and displays error." \
  --jq '{number, html_url}'

Example 2: Feature Request

User: "Create a feature request for dark mode with high priority"

Action:

gh api repos/github/awesome-copilot/issues \
  -X POST \
  -f title="Add dark mode support" \
  -f type="Feature" \
  -f 'labels[]=high-priority' \
  -f body="## Summary
Add dark mode theme option for improved user experience and accessibility.

## Motivation
- Reduces eye strain in low-light environments
- Increasingly expected by users

## Proposed Solution
Implement theme toggle with system preference detection.

## Acceptance Criteria
- [ ] Toggle switch in settings
- [ ] Persists user preference
- [ ] Respects system preference by default" \
  --jq '{number, html_url}'

Common Labels

Use these standard labels when applicable:

LabelUse For
bugSomething isn't working
enhancementNew feature or improvement
documentationDocumentation updates
good first issueGood for newcomers
help wantedExtra attention needed
questionFurther information requested
wontfixWill not be addressed
duplicateAlready exists
high-priorityUrgent 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.

CapabilityWhen to useReference
Advanced searchComplex queries with boolean logic, date ranges, cross-repo search, issue field filters (field.name:value)references/search.md
Sub-issues & parent issuesBreaking work into hierarchical tasksreferences/sub-issues.md
MilestonesCreate, read, update, close, reopen, delete milestones and manage milestone issuesreferences/milestones.md
LabelsDiscover, create, rename, recolor, and delete repository labels; add or replace labels on an issuereferences/labels.md
Issue dependenciesTracking blocked-by / blocking relationshipsreferences/dependencies.md
Issue types (advanced)GraphQL operations beyond MCP list_issue_types / type paramreferences/issue-types.md
Projects V2Project boards, progress reports, field managementreferences/projects.md
Issue fieldsCustom metadata: dates, priority, text, numbers (private preview)references/issue-fields.md
Images in issuesEmbedding images in issue bodies and comments via CLIreferences/images.md

Thêm skills từ github

debugging-workflows
github
Hướng dẫn gỡ lỗi các quy trình tác nhân GitHub - phân tích nhật ký, kiểm tra lần chạy và khắc phục sự cố
go-codemod
github
Triển khai và kiểm thử các codemod Go cho lệnh gh aw fix.
acreadiness-policy
github
Giúp người dùng chọn, viết hoặc áp dụng chính sách AgentRC. Chính sách tùy chỉnh điểm sẵn sàng bằng cách tắt các kiểm tra không liên quan, ghi đè mức độ tác động/cấp độ, thiết lập…
ai-ready
github
Biến bất kỳ kho lưu trữ nào thành sẵn sàng cho AI — phân tích mã nguồn của bạn và tạo ra AGENTS.md, copilot-instructions.md, quy trình CI, mẫu issue, và nhiều hơn nữa. Khai thác đánh giá PR của bạn…
create-oo-component-documentation
github
Tạo tài liệu toàn diện, chuẩn hóa cho các thành phần hướng đối tượng, tuân theo các phương pháp thực hành tốt nhất trong ngành và tiêu chuẩn tài liệu kiến trúc.
dependabot
github
Dependabot là công cụ quản lý phụ thuộc tích hợp sẵn của GitHub với ba khả năng cốt lõi:
doublecheck
github
Quy trình xác minh ba lớp cho đầu ra AI. Trích xuất các tuyên bố có thể kiểm chứng, tìm nguồn hỗ trợ hoặc mâu thuẫn qua tìm kiếm web, thực hiện đánh giá đối kháng…
foundry-agent-sync
github
Tạo và đồng bộ hóa các tác nhân AI dựa trên prompt trực tiếp trong Azure AI Foundry thông qua REST API, từ một tệp kê khai JSON cục bộ. Không giống như các kỹ năng scaffolding chỉ…