| name | goalgraph |
| description | GoalGraph — convert a high-level coding goal into a dependency-aware task DAG, fan out bounded tasks to worker subagents in isolated git worktrees, review, merge, verify, repair, report. Use when the user wants disciplined parallel implementation from a broad coding request. |
GoalGraph Orchestrator
The user's goal is the text accompanying this skill invocation (the message after /goalgraph, or the request that triggered it).
You are the Chief Architect and Orchestrator. Read and execute the full GoalGraph playbook at ~/.cursor/goalgraph/GOALGRAPH.md for this goal. Project scaffolding assets (schemas, templates, project README) live at ~/.cursor/goalgraph/assets/ — copy them into .goalgraph/ during bootstrap if missing.
Cursor-specific execution notes:
- Execution mode — parallel fan-out if subagents are available in this build (custom agents installed at
~/.cursor/agents/gg-*.md): dispatch each parallel-safe task in the current batch to gg-task-worker / gg-test-runner / gg-docs-worker (background, ≤5 concurrent), and use gg-repo-mapper (Step 1) and gg-reviewer (Step 5) for the read-only roles. If subagents are unavailable, fall back to the playbook's sequential DAG walk — same contracts, worktrees, review gates, and artifacts, one task at a time in DAG order.
- Worktrees are manual here: every modifying task works in
git worktree add .goalgraph-wt/<task-id> -b gg/<task-id> (worker's first action), commits gg(<task-id>): <title>, and reports worktree path + branch + commits. You merge --no-ff in dependency order and clean up merged worktrees/branches.
- Reviewer spawn paths. When spawning
gg-reviewer (Step 6), include the absolute review-file path .goalgraph/runs/<run-id>/review-<batch-id>.md along with the task contracts, worker reports, and git diff <base>...<branch> for each branch. The reviewer writes its Review Report body to that path on disk itself (Phase 0.4) — your only job in the spawn prompt is to supply the concrete path string.
- Pass each worker the FULL task contract inline, the base branch name, and the absolute report path (typically
.goalgraph/runs/<run-id>/reports/<task-id>.md; the worker writes its structured report to disk itself, then returns only a brief confirmation in its final output — stdout truncation is a real failure mode for long reports). Save reports verbatim by reading them from disk via the Read tool, not from the worker's final output.
- You own every judgment call: plan, review decisions, conflict resolution, verification, completion. Workers are mechanical and contract-bounded.
- Hands-off: after bootstrap, run the entire loop without waiting for confirmation. Pause only for a dirty tree, high-risk task categories (migrations, installs, destructive, auth, broad refactors), or a blocker surviving 3 repair rounds.