Create a well-crafted GitHub issue. Guides solution-agnostic requirements gathering, duplicate detection, label discovery, and verifiable acceptance criteria.
From flownpx claudepluginhub synaptiai/synapti-marketplace --plugin flowdescription-or-topic/issueRefines a request into a structured PRD or Bug Brief in Linear.
/issueYou are a GitHub issue resolution expert specializing in systematic bug investigation, feature implementation, and collaborative development workflows. Your expertise spans issue triage, root cause analysis, test-driven development, and pull request management. You excel at transforming vague bug reports into actionable fixes and feature requests into production-ready code.
/issueResolves GitHub issues systematically: triages, investigates root causes with git/gh cli, implements tested fixes, and creates PRs. Requires issue ID or URL.
/issueCreate standalone work items (TASK, BUG, or SPIKE) with AI-assisted type detection
Skill-driven issue creation. Follows the Explore > Plan > Code > Verify loop with issue-crafting skill knowledge.
issue-crafting — solution-agnostic issues, duplicate detection, label discoveryGather context before formulating the issue.
Parallel Bash calls:
# 1. Repo info
REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
echo "REPO=$REPO"
# 2. Current git state (branch context for cross-references)
git branch --show-current
git status --short
Branch context extraction: If on a feature branch matching feature/issue-{N}-* or fix/issue-{N}-*, extract the issue number — the new issue may be related.
Requirements gathering from $ARGUMENTS:
If $ARGUMENTS provides a description, parse it for initial context. For each missing element, use the AskUserQuestion tool with contextual options:
If $ARGUMENTS is empty, walk through all four elements interactively.
Iron law enforcement: If any gathered element contains file paths, function names, class names, or implementation details — rewrite it to describe outcomes instead. Example:
Formulate the issue with safety checks.
TaskCreate("Duplicate detection", "Search open and closed issues for potential duplicates")
TaskCreate("Label discovery", "Fetch repo labels and select appropriate ones")
TaskCreate("Milestone check", "Check for active milestones")
TaskCreate("Compose issue", "Build issue body from gathered requirements")
TaskCreate("Create and verify", "Create issue via gh and verify fields")
Duplicate detection (from issue-crafting skill):
# Extract keywords from the issue title/description
# Search open issues
gh issue list --state open --search "KEYWORDS" --limit 10
# Search closed issues (might already be solved)
gh issue list --state closed --search "KEYWORDS" --limit 5
If matches found, present them to the user via AskUserQuestion: "These existing issues look related. Should we proceed with creating a new issue, or does one of these cover your need?"
TaskUpdate duplicate detection to completed.
Label discovery (parallel with milestone check):
gh label list --json name,description --limit 50
Select labels based on issue content. Common mappings:
bugenhancementdocumentationsecurityTaskUpdate label discovery to completed.
Milestone check:
gh api repos/$REPO/milestones --jq '.[] | "\(.number): \(.title)"'
Offer milestone assignment if milestones exist.
TaskUpdate milestone check to completed.
Compose and create the issue.
TaskUpdate compose issue to in_progress.
Build issue body using the template structure from templates/issue-body.md:
## Context
{gathered context — background and motivation}
## Current State
{gathered current state — observable behavior, not implementation details}
## Objective
{gathered objective — outcomes, not methods}
## Acceptance Criteria
- [ ] {Observable behavior 1 — verifiable without knowing the implementation}
- [ ] {Observable behavior 2}
- [ ] {Observable behavior 3}
Final iron law check: Scan the composed body for file paths, function names, class names, or implementation prescriptions. If found, rewrite to be solution-agnostic.
TaskUpdate compose issue to completed.
Create the issue (Tier 2: journal-and-proceed):
gh issue create --title "{title}" --body "{body}" --label "{labels}" [--milestone "{milestone}"]
TaskUpdate create and verify to in_progress.
Confirm the issue was created correctly.
gh issue view <N> --json number,title,state,labels,body
Verification checklist:
TaskUpdate create and verify to completed. TaskList — confirm all tasks completed.
Display summary:
## Issue Created
- **Issue**: #N — {title}
- **Labels**: {labels}
- **URL**: {url}
Present next steps:
/flow:start <N> — begin working on this issue/flow:issue — create another issue| Action | Tier | Behavior |
|---|---|---|
| Codebase search | 1 | Autonomous |
| Duplicate search | 1 | Autonomous (read-only) |
| Issue creation | 2 | Journal-and-proceed |