Forge's worktree lifecycle. forge worktree create makes an isolated checkout under .worktrees/, creates its branch (feat/ ), links a kernel issue (--issue), and installs dependencies — all in one step; forge worktree list/remove manage them; forge clean removes worktrees whose branches already merged (squash-aware)…
Use before changing AGENTS.md — a workflow rule, a stage table, a glossary entry, or a maintainer note. Do not use for CLAUDE.md (it is a pointer and holds no content) and do not use for the generated harness mirrors under .claude/, .codex/, .cursor/, or .hermes/.
Use when adding, renaming, or deleting a file in lib/commands/, or when a build fails with a manifest-drift error or an unresolved command require. Do not use for changing behaviour inside an existing command — that needs no surface work.
Use when a commit is refused with "Protected state edit detected", or before editing AGENTS.md, CLAUDE.md, a lockfile, .forge/config.yaml, .github/workflows, lefthook.yml, .beads/, or a generated harness mirror. Do not use to find a way around the gate — there is no environment variable that authorizes a protected…
Use after pushing a Forge branch, opening a PR, or when asked "is the PR ready / what's the status / are checks green" — reads shepherd verdicts instead of polling GitHub. Do not use to merge a PR, and do not use to resolve review threads; both stay with the human and /review.
Use when a push suddenly takes 10 minutes, when a test run says "unmapped pushed files require full unit coverage", or before adding a new top-level path or command to Forge. Do not use to skip tests or to raise a timeout — this is about routing, not about running less.
Use before starting any Forge code change, and whenever a second agent is about to work in the same repo — creating, entering, or cleaning an isolated worktree. Do not use raw git worktree add; it creates a branch and nothing else.
Take ownership of a ready issue and move it into in-progress for the current agent. Wraps forge claim so work is visibly assigned in the Forge issue backend before any code is written, preventing two agents from racing on the same task.
Mark one or more completed issues as done. Wraps forge close so finishing work updates the Forge issue backend, releases the claim, and unblocks any issues that depended on the one you just completed.
Append a progress note, decision, or finding to an issue's discussion thread. Wraps forge comment so durable context lives on the issue in the Forge issue backend — recoverable across sessions and visible to every other agent — rather than only in a transcript.
Find the issues an agent can start right now — those whose dependencies are all satisfied and that nobody is actively working. Wraps forge ready so you pick the next unit of work from the Forge issue backend instead of guessing or reading the issue store by hand.
Produce a bounded, token-aware summary of an issue's history and current state — its description, status, dependencies, and accumulated comments. Wraps forge recap so an agent can rebuild context on a single issue after a session break without re-reading the entire issue store.
Read the full detail of a single issue — title, description, status, dependencies, and discussion — by its id. Wraps forge show so you gather complete context before claiming, commenting on, or closing an issue.
Forge activation front door: makes Forge's presence and the activation bootstrap skill discoverable in ANY project via one global install, with a read-only SessionStart nudge. Creates nothing until you run a mutating verb.
Forge's front door — invoke FIRST when starting work in a project that has Forge available but you are not yet oriented: no .forge/ yet, a fresh session, or the user says "/activation", "set up Forge", "start Forge", "is Forge active here?". Orients on the actual repo (detects project type, states findings) BEFORE…