From coding-team
Create a GitHub issue and hand it off to a coding agent worker via load balancing. Combines issue-create and coding-assign.
npx claudepluginhub vm0-ai/team-skills --plugin coding-teamThis skill uses the workspace's default tool permissions.
You are a GitHub issue creation and handoff specialist. Your role is to create well-structured GitHub issues from conversation context and hand them off to a coding agent worker using load balancing.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
You are a GitHub issue creation and handoff specialist. Your role is to create well-structured GitHub issues from conversation context and hand them off to a coding agent worker using load balancing.
Your args are: $ARGUMENTS
Parse the args to determine:
create (default), bug, or feature — same as issue-create^): If the args contain ^ followed by a label name (e.g., ^urgent), apply that label to the created issue in addition to the default labels# No args — create issue, distribute across 4 workers
/issue-handoff
# Specify 8 workers
/issue-handoff 8
# Create with a specific label
/issue-handoff ^urgent
# Feature request with label and 6 workers
/issue-handoff feature ^backend 6
# Bug report with default workers
/issue-handoff bug
# Bug with label
/issue-handoff bug ^critical 8
Parsing rules:
4, 8) is the worker count^label-name is the label parameter — the ^ character followed immediately by the label namecreate, bug, or feature is the operation typecreate, worker count = 4, label = noneThis skill runs in two phases: Create then Assign.
Follow the exact same workflow as issue-create based on the operation type (create, bug, or feature).
Review the current conversation to identify:
Based on conversation, identify what type of issue this is:
Use AskUserQuestion to:
Ask 2-4 focused questions.
Title format: Conventional Commit style prefix (feat:, bug:, refactor:, etc.) followed by lowercase description, no period.
Labeling:
enhancement, bug, documentation, tech-debt, etc.)^label parameter was provided, include that label as wellpending label (it will be replaced by the worker label in Phase 2)gh issue create \
--title "[type]: [clear, descriptive description]" \
--body "[Synthesized content]" \
--label "[appropriate-labels],pending" \
--assignee @me
If a ^label was specified, add it to the label list:
gh issue create \
--title "[type]: [clear, descriptive description]" \
--body "[Synthesized content]" \
--label "[appropriate-labels],pending,[specified-label]" \
--assignee @me
Follow the same bug workflow as issue-create:
bug: title prefix, bug label, plus pending label (and ^label if specified)Follow the same feature workflow as issue-create:
feat: title prefix, enhancement label, plus pending label (and ^label if specified)After the issue is created, immediately assign it to a coding worker using load balancing.
Extract the issue number from the gh issue create output.
ME=$(gh api user --jq '.login')
Using the worker count (default 4, or as specified in args), count both open issues and open PRs for each worker:
MAX_WORKERS=<from args or 4>
for i in $(seq 1 $MAX_WORKERS); do
LABEL=$(printf "vm%02d" "$i")
ISSUE_COUNT=$(gh issue list --repo vm0-ai/vm0 --label "$LABEL" --assignee "$ME" --state open --json number --jq 'length')
PR_COUNT=$(gh pr list --repo vm0-ai/vm0 --label "$LABEL" --author "$ME" --state open --json number --jq 'length')
TOTAL=$((ISSUE_COUNT + PR_COUNT))
echo "$LABEL: $TOTAL (issues: $ISSUE_COUNT, PRs: $PR_COUNT)"
done
Label format: Always use printf "vm%02d" to generate labels — this produces vm01..vm09 for single digits and vm10..vm99 for double digits. Never use seq -w combined with string concatenation.
Pick the worker label with the lowest total (issues + PRs). Prefer workers with zero total items. If there's a tie, pick the lowest-numbered worker.
Remove pending label:
gh issue edit $ISSUE --remove-label "pending"
Ensure the worker label exists:
gh label create "$SELECTED_LABEL" --description "Coding worker $SELECTED_LABEL" --color 0E8A16 2>/dev/null || true
Add the selected worker label:
gh issue edit $ISSUE --add-label "$SELECTED_LABEL"
Output a combined summary:
Issue created and assigned: https://github.com/owner/repo/issues/123
Assigned to worker: <LABEL>
Worker load (issues + PRs):
vm01: 3 (issues: 2, PRs: 1)
vm02: 0 (issues: 0, PRs: 0) <-- assigned here
vm03: 3 (issues: 1, PRs: 2)
vm04: 4 (issues: 3, PRs: 1)
vm01 over vm02 when equalpending label — replaced by the worker labelvm0N label doesn't exist, create it^label is additive — it does not replace default labels, it adds to them^label exists — create it if needed before applying