ワンクリックで
parallel-assign
Assign and resolve multiple independent backlog issues in parallel using git worktrees and coordinated agents
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Assign and resolve multiple independent backlog issues in parallel using git worktrees and coordinated agents
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Register a problem as a viban issue
Approve a reviewed issue — merge branch, cleanup worktree, mark done
Assign first backlog issue and resolve it through to review
Reject a reviewed issue — return to in_progress with feedback
Checkout a review issue's branch for IDE diff review
Install viban dependencies and configure project workflow via interview
| name | parallel-assign |
| description | Assign and resolve multiple independent backlog issues in parallel using git worktrees and coordinated agents |
Parallel resolution of independent backlog issues via git worktrees.
CLI only (no direct viban.json access) | Opus sub-agents in isolated worktrees
vibanis a zsh CLI tool. Always invoke asviban <command>, NEVER aspython -m vibanorpython viban.
Input: $ARGUMENTS (optional: number of issues, default 3)
[ -f ".viban/workflow.md" ] && cat ".viban/workflow.md"
Fallback to CLAUDE.md, then default. Same as /viban:assign Phase 0.1.
Extract count from $ARGUMENTS:
/viban:parallel-assign 5) → use that numberviban list
Count available backlog issues. Adjust N down if fewer available. If backlog is empty: notify user and exit.
[ -n "$(git status --porcelain)" ] && echo "Warning: Uncommitted changes"
git checkout main && git fetch origin main && git reset --hard origin/main
Assign N issues, each with a unique session ID. Determine branch names per workflow convention:
ISSUES=() # Array of "ID|BRANCH" pairs
for i in $(seq 1 $N); do
SESSION=$(echo "${RANDOM}${i}" | md5 | head -c 8)
ID=$(viban assign "$SESSION" 2>&1 | tail -1)
[[ -z "$ID" || "$ID" == "No backlog" ]] && break
BRANCH="issue-${ID}"
ISSUES+=("${ID}|${BRANCH}")
done
If no issues were assigned: notify user and exit.
For each assigned issue, create an isolated git worktree:
mkdir -p "$PWD/.viban/worktrees"
for entry in "${ISSUES[@]}"; do
ID="${entry%%|*}"
BRANCH="${entry##*|}"
# Use issue ID as worktree dir name (matches cmd_done cleanup at .viban/worktrees/{ID})
WT_DIR="$PWD/.viban/worktrees/$ID"
git worktree add -b "$BRANCH" "$WT_DIR" origin/main
done
viban sync --push-only
Spawn one opus agent per issue using Task tool. All agents launch in a single message with run_in_background: true.
Agent prompt template (per issue):
You are resolving viban issue #{ID} in an isolated git worktree.
## Environment
- Worktree path: {PROJECT_ROOT}/.viban/worktrees/{ID}
- Branch: {BRANCH}
- Main repo: {PROJECT_ROOT}
- ALL file operations must happen inside the worktree path
## Workflow (Analyze + Implement + Verify only)
{paste workflow.md Phase 1 (Analyze), Phase 2 (Implement), and Phase 3 (Verify) sections ONLY}
{DO NOT include: Pipeline summary, GitHub Sync, Phase 4 (Build and Test), Phase 5 (Ship), Issue Management, Post-merge, or Additional Rules}
## Issue Details
{paste viban get output}
## Plan (if available)
{paste .viban/plans/{ID}.md content, or "No plan available"}
## Instructions
You are one of {N} parallel agents working in isolated git worktrees.
1. Work ONLY inside your worktree: {PROJECT_ROOT}/.viban/worktrees/{ID}
- cd to the worktree before any work
- All reads, edits, and writes must target files under this path
2. Follow the project workflow phases:
- Analyze: understand the issue, locate code, identify root cause
- Implement: make focused changes following project conventions
- Verify: manual verification of the fix
3. After implementation, commit on your branch:
```bash
cd {PROJECT_ROOT}/.viban/worktrees/{ID}
git add <specific files>
git commit -m "type: description
- Root cause: ...
- Solution: ...
Resolves: #{ID}"
ABSOLUTE RULES:
git push — the coordinator pushes from the main repo after verifying.gh pr create — the coordinator creates PRs after transplanting branches.viban done — this DELETES the card permanently.viban review — the coordinator handles issue status.viban.json — use CLI commands only.
### Dispatch Pattern
```text
# Pseudo-code for the dispatch
for each (ID, BRANCH) in ISSUES:
Task(
subagent_type="general-purpose",
model="opus",
run_in_background=True,
prompt=filled_template(ID, BRANCH, workflow, issue_json, plan)
)
TaskOutput)After all agents finish, the coordinator handles everything from the main project root ($PWD).
Confirm each branch has commits from the agent:
for entry in "${ISSUES[@]}"; do
BRANCH="${entry##*|}"
git log --oneline -3 "$BRANCH"
done
If a branch has no new commits (agent failed), skip it and report.
For each branch with commits, push from the main repo and create a PR:
for entry in "${ISSUES[@]}"; do
ID="${entry%%|*}"
BRANCH="${entry##*|}"
# Push the local branch to remote
git push -u origin "$BRANCH"
# Create PR
gh pr create --head "$BRANCH" --base main \
--title "type: title" \
--body "Resolves: #${ID}"
# Move issue to review
viban review "$ID"
done
for entry in "${ISSUES[@]}"; do
BRANCH="${entry##*|}"
gh pr list --head "$BRANCH" --json number,title,url -q '.[0]'
done
Run the full test suite once on main (not per-agent):
zsh tests/run_all.zsh
If tests fail: identify which agent's changes caused the failure and report.
viban sync --push-only
Parallel Resolution Complete
| Issue | Title | Branch | PR | Status |
|-------|-------|--------|----|--------|
| #ID | ... | ... | #N | review |
Total: N issues processed
Succeeded: X
Failed: Y
Local branches available:
- {BRANCH_1}
- {BRANCH_2}
...
Worktrees cleaned up. All PRs ready for human review.
viban review {ID} to unblock the card.
- NEVER read or write
viban.jsondirectly — always usevibanCLI commands. Direct JSON access causes race conditions and data corruption.- NEVER exit with any issue still in
in_progress. For every assigned issue, ensureviban review {ID}has been called.- Do NOT remove worktrees after PRs are created. Worktrees stay at
.viban/worktrees/{ID}for the review flow (/viban:approvecleans up).
| Command | Description |
|---|---|
viban list | Print board |
viban assign [session] | Assign issue |
viban get <id> | View issue |
viban review <id> | Move to review |
viban sync --push-only | Sync to GitHub |