ga - Start a New Task
Kick off a new parallel development task. Creates a clone, branch, tmux session, and starts Pi with a crafted prompt.
Steps
Get the task description from the user's message. If unclear, ask what they want to build or fix.
Generate a concise branch name from the description:
- Use lowercase kebab-case
- Max 3-4 words, abbreviate aggressively
- Prefix with
fix-for bug fixes - Examples:
- "the login button doesn't work on mobile" →
fix-mobile-login-btn - "add a dark mode toggle to settings" →
dark-mode-toggle - "search results are slow when filtering by date" →
fix-search-date-perf - "implement rate limiting on the API" →
api-rate-limit - "the sidebar collapses when resizing" →
fix-sidebar-resize - "add webhook support for deployments" →
deploy-webhooks
- "the login button doesn't work on mobile" →
Build the prompt that Pi will receive in the new session. The prompt MUST follow this structure:
<Clear description of the problem or feature> <Any relevant context: file paths, error messages, specific behavior> When you're done, run /create-draft-pr to commit, push, and open a draft PR.Keep the prompt direct and actionable. Don't over-explain. Include specific file paths or error details if the user mentioned them.
Pick the harness. Default is
pi, so omit the flag for normal use. If the user's message explicitly asks for Claude Code (e.g. "use claude", "with claude", "claude harness"), pass--harness c.Run
gawith the branch name, prompt, and base branch. Thegafunction accepts a second argument for the prompt and a third for the base branch, which skips the fzf picker:ga <branch-name> "<prompt>" main # or explicitly with Claude Code: ga --harness c <branch-name> "<prompt>" mainIf
gais not found, source~/.zshrcfirst and then run it again, since in some environmentsgais defined as a shell function rather than an executable.Report back to the user with the branch name and tmux session name so they can attach:
Started: <session-name> Branch: <branch-prefix>/<branch-name> Attach: tmux a -t <session-name>
Rules
- Branch names must be short. 3-4 words max. Abbreviate (
btn,auth,cfg,nav,perf,err,msg,req,res,fmt,val,tmpl,env,deps). - Always include the
/create-draft-prinstruction in the prompt. - The prompt should be a single clear message, not a multi-step plan. Let Pi figure out the implementation.
- If the user provides file paths or error messages, include them verbatim in the prompt.
- Don't over-specify. Trust Pi to explore the codebase and find the right approach.