← ClaudeAtlas

rig-epiclisted

Plan and run a multi-ticket epic: decompose a feature into parent + child items and stack PRs on a shared integration branch instead of landing each on main. Use when children interleave (one item's runtime contract depends on another's incomplete state) — stacking keeps each child PR reviewable without temporarily breaking main, then squashes to main once. Triggers on: 'epic', 'plan epic', 'plan this as an epic', 'break this into an epic', 'start epic', 'integration branch', 'stack PRs', 'finish epic'.
agent-rig/rig · ★ 3 · AI & Automation · score 70
Install: claude install-skill agent-rig/rig
# rig-epic — integration-branch workflow For multi-item arcs where landing each item directly on the trunk would temporarily break the runtime contract, stack child PRs on a shared **integration branch** and squash that branch into the trunk as one PR at the end. Each child PR is reviewed *as the step it actually is*; the trunk-bound delivery is one squashed rebase. ## Configuration Reads `.rig/config.json` (defaults in parentheses): - `tracker.provider` — `linear` | `github` | `none` (`none`). How parent/child items are stored. `none` → items live only in the epic **state file** (below); no tracker calls. - `tracker.team` / `tracker.project` / `tracker.ticketPrefix` / `tracker.githubIntegration`. - `vcs.baseRef` (`origin/main`), `vcs.defaultBranch` (`main`), `vcs.protectedBranchMergeQueue` (`false`). - `sourceScope[0]` — where to explore during `plan`. - `agents.architect` / `agents.reviewer` (default `rig-<role>`) — for the fresh-context `review` panel. Delegates to `/rig-task` (per child), `/rig-worktree` (checkouts), `/rig-review` + `/rig-review fix` (the combined-diff review), `/rig-tidy` (optional). ### Epic state file (replaces any external memory) Each active epic is tracked in a repo-local JSON file at **`.rig/epics/<integration-branch>.json`**: ```json { "parent": "ABC-42 or a slug in tracker=none", "parentTitle": "…", "integrationBranch": "abc-42-<slug>", "whyEpic": "which children interleave and why", "children": [ { "id": "ABC-43", "