mcpField
G
ga

ga

github.com/jnsahajAgent workflows10692 installsUpdated 3w ago
Repository

About ga

ga is a skill for starting a new parallel development task with Pi. It creates a clone, branch, and tmux session, then starts an agent with a task prompt.

Key features

  1. 01Create a clone, branch, and tmux session
  2. 02Generate short branch names
  3. 03Compose a direct task prompt
  4. 04Start Pi or Claude Code
  5. 05Include draft PR instructions

Use cases

  1. 01Start a separate bug-fix task
  2. 02Develop a feature in a new branch

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/jnsahaj/skills --skill ga

After installing, type/gain Claude Code to confirm it loaded.

Details

From the project README

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

  1. Get the task description from the user's message. If unclear, ask what they want to build or fix.

  2. 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
  3. 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.

  4. 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.

  5. Run ga with the branch name, prompt, and base branch. The ga function 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>" main
    

    If ga is not found, source ~/.zshrc first and then run it again, since in some environments ga is defined as a shell function rather than an executable.

  6. 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-pr instruction 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.

Comments

Markdown supported