Create a new GitHub issue with formatted description, labels, and optional reference links
Creates a new GitHub issue with formatted description, labels, assignees, and optional reference links.
/plugin marketplace add athola/claude-night-market/plugin install minister@claude-night-marketCreates a new GitHub issue in the current repository (or specified repo) with formatted description, labels, assignees, and optional reference links to related issues, PRs, or documentation.
<title> - Issue title (wrap in quotes if it contains spaces)--body <text> - Issue body/description (wrap in quotes)--labels <label>... - One or more labels to apply--assignee <user> - GitHub username to assign--milestone <milestone> - Milestone name or number--project <project> - Add to GitHub Project (name or number)--refs <url>... - Reference URLs to include in the issue body--repo <owner/repo> - Create in specific repository (default: current)--template - Use interactive template mode with guided promptsExtract Title
The first positional argument is the title. If no flags follow, the entire argument string is the title.
Parse Optional Flags
Extract all optional parameters from the command arguments.
Determine Target Repository
# If --repo not specified, use current repository
gh repo view --json owner,name -q '"\(.owner.login)/\(.name)"'
Construct the issue body from the provided description and references.
${body_text}
${references_section}
If --refs URLs are provided, analyze and categorize them:
Use the WebFetch tool to retrieve metadata for each URL:
- GitHub issue URLs → Extract issue number, title, status
- GitHub PR URLs → Extract PR number, title, status
- Documentation URLs → Extract page title
- Other URLs → Use raw URL with domain name
Format as a "Related Links" section:
## Related Links
- [#123: Original feature request](https://github.com/owner/repo/issues/123)
- [PR #456: Initial implementation](https://github.com/owner/repo/pull/456)
- [Design Doc: Architecture](https://example.com/docs/architecture)
When --template flag is used, guide the user through structured prompts:
Use the AskUserQuestion tool for each section:
1. **Issue Type**
Options: "Bug", "Feature", "Enhancement", "Documentation", "Question"
2. **Description Prompts** (based on type):
For Bug:
- What is the expected behavior?
- What is the actual behavior?
- Steps to reproduce?
- Environment details?
For Feature/Enhancement:
- What problem does this solve?
- Proposed solution?
- Acceptance criteria?
- Alternatives considered?
3. **Labels** (suggest based on type):
- bug → "bug", "needs-triage"
- feature → "enhancement", "feature"
- documentation → "documentation"
4. **Priority** (optional):
Options: "critical", "high", "medium", "low"
→ Adds corresponding label
5. **Related Links**:
Prompt: "Any related issues, PRs, or docs? (URLs, one per line, empty to finish)"
Loop until empty input.
The template mode builds the full gh issue create command from responses.
Execute the GitHub CLI command to create the issue:
gh issue create \
--repo "${repo}" \
--title "${title}" \
--body "${body}" \
${labels:+--label "$labels"} \
${assignee:+--assignee "$assignee"} \
${milestone:+--milestone "$milestone"} \
${project:+--project "$project"}
Command Construction Notes:
--body-file if body is long (>500 chars) to avoid shell limits--label "bug" --label "needs-triage"After successful creation, perform follow-up actions:
Capture Issue URL
gh issue create [...] --json url,number -q '"\(.number): \(.url)"'
Display Summary
Created issue #${number}
Title: ${title}
URL: ${url}
Labels: ${labels}
Assigned: ${assignee}
Optional: Add to Project Board
If --project specified:
gh project item-add ${project_number} --url ${issue_url}
Optional: Link Related Issues
If --refs contains GitHub issue/PR URLs, add automatic cross-references:
# For each GitHub ref URL
gh issue comment ${ref_number} --body "Related: ${new_issue_url}"
/create-issue "Fix login timeout on slow connections"
Result:
Created issue #234
Title: Fix login timeout on slow connections
URL: https://github.com/athola/skrills/issues/234
/create-issue "Add MCP analytics dashboard" \
--body "Create a web dashboard showing skill usage metrics and recommendations" \
--labels "enhancement" "mcp" \
--assignee "athola" \
--refs "https://github.com/athola/skrills/issues/21" \
"https://example.com/docs/analytics-spec"
Generated Body:
Create a web dashboard showing skill usage metrics and recommendations
## Related Links
- [#21: Enhance MCP analytics](https://github.com/athola/skrills/issues/21)
- [Analytics Spec](https://example.com/docs/analytics-spec)
/create-issue --template
> Issue Type? [Bug/Feature/Enhancement/Documentation/Question]
Feature
> What problem does this solve?
Users need visibility into skill usage patterns.
> Proposed solution?
Build a dashboard using the MCP analytics API.
> Acceptance criteria? (one per line, empty to finish)
- Display skill co-occurrence graph
- Show recommendation quality metrics
- Allow date range filtering
[empty]
> Priority? [critical/high/medium/low/skip]
medium
> Related links? (URLs, one per line, empty to finish)
https://github.com/athola/skrills/issues/21
[empty]
Creating issue with:
Title: Add MCP analytics dashboard
Labels: enhancement, feature, priority:medium
Body: [3 sections, 245 chars]
Created issue #234: https://github.com/athola/skrills/issues/234
/create-issue "Document API changes" \
--repo "athola/skrills-docs" \
--body "Update docs to reflect v2.0 API changes" \
--labels "documentation" \
--refs "https://github.com/athola/skrills/pull/456"
Error: Repository 'athola/unknown-repo' not found
Verify the repository exists and you have access.
Current repository: athola/skrills
Warning: Label 'unknown-label' does not exist in athola/skrills
Available labels:
- bug, enhancement, documentation, question
- priority:high, priority:medium, priority:low
- needs-triage, in-progress, blocked
Continue without this label? [y/n]
Error: Issue title is required
Usage: /create-issue <title> [options]
Error: GitHub authentication required
Run: gh auth login
The command recognizes common issue types and formats accordingly:
## Description
${user_description}
## Expected Behavior
${expected}
## Actual Behavior
${actual}
## Steps to Reproduce
${steps}
## Environment
${environment}
## Related Links
${refs}
## Problem Statement
${problem}
## Proposed Solution
${solution}
## Acceptance Criteria
${criteria}
## Alternatives Considered
${alternatives}
## Related Links
${refs}
/close-issue| Command | Purpose | Workflow |
|---|---|---|
/create-issue | Issue creation | Idea → Formatted issue |
/close-issue | Issue analysis | Evidence → Closure decision |
Together they provide full issue lifecycle management.
The command integrates with minister's project tracking:
Auto-Capture to Tracker
After creating an issue, optionally add it to minister's project tracker:
uv run python plugins/minister/scripts/tracker.py add \
--url "${issue_url}" \
--status "Not Started"
Initiative Linking
If --project references a tracked initiative, update initiative metadata.
Leverages gh CLI capabilities:
gh project--refs--template for consistent formattingFor creating multiple related issues from a list:
# Read from a CSV or structured file
# Parse each line and call /create-issue
/create-issue "$(cat issue-title.txt)" \
--body "$(cat issue-body.md)" \
--labels "$(cat labels.txt)"
# Create issue from CI/CD failure
/create-issue "CI failure in ${JOB_NAME}" \
--body "Build failed: ${BUILD_URL}" \
--labels "ci" "bug" \
--refs "${COMMIT_URL}"
/close-issue - Analyze and close completed issuesminister:github-initiative-pulse - Initiative status trackingminister:release-health-gates - Release readiness checks