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-flowProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.