gh-stack
Installation
SKILL.md
gh-stack
A stack is a linear dependency chain rooted on the repository's remote default branch. Each branch maps to one PR whose base is the branch below it. Use gh stack for the whole lifecycle; ordinary push, PR creation, and PR merge commands do not preserve stack state.
Invariants
- Run every command non-interactively. Pass branch, PR, stack, remote, and mode arguments explicitly.
- Root a new stack on the current remote default branch. Inspect rather than guessing it.
- Use deliberate git add and Conventional Commits. A branch may contain several commits, but one coherent review concern.
- Use gh stack submit --auto; add --remote when the remote is not unambiguous.
- Use gh stack view --json; the unflagged command opens a TUI.
- Use gh stack merge with --yes; never substitute gh pr merge.
- Foundational work belongs below dependent work. Modify the lowest branch that owns an invariant, then rebase upward.
- Do not share a branch across stacks. Disambiguation failures are structural errors, not prompts to bypass the tool.
- Never destroy or rewrite user work to recover a stack. Resolve conflicts deliberately or abort the stack operation.