Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

History

README.md

pstack

i'm poteto. i'm not a president or ceo, but i've worked with millions of lines of code at Meta, Netflix, and Cursor. i'm also on the react core team where i help build and maintain react compiler.

there's a growing sense that ai writes too much slop code. i agree. i don't want to ship like a team of twenty slop artists. throughput without quality is not a goal i aspire to. if you want to go fast, go deep first.

pstack is my answer. these are the same skills i use everyday to ship high quality code at Cursor. this turns cursor into a real engineering team. the goal is not to maximize loc, in fact it's the opposite. pstack helps you write less, but higher quality code.

pstack gives you fearless parallelism. when you can go deep on one agent and trust it to write good, verifiable code, you can truly parallelize with confidence. start multiple agents up with poteto-mode and trust that they'll apply rigorous engineering principles to their work.

cursor gives you the best of all worlds. every frontier model has its strengths and weaknesses. use any model with pstack. in fact, many of my skills use multi-model workflows to take advantage of each model's unique strengths.

fork it. improve it. make it yours. PRs are welcome!

install

/add-plugin pstack

get started

two steps:

  1. run /setup-pstack and choose which models you want.
  2. use /poteto-mode whenever you're doing anything that requires rigor.

new here? the pstack guide walks you through a first real task, from setup and prompting through verification and overnight runs.

that's it. the other skills are situational; the mode skill uses them for you as needed. out of the box the mode splits work by model strength: precisely-specified code, prose, and judgment go to fable 5.1, while fast mechanical code goes to grok. the default panel is fable 5.1 / sol / grok / opus 5. /setup-pstack changes any of it.

usage

use /poteto-mode at the start of a task. it reads your request, picks from a set of playbooks, and runs the other skills as the steps need them.

just use /poteto-mode

this skill is the main shortcut. i use it whenever i need the agent to do rigorous engineering work. it comes with twenty-two playbooks:

/poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even when idle. repro
first, then fix and verify.
/poteto-mode i'm going to bed. land the stack even if ci flakes. i want everything merged by
morning.
the twenty-two playbooks
playbookfor
investigationa read-only question. how does x work, why was y built this way, are we sure.
bug fixreproduce a defect, root-cause it, and fix with runtime evidence.
perftrace a measured slowness and improve it against a baseline.
hillclimbsustained, scientific improvement of one metric against a target, looping hypotheses with before/after measurement and one commit per accepted win.
runtime forensicsdiagnose a live symptom (leak, idle-cpu spin, glitch) from instrumentation.
trace forensicsdiagnose a captured profiling artifact (cpuprofile, trace, spindump, heap snapshot).
featurenew or changed behavior, built from a named data shape.
refactoringa behavior-preserving change to structure or shape.
prototypea throwaway sketch to make a design or behavioral decision cheaply, or to settle an empirical fork by observing it.
visual paritypixel-exact ui equivalence between two implementations.
authoring a skillwriting or editing a SKILL.md.
evaltest how a skill or prompt change affects agent behavior, blinded.
babysitdrive a pr or a stack to merge-ready: conflicts, review threads, ci.
shippingindependently verify a green stack, then land the contiguous verified run bottom-up through github by default or origin when available.
autonomous rundrive a long task to completion without stopping.
orchestratea standing project handed to one coordinator chat: multi-day, many stacked prs, fleets of subagents.
autopilot-fullrun independent prs to merged with one owner per pr and root verification of each merge-ready head.
autopilot-stackbuild and verify one linear base-branch stack for the operator to review and land.
session pickupresume or take over a prior agent's in-flight work.
pause safelysuspend in-flight work cleanly so it can be resumed later.
multi-phase planwork that spans phases or stacked PRs.
worktree cleanupreclaim disk by pruning merged or abandoned worktrees and stale ios simulators, safety-gated.

when invoked it:

  1. opens a todo list. the first item is reading the inline principles index in the skill.
  2. matches your task to a playbook and copies the steps in verbatim.
  3. routes to the other skills as the steps fire.
  4. writes unslopped replies framed for the consumer and the maintainer.

the full rules and playbooks live in skills/poteto-mode/SKILL.md.

/poteto-mode is also a sticky mode: once entered it stays on across turns, applying itself when a playbook matches or the task needs rigor and staying out of the way otherwise. opt out any time by saying so.

/poteto-mode works extremely well with cursor's /loop command. you can make cursor work for many hours without sacrificing rigor.

skills

/poteto-mode runs most of these for you when a step needs them (how, why, architect, arena, swarm, interrogate, unslop, no-comments, technical-writing, tdd, and the principles). the table below is for when you want one directly:

/how do we cancel runs? do we have an n+1 when we look up every run to cancel?
/interrogate review this pr.
all skills
skilluse it when
/poteto-modedefault entry point for any non-trivial task.
/howyou want a walkthrough of how a subsystem works.
/whyyou want to know why something was built this way. discovers available MCPs at run time and queries each evidence category in parallel (source control, issue tracker, long-form docs, real-time chat, infra observability, error tracking, analytics warehouse).
/recallyou're starting or resuming work and want your recent context on a topic rebuilt from your own chat history and the shared record, handed back as a tight current-state brief.
/blast-radiusyou have a small-looking change and want to know what else it could break, with the one fact it's safe because of proven by running code, not asserted.
/architectyou're about to write code that crosses a function boundary and want the caller's usage, types, and module shape settled first.
/arenayou want N parallel attempts at the same thing, then to grab the best parts of each.
/swarmyou want N parallel workers across different slices or races, then one aggregated report.
/interrogateyou have a diff and want several different models to try to break it, including a strict code-quality lens.
/automate-meyou want your own -mode skill, drafted from how you've actually worked.
/make-bot-uiyou want a page or dashboard whose buttons wake a Grok Bot over a webhook, including the sender-key handoff and Tailscale.
/setup-pstackyou want to pick which models pstack uses per role. detects your models and writes a config rule.
/reflecta long task landed and you want the recipe captured as a skill edit.
/teachyou want to actually understand a change or subsystem, not just have it summarized. runs how + why and weaves one plain explanation, built up diagram by diagram.
/tddyou're fixing a bug and there's a cheap local test path. write the failing test first, then the fix.
/no-commentsstrip comments before review; spawns Comment Sicko, fixes accepted findings, offers encodings for claimed constraints.
/typescript-best-practicesyou're reading or editing typescript. grounds the type-system-discipline principle in syntax.
/figure-it-outno bundled playbook fits. designs a rigorous, auditable playbook for the task.
/show-me-your-workyou want a reviewable decision trail. logs decisions to a tsv you can commit.
/create-verification-skillyour project has no scripted way to prove app behavior. generates a project-local verify skill with a feature map, for any language or platform.
/maintain-verification-skillyour verify skill's feature map has drifted from the app. source wave + one live pass, at most one PR of proven corrections.
/unslopyou're cleaning up writing. removes AI tells.
/broyou want the last message restated in plain human language, no jargon.
/technical-writinglayered doc standard (Diátaxis + Google developer style + STE + Global English) for docs, RFCs, readmes, PR descriptions, commit messages.

examples

mostly i type /poteto-mode at the start of a task and let it route to a playbook. the other skills fire as the steps need them. a few i reach for directly.

all the examples
bug fix: /poteto-mode this pr has a subtle bug where the scroll drifts every 750ms even
when idle. repro first, then fix and verify.
perf: /poteto-mode a big list takes a second or two to load even though we virtualize.
run a cpu trace and tell me why.
feature: /poteto-mode build a small feature behind a feature flag. verify it really works.
prototype: /poteto-mode build two prototypes of the markdown renderer so we can compare.
spawn an agent for each.
multi-phase: /poteto-mode open source these skills as a plugin. nothing internal leaks, work
in a temp dir, show me the dependency graph first.
overnight run: /poteto-mode i'm going to bed. land the stack even if ci flakes. i want
everything merged by morning.
babysit: /poteto-mode check on pr 123. anything outstanding?
visual parity: /poteto-mode the row spacing is too tall when this flag is on. the second image
is correct. repro and fix until it matches.
figure it out: /poteto-mode i'm stepping away. migrate every caller from the synchronous store
to the new async one, keeping behavior identical. i want to trust it was done
right when i'm back.
how: /how do we cancel runs? do we have an n+1 when we look up every run to cancel?
why: /why is this feature flag not on yet?
architect: design this instrumentation to be high signal with no false positives. /architect
this first.
arena: /arena take my prompt to the arena verbatim. i want to compare their proposals
with yours.
swarm: /swarm check every package under packages/ against its check.sh. one worker per
package. one report.
interrogate: /interrogate review this pr.
tdd: /tdd implement
unslop: can we unslop and tighten the new changes?
reflect: /reflect that took too long. capture what we learned so the next run doesn't
repeat it.
show-me-your-work: /show-me-your-work keep a decision trail i can review when i'm back.
automate-me: /automate-me

the poteto-agent and Comment Sicko subagents

pstack also ships a subagent that runs my style end to end. spawn it from a parent agent via subagent_type: "poteto-agent". it reads poteto-mode in full, including its inline principles index, before doing any work. substituting generalPurpose skips that read and drifts.

/poteto-mode and subagent_type: "poteto-agent" route through the same wrapper.

pstack also ships Comment Sicko, a read-only comment reviewer available as subagent_type: "Comment Sicko". usually invoke it through /no-comments, not directly.

principles

twenty-one short skills, one principle each. poteto-mode indexes them inline and reads that index at task start. the standalone files are there so other skills can reference a principle by name, and so the index can point at the full rule for each.

all twenty-one principles
principlegrouprule
laziness-protocolcoreBias toward deletion and the smallest change that solves the problem.
foundational-thinkingcoreApply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
redesign-from-first-principlescoreRedesign as if the requirement had been a foundational assumption from day one, instead of bolting it on.
subtract-before-you-addcoreRemove dead weight, redundant validators, and stub references first, then build on the simpler base.
minimize-reader-loadcoreCount layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
outcome-oriented-executioncoreApply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
experience-firstcoreChoose user delight over implementation convenience; ship fewer polished features over more rough ones.
exhaust-the-design-spacecoreBuild 2-3 competing prototypes and compare side by side before committing.
build-the-levercoreApply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
model-the-domainarchitectureEncode the domain in a structure instead of scattered conditionals.
boundary-disciplinearchitectureConcentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
type-system-disciplinearchitectureMake illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, refuse to lie to the compiler, exhaust variants, derive from authoritative schemas.
make-operations-idempotentarchitectureConverge to the same end state regardless of partial prior runs.
migrate-callers-then-delete-legacy-apisarchitectureMigrate callers and delete the old API in the same wave instead of preserving compatibility layers.
separate-before-serializing-shared-statearchitectureEliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
prove-it-worksverificationApply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
fix-root-causesverificationTrace each symptom to its root cause and fix it there; reproduce first, ask why until you reach it, resist nil-check guards that silence crashes.
sequence-verifiable-unitsverificationApply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
guard-the-context-windowdelegationRoute bulk to subagents; keep summaries in the main thread, not raw payloads.
never-block-on-the-humandelegationProceed, present the result, let the human course-correct after the fact; reserve confirmation for irreversible actions.
encode-lessons-in-structuremetaEncode the rule as a lint, metadata flag, runtime check, or script instead of more text.

not shipped here

a few things poteto-mode references but doesn't bundle:

  • /deslop and the deslop skill ship in the cursor-team-kit plugin.
  • control-cli (for CLIs and TUIs) and control-ui (for browser, Electron, web) ship in cursor-team-kit too.
  • /create-skill is a cursor built-in. cursor also ships a built-in /babysit; inside poteto-mode, the babysit playbook supersedes it for pr-status requests.

install cursor-team-kit alongside pstack if you want the full set.

why are there no planning skills?

cursor already has a great plan mode which works great with pstack. but personally, i don't believe in planning. the best spec is code. if you do want to make a plan, /poteto-mode covers it, but it's not a default.

make it yours

poteto-mode is my style. you may not want exactly that.

type /automate-me. it mines your recent transcripts, drafts a <your-name>-mode skill from how you've actually worked, and routes through pstack underneath. you keep pstack as the base and end up with your own routing skill alongside poteto-mode.

models are configurable too. type /setup-pstack. it detects the models you have access to and writes a small always-applied rule mapping each role (code, judgment, the review panels) to a model. every skill reads it and falls back to sensible defaults when the rule is absent, so you override only what you want.

automations

pstack also ships a dormant benny automation pack. benny triages slack issue reports, then reproduces and fixes confirmed bugs with real ui evidence. its files are not registered as slash skills.

to set it up, point cursor at FOR_AGENTS.md. setup copies the pack into the target repository at .cursor/automations/benny/, enables pstack there for shared skills, and keeps user configuration outside the copied pack.

license

MIT