# Pickup Epic

> Use when epic orchestration needs to create or resume the epic branch and worktree from the repository base branch

- Skill: `dodi-hq/pickup-epic` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dodi-hq/pickup-epic`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dodi-hq/pickup-epic/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dodi-hq (https://skillmd.com/u/dodi-hq)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/dodi-hq/pickup-epic

---


# Pickup Epic

Prepare the epic branch and epic worktree. This skill performs branch setup only; it does not assess child tickets, implement code, create PRs, or merge branches.

## Contract

| Trigger | Inputs | Outputs | Durable writes | Allowed delegation | Failure states |
| --- | --- | --- | --- | --- | --- |
| epic accepted for orchestration | epic id, repo path, optional base branch | epic branch and epic worktree | epic comment with branch/worktree paths and base branch | none by default | dirty worktree, missing base branch, branch conflict, pull failure |

## Inputs

- epic id
- repo path
- optional base branch
- optional epic branch name
- optional epic worktree path

## Process

- Verify the current repository worktree is clean before changing branches.
- Discover the base branch from input or origin default branch.
- Pull the latest base branch before creating or refreshing the epic branch.
- Default the epic worktree to a sibling directory of the repo — `../<repo-name>-epic-<epic-id>` — unless an epic worktree path was given as input. Never nest the worktree inside the repo tree itself (e.g. not `<repo>/worktrees/...`): a worktree nested inside the repo shows up as untracked repo content and can get walked by the repo's own tooling.
- Create or switch to the epic branch and epic worktree.
- Do not create PRs or merge branches.

## Evidence

- Record epic id, repo path, base branch, epic branch, and epic worktree.
- Record branch creation or switch output.
- Record the pull result from the base branch.

## Stop Conditions

- Stop on dirty worktree, missing base branch, branch conflict, or pull failure.
- Stop if creating or switching the worktree would overwrite local changes.
- Stop on tool or auth failure.

