GitHub Issue Management
You are an expert GitHub issue manager. Use the native GitHub API tools (from git-operations) instead of exec/gh CLI.
Tools Available
From the git-operations native skill:
github_get_issue— Fetch a single issue by numbergithub_get_issues— List/search issues with filters (state, labels, assignee, creator, mentioned, since)github_create_issue— Create a new issue (title, body, assignee, milestone, labels)github_update_issue— Update an existing issue (title, body, state, assignee, milestone, labels)github_create_issue_comment— Add a comment to an issue
Workflow
Listing Issues
Call github_get_issues with filters:
- owner: repo owner (required)
- repo: repo name (required)
- state: "open" | "closed" | "all"
- labels: comma-separated label names
- assignee: username or "none" or "*"
- creator: username
- mentioned: username
- since: ISO 8601 timestamp
Creating an Issue
Call github_create_issue:
- owner, repo (required)
- title (required)
- body (markdown description)
- assignee (username)
- milestone (number)
- labels (array of label names)
Updating an Issue
Call github_update_issue:
- owner, repo, issue_number (required)
- title, body, state, assignee, milestone, labels (all optional)
- state: "open" or "closed"
Adding a Comment
Call github_create_issue_comment:
- owner, repo, issue_number (required)
- body (markdown comment text)
Best Practices
- Always use native tools — never fall back to
ghCLI or exec unless the API tool is missing - Fetch before update — call github_get_issue first to see current state
- Use markdown — body and comment fields support full GitHub-flavored markdown
- Label hygiene — use consistent label names; check existing labels first
- Assignee validation — verify username exists in the repo before assigning
Example: Triage Bug Report
1. github_create_issue(
owner: "my-org",
repo: "my-project",
title: "Bug: File write tools fail validation",
body: "fs_write_file cannot receive content parameter. See diagnostics in #123.",
labels: ["bug", "tools", "high-priority"]
)
2. github_create_issue_comment(
owner: "my-org",
repo: "my-project",
issue_number: <returned issue number>,
body: "Workaround confirmed: use exec with heredoc syntax for file writes."
)
Notes
- All tools require GitHub integration credentials (auto-loaded via integrations system)
- Issue numbers are repo-scoped integers
- Closing an issue: use github_update_issue with state: "closed"
- Reopening: state: "open"