GitHub Issue Creation
Create GitHub issues via the GitKraken MCP issues_create tool with provider: "github".
Core Principle
Parse, improve, review, create.
- Read the user's context doc or conversation and extract raw issue descriptions
- Improve each issue: sharpen titles, structure descriptions, infer labels and assignees
- Present a review table — never create without approval
- On approval, create issues and report back with URLs
Workflow
Step 1: Identify the Target Repo
Use AskQuestion to confirm:
- Repository owner (GitHub org or username)
- Repository name
If the user has already specified these, confirm with a recommended default.
Step 2: Parse the Context Document
Read the provided file or conversation context and extract individual issues. Look for:
- Numbered lists, bullet points, or headings that delineate separate items
- Bug reports, feature requests, tasks, or improvements
- Any mentioned priorities, labels, or assignees
For each extracted item, capture:
- Raw title or summary
- Any description/detail text
- Any labels or categories mentioned
- Any people mentioned
Step 3: Improve and Enrich Each Issue
For every extracted issue, apply these improvements:
Title: Rewrite as a clear, actionable issue title.
| Raw input | Improved title |
|---|---|
| "the login page is slow" | Improve login page load performance |
| "add dark mode" | Add dark mode theme toggle |
| "crash when uploading large files" | Fix crash on large file upload |
| "need API docs" | Add API documentation |
Description: Structure using the appropriate template (see below).
Labels: Infer from context:
| Signal | Suggested label |
|---|---|
| Something is broken, crash, error, regression | bug |
| New capability, "add", "implement", "support" | enhancement |
| Documentation, README, guides | documentation |
| Performance, slow, optimise | performance |
| Security, vulnerability, auth | security |
| Refactor, clean up, technical debt | refactor |
| Question, unclear behaviour | question |
Assignees: Include GitHub usernames if mentioned. Otherwise leave unassigned.
Step 4: Present for Review
Present all issues in a numbered table before creating any. Include columns:
| # | Title | Labels | Assignee | Summary |
|---|
Then ask for approval:
AskQuestion:
title: "Review GitHub Issues"
questions:
- id: approve
prompt: "I've prepared N issues for owner/repo. Review the table above — ready to create?"
options:
- "Create all (Recommended)"
- "Let me edit some first"
- "Cancel"
If the user selects "Let me edit some first", ask which issues to change and re-present.
Step 5: Create Issues
On approval, create each issue sequentially:
CallMcpTool:
server: user-eamodio.gitlens-extension-GitKraken
toolName: issues_create
arguments:
provider: "github"
repository_organization: "<OWNER>"
repository_name: "<REPO>"
title: "<TITLE>"
body: "<DESCRIPTION in markdown>"
labels: ["<label1>", "<label2>"] # omit if none
assignees: ["<username>"] # omit if unassigned
Step 6: Report Results
After all issues are created, present a summary table:
| # | Title | Issue | URL |
|---|
Include the issue number and URL for each. Flag any that failed.
Description Templates
Feature / Enhancement
## Summary
[1-2 sentence overview of the feature]
## Motivation
[Why this is needed — pull from context doc]
## Proposed Solution
[How it could be implemented, if context provides this]
## Acceptance Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
## Additional Context
[Any extra detail, links, or references from the source doc]
Bug
## Summary
[What is broken]
## Steps to Reproduce
1. [Step 1]
2. [Step 2]
## Expected Behaviour
[What should happen]
## Actual Behaviour
[What actually happens]
## Environment
[OS, browser, version, etc. if mentioned]
## Additional Context
[Logs, screenshots, related issues]
Task / Chore
## Summary
[What needs to be done]
## Details
[Any specifics from the context doc]
## Acceptance Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
Single Issue Mode
When the user describes just one issue (not a doc), follow the same flow but simplified:
- Infer title, description, and labels from conversation
- Present a quick confirmation via
AskQuestion(title, labels, assignee) - Create on approval
Important Notes
repository_organizationis the GitHub owner (org or username),repository_nameis the repo name.- Labels must already exist on the repo — the MCP tool applies existing labels by name. If a label doesn't exist, it will be silently ignored. Warn the user if you're suggesting uncommon labels.
- If the MCP call fails with an auth error, tell the user to check their GitKraken GitHub integration in the GitLens extension settings.
- Always present created issue details (number + URL) back to the user.
- Never create issues without explicit user approval.