← ClaudeAtlas

forge-delegatelisted

Delegate the current phase's implementation work from Claude-SB to a Forge subagent under the parent's existing phase-lock. Spawns `forge -p <envelope>` with SB_PHASE_LOCK_INHERITED=true so the child does not double-claim, then integrates the structured Forge result into the parent phase artifacts.
alo-exp/silver-bullet · ★ 5 · AI & Automation · score 73
Install: claude install-skill alo-exp/silver-bullet
# /forge-delegate — Cross-Runtime Phase Delegation (Claude-SB side) The phase-ownership invariant is "one phase = one runtime at a time". `/forge-delegate` is the controlled exception: when the user wants Forge to do the implementation work *underneath* Claude's existing claim, this skill packages the phase context into an envelope, spawns Forge as a subprocess with `SB_PHASE_LOCK_INHERITED=true` in its environment, waits for the structured result, and integrates it into the parent phase's working artifacts. The child Forge process **inherits** the parent's lock — it does NOT acquire its own. When `/forge-delegate` returns, the parent (Claude) still owns the lock and continues normally. ## Pre-flight: Verify the parent owns a lock Before spawning Forge, the parent must already hold an active lock on the current phase. If not, refuse to delegate: ```bash helper="$(git rev-parse --show-toplevel 2>/dev/null)/.planning/scripts/phase-lock.sh" if [[ ! -x "$helper" ]]; then echo "ERR: $helper not executable. /forge-delegate requires the multi-agent helper from Phase 70." exit 1 fi # Resolve current phase from STATE.md or PWD phase=$(grep -E '^current_phase:' .planning/STATE.md 2>/dev/null | head -1 | sed -E 's/^current_phase:[[:space:]]*//' | tr -d ' "') if [[ -z "$phase" ]]; then echo "ERR: cannot resolve current phase from STATE.md. Set current_phase: <NNN> first." exit 1 fi owner_json=$("$helper" peek "$phase" 2>/dev/null) owner_runtime=$(printf '%s' "$owner_json"