ワンクリックで
gh-create
Create GitHub issues or triage existing ones. Works with any repo - auto-detects from current directory.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create GitHub issues or triage existing ones. Works with any repo - auto-detects from current directory.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when an epic or milestone may have drifted from reality - checklist items that could be stale, issues possibly in the wrong milestone, a "gated on
Pick up GitHub issues and develop them with worktree isolation. Works with any repo - auto-detects from current directory.
This skill helps Claude write secure web applications. Use when working on any web application to ensure security best practices are followed.
| name | gh-create |
| description | Create GitHub issues or triage existing ones. Works with any repo - auto-detects from current directory. |
Create well-formed GitHub Issues or triage existing ones for the ready queue. Works with any GitHub repository.
Arguments: $ARGUMENTS (optional)
42): Triage existing issue"Fix toast bug"): Quick captureREPO=$(gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null)
if [ -z "$REPO" ]; then
echo "Not in a GitHub repository. Please specify repo or navigate to one."
exit 1
fi
START
│
├─ $ARGUMENTS empty? ──yes──▶ INTERACTIVE MODE
│
├─ $ARGUMENTS is number? ──yes──▶ TRIAGE MODE
│
└─ $ARGUMENTS is text? ──yes──▶ QUICK CAPTURE MODE
Use AskUserQuestion:
{
"questions": [
{
"header": "Issue type",
"question": "What type of issue are you creating?",
"multiSelect": false,
"options": [
{ "label": "Bug", "description": "Something is broken" },
{ "label": "Feature", "description": "New capability" },
{ "label": "Chore", "description": "Refactoring, docs, maintenance" },
{ "label": "Spike", "description": "Research or investigation" }
]
}
]
}
Ask for one-line summary.
gh issue list --search "<summary keywords>" --limit 5 --json number,title,state
If matches, use AskUserQuestion with dynamic options from results + "None of these".
Bug: Expected behavior, actual behavior, steps to reproduce (optional) Feature: Problem it solves, proposed solution (optional) Chore: What needs doing, why Spike: Research question, deliverables, time box
Prompt for testable criteria, format as - [ ] <criterion>.
For bug/feature/chore (skip for spike).
Fetch repo labels dynamically:
gh label list --json name,description
Filter to area:*, size:*, priority:* patterns. Use keyword inference to suggest, present via AskUserQuestion with multi-select.
If repo has no matching labels: Skip label selection, create issue without labels.
Use AskUserQuestion: Normal (default), Urgent, High, Low.
gh api repos/:owner/:repo/milestones --jq '[.[] | select(.state=="open")] | sort_by(.title)'
Present available milestones via AskUserQuestion, or "None" if no milestones exist.
Show complete preview, then AskUserQuestion: Create / Edit / Cancel.
gh issue create \
--title "<type>: <summary>" \
--body "<generated body>" \
--label "<labels>" \
--milestone "<milestone>"
AskUserQuestion: "Start implementation?" → invoke /gh-dev <number> or end.
gh issue view $ARGUMENTS --json number,title,body,labels,comments,milestone
Check for: Acceptance Criteria, Test Requirements, size label, area label, type label.
Display status, then AskUserQuestion: Fill missing / Skip to labels / Cancel.
Same flow as Interactive mode for missing sections.
Same as Interactive Step 12.
Extract text from $ARGUMENTS.
Use keyword inference (see tables below).
Same as Interactive, but only 3 results.
Brief preview, AskUserQuestion: Create / Cancel.
gh issue create \
--title "<type>: <captured text>" \
--body "Quick capture. Needs triage.
## Captured Note
<user's input>
---
*Logged via /gh-create quick capture*" \
--label "<type>,triage,<area if detected>"
| Keywords | Label |
|---|---|
| fix, bug, broken, error, crash, fails, wrong | bug |
| add, implement, new, support, enable, feature | feature |
| refactor, clean, update, docs, rename, move | chore |
| research, investigate, explore, spike, POC | spike |
| Keywords | Label |
|---|---|
| ui, button, modal, toast, menu, dialog | area:ui |
| api, endpoint, request, response | area:api |
| db, database, query, migration | area:db |
| test, spec, coverage | area:testing |
| docs, readme, documentation | area:docs |
Note: Only suggest area labels that actually exist in the repo.
| Type | Default |
|---|---|
| bug | size:small |
| feature | size:medium |
| chore | size:small |
| spike | size:medium |
## Summary
<description>
## Expected Behavior
<what should happen>
## Actual Behavior
<what's broken>
## Steps to Reproduce
<if provided>
## Acceptance Criteria
- [ ] <criterion>
## Test Requirements
- [ ] <test>
## Summary
<description>
## Problem
<what problem this solves>
## Proposed Solution
<if provided>
## Acceptance Criteria
- [ ] <criterion>
## Test Requirements
- [ ] <test>
## Summary
<description>
## Motivation
<why needed>
## Acceptance Criteria
- [ ] <criterion>
## Research Question
<question>
## Context
<why needed>
## Expected Deliverables
- [ ] <deliverable>
## Time Box
<estimate>
If the project has a ## GitHub Workflow section in CLAUDE.md, read it for:
| Scenario | Response |
|---|---|
| Not in git repo | "Not in a GitHub repository." |
gh not authenticated | "GitHub CLI not authenticated. Run gh auth login." |
| Issue not found | "Issue #N not found." |
| User cancels | "Issue creation cancelled." |