mit einem Klick
start-task
// Start working on a GitHub issue - updates status, creates branch, verifies design
// Start working on a GitHub issue - updates status, creates branch, verifies design
Start / stop / status of the Typhon Workbench dev servers (Kestrel :5200 + Vite :5173) with file-based PID tracking so state survives across Claude Code sessions
Implement a GitHub issue end-to-end — scope it (whole issue or specific phases), build an acceptance-criteria plan from its design doc, get the plan approved, then develop autonomously with tests and a mandatory code review.
Complete work on a GitHub issue - close issue, update artifacts, prompt for doc updates
Create a GitHub issue and add it to the Typhon dev project
Scaffold a new Workbench panel — full stack (server DTOs/service/controller/tests + client hooks/store/panel/context-menu/tests + wiring + Playwright canary) that compiles on first invocation
Run regression benchmarks, track results, and generate trend reports
| name | start-task |
| description | Start working on a GitHub issue - updates status, creates branch, verifies design |
| argument-hint | ["issue number or title"] |
Prepare to work on an issue by updating its status, creating a branch, and verifying prerequisites.
$ARGUMENTS may contain:
42 or #42) -> proceed directly to the workflowIf $ARGUMENTS contains --help or -h, display the following and stop — do not execute the workflow.
/start-task [#N | title]
Start working on a GitHub issue — updates status, creates branch, verifies design.
Arguments:
#N Issue number (e.g., 42 or #42)
title Text — offers to create or search
--help, -h Show this help
What it does:
1. Fetches issue details (or creates one inline)
2. Checks for design doc
3. Updates project status to In Progress
4. Creates feature branch (or defers to Rider/manual)
5. Reports summary
Examples:
/start-task #42
/start-task "Add caching layer"
/start-task
Fetch Ready and Backlog items from the project. Always pipe gh project item-list directly to Python (see .claude/skills/_helpers.md Section 2):
gh project item-list 7 --owner nockawa --limit 200 --format json 2>&1 | python3 -c "
import json, sys
items = json.load(sys.stdin)['items']
for item in items:
s = item.get('status', '')
if s in ('Ready', 'Backlog'):
n = item.get('content', {}).get('number', '?')
t = item.get('title', 'untitled')
p = item.get('priority', '?')
a = item.get('area', '?')
print(f'#{n} | {s} | {p} | {a} | {t}')
"
Use the output to filter for items with Status = "Ready" or "Backlog". Then use AskUserQuestion to present a choice:
Question: "Which issue would you like to start working on?" Header: "Issue" Options (up to 4, prioritize Ready items first, then Backlog by priority):
#<number> - <title> (description: "[Status] [Priority] [Area]") -- for each candidate issueCreate a new issue (description: "I'll help you create one right now")If the user picks an existing issue, continue with the normal workflow below using that issue number.
If the user picks "Create a new issue", proceed to Inline Issue Creation below.
If $ARGUMENTS is not empty and not a number (doesn't match ^\d+$ after stripping #), use AskUserQuestion:
Question: "It looks like you provided a title instead of an issue number. Would you like to:" Header: "Action" Options:
Create a new issue with this title (description: "I'll create '#$ARGUMENTS' and start work on it")Search existing issues (description: "Search for issues matching '$ARGUMENTS' to pick one")If "Create a new issue": proceed to Inline Issue Creation with the title pre-filled.
If "Search existing issues": use mcp__GitHub__search_issues with q: "repo:nockawa/Typhon $ARGUMENTS" and present matching issues via AskUserQuestion.
When an issue needs to be created, do it inline rather than redirecting the user to /create-issue.
Follow the /create-issue skill workflow directly:
Gather info -- Use AskUserQuestion to collect:
/create-issue)Create the issue -- Use mcp__GitHub__create_issue with:
"nockawa""Typhon""<title>""<description>"["<label1>", "<label2>"]["nockawa"]Add to project and set fields -- Follow /create-issue steps 3-5
Continue -- Once the issue is created, continue with the normal /start-task workflow below using the new issue number.
This makes /start-task a one-stop command: describe what you want to work on, and Claude creates the issue + starts work in a single flow.
Use mcp__GitHub__get_issue with:
"nockawa""Typhon"<number>Look for design doc reference in the issue body (links to claude/design/).
If no design doc exists and this is an enhancement (not a bug fix):
claude/design/<IssueName>.md using the design template.claude/skills/_helpers.md rule #9):
[claude/design/<path>](https://github.com/nockawa/Typhon/blob/main/claude/design/<path>)Project item lookup: Read .claude/skills/_helpers.md Section 2 for the robust patterns.
# Step 1: Find the item ID by piping directly to Python (no temp files)
gh project item-list 7 --owner nockawa --limit 200 --format json 2>&1 | python3 -c "
import json, sys
items = json.load(sys.stdin)['items']
for item in items:
if item.get('content', {}).get('number') == int(sys.argv[1]):
print(item['id'])
sys.exit(0)
print('NOT_FOUND')
" <issue_number>
# Step 2: Update status field (using the item ID from step 1)
gh project item-edit --project-id PVT_kwHOAud1ac4BNdCj --id <item_id> \
--field-id PVTSSF_lAHOAud1ac4BNdCjzg8cXYI \
--single-select-option-id a0a7aab6 # "In Progress"
Base branch: Always create feature branches from main (GitHub Flow).
Determine the recommended branch name based on issue type:
feature/<number>-short-namefix/<number>-short-nameThen ask the user how they want the branch created:
Question: "How should the branch be created?" Header: "Branch" Options:
Claude creates it (description: "I'll run git checkout -b from main")Rider Open Task (description: "I'll skip -- use Alt+Shift+N in Rider to create branch via Open Task for issue #")Skip branch (description: "Don't create a branch yet, I'll handle it later")If "Claude creates it":
# Ensure we're on main and up-to-date
git checkout main
git pull origin main
git checkout -b feature/<number>-short-name
Then create a matching branch in the claude/ documentation repo:
cd claude
git checkout -b feature/<number>-short-name
cd ..
If "Rider Open Task":
Report the recommended branch name for reference but don't create it. The user will use Rider's Tools > Tasks & Contexts > Open Task (Alt+Shift+N) to select the issue and let Rider create the branch + context switch.
Also create the matching branch in the claude/ documentation repo:
cd claude
git checkout -b feature/<number>-short-name
cd ..
If "Skip branch": Just report the recommended name for later use.
Add branch reference to the design doc:
**GitHub Issue:** #<number>
**Branch:** `feature/<number>-short-name`
**Status:** In progress
Note: If the user chose "Rider Open Task" or "Skip branch", still write the recommended branch name in the design doc. Update it later if Rider uses a different name.
Starting work on #<number>: <title>
Design doc: claude/design/<Name>.md (or "No design doc -- skipped")
Status updated: <old> -> In Progress
Branch: feature/<number>-short-name
-> Created by Claude / Use Rider Open Task (Alt+Shift+N) / Skipped
Ready to implement!
For reference:
11d8e01f6aea77c6303600dea0a7aab6fadead6712503e99PVT_kwHOAud1ac4BNdCjPVTSSF_lAHOAud1ac4BNdCjzg8cXYIPVTSSF_lAHOAud1ac4BNdCjzg8c8uQPVTSSF_lAHOAud1ac4BNdCjzg8c8uUPVTSSF_lAHOAud1ac4BNdCjzg8cX_EPVTSSF_lAHOAud1ac4BNdCjzg8cYEU