Files
cursor__plugins/pstack/docs/guide/05-build-and-clean.md
lauren 424829e3e0 docs(pstack): bring guide current with new skills and playbooks (#188)
* docs(pstack): complete the poteto-mode route map

The guide's route paragraph predates the autopilot playbooks, so a
reader browsing routes never learns a PR queue can run on autopilot.
Add that route, and give worktree cleanup a prompt in the section
that tells readers to fan out worktrees in the first place.

Co-authored-by: lauren <poteto@users.noreply.github.com>

* docs(pstack): teach /no-comments and Comment Sicko in the cleanup chapter

The cleanup habit covered /deslop and /unslop but not the comment
pass, so readers never met Comment Sicko or the constraint-encoding
offer. Add the before-review step and state the deslop / unslop /
no-comments division of labor.

Co-authored-by: lauren <poteto@users.noreply.github.com>

* docs(pstack): cover Babysit and Shipping after the PR opens

The chapter ended at opening the PR and a note claiming pstack
bundles no PR monitoring. That note is stale: Babysit ships with the
watch-pr watcher and Shipping lands verified stacks through Graphite
merge-when-ready. Replace it with the two playbooks, their prompts,
and the merge-ready versus land distinction.

Co-authored-by: lauren <poteto@users.noreply.github.com>

* docs(pstack): teach the autopilots and orchestrate in the overnight chapter

The chapter covered one task per night and nothing bigger, so the
queue and program playbooks had no home in the guide. Add
autopilot-full, autopilot-stack, and orchestrate with prompts and
the rule for choosing between them.

Co-authored-by: lauren <poteto@users.noreply.github.com>

* docs(pstack): introduce /technical-writing and /bro in the later chapters

Both skills shipped without a guide mention. /technical-writing sits
with skill authoring, where readers already write prose that agents
and humans consume. /bro joins the recipes as the one-word prompt for
a jargon-free restatement.

Co-authored-by: lauren <poteto@users.noreply.github.com>

* docs(pstack): technical-writing pass over the new guide prose

Fixes traced to the skill's rules. Split sentences carrying two or
three thoughts (STE). Moved 'only' next to what it changes and gave
the merge-ready heading a real subject instead of 'it' (Global
English). One name per thing: uncommitted work, Autopilot-full,
verdict instead of say-so. Replaced unglossed jargon with plain
words: 'drains completions' and 'merge frontier' now say what the
coordinator does, 'the real surface' is now 'proves the behavior
live'.

Co-authored-by: lauren <poteto@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-02 13:25:40 -07:00

4.7 KiB

Build the change and clean the diff

The build playbooks share one discipline. Say what you observed, let the playbook demand the evidence. This page shows what to put in the prompt for each common build task, then the cleanup habit that keeps diffs reviewable.

Prompt each build playbook with what you know

A bug prompt states the symptom and asks for a reproduction first:

/poteto-mode this command emits two records after a retry. repro first, then fix and verify.

A feature prompt states the behavior and what must not change:

/poteto-mode add a --json flag. text output stays byte-identical. verify both forms.

A refactoring prompt pins behavior before structure moves:

/poteto-mode move parsing into one module, zero behavior change. record the current output first and prove it's unchanged after.

A perf prompt states the measurement, not a vibe:

/poteto-mode startup takes 1.8s on this fixture. trace it, fix the measured cause, show me before and after.

Each of these routes to its playbook (Bug fix, Feature, Refactoring, Perf issue), and the playbook supplies the steps you didn't type: reproduce before fixing, name the data shape before implementing, pin behavior before restructuring, profile before optimizing.

For sustained improvement of one number, there's the Hillclimb playbook. Give it the metric, a target, and a floor on attempts, and it loops one hypothesis at a time with a frozen measurement harness. It keeps wins and reverts everything else.

Write the failing test first with /tdd

When a bug has a cheap local test path, the whole prompt can be two words:

/tdd implement

In context, that's enough. /tdd writes the smallest test that fails for the intended reason, then the fix, then reruns the test. If a test would need broad harness setup or brittle mocks, the skill says so and uses the closest executable check instead. Don't force a test where a real command is stronger evidence.

Let the TypeScript rules load themselves

typescript-best-practices has no slash command in your workflow. It loads whenever the agent touches a .ts or .tsx file and turns the type-system principles into concrete rules: discriminated unions, unknown at boundaries, exhaustive variants, schema-derived types.

Clean before you commit

The Opening a PR playbook runs /deslop on the diff before each commit and applies /unslop to the PR description and commit bodies. /deslop ships in the cursor-team-kit plugin, not in pstack. If you don't have it, ask for the same outcome in plain words: remove narrating comments, unsupported guards, dead compatibility paths, and unrelated edits.

For prose, /unslop takes a target and any extra rules you have:

/unslop the readme changes, no emdashes

You'll develop your own shorthand. The skill reads intent fine from terse prompts like unslop that, tighten it.

Strip the comments with /no-comments

Comments need their own pass, and not from the agent that wrote them. An author defends its comments the way you'd defend yours. So before review, hand them to fresh eyes:

/no-comments the diff

/no-comments spawns Comment Sicko, a read-only reviewer with a short keep list: license headers, doc comments on a public API, links that explain what code can't, behavior forced by an external dependency you can't reshape. Everything else goes. A surprise in your own code gets no such pass. The comment comes back as a refactor flag, and /no-comments fixes the flags it accepts at the root cause. When a comment claims a constraint, "do not remove", the skill offers to encode the claim as a type, test, or lint. Either way, the comment comes out.

The division of labor is worth keeping straight. /deslop cleans slop out of the code, /unslop cleans it out of prose, and /no-comments hands the comments to a reviewer who didn't write them.

Pitfall: cleanup is not optional polish. A diff with narrating comments and defensive dead weight reads as unfinished to reviewers, and the extra code is where the next bug hides. If the diff feels padded, say deslop it before you commit, not after review calls it out.

Next: Verify and ship.