dsh-pstack 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +158 -2
- package/assets/agents/comment-sicko.md +32 -0
- package/assets/agents/poteto-agent.md +8 -0
- package/assets/docs/guide/01-setup.md +64 -0
- package/assets/docs/guide/02-poteto-mode.md +139 -0
- package/assets/docs/guide/03-understand.md +79 -0
- package/assets/docs/guide/04-design.md +133 -0
- package/assets/docs/guide/05-build-and-clean.md +83 -0
- package/assets/docs/guide/06-verify-and-ship.md +152 -0
- package/assets/docs/guide/07-overnight.md +122 -0
- package/assets/docs/guide/08-principles.md +72 -0
- package/assets/docs/guide/09-make-it-yours.md +100 -0
- package/assets/docs/guide/10-recipes-and-pitfalls.md +180 -0
- package/assets/docs/guide/README.md +38 -0
- package/assets/docs/harness/dsh.md +65 -0
- package/assets/docs/pstack-models.example.md +23 -0
- package/assets/skills/architect/SKILL.md +81 -0
- package/assets/skills/architect/references/design-red-flags.md +57 -0
- package/assets/skills/architect/references/rationale-template.md +35 -0
- package/assets/skills/architect/references/runner-prompt.md +20 -0
- package/assets/skills/arena/SKILL.md +50 -0
- package/assets/skills/automate-me/SKILL.md +105 -0
- package/assets/skills/benchmark-checklist/SKILL.md +41 -0
- package/assets/skills/blast-radius/SKILL.md +52 -0
- package/assets/skills/bro/SKILL.md +9 -0
- package/assets/skills/correct/SKILL.md +34 -0
- package/assets/skills/create-formal-verification-skill/SKILL.md +43 -0
- package/assets/skills/create-verification-skill/SKILL.md +46 -0
- package/assets/skills/create-verification-skill/references/feature-map-example/README.md +47 -0
- package/assets/skills/create-verification-skill/references/feature-map-example/create-note.md +39 -0
- package/assets/skills/create-verification-skill/references/feature-map-example/search.md +45 -0
- package/assets/skills/figure-it-out/SKILL.md +54 -0
- package/assets/skills/how/SKILL.md +38 -0
- package/assets/skills/how/references/explainer-prompt.md +55 -0
- package/assets/skills/how/references/explorer-prompt.md +35 -0
- package/assets/skills/in-your-own-words/SKILL.md +9 -0
- package/assets/skills/interrogate/SKILL.md +69 -0
- package/assets/skills/interrogate/references/code-quality-review.md +47 -0
- package/assets/skills/interrogate/references/lead-judgment.md +39 -0
- package/assets/skills/interrogate/references/reviewer-prompt.md +62 -0
- package/assets/skills/interrogate/references/rubric.md +77 -0
- package/assets/skills/ketchup/SKILL.md +45 -0
- package/assets/skills/maintain-formal-verification-skill/SKILL.md +60 -0
- package/assets/skills/maintain-verification-skill/SKILL.md +41 -0
- package/assets/skills/no-comments/SKILL.md +26 -0
- package/assets/skills/poteto-help/SKILL.md +161 -0
- package/assets/skills/poteto-help/references/prompting.md +51 -0
- package/assets/skills/poteto-help/references/recipes.md +51 -0
- package/assets/skills/poteto-mode/SKILL.md +153 -0
- package/assets/skills/poteto-mode/playbooks/authoring-a-skill.md +12 -0
- package/assets/skills/poteto-mode/playbooks/autonomous-run.md +13 -0
- package/assets/skills/poteto-mode/playbooks/autopilot-full.md +25 -0
- package/assets/skills/poteto-mode/playbooks/autopilot-stack.md +12 -0
- package/assets/skills/poteto-mode/playbooks/babysit.md +23 -0
- package/assets/skills/poteto-mode/playbooks/bug-fix.md +15 -0
- package/assets/skills/poteto-mode/playbooks/eval.md +25 -0
- package/assets/skills/poteto-mode/playbooks/feature.md +21 -0
- package/assets/skills/poteto-mode/playbooks/hillclimb.md +21 -0
- package/assets/skills/poteto-mode/playbooks/investigation.md +14 -0
- package/assets/skills/poteto-mode/playbooks/multi-phase-plan.md +155 -0
- package/assets/skills/poteto-mode/playbooks/opening-a-pr.md +34 -0
- package/assets/skills/poteto-mode/playbooks/orchestrate.md +112 -0
- package/assets/skills/poteto-mode/playbooks/pause-safely.md +10 -0
- package/assets/skills/poteto-mode/playbooks/perf-issue.md +25 -0
- package/assets/skills/poteto-mode/playbooks/prototype.md +14 -0
- package/assets/skills/poteto-mode/playbooks/refactoring.md +16 -0
- package/assets/skills/poteto-mode/playbooks/runtime-forensics.md +11 -0
- package/assets/skills/poteto-mode/playbooks/session-pickup.md +11 -0
- package/assets/skills/poteto-mode/playbooks/shipping.md +12 -0
- package/assets/skills/poteto-mode/playbooks/trace-forensics.md +14 -0
- package/assets/skills/poteto-mode/playbooks/visual-parity.md +11 -0
- package/assets/skills/poteto-mode/playbooks/worktree-cleanup.md +12 -0
- package/assets/skills/poteto-mode/references/bugbot-triage.md +142 -0
- package/assets/skills/poteto-mode/scripts/bootstrap.ts +62 -0
- package/assets/skills/poteto-mode/scripts/bun.lock +67 -0
- package/assets/skills/poteto-mode/scripts/check-plan.mjs +205 -0
- package/assets/skills/poteto-mode/scripts/check-plan.test.ts +96 -0
- package/assets/skills/poteto-mode/scripts/orch/orch.test.ts +761 -0
- package/assets/skills/poteto-mode/scripts/orch/orch.ts +590 -0
- package/assets/skills/poteto-mode/scripts/orch/store.ts +1677 -0
- package/assets/skills/poteto-mode/scripts/package.json +16 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/cli.test.ts +224 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/cli.ts +223 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +129 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/github.test.ts +436 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/github.ts +718 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/policy.test.ts +420 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/policy.ts +836 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/render.ts +169 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/tsconfig.json +13 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/types.compile.ts +93 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/types.ts +413 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/watch-pr +6 -0
- package/assets/skills/poteto-mode/scripts/worktree-audit.sh +127 -0
- package/assets/skills/principle-attack-the-premise/SKILL.md +23 -0
- package/assets/skills/principle-boundary-discipline/SKILL.md +36 -0
- package/assets/skills/principle-build-the-lever/SKILL.md +26 -0
- package/assets/skills/principle-encode-lessons-in-structure/SKILL.md +13 -0
- package/assets/skills/principle-exhaust-the-design-space/SKILL.md +11 -0
- package/assets/skills/principle-experience-first/SKILL.md +21 -0
- package/assets/skills/principle-explain-the-number/SKILL.md +19 -0
- package/assets/skills/principle-fix-root-causes/SKILL.md +23 -0
- package/assets/skills/principle-foundational-thinking/SKILL.md +23 -0
- package/assets/skills/principle-guard-the-context-window/SKILL.md +14 -0
- package/assets/skills/principle-laziness-protocol/SKILL.md +12 -0
- package/assets/skills/principle-make-operations-idempotent/SKILL.md +24 -0
- package/assets/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +16 -0
- package/assets/skills/principle-minimize-reader-load/SKILL.md +20 -0
- package/assets/skills/principle-model-the-domain/SKILL.md +26 -0
- package/assets/skills/principle-never-block-on-the-human/SKILL.md +17 -0
- package/assets/skills/principle-outcome-oriented-execution/SKILL.md +23 -0
- package/assets/skills/principle-prove-it-works/SKILL.md +24 -0
- package/assets/skills/principle-redesign-from-first-principles/SKILL.md +18 -0
- package/assets/skills/principle-separate-before-serializing-shared-state/SKILL.md +18 -0
- package/assets/skills/principle-sequence-verifiable-units/SKILL.md +19 -0
- package/assets/skills/principle-subtract-before-you-add/SKILL.md +20 -0
- package/assets/skills/principle-test-behavior-not-implementation/SKILL.md +22 -0
- package/assets/skills/principle-type-system-discipline/SKILL.md +15 -0
- package/assets/skills/recall/SKILL.md +37 -0
- package/assets/skills/reflect/SKILL.md +70 -0
- package/assets/skills/reflect/references/divergent-reviewer.md +38 -0
- package/assets/skills/reflect/references/judgment-reviewer.md +37 -0
- package/assets/skills/reflect/references/synthesizer.md +56 -0
- package/assets/skills/reflect/references/tooling-reviewer.md +48 -0
- package/assets/skills/setup-pstack/SKILL.md +76 -0
- package/assets/skills/sharpen/SKILL.md +18 -0
- package/assets/skills/show-me-your-work/SKILL.md +84 -0
- package/assets/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
- package/assets/skills/show-me-your-work/scripts/log.sh +42 -0
- package/assets/skills/swarm/SKILL.md +41 -0
- package/assets/skills/tdd/SKILL.md +44 -0
- package/assets/skills/teach/SKILL.md +23 -0
- package/assets/skills/technical-writing/SKILL.md +108 -0
- package/assets/skills/typescript-best-practices/SKILL.md +32 -0
- package/assets/skills/typescript-best-practices/references/patterns.md +328 -0
- package/assets/skills/unslop/SKILL.md +64 -0
- package/assets/skills/why/SKILL.md +100 -0
- package/assets/skills/why/references/epistemics.md +71 -0
- package/assets/skills/why/references/investigator-prompt.md +84 -0
- package/assets/skills/why/references/source-playbook.md +17 -0
- package/assets/skills/why/references/sources/code-archaeology.md +51 -0
- package/assets/skills/why/references/sources/databricks.md +70 -0
- package/assets/skills/why/references/sources/datadog.md +97 -0
- package/assets/skills/why/references/sources/incident-postmortem.md +5 -0
- package/assets/skills/why/references/sources/linear.md +48 -0
- package/assets/skills/why/references/sources/notion.md +55 -0
- package/assets/skills/why/references/sources/sentry.md +66 -0
- package/assets/skills/why/references/sources/slack.md +17 -0
- package/assets/skills/why/references/synthesizer-prompt.md +129 -0
- package/cordis.patch.yml +20 -0
- package/dist/LICENSE +22 -0
- package/dist/README.md +159 -0
- package/dist/assets/agents/comment-sicko.md +32 -0
- package/dist/assets/agents/poteto-agent.md +8 -0
- package/dist/assets/docs/guide/01-setup.md +64 -0
- package/dist/assets/docs/guide/02-poteto-mode.md +139 -0
- package/dist/assets/docs/guide/03-understand.md +79 -0
- package/dist/assets/docs/guide/04-design.md +133 -0
- package/dist/assets/docs/guide/05-build-and-clean.md +83 -0
- package/dist/assets/docs/guide/06-verify-and-ship.md +152 -0
- package/dist/assets/docs/guide/07-overnight.md +122 -0
- package/dist/assets/docs/guide/08-principles.md +72 -0
- package/dist/assets/docs/guide/09-make-it-yours.md +100 -0
- package/dist/assets/docs/guide/10-recipes-and-pitfalls.md +180 -0
- package/dist/assets/docs/guide/README.md +38 -0
- package/dist/assets/docs/harness/dsh.md +65 -0
- package/dist/assets/docs/pstack-models.example.md +23 -0
- package/dist/assets/skills/architect/SKILL.md +81 -0
- package/dist/assets/skills/architect/references/design-red-flags.md +57 -0
- package/dist/assets/skills/architect/references/rationale-template.md +35 -0
- package/dist/assets/skills/architect/references/runner-prompt.md +20 -0
- package/dist/assets/skills/arena/SKILL.md +50 -0
- package/dist/assets/skills/automate-me/SKILL.md +105 -0
- package/dist/assets/skills/benchmark-checklist/SKILL.md +41 -0
- package/dist/assets/skills/blast-radius/SKILL.md +52 -0
- package/dist/assets/skills/bro/SKILL.md +9 -0
- package/dist/assets/skills/correct/SKILL.md +34 -0
- package/dist/assets/skills/create-formal-verification-skill/SKILL.md +43 -0
- package/dist/assets/skills/create-verification-skill/SKILL.md +46 -0
- package/dist/assets/skills/create-verification-skill/references/feature-map-example/README.md +47 -0
- package/dist/assets/skills/create-verification-skill/references/feature-map-example/create-note.md +39 -0
- package/dist/assets/skills/create-verification-skill/references/feature-map-example/search.md +45 -0
- package/dist/assets/skills/figure-it-out/SKILL.md +54 -0
- package/dist/assets/skills/how/SKILL.md +38 -0
- package/dist/assets/skills/how/references/explainer-prompt.md +55 -0
- package/dist/assets/skills/how/references/explorer-prompt.md +35 -0
- package/dist/assets/skills/in-your-own-words/SKILL.md +9 -0
- package/dist/assets/skills/interrogate/SKILL.md +69 -0
- package/dist/assets/skills/interrogate/references/code-quality-review.md +47 -0
- package/dist/assets/skills/interrogate/references/lead-judgment.md +39 -0
- package/dist/assets/skills/interrogate/references/reviewer-prompt.md +62 -0
- package/dist/assets/skills/interrogate/references/rubric.md +77 -0
- package/dist/assets/skills/ketchup/SKILL.md +45 -0
- package/dist/assets/skills/maintain-formal-verification-skill/SKILL.md +60 -0
- package/dist/assets/skills/maintain-verification-skill/SKILL.md +41 -0
- package/dist/assets/skills/no-comments/SKILL.md +26 -0
- package/dist/assets/skills/poteto-help/SKILL.md +161 -0
- package/dist/assets/skills/poteto-help/references/prompting.md +51 -0
- package/dist/assets/skills/poteto-help/references/recipes.md +51 -0
- package/dist/assets/skills/poteto-mode/SKILL.md +153 -0
- package/dist/assets/skills/poteto-mode/playbooks/authoring-a-skill.md +12 -0
- package/dist/assets/skills/poteto-mode/playbooks/autonomous-run.md +13 -0
- package/dist/assets/skills/poteto-mode/playbooks/autopilot-full.md +25 -0
- package/dist/assets/skills/poteto-mode/playbooks/autopilot-stack.md +12 -0
- package/dist/assets/skills/poteto-mode/playbooks/babysit.md +23 -0
- package/dist/assets/skills/poteto-mode/playbooks/bug-fix.md +15 -0
- package/dist/assets/skills/poteto-mode/playbooks/eval.md +25 -0
- package/dist/assets/skills/poteto-mode/playbooks/feature.md +21 -0
- package/dist/assets/skills/poteto-mode/playbooks/hillclimb.md +21 -0
- package/dist/assets/skills/poteto-mode/playbooks/investigation.md +14 -0
- package/dist/assets/skills/poteto-mode/playbooks/multi-phase-plan.md +155 -0
- package/dist/assets/skills/poteto-mode/playbooks/opening-a-pr.md +34 -0
- package/dist/assets/skills/poteto-mode/playbooks/orchestrate.md +112 -0
- package/dist/assets/skills/poteto-mode/playbooks/pause-safely.md +10 -0
- package/dist/assets/skills/poteto-mode/playbooks/perf-issue.md +25 -0
- package/dist/assets/skills/poteto-mode/playbooks/prototype.md +14 -0
- package/dist/assets/skills/poteto-mode/playbooks/refactoring.md +16 -0
- package/dist/assets/skills/poteto-mode/playbooks/runtime-forensics.md +11 -0
- package/dist/assets/skills/poteto-mode/playbooks/session-pickup.md +11 -0
- package/dist/assets/skills/poteto-mode/playbooks/shipping.md +12 -0
- package/dist/assets/skills/poteto-mode/playbooks/trace-forensics.md +14 -0
- package/dist/assets/skills/poteto-mode/playbooks/visual-parity.md +11 -0
- package/dist/assets/skills/poteto-mode/playbooks/worktree-cleanup.md +12 -0
- package/dist/assets/skills/poteto-mode/references/bugbot-triage.md +142 -0
- package/dist/assets/skills/poteto-mode/scripts/bootstrap.ts +62 -0
- package/dist/assets/skills/poteto-mode/scripts/bun.lock +67 -0
- package/dist/assets/skills/poteto-mode/scripts/check-plan.mjs +205 -0
- package/dist/assets/skills/poteto-mode/scripts/check-plan.test.ts +96 -0
- package/dist/assets/skills/poteto-mode/scripts/orch/orch.test.ts +761 -0
- package/dist/assets/skills/poteto-mode/scripts/orch/orch.ts +590 -0
- package/dist/assets/skills/poteto-mode/scripts/orch/store.ts +1677 -0
- package/dist/assets/skills/poteto-mode/scripts/package.json +16 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/cli.test.ts +224 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/cli.ts +223 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +129 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/github.test.ts +436 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/github.ts +718 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/policy.test.ts +420 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/policy.ts +836 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/render.ts +169 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/tsconfig.json +13 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/types.compile.ts +93 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/types.ts +413 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/watch-pr +6 -0
- package/dist/assets/skills/poteto-mode/scripts/worktree-audit.sh +127 -0
- package/dist/assets/skills/principle-attack-the-premise/SKILL.md +23 -0
- package/dist/assets/skills/principle-boundary-discipline/SKILL.md +36 -0
- package/dist/assets/skills/principle-build-the-lever/SKILL.md +26 -0
- package/dist/assets/skills/principle-encode-lessons-in-structure/SKILL.md +13 -0
- package/dist/assets/skills/principle-exhaust-the-design-space/SKILL.md +11 -0
- package/dist/assets/skills/principle-experience-first/SKILL.md +21 -0
- package/dist/assets/skills/principle-explain-the-number/SKILL.md +19 -0
- package/dist/assets/skills/principle-fix-root-causes/SKILL.md +23 -0
- package/dist/assets/skills/principle-foundational-thinking/SKILL.md +23 -0
- package/dist/assets/skills/principle-guard-the-context-window/SKILL.md +14 -0
- package/dist/assets/skills/principle-laziness-protocol/SKILL.md +12 -0
- package/dist/assets/skills/principle-make-operations-idempotent/SKILL.md +24 -0
- package/dist/assets/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +16 -0
- package/dist/assets/skills/principle-minimize-reader-load/SKILL.md +20 -0
- package/dist/assets/skills/principle-model-the-domain/SKILL.md +26 -0
- package/dist/assets/skills/principle-never-block-on-the-human/SKILL.md +17 -0
- package/dist/assets/skills/principle-outcome-oriented-execution/SKILL.md +23 -0
- package/dist/assets/skills/principle-prove-it-works/SKILL.md +24 -0
- package/dist/assets/skills/principle-redesign-from-first-principles/SKILL.md +18 -0
- package/dist/assets/skills/principle-separate-before-serializing-shared-state/SKILL.md +18 -0
- package/dist/assets/skills/principle-sequence-verifiable-units/SKILL.md +19 -0
- package/dist/assets/skills/principle-subtract-before-you-add/SKILL.md +20 -0
- package/dist/assets/skills/principle-test-behavior-not-implementation/SKILL.md +22 -0
- package/dist/assets/skills/principle-type-system-discipline/SKILL.md +15 -0
- package/dist/assets/skills/recall/SKILL.md +37 -0
- package/dist/assets/skills/reflect/SKILL.md +70 -0
- package/dist/assets/skills/reflect/references/divergent-reviewer.md +38 -0
- package/dist/assets/skills/reflect/references/judgment-reviewer.md +37 -0
- package/dist/assets/skills/reflect/references/synthesizer.md +56 -0
- package/dist/assets/skills/reflect/references/tooling-reviewer.md +48 -0
- package/dist/assets/skills/setup-pstack/SKILL.md +76 -0
- package/dist/assets/skills/sharpen/SKILL.md +18 -0
- package/dist/assets/skills/show-me-your-work/SKILL.md +84 -0
- package/dist/assets/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
- package/dist/assets/skills/show-me-your-work/scripts/log.sh +42 -0
- package/dist/assets/skills/swarm/SKILL.md +41 -0
- package/dist/assets/skills/tdd/SKILL.md +44 -0
- package/dist/assets/skills/teach/SKILL.md +23 -0
- package/dist/assets/skills/technical-writing/SKILL.md +108 -0
- package/dist/assets/skills/typescript-best-practices/SKILL.md +32 -0
- package/dist/assets/skills/typescript-best-practices/references/patterns.md +328 -0
- package/dist/assets/skills/unslop/SKILL.md +64 -0
- package/dist/assets/skills/why/SKILL.md +100 -0
- package/dist/assets/skills/why/references/epistemics.md +71 -0
- package/dist/assets/skills/why/references/investigator-prompt.md +84 -0
- package/dist/assets/skills/why/references/source-playbook.md +17 -0
- package/dist/assets/skills/why/references/sources/code-archaeology.md +51 -0
- package/dist/assets/skills/why/references/sources/databricks.md +70 -0
- package/dist/assets/skills/why/references/sources/datadog.md +97 -0
- package/dist/assets/skills/why/references/sources/incident-postmortem.md +5 -0
- package/dist/assets/skills/why/references/sources/linear.md +48 -0
- package/dist/assets/skills/why/references/sources/notion.md +55 -0
- package/dist/assets/skills/why/references/sources/sentry.md +66 -0
- package/dist/assets/skills/why/references/sources/slack.md +17 -0
- package/dist/assets/skills/why/references/synthesizer-prompt.md +129 -0
- package/dist/cordis.patch.yml +20 -0
- package/dist/index.d.mts +16 -0
- package/dist/index.mjs +172 -0
- package/dist/index.mjs.map +1 -0
- package/dist/paths-Bbai4CaT.mjs +16 -0
- package/dist/paths-Bbai4CaT.mjs.map +1 -0
- package/dist/subagent.d.mts +130 -0
- package/dist/subagent.mjs +436 -0
- package/dist/subagent.mjs.map +1 -0
- package/package.json +92 -3
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Run work while you sleep
|
|
2
|
+
|
|
3
|
+
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 a worktree subagent, and a decision log you audit in the morning.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## Earn the trust before the loop
|
|
8
|
+
|
|
9
|
+
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:
|
|
10
|
+
|
|
11
|
+
- You've done the task once by hand, or watched an agent do it, so you know what good looks like.
|
|
12
|
+
- The agent has the tools and signals you'd use yourself: the verification skill, the profiler, the logs.
|
|
13
|
+
- Every stage proves its work and can stop the line when the work misses the bar.
|
|
14
|
+
- You've read a few transcripts and turned the repeated failures into tools, skills, or checks.
|
|
15
|
+
|
|
16
|
+
Make the loop autonomous only after all four hold. Until then, run it while you watch.
|
|
17
|
+
|
|
18
|
+
## The overnight contract
|
|
19
|
+
|
|
20
|
+
A good handoff has the goal, the finish condition, permissions, and an escape hatch. It doesn't need to be long:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
/poteto-mode im going to bed. migrate every caller to the new parser in a fresh worktree off <base>.
|
|
24
|
+
done means zero old callers, all parser fixtures pass, old api deleted.
|
|
25
|
+
keep a decision log. don't ask me before committing.
|
|
26
|
+
Arm a `schedule_create` heartbeat for the finish condition. if you're truly stuck after a few hours, stop and write up why.
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Walk through what each line buys you:
|
|
30
|
+
|
|
31
|
+
- "im going to bed" is a session override. The agent stops asking and keeps going.
|
|
32
|
+
- "done means..." turns the goal into checks every iteration can run.
|
|
33
|
+
- "fresh worktree off `<base>`" keeps the run from colliding with anything else you have open.
|
|
34
|
+
- "don't ask me before committing" pre-answers the permission the agent would otherwise block on.
|
|
35
|
+
- `schedule_create` is a DSH tool, not a pstack skill. The [Autonomous run playbook](../../skills/poteto-mode/playbooks/autonomous-run.md) uses it to re-check the finish condition on events or a heartbeat.
|
|
36
|
+
- The escape hatch lets it stop at a genuine dead end and write up why, which beats eight hours of creative goal reinterpretation.
|
|
37
|
+
|
|
38
|
+
Because you'll review this work after stepping away, `/poteto-mode` routes it through [`/figure-it-out`](../../skills/figure-it-out/SKILL.md), which designs the run's phases before any code and wires in the decision log.
|
|
39
|
+
|
|
40
|
+
To stop a run on purpose, tell the agent to pause, or that you're about to go offline or restart the harness. The [Pause safely playbook](../../skills/poteto-mode/playbooks/pause-safely.md) 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.
|
|
41
|
+
|
|
42
|
+
## What the loop does all night
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
flowchart TD
|
|
46
|
+
A[Check the finish condition] --> B[Make the smallest justified change]
|
|
47
|
+
B --> C[Verify against the real artifact]
|
|
48
|
+
C --> D{Progress?}
|
|
49
|
+
D -->|Yes| E[Commit]
|
|
50
|
+
D -->|No| F[Discard]
|
|
51
|
+
E --> G[Log one decision row]
|
|
52
|
+
F --> G
|
|
53
|
+
G --> A
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
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.
|
|
57
|
+
|
|
58
|
+
## The morning audit
|
|
59
|
+
|
|
60
|
+
[`/show-me-your-work`](../../skills/show-me-your-work/SKILL.md) 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.
|
|
61
|
+
|
|
62
|
+
When you're back, ask for the run in review form:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
/show-me-your-work catch me up on what you did last night
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
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.
|
|
69
|
+
|
|
70
|
+
For a quick status instead of an audit, run [`/ketchup`](../../skills/ketchup/SKILL.md) in the chat that ran the work. It reads only, and tells you in plain words what changed since your last message, with the screenshots and small diagrams the work produced. Then it lists each call waiting on you, such as a merge, an approval, or a choice between options, with its pick, the evidence, and the risk, so you can decide from the reply alone.
|
|
71
|
+
|
|
72
|
+
## When the night holds a queue, not a task
|
|
73
|
+
|
|
74
|
+
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.
|
|
75
|
+
|
|
76
|
+
[Autopilot-full](../../skills/poteto-mode/playbooks/autopilot-full.md) 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 the owner's code-ready head. A later rebase or minor fix gets one fresh verifier, and only new behavior or a large new diff calls the full swarm again. Only a clean verdict on the patch that merges authorizes the merge:
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
/poteto-mode full autopilot on this queue. each item is independent. i want them merged by morning.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
[Autopilot-stack](../../skills/poteto-mode/playbooks/autopilot-stack.md) 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:
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
/poteto-mode autopilot these five changes but stack them, don't ship. i'll land the stack in the morning.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
[Orchestrate](../../skills/poteto-mode/playbooks/orchestrate.md) 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:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
/poteto-mode orchestrate the store migration. own it until every package is converted and merged. i'll check in twice a day.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Run many projects in parallel
|
|
95
|
+
|
|
96
|
+
A long-running coordinator needs one agent with a persistent thread. The coordinator doesn't write code. It directs subagents, which run in the background, so the work continues while you are elsewhere. 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.
|
|
97
|
+
|
|
98
|
+
A few habits help:
|
|
99
|
+
|
|
100
|
+
- 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.
|
|
101
|
+
- Drag related chats into the Project, finished ones included. They become context for every agent in it.
|
|
102
|
+
- Give each PR a verification swarm before it merges, and let Autopilot-stack or Autopilot-full carry the queue.
|
|
103
|
+
- Ask the coordinator for a plan backed by data, and have it answer open questions with prototypes before it asks you.
|
|
104
|
+
|
|
105
|
+
One prompt can carry a whole Project, from research through execution:
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
/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.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Let loops start themselves
|
|
112
|
+
|
|
113
|
+
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:
|
|
114
|
+
|
|
115
|
+
- 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.
|
|
116
|
+
- 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.
|
|
117
|
+
|
|
118
|
+
pstack ships this as a dormant [automation pack](../../automations/benny/README.md) 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`](../../automations/benny/FOR_AGENTS.md) and name the target repository to set it up.
|
|
119
|
+
|
|
120
|
+
**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 the wake prompt a predicate that can pass or fail.
|
|
121
|
+
|
|
122
|
+
Next: [Steer with principle names](./08-principles.md).
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Steer with principle names
|
|
2
|
+
|
|
3
|
+
pstack ships 24 principles as individual skills. `/poteto-mode` reads their index at the start of every multi-step task, applies the ones the task triggers, and names each applied principle in its reply along with the decision it changed.
|
|
4
|
+
|
|
5
|
+
You don't invoke principles. You use their names to steer. Each name points at a complete rule the agent has already read, so one phrase redirects the work more precisely than a paragraph of instructions.
|
|
6
|
+
|
|
7
|
+
## Steering in practice
|
|
8
|
+
|
|
9
|
+
Say the agent is about to bolt a new adapter onto three existing ones:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
use subtract before you add. delete the obsolete adapters first, then design what's left.
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Say it claims success because the build passed:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
apply prove it works. run the real import flow and show me the written records.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Say two parallel attempts are about to write to the same branch:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
separate before serializing shared state. give each attempt its own worktree, no locks.
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Each phrase lands because the rule behind it is specific. The agent still has to say, in its reply, which decision the rule changed. A principle citation with no decision behind it means the agent named the rule without applying it.
|
|
28
|
+
|
|
29
|
+
## The 24, briefly
|
|
30
|
+
|
|
31
|
+
The core principles decide how much to build and when to rethink the design:
|
|
32
|
+
|
|
33
|
+
- [Laziness Protocol](../../skills/principle-laziness-protocol/SKILL.md) prefers deletion and the smallest change that solves the problem.
|
|
34
|
+
- [Foundational Thinking](../../skills/principle-foundational-thinking/SKILL.md) chooses the core data structures before writing logic.
|
|
35
|
+
- [Redesign from First Principles](../../skills/principle-redesign-from-first-principles/SKILL.md) integrates a new requirement as if it had been there from day one.
|
|
36
|
+
- [Attack the Premise](../../skills/principle-attack-the-premise/SKILL.md) writes down the premise that two or more failed fixes shared and tests it directly before the next fix.
|
|
37
|
+
- [Subtract Before You Add](../../skills/principle-subtract-before-you-add/SKILL.md) removes dead weight before building on top of it.
|
|
38
|
+
- [Minimize Reader Load](../../skills/principle-minimize-reader-load/SKILL.md) collapses layers and hidden state a reader must hold in their head.
|
|
39
|
+
- [Outcome-Oriented Execution](../../skills/principle-outcome-oriented-execution/SKILL.md) converges rewrites on the target design instead of preserving throwaway compatibility states.
|
|
40
|
+
- [Experience First](../../skills/principle-experience-first/SKILL.md) chooses the user's result over implementation convenience.
|
|
41
|
+
- [Exhaust the Design Space](../../skills/principle-exhaust-the-design-space/SKILL.md) builds two or three competing prototypes when there's no precedent.
|
|
42
|
+
- [Build the Lever](../../skills/principle-build-the-lever/SKILL.md) builds the script that does or proves the work, so a reviewer can rerun it. When an agent keeps doing the same thing by hand, have it write the tool or skill it wishes it had. If a script can do a step the same way every time, use the script, and save agents for the judgment calls.
|
|
43
|
+
|
|
44
|
+
The architecture principles decide where state, validation, and compatibility live:
|
|
45
|
+
|
|
46
|
+
- [Model the Domain](../../skills/principle-model-the-domain/SKILL.md) encodes repeated rules in one structure, not scattered conditionals.
|
|
47
|
+
- [Boundary Discipline](../../skills/principle-boundary-discipline/SKILL.md) validates at the boundary and trusts internal types.
|
|
48
|
+
- [Type System Discipline](../../skills/principle-type-system-discipline/SKILL.md) makes illegal states unrepresentable.
|
|
49
|
+
- [Make Operations Idempotent](../../skills/principle-make-operations-idempotent/SKILL.md) converges retries on the same end state.
|
|
50
|
+
- [Migrate Callers Then Delete Legacy APIs](../../skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md) migrates and deletes in one wave.
|
|
51
|
+
- [Separate Before Serializing Shared State](../../skills/principle-separate-before-serializing-shared-state/SKILL.md) removes the sharing before adding coordination.
|
|
52
|
+
|
|
53
|
+
The verification principles define what counts as proof:
|
|
54
|
+
|
|
55
|
+
- [Prove It Works](../../skills/principle-prove-it-works/SKILL.md) verifies the real artifact, not a proxy.
|
|
56
|
+
- [Fix Root Causes](../../skills/principle-fix-root-causes/SKILL.md) reproduces and traces to the cause before changing code.
|
|
57
|
+
- [Sequence Work into Verifiable Units](../../skills/principle-sequence-verifiable-units/SKILL.md) ends each small unit in a check before starting the next.
|
|
58
|
+
- [Test Behavior, Not Implementation](../../skills/principle-test-behavior-not-implementation/SKILL.md) asserts what the code's users can observe, so a test fails when that behavior breaks and survives a change to the internals.
|
|
59
|
+
- [Explain the Number](../../skills/principle-explain-the-number/SKILL.md) names what limits a measured number and rules out that it measured something else, before anyone trusts or reports it. [`/benchmark-checklist`](../../skills/benchmark-checklist/SKILL.md) turns it into seven questions you answer from real runs.
|
|
60
|
+
|
|
61
|
+
The delegation principles keep parallel work sane:
|
|
62
|
+
|
|
63
|
+
- [Guard the Context Window](../../skills/principle-guard-the-context-window/SKILL.md) routes bulk reading to subagents and keeps findings in the main chat.
|
|
64
|
+
- [Never Block on the Human](../../skills/principle-never-block-on-the-human/SKILL.md) proceeds on reversible work and presents the result.
|
|
65
|
+
|
|
66
|
+
And one meta principle:
|
|
67
|
+
|
|
68
|
+
- [Encode Lessons in Structure](../../skills/principle-encode-lessons-in-structure/SKILL.md) turns advice you've repeated twice into a lint, check, or script. [`/correct`](../../skills/correct/SKILL.md) applies it to a whole repo, as shown in [Make it yours](./09-make-it-yours.md#fix-the-environment-with-correct).
|
|
69
|
+
|
|
70
|
+
Don't memorize the list. Skim it now, then come back when you catch the agent doing something a name here would have prevented. That's how the vocabulary sticks.
|
|
71
|
+
|
|
72
|
+
Next: [Make it yours](./09-make-it-yours.md).
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Make it yours
|
|
2
|
+
|
|
3
|
+
poteto-mode is one person's style. The playbooks, routing, and model roles underneath it work just as well with yours. This page covers generating a personal mode, capturing lessons from a session, fixing the repo so agents stop repeating mistakes, authoring a focused skill, and testing a skill change before you trust it.
|
|
4
|
+
|
|
5
|
+
Start smaller than you think. You don't need many skills on day one, or even this whole plugin. Prompt plainly, watch where agents fail, and add a skill or a check when the same failure shows up twice.
|
|
6
|
+
|
|
7
|
+
## Generate your own mode with `/automate-me`
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
/automate-me
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
You don't describe your style, because [`/automate-me`](../../skills/automate-me/SKILL.md) reads it out of your history. It mines your recent transcripts in the active workspace for repeated preferences, in how you like replies, delegation, verification, code, prose, and process, then asks you which patterns are really you. It drafts `.dsh/skills/<your-name>-mode/SKILL.md` through the authoring-a-skill playbook, runs the draft through [`/unslop`](../../skills/unslop/SKILL.md), and opens a PR from a worktree so you review it like any other change.
|
|
14
|
+
|
|
15
|
+
Run it again whenever your habits drift:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
/automate-me update my mode skill with everything since its last edit
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Update mode mines only the history since the skill last changed. It keeps rules you haven't contradicted, revises the ones with new evidence, and adds sections only for new patterns.
|
|
22
|
+
|
|
23
|
+
## Capture a session's lessons with `/reflect`
|
|
24
|
+
|
|
25
|
+
Right after a task that taught you something, run:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
/reflect that took way too long. capture what we learned so the next run doesn't repeat it.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
[`/reflect`](../../skills/reflect/SKILL.md) sends the transcript to three parallel reviewers, then a synthesizer sorts the proposals into `Accepted`, `Rejected`, and `Backlog` and waits for your approval before any skill changes. Approve a proposal only if it would change a future decision. One weird session is an anecdote, not a rule.
|
|
32
|
+
|
|
33
|
+
## Fix the environment with `/correct`
|
|
34
|
+
|
|
35
|
+
When you correct agents for the same mistake again and again, the fix belongs in the repo, not in your next prompt. Rank the options by how well they hold:
|
|
36
|
+
|
|
37
|
+
1. Make the mistake impossible with architecture or a better data structure.
|
|
38
|
+
2. Block it with types, or with a lint or CI check whose error names the fix.
|
|
39
|
+
3. Catch it with a test.
|
|
40
|
+
4. Write it down as a doc or agent rule. Nothing fails when an agent skips a rule, so this comes last.
|
|
41
|
+
|
|
42
|
+
Human review isn't on the list. A reviewer who must catch the same mistake on every PR is the problem this fixes. [`/correct`](../../skills/correct/SKILL.md) does the work:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
/correct agents keep calling the database client directly instead of going through the repository layer
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
It reads recent commits, reverts, review comments, and comments that explain workarounds, then groups the mistakes into classes. A class counts once it has happened twice. It fixes the most frequent classes one commit each, at the highest level that works, and proves each new check fails on a real past mistake. It also keeps a table in the agent instruction file that pairs each rule with what enforces it, so a rule that nothing enforces shows up as a repeat. The reply lists each class with its evidence, the level chosen, and why a higher level didn't work.
|
|
49
|
+
|
|
50
|
+
Run it with no argument and it finds the classes from history on its own. `/reflect` and `/correct` split the work. `/reflect` improves skills from one session. `/correct` changes the repo so a mistake class can't come back. Pair it with `/architect` when the fix is a new boundary. [Run many projects in parallel](./07-overnight.md#run-many-projects-in-parallel) has a prompt that does both across a whole repo.
|
|
51
|
+
|
|
52
|
+
## Author a focused skill
|
|
53
|
+
|
|
54
|
+
When you already know the workflow you want to capture:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
/poteto-mode write a skill for verifying database migrations in this repo
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Writing a skill matches the [Authoring or modifying a skill playbook](../../skills/poteto-mode/playbooks/authoring-a-skill.md), which routes through the authoring-a-skill playbook, validates the frontmatter and links, and ships the result through the Opening a PR playbook. Agent-facing prose has a higher bar than human prose, because an unhelpful sentence becomes an instruction some future agent follows. Let the playbook hold that bar rather than writing a `SKILL.md` freehand.
|
|
61
|
+
|
|
62
|
+
Two special cases have their own generators. A skill that must drive your app and prove behavior is a verification skill, so use [`/create-verification-skill`](../../skills/create-verification-skill/SKILL.md) and [`/maintain-verification-skill`](../../skills/maintain-verification-skill/SKILL.md) instead. A skill that checks a property of your code with a model checker, a proof, or another verifier is a formal verification skill, so use [`/create-formal-verification-skill`](../../skills/create-formal-verification-skill/SKILL.md) and [`/maintain-formal-verification-skill`](../../skills/maintain-formal-verification-skill/SKILL.md). [Verify and ship](./06-verify-and-ship.md#prove-a-property-with-a-formal-verification-skill) covers both kinds.
|
|
63
|
+
|
|
64
|
+
## Write docs to a standard with `/technical-writing`
|
|
65
|
+
|
|
66
|
+
Skills aren't the only prose you ship. For docs, RFCs, readmes, PR descriptions, and commit messages:
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
/technical-writing review the readme changes
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
[`/technical-writing`](../../skills/technical-writing/SKILL.md) applies a layered standard. Its goal is prose that a tired engineer understands on the first read. It picks the document's mode first (tutorial, how-to, reference, or explanation), then works sentence by sentence: who does what, one thought per sentence, nothing readable two ways. Use it to review what you or an agent just wrote, or name it up front when you ask for a doc.
|
|
73
|
+
|
|
74
|
+
## Test a skill change blind
|
|
75
|
+
|
|
76
|
+
A skill edit affects every future session, so test it like the experiment it is. The same goes for adopting someone else's skill. Check that it makes the agent better on your work before you keep it.
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
/poteto-mode run the eval playbook on this skill change. same task for both variants, candidates stay blind.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
When a skill keeps missing and you know what it should do, change and test it in one task:
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
/poteto-mode update the review skill so it flags missing migrations, and eval the change.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Asking for the eval up front keeps the edit honest. A fix written from one bad session tends to overfit that session, and over many edits the skill drifts. The eval catches the drift before it ships.
|
|
89
|
+
|
|
90
|
+
The [Eval playbook](../../skills/poteto-mode/playbooks/eval.md) is built around one failure mode, the observer effect. An agent that knows it's being evaluated behaves differently. So candidate agents get an organic-looking task in sanitized directories, never the words "eval" or "candidate", and never each other's existence. One judge scores all outputs under neutral labels, and chain-following gets graded from which files each candidate actually read, not from what it claims.
|
|
91
|
+
|
|
92
|
+
Read every output yourself before accepting the verdict. If you disagree with the judge, suspect the rubric before you suspect your judgment.
|
|
93
|
+
|
|
94
|
+
## One skill is deliberately not ported
|
|
95
|
+
|
|
96
|
+
`/make-bot-ui` is not ported. It depends on Cursor Automations, which DSH does not provide. Copy it from the upstream submodule if you need it.
|
|
97
|
+
|
|
98
|
+
**Pitfall:** don't edit a skill mid-task because it's misbehaving. Fix it in its own PR and keep the task moving. A skill edit that ships tangled into feature work is invisible to review and impossible to evaluate.
|
|
99
|
+
|
|
100
|
+
Next: [Recipes and pitfalls](./10-recipes-and-pitfalls.md).
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Recipes and pitfalls
|
|
2
|
+
|
|
3
|
+
Prompts worth copying, then the mistakes everyone makes once. Swap in your own paths and finish conditions. The recipes are deliberately informal. That's how they get typed in practice, and the skills read intent fine.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## Understand an unfamiliar subsystem
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
use /how first to understand how this initialization works. then use /why to figure out why it broke recently.
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Mechanics first, history second. Each skill's report tells you which sources it searched, so you know what the answer is grounded in.
|
|
14
|
+
|
|
15
|
+
## Restate a noisy report before touching code
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
/poteto-mode read this thread. restate the underlying issue in your own words, in plain english. don't change any code yet.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
A misreading shows up in the restatement, where it costs one message to correct. Keep your own theory to yourself until the agent has stated its own. `/in-your-own-words` asks for the restatement alone, with no playbook.
|
|
22
|
+
|
|
23
|
+
## Sharpen a prompt before you send it
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
/sharpen write the onboarding doc for the new billing service.
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The agent names what an expert would do that you didn't ask for, the raw material they'd start from, their methods and tools, and an outside check that the result is right. It hands back your prompt rewritten to ask for that and doesn't do the task. Send the rewrite when it reads right.
|
|
30
|
+
|
|
31
|
+
## Prototype before you pick
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
/poteto-mode prototype a few options for the settings layout. put them behind a switcher and send me screenshots of each.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
You pick from things that run, not from descriptions. The agent answers its own layout and timing questions along the way.
|
|
38
|
+
|
|
39
|
+
## Turn a settled design into a plan
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
/poteto-mode turn this design into a plan. small verifiable PRs, each with its own proof.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Ask only after the design settles. The plan is the deliverable, and it names the playbook that will execute it.
|
|
46
|
+
|
|
47
|
+
## Get a second opinion on a design
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
ask /arena for a second opinion on this thread and our approach
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Your current design becomes one candidate among several, and the synthesis tells you whether the panel found something better or confirmed what you had. It costs little next to a design that is expensive to reverse.
|
|
54
|
+
|
|
55
|
+
## Check independent slices in parallel
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
/swarm check every package under packages/ against its check.sh. one worker per package. one report.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Each worker owns one package. The parent waits for every slice and returns one `PASS`, `ISSUES`, or `BLOCKED` report instead of raw worker dumps.
|
|
62
|
+
|
|
63
|
+
## Review a branch skeptically
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
/interrogate the whole branch, but skeptically. don't change anything yet. no nitpicks unless it's an actual bug or regression in behavior.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The qualifiers do real work. "don't change anything yet" keeps it read-only, and the nitpick rule pre-filters the noise so `Act on` findings are worth your time.
|
|
70
|
+
|
|
71
|
+
## Fix a bug through a failing test
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
/poteto-mode repro the duplicate write first. if there's a cheap test path, /tdd it. then fix and rerun.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
"if there's a cheap test path" matters. Forcing a test through brittle mocks proves less than running the real command, and the playbook is allowed to say so.
|
|
78
|
+
|
|
79
|
+
## Repro and fix a report with proof
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
/poteto-mode repro this with /verify-<app>. if it repros on main, fix it and show me a video as proof.
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
"if it repros on main" lets the run stop early when the bug is already gone. The video lets you check the fix before you read the diff.
|
|
86
|
+
|
|
87
|
+
## Prove a property tests rarely reach
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
/create-formal-verification-skill the retry queue. a message must never be delivered twice.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
You get one property checked in every case within a stated scope, a counterexample in your code's terms if the code already breaks it, and a project skill the next agent runs on any change to that code.
|
|
94
|
+
|
|
95
|
+
## Vet a number before you post it
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
/benchmark-checklist vet this 40% speedup before it goes in the pr description
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
You get faster, slower, no measurable difference, or inconclusive, with the run count, the range, and what limits the number.
|
|
102
|
+
|
|
103
|
+
## Stop correcting the same mistake
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
/correct agents keep adding new config flags without registering them in the schema
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The fix lands in the repo as architecture, a type, a lint, or a test, so the next agent can't make the mistake.
|
|
110
|
+
|
|
111
|
+
## Ask how without starting the work
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
/poteto-help how do i get poteto-mode to stay on every turn?
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
You get an answer, a prompt to send, and a link to the source. Nothing runs until you send that prompt.
|
|
118
|
+
|
|
119
|
+
## Keep a run honest while you're away
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
im going to bed, keep going autonomously until every fixture passes. do not stop. keep a decision log i can audit in the morning.
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
The full contract is on the [overnight page](./07-overnight.md). The short form works once the task and finish condition are already in the conversation.
|
|
126
|
+
|
|
127
|
+
## Redirect a drifting run
|
|
128
|
+
|
|
129
|
+
Steering prompts are one line:
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
i said the goal is to repro. i did not ask for a fix yet.
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
apply prove it works. show me the real output, not the build log.
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```text
|
|
140
|
+
/unslop that, no emdashes
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
You rarely need more words. You need the right name, and [the principles page](./08-principles.md) is the vocabulary.
|
|
144
|
+
|
|
145
|
+
## Get the reply in plain words
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
/bro
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
That's the whole prompt. [`/bro`](../../skills/bro/SKILL.md) restates the last message like one human talking to another, no jargon, shorter. Use it when a reply is technically thorough and you still don't know what it said.
|
|
152
|
+
|
|
153
|
+
## Catch up on a chat you left running
|
|
154
|
+
|
|
155
|
+
```text
|
|
156
|
+
/ketchup
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
[`/ketchup`](../../skills/ketchup/SKILL.md) tells you in plain words what changed since your last message, then lists each call waiting on you with its pick, evidence, and risk. It changes nothing while it reports.
|
|
160
|
+
|
|
161
|
+
## The pitfalls
|
|
162
|
+
|
|
163
|
+
- **Enumerating skills in the prompt.** "use /how then /architect then /arena" reorders steps the playbook already sequences. State the goal and constraints. Name a skill only to override a default.
|
|
164
|
+
- **A vague finish condition.** "make it better" gives the loop nothing to check. Give a command or artifact that can pass or fail.
|
|
165
|
+
- **Leading with your theory of the cause.** The agent searches wherever you pointed. Ask it to restate the problem first, then share your hunch.
|
|
166
|
+
- **Taking the first design.** One attempt locks in the first shape the model thought of. Ask for prototypes or `/architect` and pick from evidence.
|
|
167
|
+
- **Polishing an abstract plan.** Adversarial review of a plan with no code behind it invents risks that will never happen. Settle the open questions with prototypes, then review what got built.
|
|
168
|
+
- **Parallel agents in one worktree.** They overwrite each other, and nobody can tell which agent changed what. Run them as worktree subagents, or say "own worktree per attempt".
|
|
169
|
+
- **Looping before you trust the loop.** A loop that can't verify its own work only makes unchecked work faster. Get the verification skill working first.
|
|
170
|
+
- **Trusting an unvetted number.** A warm cache or a skipped code path can fake a speedup. Run `/benchmark-checklist` before the number goes anywhere.
|
|
171
|
+
- **Correcting the same mistake by hand.** A correction in chat helps one run. `/correct` fixes the repo so no later run repeats it.
|
|
172
|
+
- **Using `/arena` for coverage.** `/arena` repeats one design or code brief, then picks a base and grafts the best parts. `/swarm` partitions slices or declared race arms and aggregates one report.
|
|
173
|
+
- **Accepting every review comment.** Bots and humans both file real catches and noise in one list. `/interrogate` sorts findings into act-on and dismissed buckets with reasons, and you can override either way.
|
|
174
|
+
- **Treating `auto` as a model slug.** `auto` and `inherit-parent` mean "omit the model field so the subagent inherits the parent chat model." [Setup](./01-setup.md) covers the roles.
|
|
175
|
+
- **Reporting success off a green build.** A build proves it compiles. Ask for the real command, flow, stored value, or profile, and expect the evidence in the reply.
|
|
176
|
+
- **Writing a `SKILL.md` freehand.** Route it through the [Authoring or modifying a skill playbook](../../skills/poteto-mode/playbooks/authoring-a-skill.md) so validation and review happen.
|
|
177
|
+
|
|
178
|
+
That's the guide. If you skipped ahead, go back to [setup](./01-setup.md) and run one real task. The habits stick from use, not from reading.
|
|
179
|
+
|
|
180
|
+
Back to the [guide index](./README.md).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# The pstack guide
|
|
2
|
+
|
|
3
|
+
pstack works best when you stop micromanaging the agent. You describe what you want and how you'll know it's done. `/poteto-mode` picks the playbook, runs the other skills as the steps need them, and shows you the evidence. This guide teaches that habit with realistic prompts.
|
|
4
|
+
|
|
5
|
+
Here's what you'll learn:
|
|
6
|
+
|
|
7
|
+
1. [Set up pstack](./01-setup.md). Install the plugin and pick your models.
|
|
8
|
+
2. [Route work through `/poteto-mode`](./02-poteto-mode.md). Give it a goal and watch it pick a playbook.
|
|
9
|
+
3. [Understand the code](./03-understand.md). A read-only investigation, then `/how`, `/why`, `/teach`, and `/recall` before you edit anything.
|
|
10
|
+
4. [Design the change](./04-design.md). `/architect`, `/arena`, `/swarm`, `/interrogate`, prototypes, and plans before code locks in a shape.
|
|
11
|
+
5. [Build and clean the change](./05-build-and-clean.md). The build playbooks, `/tdd`, `/unslop`, and `/no-comments`.
|
|
12
|
+
6. [Verify and ship](./06-verify-and-ship.md). Prove behavior on the real app, formally verify what tests rarely reach, vet numbers with `/benchmark-checklist`, then open a focused PR and drive it to merged.
|
|
13
|
+
7. [Run work while you sleep](./07-overnight.md). Trust before loops, an overnight contract, a decision log you can audit, and Projects and automations that scale past one agent.
|
|
14
|
+
8. [Steer with principle names](./08-principles.md). The 24 names that redirect an agent mid-task.
|
|
15
|
+
9. [Make it yours](./09-make-it-yours.md). Your own mode, `/correct` for repeated mistakes, and how to test a skill change.
|
|
16
|
+
10. [Recipes and pitfalls](./10-recipes-and-pitfalls.md). Prompts to copy and mistakes to skip.
|
|
17
|
+
|
|
18
|
+
Read the pages in order the first time. After that, each page stands alone.
|
|
19
|
+
|
|
20
|
+
When you're stuck, or can't tell which skill fits, type [`/poteto-help`](../../skills/poteto-help/SKILL.md) with your question:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
/poteto-help which skill should i use to review this branch?
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
It answers, hands you a prompt to send, and links the skill or guide page the answer came from. It doesn't start the work, because a pstack run spends real tokens, so you send the prompt when you're ready. It runs only when you type it.
|
|
27
|
+
|
|
28
|
+
## If you only remember one thing
|
|
29
|
+
|
|
30
|
+
Give the agent a goal and a way to check it, in your own words:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
/poteto-mode the export writes duplicate rows when a retry lands mid-run. repro first, then fix and verify.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
You don't need to name a playbook or list skills. "repro first" and a checkable outcome are all the routing signal `/poteto-mode` needs. It matches the Bug fix playbook, copies the steps into a todo list, and calls the right skills as each step fires.
|
|
37
|
+
|
|
38
|
+
Next: [Set up pstack](./01-setup.md).
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# pstack in DeepSeek Harness
|
|
2
|
+
|
|
3
|
+
This is the DSH adapter for pstack. It is the single source of truth for how a Cursor-shaped skill maps onto DSH. Read it once per session when a skill asks for a Cursor feature that DSH does not have.
|
|
4
|
+
|
|
5
|
+
## Tools
|
|
6
|
+
|
|
7
|
+
| Cursor | DSH |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| `Task` | `pstack_subagent`. Starts a background child and returns its id; the runtime sends a completion notice. |
|
|
10
|
+
| `subagent_type: "poteto-agent"` | `agent: "poteto-agent"`. The tool prepends the poteto-agent instructions. |
|
|
11
|
+
| `subagent_type: generalPurpose` | `agent: "general"`. No preamble; the prompt stands alone. |
|
|
12
|
+
| `subagent_type: "comment-sicko"` | `agent: "comment-sicko"`. |
|
|
13
|
+
| `run_in_background: true` | Always on. Every child is a managed background activation. |
|
|
14
|
+
| `readonly: true` / `readonly: false` | No separate mode. Say "do not edit files" in the prompt, and check `git status` afterward. |
|
|
15
|
+
| `resume` | `send_message` to the child id. Prefer a fresh child with consolidated scope, per `poteto-mode`. |
|
|
16
|
+
| `AskQuestion` | `ask_user_question`. In non-interactive runs it is absent, so ask in plain text. |
|
|
17
|
+
| `TodoWrite` | `todo_write` with the whole list. |
|
|
18
|
+
| `Grep` / `Glob` | `grep` / `glob`. |
|
|
19
|
+
| `Read` / `Write` / `Edit` | `read` / `write` / `edit`. |
|
|
20
|
+
| `Shell` | `bash` (or `pwsh` on Windows). |
|
|
21
|
+
|
|
22
|
+
## Paths
|
|
23
|
+
|
|
24
|
+
| Cursor | DSH |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| `~/.cursor/rules/pstack-models.mdc` | `~/.dsh/pstack-models.md` |
|
|
27
|
+
| `.cursor/skills/`, `~/.cursor/skills/` | `.dsh/skills/`, `~/.dsh/skills/` |
|
|
28
|
+
| `~/.cursor/plugins/`, `.cursor-plugin/plugin.json` | `~/.dsh/plugins/`, `package.json` |
|
|
29
|
+
| `~/.cursor/projects/<slug>/agent-transcripts/` | `$DSH_HOME/sessions/<workspace-slug>/<session-id>/` |
|
|
30
|
+
|
|
31
|
+
## Models
|
|
32
|
+
|
|
33
|
+
| Cursor | DSH |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| `model` slug, such as `claude-opus-5-5-xhigh` | `role: "<role line>"`. The tool resolves provider, model, and effort from `~/.dsh/pstack-models.md` at call time. |
|
|
36
|
+
|
|
37
|
+
## Role configuration
|
|
38
|
+
|
|
39
|
+
`/setup-pstack` writes `~/.dsh/pstack-models.md`. One role per line:
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
# pstack model configuration. One line per role.
|
|
43
|
+
# Value is `inherit-parent` or `<provider>/<model>` with an optional effort token.
|
|
44
|
+
feature, refactoring: deepseek-official/deepseek-reasoner high
|
|
45
|
+
judgment and prose: inherit-parent
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
A missing file or line means every role inherits the parent's route. To discover valid routes, call `list_subagent_models`; never invent a provider or model id. The shipped defaults are in `docs/pstack-models.example.md`.
|
|
49
|
+
|
|
50
|
+
## Cursor-only features
|
|
51
|
+
|
|
52
|
+
| Cursor | DSH |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| Cursor's built-in `create-skill` | No built-in authoring skill. Follow the `authoring-a-skill` playbook in `poteto-mode`. |
|
|
55
|
+
| Custom Modes | No persistent mode. Start each task with `/poteto-mode`. |
|
|
56
|
+
| Cursor Automations, routines, `SendToUser` secret requests | No equivalent. Use `schedule_create` for time-based follow-ups; skip the step with one line. |
|
|
57
|
+
| `environment: "cloud"` | A `pstack_subagent` with its own git worktree. DSH has no per-agent VM. |
|
|
58
|
+
| `/loop` | `schedule_create` plus `create_goal` for long autonomous runs. |
|
|
59
|
+
| `/deslop`, `control-cli`, `control-ui` from `cursor-team-kit` | Not shipped. Ask for the same outcome in plain words: remove narrating comments, unsupported guards, dead compatibility paths, and unrelated edits. `/no-comments` covers the comment half. |
|
|
60
|
+
| `cursor-team-kit` | Not shipped with pstack. Install it separately, or ask for the same outcome in plain words. |
|
|
61
|
+
| Bugbot | Comments arrive as ordinary forge review threads; triage them with `gh`. If a PR has no bot check or comment, skip the step. |
|
|
62
|
+
|
|
63
|
+
## Subagent completion
|
|
64
|
+
|
|
65
|
+
`pstack_subagent` returns `started subagent <id>` immediately. The child's final answer arrives later as a completion notice. Do not poll. If you need to steer it, call `send_message` with that id. To list children, call `list_agents`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# ~/.dsh/pstack-models.md
|
|
2
|
+
#
|
|
3
|
+
# One line per role. Delete a line to inherit the parent chat's route.
|
|
4
|
+
# Value: inherit-parent | <provider>/<model> [effort]
|
|
5
|
+
# Discover routes with the list_subagent_models tool.
|
|
6
|
+
# budget: large (xhigh)
|
|
7
|
+
feature, refactoring: inherit-parent
|
|
8
|
+
bug-fix: inherit-parent
|
|
9
|
+
perf-issue: inherit-parent
|
|
10
|
+
hillclimb: inherit-parent
|
|
11
|
+
judgment and prose: inherit-parent
|
|
12
|
+
hardest tasks: inherit-parent
|
|
13
|
+
how explorer: inherit-parent
|
|
14
|
+
how explainer: inherit-parent
|
|
15
|
+
why investigators: inherit-parent
|
|
16
|
+
why synthesizer: inherit-parent
|
|
17
|
+
reflect tooling: inherit-parent
|
|
18
|
+
reflect judgment, divergent, synthesizer: inherit-parent
|
|
19
|
+
arena runners: inherit-parent, inherit-parent
|
|
20
|
+
arena cross-judge pool: inherit-parent, inherit-parent
|
|
21
|
+
swarm workers: inherit-parent
|
|
22
|
+
architect runners: inherit-parent, inherit-parent
|
|
23
|
+
interrogate reviewers: inherit-parent, inherit-parent
|