الصفحات · Claude Github PMS
gh-feature
Create a single feature/chore/hotfix/testcase issue. Sets the GitHub native Issue Type when available (org-level), falls back to `type:*` labels. Adds to the gh-pms project and the active milestone (if any). Auto-invoke when the user says "build X", "add Y", "implement Z", "refactor Q".
Create a single issue for actionable work, using whichever native primitive is available.
When to use
- User wants one piece of functionality built
- Work fits in one logical PR
- For bugs use
/gh-pms:gh-bug, for multi-feature work/gh-pms:gh-plan
What it does
Step 1 — Collect inputs
Required:
title(imperative)objective(1–3 sentences)kind(defaultfeature; one of: feature/chore/hotfix/testcase)
Optional:
services—svc:*labelsparent_feature— required ifkind=testcasemilestone— milestone title or number to attach to (if working under a plan)severity—critical | high | medium | low(default:medium, perworkflows/default.yaml.severities.default). Applies to every kind — a P0 feature blocking launch is meaningfully different from a polish item. Hotfixes default tocritical. Resolved againstworkflows/default.yaml.severities.values[]so per-repo scales work.effort—S | M | L | XL(default: unset). T-shirt sizing for forecasting + velocity tracking. Applied as theEffortProject v2 field when a board is attached, and always as aneffort:*label so the dashboard can group by effort without a project board.
Step 2 — Resolve issue type (if available)
bash
Map kind → GitHub type via workflows/default.yaml.kind_to_issue_type:
| kind | GH type |
|---|---|
| feature | Feature |
| bug | Bug |
| hotfix | Bug (+ priority:critical label) |
| chore | Task |
| testcase | Task (+ type:testcase label) |
Step 3 — Create the issue
Use mcp__github__issue_write:
title:[{Kind}] {title}body: filledtemplates/{kind}.md(set## Severityto the resolved severity name)labels: always includetype:{kind}(even when issue type is set, for at-a-glance filtering),status:todo,severity:{severity}, plussvc:*andeffort:{effort}if provided. Addpriority:criticalfor hotfix.assignees:[me]if user said "I'll do this", otherwise omit
Capture the new issue number N.
Step 4 — Set native issue type (if applicable)
If USE_TYPES=true:
bash
Step 5 — Attach to milestone (if under a plan)
If milestone provided:
bash
Step 6 — Add to project (if active)
If a gh-pms project exists:
bash
Step 7 — Sub-issue link (if testcase)
If kind=testcase:
mcp__github__sub_issue_write — link {N} as sub-issue of {parent_feature}
Step 8 — Report
text
Cross-skill contract
After creation, run /gh-pms:gh-current #N immediately unless user said "create but don't start".