pstack is Lauren Tan's MIT-licensed Cursor plugin with 23 playbooks. Its autopilot-stack playbook lets one Cursor cloud agent own each pull request's build and verification, while a root coordinator alone changes stack topology through GitHub CLI gh or Cursor's Origin CLI. The playbook says to never require Graphite (gt) and never submit or register the chain through gt.
pstack's 23 playbooks
- The official pstack repository lists 23 playbooks, including Investigation, Feature, Shipping, Autopilot-full, Autopilot-stack, and Opening a PR.
- Lauren Tan's X post on 2026-09-21 announces a 38-minute video about shipping 2,500 PRs to production.
autopilot-fullis for independent pull requests when landing authority is granted.autopilot-stackis for coupled or ordered work when the operator keeps landing authority.
pstack's autopilot-stack
The playbook separates code ownership from pull request topology.
- Owners build in isolation. One Cursor cloud agent owns one pull request from build through verification. Owners parallelize when the work is self-contained, push only their own branches, and report the branch tip, current base, and intended parent. The root coordinator owns the queue, not the owner's code.
- The root writes the topology. To append a verified pull request, the root fetches the intended parent, rebases the child onto that exact tip, checks
ls-remote, pushes with--force-with-lease, and sets the pull request base to the parent branch. The root creates or retargets pull requests withghor Origin:
`bash
gh pr create --base <parent-branch>
gh pr edit <pr> --base <parent-branch>
`
Only the root pull request targets trunk. Owners do not merge, arm auto-merge, or close pull requests. The playbook also says never to submit or register the chain through gt.
- The root rechecks drift. When trunk advances, the root rebases the chain from the bottom up. A rebase rewrites commit SHAs and voids verdicts attached to the old SHAs. The root applies the
patch-idrule from the shipping playbook, then reruns mergeability and CI after every rewritten push, even when the patch ID is unchanged. - The root audits liveness. The coordinator arms
/loop 1h, rereadsautopilot-stack.mdfromorigin/main, and counts commits, pushes, pull request or check deltas, and store reports as progress. A lane that passes its expected runtime without a side effect is treated as stuck and replaced. - The operator lands the result.
autopilot-stackdelivers one linear chain of verified pull requests for bottom-up review. The operator reviews and lands it. The agent stack stops before landing.
Stacked PR tools beside pstack
Tool | Where stack operations live | Pull request mechanism |
|---|---|---|
pstack | Root coordinator plus isolated owner branches |
|
Graphite | Graphite's initialized repository and CLI |
|
| Commits on one branch |
|
Sapling | Local commit data |
|
git-branchless | Local commit graph |
|
Graphite, spr, Sapling, and git-branchless each document a local command workflow for stack operations. pstack puts that control in a coordinator protocol. Owners write code and report their branch state. One root agent changes the pull request bases and rebases the chain. The practical inference is that pstack can keep topology decisions in one coordinator while builders work independently. That is a different control point, not a claim that the other tools are unusable with agents.
Scope after the 2026-10-06 freshness check
A freshness search on 2026-10-06 found mdsmithaustin/pstack, a separate repository that describes itself as a CLI-agnostic port of Cursor's pstack. This post covers the official cursor/plugins implementation, so that port does not change the commands or ownership rules described here.
Sources
- pstack repository and license: https://github.com/cursor/plugins/tree/main/pstack (read 2026-10-06)
- Poteto Mode skill and playbook roster: https://github.com/cursor/plugins/blob/main/pstack/skills/poteto-mode/SKILL.md (read 2026-10-06)
- Autopilot-stack playbook: https://github.com/cursor/plugins/blob/main/pstack/skills/poteto-mode/playbooks/autopilot-stack.md (read 2026-10-06)
- Lauren Tan's 2,500-PR video announcement: https://x.com/poteto/status/2102050467505430555 (read 2026-10-06)
- Graphite stack submission: https://graphite.com/docs/create-submit-prs (read 2026-10-06)
- ejoffe/spr stacked pull requests: https://github.com/ejoffe/spr (read 2026-10-06)
- Sapling
sl prcommand: https://sapling-scm.com/docs/commands/pr/ (read 2026-10-06) - git-branchless commit-graph workflow: https://github.com/arxanas/git-branchless (read 2026-10-06)
- Separate CLI-agnostic pstack port found by the freshness search: https://github.com/mdsmithaustin/pstack/blob/main/README.md (read 2026-10-06)
Last verified: 2026-10-06.