بنقرة واحدة
dispatch
Pick the next backlog/ready issue, claim it, and prepare a branch — without implementing it
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Pick the next backlog/ready issue, claim it, and prepare a branch — without implementing it
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Run the full forge pipeline end-to-end within this Claude Code session, processing multiple issues autonomously until a stop condition is met
Interactive project bootstrapping — generates CLAUDE.md, VISION.md, CI workflow, forge.toml, and configures GitHub
Poll a PR's CI checks until all pass, any fail, or timeout — then report the result
Perform a final review check on a PR and merge it if clean, or report what's blocking
Process all open review comments on a PR: fix addressable issues, reply in-thread, create follow-up issues for deferred items
Pick an issue from the backlog, implement it in a fresh worktree, and open a PR
| name | dispatch |
| description | Pick the next backlog/ready issue, claim it, and prepare a branch — without implementing it |
| disable-model-invocation | true |
Pick the highest-priority backlog/ready issue, label it agent/implementing, create the
feature branch, and report back the issue number and branch name. Does NOT implement.
Used by /forge-loop to separate "what to work on next" from "do the work". Can also be run
standalone to claim an issue and hand off to a human or a different agent.
$ARGUMENTS — optional issue number.
/dispatch — auto-pick highest-priority backlog/ready issue/dispatch 42 — claim a specific issueRead forge.toml:
[project]
repo = "org/project"
base_branch = "main"
[dispatch]
max_concurrent_prs = 1
[trust]
trusted_users = [...]
If forge.toml is missing, stop and tell the user to run /onboard first.
OPEN_COUNT=$(gh pr list --repo $REPO \
--state open --json number,labels \
--jq '[.[] | select(
(.labels | map(.name) | any(startswith("via/")))
and (.labels | map(.name) | any(. == "human/blocked") | not)
)] | length')
If $OPEN_COUNT >= max_concurrent_prs, stop:
Dispatch skipped: $OPEN_COUNT open autodev PR(s) already in flight (max $MAX).
Open PRs: <list titles and numbers>
Ask the user if they want to override the concurrency limit.
gh issue view $ISSUE_NUMBER --repo $REPO --json number,title,body,labels,state
Validate:
agent/implementing or human/blockedbacklog/ready label (warn if missing — user is overriding)gh issue list --repo $REPO \
--label "backlog/ready" \
--state open \
--json number,title,labels \
--limit 30
Filter out issues with agent/implementing or human/blocked labels. Sort by:
priority/critical firstpriority/high secondPresent the top choice with a 1-sentence rationale. If running non-interactively (e.g.,
called by /forge-loop), skip the confirmation and proceed.
If the selected issue has child issues, navigate to the next unblocked leaf child.
See /autodev Step 2.5 for the full parent resolution algorithm. Apply it here identically.
Label the issue:
gh issue edit $ISSUE_NUMBER --repo $REPO --add-label "agent/implementing"
Compute the branch name:
ISSUE_TITLE=$(gh issue view $ISSUE_NUMBER --repo $REPO --json title --jq .title)
SLUG=$(echo "$ISSUE_TITLE" \
| tr '[:upper:]' '[:lower:]' \
| sed -E 's/[^a-z0-9]+/-/g' \
| sed -E 's/^-+|-+$//g' \
| cut -c1-50)
BRANCH="autodev/issue-${ISSUE_NUMBER}-${SLUG}"
Check for stale remote branch and clean up:
git ls-remote --exit-code origin "refs/heads/$BRANCH" 2>/dev/null && \
git push origin --delete "$BRANCH" || true
Fetch and create the worktree:
git fetch origin $BASE_BRANCH
WORKTREE_PATH=".worktrees/${BRANCH##autodev/}"
git worktree add -b "$BRANCH" "$WORKTREE_PATH" origin/$BASE_BRANCH
Print a machine-readable summary (parseable by /forge-loop):
DISPATCH_ISSUE=$ISSUE_NUMBER
DISPATCH_TITLE=$ISSUE_TITLE
DISPATCH_BRANCH=$BRANCH
DISPATCH_WORKTREE=$WORKTREE_PATH
Then a human-readable summary:
Claimed #$ISSUE_NUMBER: $ISSUE_TITLE
Branch: $BRANCH
Worktree: $WORKTREE_PATH
Next step: run /autodev $ISSUE_NUMBER to implement, or /forge-loop to run the full pipeline.
agent/implementing or human/blocked.worktrees/git worktree remove --force $WORKTREE_PATH