Help us improve
Share bugs, ideas, or general feedback.
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-teamHow this skill is triggered — by the user, by Claude, or both
Slash command
/coding-team:issue-handoffThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
Creates well-structured GitHub issues using gh CLI with templates for bugs, features, tasks including titles, descriptions, acceptance criteria, and labels. Use for filing bugs or feature requests.
Routes and creates GitHub issues by matching task descriptions to target repos from a routing config. Checks for duplicates and applies W-labels from weekly planning.
Triages project issues through a state machine with category and state roles. Use when creating issues, reviewing bugs/feature requests, preparing issues for AFK agents, or managing issue workflow.
Share bugs, ideas, or general feedback.
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