Skip to content
Development
Command

/create-issue

Create GitHub issue with automated research (--quick for fast mode)

From plugin
autonomous-dev
3226 skills16 agents26 commands1 MCP
Install
$ npx -y skills add akaszubski/autonomous-dev --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/create-issue

Context preview

What this command does when you run it.

Create GitHub issue with automated research (--quick for fast mode)

Command definition

create-issue.md
name: create-issue
description: "Create GitHub issue with automated research (--quick for fast mode)"
argument-hint: "Issue title [--quick] (e.g., 'Add JWT authentication' or 'Add JWT authentication --quick')"
allowed-tools: [Task, Read, Bash, Grep, Glob]
disable-model-invocation: false
user-invocable: true
user_facing: true

Create GitHub Issue with Research Integration

Automate GitHub issue creation with research-backed, well-structured content.

Modes

| Mode | Time | Description | |------|------|-------------| | **Default (thorough)** | 8-12 min | Full analysis, blocking duplicate check | | **--quick** | 30-60 sec | Inline scan + generation, 0 agents, no prompts |

Implementation

**CRITICAL**: Follow these steps in order. Each checkpoint validates before proceeding.

ARGUMENTS: {{ARGUMENTS}}

---

Argument Handling

The `{{ARGUMENTS}}` placeholder is replaced with user input at runtime.

**Parsing strategy**: 1. Scan for flags: `--quick`, `--thorough` (deprecated, now default) 2. Everything remaining after flags = feature request text 3. If no text provided, prompt user for feature description

**Examples**:

  • `/create-issue Add JWT authentication` → feature="Add JWT authentication", mode=default
  • `/create-issue Add JWT auth --quick` → feature="Add JWT auth", mode=quick
  • `/create-issue --quick Fix login bug` → feature="Fix login bug", mode=quick

---

STEP 0: Parse Arguments and Mode

Parse the ARGUMENTS to detect mode flags:

--quick       Fast mode (inline scan + generation, 0 agents, no prompts)
--thorough    (Deprecated - silently accepted, now default behavior)

**Default mode**: Thorough mode with full analysis, blocking duplicate check, all sections.

Extract the feature request (everything except flags).

**Create command context file immediately, in its OWN separate Bash tool call** (before any agents are spawned and before any `gh issue create` calls):

python3 -c "
import json; from datetime import datetime, timezone
with open('/tmp/autonomous_dev_cmd_context.json', 'w') as f:
    json.dump({'command': 'create-issue', 'timestamp': datetime.now(timezone.utc).isoformat()}, f)
"

This context file allows the `issue-creator` agent to run `gh issue create` later. It MUST be created here, before STEP 1, because agents spawned in STEP 1-2 may need it. The context file is cleaned up at CHECKPOINT 3 or on early exit.

**Prior-call ordering contract (Issue #1203)**: The PreToolUse hook evaluates each Bash invocation BEFORE it runs. The context-file write above MUST be a STANDALONE Bash tool call. **FORBIDDEN: Do NOT bundle the context write and `gh issue create` into one Bash tool call** — at hook evaluation time the context file would not yet exist on disk and the `gh issue create` call would be blocked. See #1203. The cleanup of the context file MAY ride the same call as the last `gh issue create` only when no further `gh issue create` calls follow in this command run.

---

QUICK MODE FAST PATH (0 agents, 30-60 sec)

**HARD GATE**: If `--quick` flag is set, execute the steps below inline. Do NOT proceed to STEP 1.

**Quick Step 1: Create context file** (already done in STEP 0 above)

**Quick Step 2: Inline duplicate scan**

Run via Bash tool (no agent):

gh issue list --state open --limit 50 --json number,title

Compare issue titles against the feature request by keyword overlap. Store any matches for display after creation (no blocking prompt).

**Quick Step 3: Generate issue body inline**

Generate a markdown body with EXACTLY these 4 sections (no more, no less):

1. **Summary**: 1-2 sentences describing the feature/fix 2. **Implementation Approach**: Brief technical plan 3. **Test Scenarios**: 3-5 test cases (happy path, error cases, edge cases) 4. **Acceptance Criteria**: Checkboxes for verifiable conditions 5. **Plugin Version**: Include the plugin version stamp: `$(python3 -c "import sys,os;next((sys.path.insert(0,p) for p in ('.claude/lib','plugins/autonomous-dev/lib',os.path.expanduser('~/.claude/lib')) if os.path.isdir(p)),None);from version_reader import get_plugin_version;print(get_plugin_version())" 2>/dev/null || echo unknown)`

Capture a collision-safe Unix timestamp (nanoseconds — unique even across concurrent runs):

RUN_TS=$(date +%s%N)

Temp files use the `RUN_TS=$(date +%s%N)` unique suffix for collision-safety across concurrent runs.

Write the body to a temp file (CWE-78 prevention — never inline body as shell argument):

cat > /tmp/create_issue_body_${RUN_TS}.md << 'ISSUE_EOF'
[generated body here]
ISSUE_EOF

**Quick Step 4: Create the issue (chained cleanup — #1204)**

The trailing `rm` is chained onto the `gh issue create` call via `;` so the single Bash approval covers the cleanup AND the cleanup runs even on failure paths. The context-file WRITE above (in STEP 0) remains a separate prior call, preserving the #1203 contract.

gh issue create --title "TITLE" --body-file /tmp/create_issue_body_${RUN_TS}.md; rm -f /tmp/autonomous_dev_cmd_context.json /tmp/create_issue_body_${RUN_TS}.md

**Quick Step 5: Display result**

Show the created issue URL. If the duplicate scan in Quick Step 2 found matching issues, display them as informational below the URL (no prompt, no blocking). Cleanup already happened as part of Quick Step 4.

**END** — Do not proceed to STEP 1 or any subsequent steps.

---

STEP 1: Research + Async Issue Scan (Parallel)

Launch TWO agents in parallel using the Task tool:

**Agent 1: researcher** (subagent_type="researcher")

  • Search codebase for similar patterns
  • Research best practices and security considerations
  • Identify recommended approaches

**Agent 2: issue-scanner** (subagent_type="Explore", run_in_background=true)

  • Quick scan of existing issues for duplicates/related
  • Use: `gh issue list --state all --limit 100 --json number,title,body,state`
  • Identify semantic similarity to the feature request
  • Confidence threshold: >80% for dupli
Read more
Ships withautonomous-dev

A harness that wraps Claude Code with enforcement, specialist agents, and alignment gates to deliver consistent, production-grade software engineering outcomes.

Get the whole plugin, auto-invoked
Stats
32
Stars
0
Views
5
Forks
Active
Maintenance
Python
Language
2h ago
Last commit
9mo ago
Created

Repo: akaszubski/autonomous-dev