ワンクリックで
github-issue-manager
Create and manage GitHub Issues from the command line with templates and label automation.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create and manage GitHub Issues from the command line with templates and label automation.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Open local review artifacts in Xiaoer Omia when users ask to open, preview, inspect, or review a file.
Run a measured improvement loop for a skill by defining a yes/no checklist, capturing a baseline, scoring candidate outputs, and logging each iteration's keep/revert decision. Use when a skill works inconsistently and you want evidence-driven iteration instead of random prompt edits.
Build a static HTML report site from CSV, JSON, Markdown, or HTML inputs. Use when the user wants to turn existing data into a human-readable site, generate a data showcase page, create a static report website, or optionally publish the built site.
Add offline multilingual support to static HTML, small web projects, or reports by extracting text into tokens, maintaining language dictionaries, applying translated outputs, and optionally embedding a local language switcher. Use when the user asks for bilingual support, tokenizing Chinese copy, offline language switching, or i18n for reports and lightweight sites.
Unified entrypoint for Obsidian note operations such as cleanup, merge, lint/fix, meeting archive, daily rollover, and docs sync. Use when the user wants one command surface over an existing notes-tools repo instead of calling many atomic scripts by hand.
Test, tune, and regression-check LLM system prompts with a golden dataset. Use when the user wants to optimize a prompt, run prompt regression tests, manage `cases.yaml`, compare expected vs actual outputs, or follow a TDD workflow for prompts.
| name | github-issue-manager |
| description | Create and manage GitHub Issues from the command line with templates and label automation. |
| version | 1.1.0 |
| author | Vivi |
| tags | ["github","issues","automation","project-management"] |
| platforms | ["all"] |
| dependencies | ["bash","curl","jq"] |
Create structured GitHub Issues from the command line with templates, automatic labeling, and dry-run preview.
export GITHUB_TOKEN="ghp_your_token_here"
# Preview an issue (dry run)
./create-issue.sh --repo owner/repo --title "New feature" --type feature --dry-run
# Create for real
./create-issue.sh --repo owner/repo --title "New feature" --type feature --priority high
./create-issue.sh [options]
| Option | Description | Default |
|---|---|---|
--repo OWNER/REPO | Target repository (required) | — |
--title TEXT | Issue title (required) | — |
--type TYPE | feature / bug / enhancement | feature |
--priority LEVEL | high / medium / low | medium |
--phase N | Phase number: 1 / 2 / 3 | (none) |
--body TEXT | Custom body (overrides template) | (from template) |
--labels L1,L2 | Extra labels, comma-separated | (none) |
--template FILE | Custom JSON template file | (auto by type) |
--dry-run | Preview without creating | false |
| Env Variable | Required | Description |
|---|---|---|
GITHUB_TOKEN | Yes | GitHub Personal Access Token with repo scope |
Get a token at: https://github.com/settings/tokens
| Label | Meaning |
|---|---|
feature | New functionality |
bug | Something broken |
enhancement | Improve existing feature |
priority-high · priority-medium · priority-low
phase-1 · phase-2 · phase-3
Issues fall into two categories based on their nature and who handles closure:
Issues that require implementation work by the development team.
Types:
feature - New functionality to be implementedbug - Broken functionality to be fixedenhancement - Improvements to existing featuresClosing responsibility: Development team (e.g., ems-crew)
Closing timing: After implementation is complete and tested
State reason: completed
Examples:
Issues that don't require implementation, closed for coordination/management reasons.
Types:
duplicate - Already covered by another issueinvalid - Not a valid issue or requestwontfix - Decided not to implementdocumentation - Documentation-only changesClosing responsibility: Project coordinator (e.g., 元虾虾)
Closing timing: Immediately when identified
State reason: not_planned
Examples:
# Close when implementation is complete
curl -X PATCH \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/OWNER/REPO/issues/NUMBER \
-d '{"state": "closed", "state_reason": "completed"}'
Best practices:
# Close duplicate/invalid/wontfix issues
curl -X PATCH \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/OWNER/REPO/issues/NUMBER \
-d '{"state": "closed", "state_reason": "not_planned"}'
Best practices:
| Scenario | Who Closes | When | State Reason |
|---|---|---|---|
| Feature implemented & tested | Dev team | After verification | completed |
| Bug fixed & verified | Dev team | After testing | completed |
| Enhancement deployed | Dev team | After deployment | completed |
| Duplicate identified | Coordinator | Immediately | not_planned |
| Invalid request | Coordinator | Immediately | not_planned |
| Won't implement | Coordinator | After decision | not_planned |
| Documentation only | Either | After merge | completed |
Templates are in templates/ as JSON files:
{
"title": "Replaced by --title",
"body": "Markdown body with sections",
"labels": ["type-label"]
}
Built-in: feature.json, bug.json, enhancement.json
Create custom templates and pass via --template path/to/custom.json.
github-issue-manager/
├── create-issue.sh # CLI entry point
├── templates/
│ ├── feature.json # Feature request template
│ ├── bug.json # Bug report template
│ └── enhancement.json # Enhancement template
├── examples/
│ └── EXAMPLES.md # Usage examples
├── SKILL.md
└── README.md
GITHUB_TOKEN environment variable401 Unauthorized?
Check echo $GITHUB_TOKEN — ensure it's set and not expired.
404 Not Found?
Verify repo name (owner/repo) and that your token has access to the repo.
jq: command not found?
Install jq: brew install jq (macOS) or apt install jq (Linux).
JSON parse error?
Use --dry-run to inspect the generated JSON before creating.