بنقرة واحدة
start-issue
Starts work on a GitHub issue — fetches details, assigns it, creates a branch, and summarises the issue
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Starts work on a GitHub issue — fetches details, assigns it, creates a branch, and summarises the issue
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | start-issue |
| description | Starts work on a GitHub issue — fetches details, assigns it, creates a branch, and summarises the issue |
Kicks off work on a GitHub issue by assigning it, creating a properly named branch, and summarising everything known from the issue. Optionally creates a worktree with full setup and an exec-plan.
Extract the issue number from the argument:
#1234 or 1234 → issue number 1234https://github.com/fleetyards/infrastructure/issues/1234 → issue number 1234gh issue view <number> --repo fleetyards/infrastructure --json number,title,body,labels,milestone,assignees,type
Gather:
If the issue does not exist, tell the user and stop.
Decide the branch prefix based on issue signals:
| Signal | Prefix |
|---|---|
Issue type is "Bug" or labels include bug | fix |
Labels include refactoring | refactor |
| Everything else | feat |
gh issue edit <number> --add-assignee @me
Build the branch name:
<prefix>/<issue-number>-<english-short-description-in-kebab-case>
Rules:
<prefix> is feat, fix, or refactor (from step 3)<issue-number> is the raw number (e.g. 1234)<english-short-description> is derived from the issue title — lowercased, spaces replaced with hyphens, max ~6 words, no special charactersfeat/1234-add-calendar-sync-settingsgit fetch origin main
git branch <branch-name> origin/main
git push -u origin <branch-name>
If the branch already exists, ask the user whether to reuse it or create a fresh one.
gh issue develop <number> --branch <branch-name> 2>/dev/null || true
Spawn a researcher agent with the issue title, body, and labels to identify relevant files, patterns, and constraints.
Based on the issue details and research findings, create an exec-plan at:
docs/exec-plans/<branch-slug>.md
Where <branch-slug> is the part after the prefix slash (e.g. branch feat/1234-add-calendar-sync → 1234-add-calendar-sync).
# [Issue title]
## Goal
One sentence: what will exist when this is done.
## Context
Why this change is needed. Link to GitHub issue.
Resolves #<number>
## Decisions
### D1 — [Short decision title]
[What was decided and why. Alternatives considered and rejected.]
## What changed
### Phase 1 — [Phase name]
1. [Concrete change]
2. [Concrete change]
## Intent Verification
- [ ] **[Criterion]** — Observable, verifiable acceptance criteria from the issue
## Key files
| File | Role |
|------|------|
| `path/to/file` | Brief description |
## Not in scope (deferred)
- **[Item]** — Why deferred
## Discovery Log
- **[today's date]** Initial research and plan creation
## Progress
- [ ] Phase 1
If the issue is too vague to make concrete decisions, note open questions in the plan and flag them to the user.
Print a summary of everything known from the issue:
After presenting the summary, ask the user:
Want me to create a worktree and run setup?
If the user declines or doesn't respond, stop here. If the user confirms, continue with steps 10-11.
The worktree path is .worktrees/<branch-slug> relative to the repository root.
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || git worktree list --porcelain | head -1 | sed 's/worktree //')
git worktree add "$REPO_ROOT/.worktrees/<branch-slug>" <branch-name>
If the worktree already exists, ask the user whether to reuse it or remove and recreate.
cd "$REPO_ROOT/.worktrees/<branch-slug>"
bin/setup
Let the user know this may take several minutes.
Once complete, print the worktree details and the cd command:
cd .worktrees/<branch-slug>