forge-delegatelisted
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"