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 or cloud agent, and a decision log you audit in the morning.

Earn the trust before the loop
A loop you don't trust just produces unchecked work faster, and the mess compounds with every iteration. Before you leave one running, check that it has earned it:
- You've done the task once by hand, or watched an agent do it, so you know what good looks like.
- The agent has the tools and signals you'd use yourself: the verification skill, the profiler, the logs.
- Every stage proves its work and can stop the line when the work misses the bar.
- You've read a few transcripts and turned the repeated failures into tools, skills, or checks.
Make the loop autonomous only after all four hold. Until then, run it while you watch.
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.
/loopis 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.
To stop a run on purpose, tell the agent to pause, or that you're about to go offline or restart Cursor. The Pause safely playbook finishes or backs out of the current step, commits a work-in-progress checkpoint, and writes a resume note. A fresh chat picks the work up from that note through the Session pickup playbook. Saying "keep going" never triggers a pause.
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 starts a round at the owner's code-ready head and again at every later push that changes the patch. Only a clean verdict on the patch that merges 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 base-branch 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.
Run many projects in parallel
A Cursor Project gives one coordinator agent a persistent thread. The coordinator doesn't write code. It directs subagents, which run in the cloud by default, so the work continues when your laptop is closed. That's the shape the Orchestrate playbook expects. Start your prompts to the coordinator with /poteto-mode, and the subagents it spawns follow the playbooks.
A few habits help:
- Give each body of work its own Project, such as a feature, a migration, a perf push, or a tech-debt cleanup. Several can run side by side.
- Drag related chats into the Project, finished ones included. They become context for every agent in it.
- Give each PR a verification swarm before it merges, and let Autopilot-stack or Autopilot-full carry the queue.
- Ask the coordinator for a plan backed by data, and have it answer open questions with prototypes before it asks you.
One prompt can carry a whole Project, from research through execution:
/poteto-mode refactor this repo so its architecture is more agent friendly. use /correct and /architect on past commits and review comments to find the mistakes agents make most here. use /recall for context from past chats. answer open questions with prototypes instead of asking me. come back with a plan backed by real data. once i approve it, run it with autopilot-stack or autopilot-full, and ask me which.
Let loops start themselves
Every loop above still waits for you to start it. A scheduled or event-driven automation removes that step. Software maintenance splits into stages that suit this well: triage a report, reproduce it, fix it, verify the fix. Two rules keep such a line trustworthy:
- Every stage can stop the line. Triage can decide the report is expected behavior, repro can fail to reproduce it, and the fixer can judge the change too risky. Each of those outcomes is useful, because it keeps bad work from reaching the next stage, where it costs more to undo.
- Every stage hands over evidence. Repro attaches screenshots and video of the broken state, and the fix attaches before-and-after proof. A human can then check that the agent fixed the right thing before reading a line of code.
pstack ships this as a dormant automation pack for Slack issue reports. One automation triages each report. The other reproduces confirmed bugs and may prepare a small draft fix. Point an agent at its FOR_AGENTS.md and name the target repository to set it up.
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.