skills/arc-using-worktrees/SKILL.md
Use when setting up an isolated workspace for a single epic, when starting work on a specific epic id from dag.yaml, or when any task mentions creating a branch or checkout for epic-level work. Use this skill even if the user doesn't say "worktree" — if they're scoping work to one epic, this applies. For batch (multi-epic) expansion, use arc-coordinating expand instead.
npx skillsauth add gregoryho/arcforge arc-using-worktreesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create an isolated workspace for a single epic. This skill is a thin wrapper
around arcforge expand --epic <id> — it does not create worktrees by hand.
For multi-epic batch expansion, use arc-coordinating expand instead.
REQUIRED BACKGROUND: arc-using — read the Worktree Rule for the three
norms (no hardcoded paths, no manual git worktree add, enter via
arcforge status --json).
Read the epic id from dag.yaml or the user's request. Abort if the epic id
is unknown — you cannot create a worktree for an epic that is not in the DAG.
node "${SKILL_ROOT}/scripts/coordinator.js" expand --epic <epic-id> --project-setup
What this does (single authoritative implementation in ${ARCFORGE_ROOT}/scripts/lib/coordinator.js):
${ARCFORGE_ROOT}/scripts/lib/worktree-paths.js
(~/.arcforge/worktrees/<project>-<hash>-<epic>/).git worktree add <path> -b <epic-id>..arcforge-epic marker with base worktree + base branch.package.json → npm install,
pyproject.toml → pip install -e ., Cargo.toml → cargo build,
go.mod → go mod download) when --project-setup is passed.dag.yaml epic status and worktree field.The command prints JSON. Read the path field — do not reconstruct it from
pattern knowledge, and do not hardcode it in subsequent messages.
Use the completion format below, filling the absolute path from the command output.
Stop immediately if you catch yourself thinking:
git worktree add it directly" — NO. Bypasses the
.arcforge-epic marker and dag.yaml update that arc-coordinating sync
depends on, producing silently broken state../worktrees/" — NO. The
canonical path is derived at runtime; putting it elsewhere makes every
downstream tool fail to find it.~/.arcforge/worktrees/... in my output" — NO. Read
the path field from the CLI's JSON output. The derivation rule has
evolved before and will evolve again.arcforge expand will refuse and that refusal is correct.─────────────────────────────────────────────────
✅ Worktree created for <epic-id>
Path: <absolute path from arcforge expand JSON>
Branch: <epic-id>
Tracking: .arcforge-epic
Next: cd to the path, then use `/arc-finishing-epic` when work is complete
─────────────────────────────────────────────────
─────────────────────────────────────────────────
⚠️ Worktree creation blocked
Epic: <epic-id>
Reason: <stderr from arcforge expand>
Common causes:
- Epic not in dag.yaml
- Epic not ready (dependencies incomplete)
- Git worktree add failed (uncommitted changes, branch conflict)
Report the exact CLI error and stop.
─────────────────────────────────────────────────
arc-coordinating (when a single epic needs expansion), arc-agent-driven, arc-executing-tasks/arc-finishing-epic to integratearc-coordinating expand (batch mode — all ready epics at once, no --epic flag)testing
Use when the user explicitly runs the slash command `/arc-auditing-spec <spec-id>` to produce a read-only advisory audit of an arcforge SDD spec family (design.md, spec.xml, dag.yaml). Only triggered by direct user invocation; never auto-invoked from any pipeline skill (arc-brainstorming, arc-refining, arc-planning).
development
Use when the user wants to create, query, audit, or initialize an Obsidian vault — wiki / knowledge base / second brain, project tracker, news pipeline, journal, or any typed-note vault. Trigger on saving notes / capturing ideas / sharing URLs to document; querying the vault ("what do I know about", "search my vault"); auditing health (missing links, orphans, drift); ingesting raw files; "init a new vault" or "register vault"; mentions of any registered vault. Also triggers on casual "save this" / "file this back". Do NOT trigger for Excalidraw diagram creation (use arc-diagramming-obsidian), general code, debugging, PR reviews, web searches.
testing
Use when maintaining ArcForge itself by creating, editing, or verifying ArcForge skills before deployment
testing
Use when you need to verify work is complete before making completion claims