Create a GitHub issue. Use when user says "create issue", "report bug", "new feature request", or "open issue".
Create a GitHub issue using the gh CLI.
| Type | Title Format |
|---|---|
| Feature | As a [role] I [action] so that [benefit] |
| Bug | [Brief description] (add label: bug) |
gh issue create --title "As a [role] I [action] so that [benefit]" --body "$(cat <<'EOF'
As a [role] I [action] so that [benefit]
Acceptance criteria:
- [Criterion 1]
- [Criterion 2]
- [Criterion 3]
EOF
)"
Acceptance Criteria Format:
gh issue create --title "[Brief description]" --label "bug" --body "$(cat <<'EOF'
1. [Reproduction steps]
Expected: [What should happen]
Actual: [What happens]
EOF
)"
Feature:
Title: As a student I can see my learning outcomes so that I can track progress
Body:
As a student I can see my learning outcomes so that I can track progress
Acceptance criteria:
- There is a new menu item called "Outcomes" in the main menu
- Clicking that takes to /outcomes which shows a list of outcomes
- The most recent outcomes are on the top
Bug:
Title: Login button unresponsive on mobile
Body:
1. Open app on mobile device
2. Enter credentials
3. Tap login button
Expected: User is logged in
Actual: Nothing happens, button does not respond
NOTE: shell variables do not persist across separate Bash tool calls. Record the issue number in conversation/memory after step 5 and substitute the literal value into step 6.
gh auth status — fail with clear message if not authenticatedgh repo view --json nameWithOwner — confirm correct repo before creatingteacher event history), then run gh issue list --search "<terms>" --state all. If a similar issue exists (open or closed), surface it to the user before creating. Closed matches: report as "previously reported and closed."ISSUE_URL=$(gh issue create --title "..." --body "...")
ISSUE_NUM="${ISSUE_URL##*/}"
echo "$ISSUE_NUM"
git status --porcelain. If non-empty, warn the user and ask whether to stash, proceed with --checkout anyway, or skip checkout. Then run one of:gh issue develop <number> --checkout (default — branch is created and checked out)gh issue develop <number> (if user opted out of checkout — branch created but not checked out)