skills/forge-create-issue/SKILL.md
Collaboratively plan and create well-structured Issues through interactive discussion. Use when the user wants to create an Issue, plan a feature, report a bug, or scope out work for implementation. Supports GitHub, markdown plan/ folder, and other providers.
npx skillsauth add mgratzer/forge forge-create-issueInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Collaboratively plan and create well-structured Issues through interactive discussion. The Issue is created in the project's Issue tracker — see CONTEXT.md for provider detection.
The issue idea or problem description: $ARGUMENTS
If no argument is provided, ask the user what they'd like to create an issue for.
Parse the user's input, then use AskUserQuestion to gather:
Before proposing solutions, explore relevant code:
Verify external dependencies are accessible if relevant — flag broken ones before proceeding.
Skip this step if the input already contains a chosen approach with rationale — the decision was already made through deliberate analysis. Proceed directly to Step 4.
Otherwise, always present 2-4 different approaches. Never jump to a single solution.
For each approach:
Let the user choose or combine approaches.
Evaluate if this should be one Issue or multiple.
Split when: distinct deliverables, different codebase areas, parallelizable work, or effort exceeds 1-2 days.
Keep together when: tightly coupled changes or splitting adds coordination overhead.
When splitting, slice vertically — each Issue is a thin end-to-end path (see vertical-slicing). Classify each as AFK or HITL (see afk-vs-hitl.md). Order by dependency.
If splitting makes sense, offer: single Issue, multiple linked Issues, or epic with sub-issues.
Title: Use conventional commit format — <type>(<scope>): <description>
Labels: When using GitHub, discover available labels with gh label list. When using the markdown provider, choose labels freely — there is no predefined set. Apply at least one type label and relevant area labels.
Body structure:
## Summary
[1-2 sentences]
## Problem / Motivation
[Why this needs to exist]
## Proposed Solution
[Chosen approach with implementation details]
### Alternatives Considered
[Other approaches and why they weren't chosen]
### Implementation Constraints
[When applicable: preferred libraries, config locations, patterns to follow, external dependencies]
## Acceptance Criteria
- [ ] [Specific, testable criteria]
- [ ] Tests added/updated
- [ ] Documentation updated (if applicable)
Present the draft to the user. Iterate until satisfied. Then create the Issue using the project's Issue tracker — see issue-operations for provider-specific mechanics.
For GitHub epics, create the parent issue first, then sub-issues with --parent <PARENT_NUMBER>.
Share the issue reference. Suggest using forge-implement to start implementation.
Next step: Use forge-implement to implement the issue.
/forge-create-issue add dark mode support
/forge-create-issue
tools
End-to-end implementation and self-review in a single invocation. Implements from an Issue, plan file, or free-text description, then runs a lean fresh-context review. Use when the user wants to implement and review without manual handoff between skills.
development
Shape a vague idea into a clear plan through codebase investigation and convergent one-at-a-time questioning. Use when the user has a rough idea or problem that needs specifying before issue creation.
development
Set up or update a project's context infrastructure for agentic engineering — AGENTS.md as lean hot memory, docs/ as earned warm memory, with signal-to-noise scoring for existing guidance. Use when starting a new project, retrofitting an existing codebase, or auditing current guidance quality.
tools
Review current changes with a lean review flow. Works on a PR, branch diff, or uncommitted changes. Tiny low-risk diffs stay inline; larger or riskier changes use fresh-context review. Use when the user wants to self-review before committing, pushing, or requesting peer review.