pstack — Cursor Plugin for Rigorous Agent Engineering
ai/pstack-cursor-plugin · Updated · Tags: ai, cursor, agents, plugins, skills
pstack — Cursor Plugin for Rigorous Agent Engineering
TL;DR
- pstack is an official Cursor plugin (v0.15.2, MIT, by Lauren Tan / poteto) that turns the agent into a disciplined engineering team instead of a code-volume machine.
- Install with
/add-plugin pstack, run/setup-pstackonce, then just type/poteto-modeat the start of any real task. - 47 skills ship in it: 24 working skills plus 23 one-rule "principle" skills;
/poteto-moderoutes 23 playbooks and calls the rest for you. - If you only learn three, learn
/poteto-mode,/interrogateand/how— entry point, review panel, and codebase walkthrough.
What it is
pstack is a plugin in the cursor/plugins monorepo. Its pitch is the opposite of most AI coding tooling: "the goal is not to maximize loc, in fact it's the opposite." The bet is that if one agent can be trusted to go deep and prove its work, you can run many agents in parallel without drowning in slop.
| Name / version | pstack 0.15.2 |
| Author | Lauren Tan (poteto) — React core team, ex-Meta/Netflix, at Cursor |
| License | MIT |
| Home | https://github.com/cursor/plugins/tree/main/pstack |
| Install | /add-plugin pstack |
| Contents | 47 SKILL.md files, 2 subagents, 23 playbooks, a benny automation pack, a 10-part guide |
Two-step start
/setup-pstack— detects which models you have, picks a reasoning budget, writes an always-applied rule mapping each role (code, judgment, review panel) to a model./poteto-mode <your task>— the entry point. It matches your request to a playbook, opens a todo list from that playbook's steps verbatim, and pulls in the other skills as the steps fire.
Once entered it stays on across turns and applies itself whenever a playbook matches. Say so to opt out.
Default model split out of the box: code delegates (feature, refactoring, bug fix, perf, hillclimb) go to Grok; the hardest changes, prose and judgment go to Fable 5.1. Default panel is Fable 5.1 / Sol / Grok / Opus 5.
The 20 skills worth knowing
Ranked by how central each is to everyday use — the plugin publishes no download stats, so this is centrality in the README and the routing graph, not a popularity chart.
| # | Skill | When to use it | How to use it |
|---|---|---|---|
| 1 | /poteto-mode | Default entry point for any non-trivial task. Use it unless you know exactly which single skill you want. | /poteto-mode repro the scroll drift bug, then fix and verify |
| 2 | /setup-pstack | Once, at install — and again whenever your model access changes. | /setup-pstack |
| 3 | /how | You want a walkthrough of how a subsystem actually works, with the N+1s and surprises called out. | /how do we cancel runs? do we have an n+1 looking up every run? |
| 4 | /why | You want the history: why was this built this way. Discovers your MCPs at run time and queries source control, issue tracker, docs, chat, observability, error tracking and analytics in parallel. | /why is this feature flag not on yet? |
| 5 | /interrogate | You have a diff and want several different models to try to break it, including a strict code-quality lens. | /interrogate review this pr. |
| 6 | /architect | Before writing code that crosses a function boundary — settle the caller's usage, types and module shape first. | /architect this instrumentation for high signal, no false positives |
| 7 | /tdd | Fixing a bug where a cheap local test path exists. Failing test first, then the fix. | /tdd implement |
| 8 | /blast-radius | A small-looking change, and you want to know what else it could break — proven by running code, not asserted. | /blast-radius on the staged diff |
| 9 | /unslop | Cleaning up writing. Strips the AI tells out of docs, PR bodies and comments. | can we unslop and tighten the new changes? |
| 10 | /swarm | N parallel workers across different slices, then one aggregated report. | /swarm check every package under packages/ against its check.sh |
| 11 | /arena | N parallel attempts at the same thing, so you can cherry-pick the best parts of each. | /arena take my prompt to the arena verbatim |
| 12 | /recall | Starting or resuming work — rebuilds your recent context on a topic from your chat history and the shared record into a current-state brief. | /recall at the top of a resumed session |
| 13 | /teach | You want to genuinely understand a change or subsystem, not just get it summarized. Runs how + why and builds one explanation diagram by diagram. | /teach how the scheduler works |
| 14 | /no-comments | Strip comments before review. Spawns the Comment Sicko subagent, fixes accepted findings, offers structural encodings for claimed constraints. | /no-comments before opening the PR |
| 15 | /technical-writing | Docs, RFCs, readmes, PR descriptions, commit messages. Layered standard: Diátaxis + Google developer style + STE + Global English. | /technical-writing on the draft |
| 16 | /figure-it-out | No bundled playbook fits. Designs a rigorous, auditable playbook for your specific task. | /figure-it-out migrate every caller to the async store |
| 17 | /typescript-best-practices | Reading or editing TypeScript. Grounds the type-system-discipline principle in actual syntax. | Loads automatically; invoke directly when reviewing TS |
| 18 | /reflect | A long task just landed and you want the recipe captured as a skill edit so the next run is faster. | /reflect that took too long. capture what we learned |
| 19 | /create-verification-skill | Your project has no scripted way to prove app behaviour. Generates a project-local verify skill with a feature map, any language or platform. | /create-verification-skill |
| 20 | /automate-me | You want your own <name>-mode skill, drafted from how you've actually worked, routing through pstack underneath. | /automate-me |
Four more ship but are narrower: /show-me-your-work (commit a TSV decision trail), /bro (restate the last message in plain human language), /maintain-verification-skill (fix feature-map drift), /make-bot-ui (a dashboard whose buttons wake a Grok Bot over a webhook, sender-key handoff and Tailscale included).
The 23 playbooks
/poteto-mode picks one of these from your request. You never name them directly.
| Group | Playbooks |
|---|---|
| Understand | investigation, runtime forensics, trace forensics |
| Fix | bug fix, perf, hillclimb |
| Build | feature, refactoring, prototype, visual parity |
| Skills | authoring a skill, eval |
| Ship | babysit, shipping, opening a pr |
| Long-running | autonomous run, orchestrate, autopilot-full, autopilot-stack, multi-phase plan |
| Session | session pickup, pause safely, worktree cleanup |
opening a pr is invoked at the end of every other playbook. hillclimb is the interesting one: sustained scientific improvement of a single metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
The 23 principles
Each is a one-rule skill so other skills can reference it by name. /poteto-mode indexes them inline and reads the index at task start.
| Group | Principles |
|---|---|
| Core (10) | laziness-protocol, foundational-thinking, redesign-from-first-principles, attack-the-premise, subtract-before-you-add, minimize-reader-load, outcome-oriented-execution, experience-first, exhaust-the-design-space, build-the-lever |
| Architecture (6) | model-the-domain, boundary-discipline, type-system-discipline, make-operations-idempotent, migrate-callers-then-delete-legacy-apis, separate-before-serializing-shared-state |
| Verification (4) | prove-it-works, fix-root-causes, sequence-verifiable-units, test-behavior-not-implementation |
| Delegation (2) | guard-the-context-window, never-block-on-the-human |
| Meta (1) | encode-lessons-in-structure |
The sharpest ones in practice:
- prove-it-works — verify against the real artifact (run the feature, read the actual value, inspect the diff), never a proxy, a self-report, or "it compiles."
- test-behavior-not-implementation — if the test would still pass when every imported function returns
undefined, rewrite the assertion or delete the test. - build-the-lever — build the codemod, script or skill that does the work, because the tool is the artifact a reviewer can rerun.
- guard-the-context-window — route bulk to subagents; keep summaries in the main thread, never raw payloads.
- never-block-on-the-human — proceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
Subagents and automations
poteto-agent— runs the whole style end to end. Spawn from a parent withsubagent_type: "poteto-agent". It readspoteto-modein full, including the principles index, before doing any work; substituting a general-purpose agent skips that read and drifts.- Comment Sicko — read-only comment reviewer,
subagent_type: "Comment Sicko". Normally reached through/no-comments, not directly. - benny — an issue triage and bug-fix automation pack under
automations/benny/, withsetup-benny,triage-issue-reportsandreproduce-and-fix-issues.
What it deliberately leaves out
The README's position: "the best spec is code" — Cursor's own plan mode is considered good enough, and /poteto-mode covers planning when you ask, but it isn't a default.
Some things poteto-mode references but doesn't bundle — install cursor-team-kit alongside it for the full set:
| Missing piece | Ships in |
|---|---|
/deslop | cursor-team-kit |
control-cli (CLIs, TUIs) | cursor-team-kit |
control-ui (browser, Electron, web) | cursor-team-kit |
/create-skill | Cursor built-in |
Caveats before you install
- It is a Cursor plugin.
/add-pluginis a Cursor command. The skills themselves are plainSKILL.mdmarkdown and mostly portable to other agent harnesses, but the model routing,subagent_typenames and/loopintegration assume Cursor. - It is opinionated by design.
poteto-modeis one person's style. If it doesn't fit,/automate-memines your own transcripts and drafts<your-name>-modeon top of the same base. - Multi-model by default. Several skills run panels across Fable, Sol, Grok and Opus. On a single-model setup you lose a lot of what
/interrogateand/arenaare for — run/setup-pstackto remap roles. - It costs tokens. Parallel review panels, swarms and arenas are the point, and they are not cheap.
Sources
Disclaimer: These documents are personal notes. The information may be incomplete, out of date or wrong, so check it before you rely on it.