Create GitHub issues using the gh CLI. Use when the user wants to create a new issue, report a bug, request a feature, or create a task in GitHub. Trigger keywords - create issue, new issue, file bug, report bug, feature request, github issue.
74
91%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Create issues on GitHub using the gh CLI. Issues must conform to the project's issue templates.
The gh CLI must be authenticated (gh auth status).
This project uses YAML form issue templates. When creating issues, match the template structure so the output aligns with what GitHub renders.
Do not add a type label automatically. The body must include an Agent Diagnostic section — this is required by the template and enforced by project convention. The diagnostic must identify the OpenShell version tested, whether the latest release or known fixes were checked, and whether possible duplicate issues were searched. If the agent cannot verify the latest release or search existing issues, say so explicitly instead of guessing. Apply area or topic labels only when they are clearly known.
gh issue create \
--title "bug: <concise description>" \
--body "$(cat <<'EOF'
## Agent Diagnostic
- Skills loaded: <skills used during investigation>
- OpenShell version tested: <version from openshell --version or other source>
- Latest release checked: <version checked, or unable to verify>
- Known fixes reviewed: <release notes / merged PRs checked, or unable to verify>
- Possible duplicates reviewed: <existing issues searched, or unable to verify>
- Findings: <what the agent found and tried>
- Remaining reason for filing: <why this still appears to be a bug>
## Description
**Actual behavior:** <what happened>
**Expected behavior:** <what should happen>
## Reproduction Steps
1. <step>
2. <step>
## Environment
- OS: <os>
- Docker: <version>
- OpenShell: <version>
- Latest release checked: <yes/no and reason>
- Possible duplicates checked: <yes/no and reason>
## LogsDo not add a type label automatically. The body must include a Proposed Design — not a "please build this" request. Apply area or topic labels only when they are clearly known.
gh issue create \
--title "feat: <concise description>" \
--body "$(cat <<'EOF'
## Problem Statement
<What problem does this solve? Why does it matter?>
## Proposed Design
<How should this work? Describe the system behavior, components involved,
and user-facing interface.>
## Alternatives Considered
<What other approaches were evaluated? Why is this design better?>
## Agent Investigation
<If the agent explored the codebase to assess feasibility, paste findings here.>
EOF
)"For internal tasks that don't fit bug/feature templates:
gh issue create \
--title "<type>: <description>" \
--body "$(cat <<'EOF'
## Description
<Clear description of the work>
## Context
<Any dependencies, related issues, or background>
## Definition of Done
- [ ] <criterion>
EOF
)"GitHub built-in issue types (Bug, Feature, Task) should come from the matching issue template when possible, or be set manually afterward. Do not try to emulate them through labels.
| Option | Description |
|---|---|
--title, -t | Issue title (required) |
--body, -b | Issue description |
--label, -l | Add label (can use multiple times) |
--milestone, -m | Add to milestone |
--project, -p | Add to project |
--web | Open in browser after creation |
The command outputs the issue URL and number.
Display the URL using markdown link syntax so it's easily clickable:
Created issue [#123](https://github.com/OWNER/REPO/issues/123)Use the issue number to:
git commit -m "Fix validation error (fixes #123)"<issue-number>-<description>/<username>deced87
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.