Files
cursor__plugins/pstack/docs/guide/07-overnight.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

5.2 KiB

Run work while you sleep

This is the payoff for everything before it. An agent you can trust to verify its own work is an agent you can leave alone with a hard task. What makes that safe isn't hope. It's a checkable finish condition, an isolated worktree, and a decision log you audit in the morning.

She waves goodnight from the door while robots keep the factory running, one updating a DECISION LOG wall board under a BUILD LOOP ACTIVE sign.

The overnight contract

A good handoff has the goal, the finish condition, permissions, and an escape hatch. It doesn't need to be long:

/poteto-mode im going to bed. migrate every caller to the new parser in a fresh worktree off <base>.
done means zero old callers, all parser fixtures pass, old api deleted.
keep a decision log. don't ask me before committing.
/loop until done. if you're truly stuck after a few hours, stop and write up why.

Walk through what each line buys you:

  • "im going to bed" is a session override. The agent stops asking and keeps going.
  • "done means..." turns the goal into checks every iteration can run.
  • "fresh worktree off <base>" keeps the run from colliding with anything else you have open.
  • "don't ask me before committing" pre-answers the permission the agent would otherwise block on.
  • /loop is Cursor's built-in wake mechanism, not a pstack skill. The Autonomous run playbook uses it to re-check the finish condition on events or a heartbeat.
  • The escape hatch lets it stop at a genuine dead end and write up why, which beats eight hours of creative goal reinterpretation.

Because you'll review this work after stepping away, /poteto-mode routes it through /figure-it-out, which designs the run's phases before any code and wires in the decision log.

What the loop does all night

flowchart TD
    A[Check the finish condition] --> B[Make the smallest justified change]
    B --> C[Verify against the real artifact]
    C --> D{Progress?}
    D -->|Yes| E[Commit]
    D -->|No| F[Discard]
    E --> G[Log one decision row]
    F --> G
    G --> A

One change, one check, one log row, every iteration. Changes that didn't help get discarded, not left to ride. A plateau means pivot, not stop, and the finish condition never quietly relaxes to declare victory.

The morning audit

/show-me-your-work is what makes the run reviewable. Each row records the time, phase, decision, reason, an evidence pointer, and the result, in a TSV at decisions.tsv (or .audit/<task-slug>.tsv when several runs share a directory). It stays local by default. Commit it when the work is ambitious enough that a reviewer needs the trail to trust the result.

When you're back, ask for the run in review form:

/show-me-your-work catch me up on what you did last night

Before the skill hands back its summary, it spawns a reviewer on a different model family to read the trail and the transcript, and the reply ends with an Attention section listing what deserves your scrutiny. Read that section first, then the log rows it points at. You're auditing decisions, not re-reading the whole night.

When the night holds a queue, not a task

The contract above drives one task to one finish condition. Some nights hold more, a queue of independent changes or a whole program. Three playbooks scale the same trust up.

Autopilot-full runs a queue of independent PRs to merged. Each PR gets one owner agent that carries it from build through merge, and no owner merges on its own verdict. A swarm of fresh verifiers checks every merge-ready head, and only a clean verdict authorizes the merge:

/poteto-mode full autopilot on this queue. each item is independent. i want them merged by morning.

Autopilot-stack runs the same owner loop but ships nothing. You wake up to one linear Graphite stack with a verifier's verdict on every link, and you review and land it yourself. Pick it over Autopilot-full when the changes are coupled, or when you want your own eyes on the work before anything merges:

/poteto-mode autopilot these five changes but stack them, don't ship. i'll land the stack in the morning.

Orchestrate is for a program that outlives any single agent: multi-day, many stacked PRs, fleets of subagents under one standing coordinator chat. The coordinator authors briefs, collects what its subagents finish, keeps the lowest unmerged PR green, and never writes code itself. It's deliberately heavy machinery. If one agent could finish the work in a session, the playbook itself routes you back to the overnight contract above:

/poteto-mode orchestrate the store migration. own it until every package is converted and merged. i'll check in twice a day.

Pitfall: a duration is not a finish condition. "work on this for 4 hours" gives the agent nothing to check, and you'll wake up to four hours of motion instead of a result. Give /loop a predicate that can pass or fail.

Next: Steer with principle names.