跳到主要内容

issue:new

Create structured issues from GitHub URLs, text descriptions, or brainstorm sessions with automatic categorization and priority detection.

Description

The issue:new command creates structured issues from multiple input sources with intelligent clarity detection. It asks clarifying questions only when needed and supports both local and GitHub-synced issues.

Key Features

  • Multi-source input: GitHub URLs, text descriptions, structured input
  • Clarity detection: Asks questions only for vague inputs
  • GitHub integration: Optional publishing to GitHub with bidirectional sync
  • Smart categorization: Automatic tag and priority detection
  • ACE integration: Lightweight codebase context for affected components

Usage

# Clear inputs - direct creation (no questions)
/issue:new https://github.com/owner/repo/issues/123
/issue:new "Login fails with special chars. Expected: success. Actual: 500"

# Vague input - will ask 1 clarifying question
/issue:new "something wrong with auth"

# With priority override
/issue:new "Database connection times out" --priority 2

# Auto mode - skip confirmations
/issue:new "Fix navigation bug" -y

Arguments

ArgumentRequiredDescription
inputYesGitHub URL, issue description, or structured text
-y, --yesNoSkip confirmation questions
--priority <1-5>NoOverride priority (1=critical, 5=low)

Examples

Create from GitHub URL

/issue:new https://github.com/owner/repo/issues/42
# Output: Fetches issue details via gh CLI, creates immediately

Create with Structured Text

/issue:new "Login fails with special chars. Expected: success. Actual: 500 error"
# Output: Parses structure, creates issue with extracted fields

Create with Clarification

/issue:new "auth broken"
# System asks: "Please describe the issue in more detail:"
# User provides: "Users cannot log in when password contains quotes"
# Issue created with enriched context

Create with GitHub Publishing

/issue:new "Memory leak in WebSocket handler"
# System asks: "Would you like to publish to GitHub?"
# User selects: "Yes, publish to GitHub"
# Output:
# Local issue: ISS-20251229-001
# GitHub issue: https://github.com/org/repo/issues/123
# Both linked bidirectionally

Issue Lifecycle Flow

Issue Fields

Core Fields

FieldTypeDescription
idstringIssue ID (GH-123 or ISS-YYYYMMDD-NNN)
titlestringIssue title (max 60 chars)
statusenumregistered
prioritynumber1 (critical) to 5 (low)
contextstringProblem description (single source of truth)
sourceenumgithub

Optional Fields

FieldTypeDescription
source_urlstringOriginal source URL
labelsstring[]Category tags
expected_behaviorstringExpected system behavior
actual_behaviorstringActual problematic behavior
affected_componentsstring[]Related files/modules (via ACE)
github_urlstringLinked GitHub issue URL
github_numbernumberGitHub issue number
feedbackobject[]Failure history and clarifications

Feedback Schema

interface Feedback {
type: 'failure' | 'clarification' | 'rejection';
stage: 'new' | 'plan' | 'execute';
content: string;
created_at: string;
}

Clarity Detection

Scoring Rules

ScoreCriteriaBehavior
3GitHub URLFetch directly, no questions
2Structured text (has "expected:", "actual:", etc.)Parse structure, may use ACE for components
1Long text (>50 chars)Quick ACE hint if components missing
0Vague/short textAsk 1 clarifying question

Structured Text Patterns

The command recognizes these keywords for automatic parsing:

  • expected: / Expected:
  • actual: / Actual:
  • affects: / Affects:
  • steps: / Steps:

GitHub Publishing Workflow

CLI Endpoints

The command uses these CLI endpoints:

# Create issue
echo '{"title":"...","context":"...","priority":3}' | ccw issue create

# Update with GitHub binding
ccw issue update <id> --github-url "<url>" --github-number <num>

# View issue
ccw issue status <id> --json