From feature-flow
This skill should be used when the user asks to "create an issue", "create a GitHub issue", "open an issue", "write up an issue", "file an issue", or after a design has been verified and needs to be captured as a trackable GitHub issue for implementation. Also handles updating an existing issue when an issue number is provided as context.
How this skill is triggered — by the user, by Claude, or both
Slash command
/feature-flow:create-issueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create or update a well-structured GitHub issue from a verified design document. The issue serves as the implementation brief — everything a developer (or Claude) needs to build the feature without ambiguity.
Create or update a well-structured GitHub issue from a verified design document. The issue serves as the implementation brief — everything a developer (or Claude) needs to build the feature without ambiguity.
Announce at start: If updating an existing issue: "Updating issue #N from the design document." Otherwise: "Creating GitHub issue from the design document."
Design content for new issues comes from the current conversation context (brainstorming output, inline arguments, or previously gathered decisions) — not from docs/plans/.
Context sources (in priority order):
issue is already set in lifecycle context (the user passed an existing issue number): load the existing issue body via gh issue view <issue_number> --json body,title --jq '{title, body}'. This is update mode — skip draft assembly and go directly to Step 5.start: args (user description + any explicitly provided context).Assemble a minimal issue body from the gathered context. The body will include an empty design marker block that feature-flow:design-document will fill in on the next lifecycle step.
Design marker block (placeholder — will be replaced by design-document):
<!-- feature-flow:design:start -->
(pending design-document — will be filled in by `feature-flow:design-document`)
<!-- feature-flow:design:end -->
Gather context for issue creation:
# Check for existing labels
gh label list --limit 50
# Check for milestones
gh milestone list
# Check recent issues for style/convention
gh issue list --limit 5
Read references/issue-templates.md to select the appropriate template for the feature type.
Check project context: If .feature-flow.yml exists and platform is ios, android, or cross-platform, include mobile-specific sections in the issue (Feature Flag Strategy, Rollback Plan, Device Compatibility, Beta Testing Requirements). See ../../references/platforms/mobile.md for section content.
Map the design document sections to issue sections:
| Design Doc Section | Issue Section |
|---|---|
| Overview | Summary (2-3 sentences + concrete example) |
| User Flow | User Flow (numbered steps) |
| Data Model Changes | Data Model Changes (table with columns and types) |
| Pipeline / Architecture | Pipeline Architecture (diagram or description) |
| New Components | New Components (bulleted list) |
| UI Adaptations | UI Adaptations (bulleted list) |
| Migration Requirements | Migration Summary (count + link to design doc) |
| Scope | Key Decisions (bulleted list of what was decided and why) |
| [findings from verification] | Implementation Notes (blockers, gaps, and things to watch for) |
Not every section is needed. Include only sections that have substantive content from the design doc.
Compose the issue body. Follow these principles:
## Design (feature-flow) section (populated by design-document).Issue format:
## Summary
[2-3 sentences + concrete example]
## User Flow
1. **[Step name]** — [description]
2. **[Step name]** — [description]
3. **[Step name]** — [description]
## [Technical sections as needed — Data Model, Pipeline, Components, etc.]
## Key Decisions
- [decision and rationale]
- [decision and rationale]
## Implementation Notes
- [blocker or gap from verification]
- [technical consideration]
<!-- feature-flow:design:start -->
(pending design-document — will be filled in by `feature-flow:design-document`)
<!-- feature-flow:design:end -->
Before creating or updating the issue, determine appropriate metadata:
[Feature Name] — [Brief description]enhancement, bug, feature)Present the draft to the user:
If updating an existing issue:
Update issue #N:
Title: [title]
Labels: [labels]
Milestone: [if applicable]
[full body]
Update this issue?
Use AskUserQuestion to confirm. Options:
YOLO behavior: If yolo: true is in the skill's ARGUMENTS, skip this question. Auto-select "Update as-is" and announce: YOLO: create-issue — Confirm update → Update as-is
If creating a new issue:
Issue draft:
Title: [title]
Labels: [labels]
Milestone: [if applicable]
[full body]
Create this issue?
Use AskUserQuestion to confirm. Options:
YOLO behavior: If yolo: true is in the skill's ARGUMENTS, skip this question. Auto-select "Create as-is" and announce: YOLO: create-issue — Confirm create → Create as-is
If updating an existing issue (issue number provided as context):
gh issue edit N --title "[title]" --body "$(cat <<'EOF'
[issue body]
EOF
)"
Then add a comment summarizing what changed:
gh issue comment N --body "Updated from design document: [1-line summary of what changed]. Design is captured in this issue body under the ## Design (feature-flow) section (populated by design-document)."
If creating a new issue:
gh issue create --title "[title]" --label "[label]" --body "$(cat <<'EOF'
[issue body]
EOF
)"
Report the issue URL to the user.
If updated:
Issue #N updated: [URL]
Recommended next steps:
1. Run `feature-flow:design-document` to merge the design into this issue body
2. Run `feature-flow:design-verification` to check the design against the codebase
3. Run `superpowers:writing-plans` to create an implementation plan with acceptance criteria
If created:
Issue created: [URL]
Recommended next steps:
1. Run `feature-flow:design-document` to merge the design into this issue body
2. Run `feature-flow:design-verification` to check the design against the codebase
3. Run `superpowers:writing-plans` to create an implementation plan with acceptance criteria
## Design (feature-flow) section (populated by design-document). Always include the empty design marker block so feature-flow:design-document can fill it in.For issue templates across different feature types:
references/issue-templates.md — Templates and examples for different issue types (new feature, API integration, UI feature, data migration, refactor)For platform-specific issue sections:
../../references/platforms/mobile.md — Mobile-specific sections: Feature Flag Strategy, Rollback Plan, API Versioning, Beta Testing Requirementsnpx claudepluginhub uta2000/feature-flow --plugin feature-flowGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.