Work banner
Weaverse Weaverse

Work

Testing community intermediate

Description

Pick up a GitHub issue and set up everything needed to start working on it: understand the issue, create a feature branch, generate a spec-driven plan, and optionally push and open a PR.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

Repository README

This is the README for Weaverse/.agents, shared by 7 entries in this directory. It describes the repository, not this entry specifically.


description: Start working on a GitHub issue — fetch context, create branch, plan solution, and optionally open a PR

Work

Pick up a GitHub issue and set up everything needed to start working on it: understand the issue, create a feature branch, generate a spec-driven plan, and optionally push and open a PR.

Usage

  • work - Interactive mode, lists recent issues to choose from
  • work 42 - Start working on issue #42
  • work https://github.com/org/repo/issues/42 - Start from a full issue URL

Process

Step 1: Identify the issue

If `$ARGUMENTS` is provided, parse it:

  • Number only (e.g., 42) - treat as issue number in the current repo
  • Full URL (e.g., https://github.com/org/repo/issues/42) - extract owner, repo, and number from the URL
  • Owner/repo#number (e.g., Weaverse/pilot#42) - extract owner, repo, and number

If `$ARGUMENTS` is empty or not provided, list recent open issues and let the user pick:

gh issue list --state open --limit 20 --json number,title,labels,assignees

Present the issues to the user and ask them to select one.

Step 2: Fetch and display issue details

gh issue view  --json title,body,labels,assignees,milestone,state,url

Display a concise summary of the issue so the user understands what they are about to work on:

  • Title
  • Body (truncated if very long)
  • Labels, assignees, milestone
  • URL

Step 3: Create a feature branch

Suggest a branch name derived from the issue using a **type prefix**:

**Format**: `/`

Determine the type from the issue's labels, title, or body:

Type When to use Examples
feat/ New feature, new capability feat/dark-mode-toggle, feat/user-onboarding-flow
fix/ Bug fix, error correction fix/cart-total-calculation, fix/null-pointer-in-auth
refactor/ Code improvement, restructuring refactor/extract-payment-utils, refactor/simplify-auth-flow
docs/ Documentation changes docs/api-reference, docs/setup-guide
chore/ Maintenance, config, tooling chore/upgrade-dependencies, chore/ci-pipeline

**Branch name rules:**

  • Lowercase the issue title
  • Replace spaces and special characters with hyphens
  • Strip non-alphanumeric characters (except hyphens and /)
  • Collapse consecutive hyphens into one
  • Truncate the description part to keep total branch name under ~60 chars
  • No issue number in the branch name (the PR links to the issue instead)

If the type cannot be determined confidently, default to `feat/` and let the user confirm.

Ask the user to confirm or customize the branch name.

Then ask which branch to check out from:

# Show available remote branches for context
git branch -r --list 'origin/*' --sort=-committerdate | head -10

Present common options (e.g., `main`, `dev`) plus the list above. Let the user pick or type a custom base branch.

git fetch origin