一键导入
arc-coordinating
Use when managing worktrees for multi-epic projects, when specs/<spec-id>/dag.yaml exists, or when coordinating parallel development
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when managing worktrees for multi-epic projects, when specs/<spec-id>/dag.yaml exists, or when coordinating parallel development
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when running autonomous unattended loops — cross-session execution of DAG tasks without human intervention
Use when converting design documents to structured specs, when spec quality is below threshold, or when requirements need formal acceptance criteria
Use when you need to verify work is complete before making completion claims
Use when maintaining ArcForge itself by creating, editing, or verifying ArcForge skills before deployment
Use when optional learning is enabled and observations should become reviewable candidates, inactive drafts, and explicitly activated artifacts.
Use when user asks about behavioral patterns, requests instinct status, or wants to confirm/contradict a detected pattern
| name | arc-coordinating |
| description | Use when managing worktrees for multi-epic projects, when specs/<spec-id>/dag.yaml exists, or when coordinating parallel development |
Use the Node.js CLI (scripts/coordinator.js) for worktree lifecycle and cross-session coordination.
.arcforge-epic exists and epic id should be inferredSingle-epic projects: Use arc-implementing directly (except merge in a worktree).
If already in a worktree: Use arc-implementing, except for merge (allowed).
DAG requirement: specs/<spec-id>/dag.yaml must exist and be committed before running coordinator commands. In base-side sessions with multiple specs, commands that cannot aggregate (next, parallel, expand, loop) require --spec-id <id>; merge / cleanup accept positional epic ids as disambiguator.
| Command | Purpose | CLI Mapping |
|---|---|---|
expand | Create worktrees for ready epics | arcforge expand |
merge | Merge completed epics | arcforge merge |
status | Show workflow progress | arcforge status |
cleanup | Remove merged worktrees | arcforge cleanup |
sync | Synchronize worktree ↔ DAG state | arcforge sync |
next | Show next ready task | arcforge next |
parallel | Show parallelizable tasks | arcforge parallel |
block | Mark a task blocked in DAG | arcforge block |
reboot | Generate 5-Question context | arcforge reboot |
IMPORTANT: Set SKILL_ROOT to the absolute path from the skill loader header (# SKILL_ROOT: ...).
: "${SKILL_ROOT:=${ARCFORGE_ROOT:-}/skills/arc-coordinating}"
if [ ! -d "$SKILL_ROOT" ]; then
echo "ERROR: SKILL_ROOT=$SKILL_ROOT does not exist. Set ARCFORGE_ROOT or SKILL_ROOT manually." >&2
exit 1
fi
Then use node "${SKILL_ROOT}/scripts/coordinator.js" <command> for all commands:
node "${SKILL_ROOT}/scripts/coordinator.js" status
node "${SKILL_ROOT}/scripts/coordinator.js" expand
node "${SKILL_ROOT}/scripts/coordinator.js" merge
JSON output: Add --json flag for machine-readable output:
node "${SKILL_ROOT}/scripts/coordinator.js" status --json
Workflow:
node "${SKILL_ROOT}/scripts/coordinator.js" <command>If the current directory is an arcforge-managed worktree (contains
.arcforge-epic):
.arcforge-epicgit worktree list --porcelain — the coordinator
automatically recognizes which entries are arcforge-managed worktrees and
picks the base for youHEADdag.yamlIf base worktree cannot be found or base branch cannot be inferred → report blocked and STOP.
✅ Coordinator: expand complete
⚠️ Coordinator: merge blocked
⚠️ Coordinator: blocked
${SKILL_ROOT}/scripts/coordinator.js⚠️ Coordinator: merge blocked
git worktree list --porcelain, base worktree HEAD