Plan feature from issue
Skill gtrabanco/agentic-workflow/skills/plan-feature-from-issue
Stack-agnostic agentic-programming workflow skills + documentation scaffold
npx -y skills add gtrabanco/agentic-workflow --skill plan-feature-from-issueAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 19 stars19 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Internal step of plan-feature: turn a feature-request issue into a scoped, sized, roadmap-mapped SPEC **product half** (capability closure satisfied) with Closes #N traceability.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.7 KB, as published. Nobody here has run it
Plan Feature — From Issue (internal)
Convert a feature-request issue into the project's planning artifacts, keeping a
clean issue → SPEC → PR(Closes #n) trace. Writes the SPEC's product half
(same two-halves convention design-feature uses) and must satisfy capability
closure before handing off — a thin issue does not get a shortcut around it.
When to use
- The
plan-featurerouter calls this when the input is a GitHub issue (or--from-issue N) that describes new product capability.
If the issue is a bug or tech-debt, stop and route it: triage-issue to
classify, then plan-fix + execute-phase --fix. This skill is for
genuine features only.
Step 0 — Discover the project (always first)
Per the agent guide's Workflow conventions + documentation map, then read
what THIS skill needs: the feature SPEC template, the roadmap, and the issue/PR
templates (.github/ISSUE_TEMPLATE/, .github/PULL_REQUEST_TEMPLATE.md) so the
SPEC mirrors the fields reviewers expect. Then read the issue (forge CLI per the
project's Workflow conventions — examples use gh):
gh issue view <N> --json number,title,body,labels,state,comments
Process
-
Classify first. Confirm it is a feature. Not a feature if it describes a defect, regression, duplicated code, perf debt, or carries a "when to fix / trigger" clause → hand to
triage-issue. State the verdict explicitly. -
Normalize language. If not in the project's docs language (this repo: English), translate before drafting any artifact.
-
Map to the roadmap. Assign the next number + slug. Identify dependencies and conflicts with existing features, coupling/migration risks, and whether it should instead extend an existing feature.
-
Close product-half gaps proactively. Compare the issue against what a complete SPEC product half needs (goals, scope in/out, business goals, i18n/SEO/a11y/pricing per the docs map, a UI design reference when the feature has a UI surface), probing the same fixed vagueness rubric
design-feature's interview uses: affected users/roles · error & edge states · data shape · boundaries & limits · out of scope · success criteria — each slot filled or explicitn/a: <reason>. For each genuine gap you can't safely default, ask the user one question per turn, never batched, each with a recommended default; never ask what the issue or docs already answer. Structural hand-off threshold: if ≥ 3 rubric slots remain unfillable from the issue plus the answers so far, stop and hand the feature todesign-feature(the thin-issue rule below, now with a fixed trigger) instead of continuing to interview here. -
Satisfy capability closure. Walk the same fixed checklist
design-featureuses (per entity: CRUD + state transitions, each with UI + API + test, or explicitn/a: <reason>; per capability: entry point + ACL; per role: assigned/revoked/viewed where) into the SPEC's## Capability closureand## Acceptance criteria. A thin issue that doesn't carry enough to fill it is not a shortcut around the gate — hand it todesign-feature(compose in-turn only at ≥ this skill's tier, per Guardrails; otherwise hand off withrun /design-feature <slug>and stop here) rather than stampingdesignedon a hollow closure. -
Size it. Estimate
XS / S / M / L(scale defined in the SPEC template) and record it in the SPEC. XS/S → the SPEC is the only planning artifact (single-pass execution); M/L → full artifact set. If L, propose splitting. -
Produce the SPEC product half. Fill it and stamp
## Design status: designedonce closure is complete; set the roadmap row (added atideafirst if it didn't exist) todefinedin the same edit — the sameidea → definedtransitiondesign-featureowns, performed here when this skill is the one that satisfies closure. Theplan-featurerouter then runsplan-feature-scaffoldfor the engineering half +defined → plannedroadmap promotion. -
Wire traceability. Record
#Nin the SPEC; the PR body must includeCloses #Nso the issue closes on merge. -
Hand off — return exactly (fixed completion report, back to the router):
ISSUE #<N> → SPEC <slug> — size: <XS|S|M|L> Verdict: feature (not bug/debt — else this would have routed to triage-issue) Gaps closed: <n> asked / <n> defaulted (logged) Closure: designed | handed to design-feature Traceability: Closes #<N> wired → scaffold next (plan-feature-scaffold)
Guardrails
- Don't silently expand scope beyond the issue — surface additions as proposals.
- Don't open the feature branch or write code here.
- Keep the
Closes #Nlink; an issue-born feature must close it. - Never stamp
## Design status: designedwith a blank Capability closure row — the same ruledesign-featurefollows; a thin issue hands off instead of faking closure. - Composition tier. Composing
design-featurein-turn for a thin issue is allowed only when this skill is running at ≥design-feature's tier (planning-class — strongest model / highest effort); otherwise hand off (run /design-feature <slug>) rather than under-power it. - Otherwise honor the project's Workflow conventions (branch/PR, docs-language).
Relationship to other skills
triage-issue— decides bug vs feature vs defer; call it if unsure.plan-fix— the fix-side sibling for bug/debt issues.design-feature— receives thin issues this skill cannot safely close capability closure for; both write the SPEC's product half in the same format.plan-feature-scaffold— fills the engineering half once the product half is designed.execute-phase— executes the phases; its PR carriesCloses #N.
Done when
- A filled SPEC product half + planning artifacts exist, roadmap-registered.
- Capability closure is satisfied (or the issue was handed off to
design-featureinstead of faking it) and## Design statusis accurate. - The roadmap row status is
defined(added atideafirst if new) whenever## Design status: designedwas stamped — neverdefinedon a hollow closure, never left atideaoncedesignedis stamped. #Nis recorded and the PR plan includesCloses #N.- Scope gaps were resolved with the user, not assumed.