dsh-pstack 0.1.0 → 0.2.0-beta.1

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.
Files changed (312) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +92 -117
  3. package/assets/agents/comment-sicko.md +1 -1
  4. package/assets/agents/poteto-agent.md +2 -2
  5. package/assets/docs/guide/01-setup.md +9 -9
  6. package/assets/docs/guide/02-poteto-mode.md +4 -4
  7. package/assets/docs/guide/05-build-and-clean.md +3 -3
  8. package/assets/docs/guide/06-verify-and-ship.md +2 -2
  9. package/assets/docs/guide/07-overnight.md +10 -12
  10. package/assets/docs/guide/09-make-it-yours.md +2 -6
  11. package/assets/docs/guide/10-recipes-and-pitfalls.md +3 -3
  12. package/assets/docs/guide/README.md +1 -1
  13. package/assets/docs/guide/images/design.jpg +0 -0
  14. package/assets/docs/guide/images/overnight.jpg +0 -0
  15. package/assets/docs/guide/images/recipes.jpg +0 -0
  16. package/assets/docs/guide/images/router.jpg +0 -0
  17. package/assets/docs/guide/images/understanding.jpg +0 -0
  18. package/assets/docs/guide/images/verification.jpg +0 -0
  19. package/assets/docs/harness/dsh.md +60 -65
  20. package/assets/docs/pstack-models.example.md +40 -9
  21. package/assets/skills/architect/SKILL.md +12 -12
  22. package/assets/skills/arena/SKILL.md +11 -11
  23. package/assets/skills/automate-me/SKILL.md +15 -14
  24. package/assets/skills/benchmark-checklist/SKILL.md +0 -2
  25. package/assets/skills/blast-radius/SKILL.md +5 -5
  26. package/assets/skills/bro/SKILL.md +0 -2
  27. package/assets/skills/correct/SKILL.md +0 -2
  28. package/assets/skills/create-formal-verification-skill/SKILL.md +2 -2
  29. package/assets/skills/create-verification-skill/SKILL.md +2 -2
  30. package/assets/skills/figure-it-out/SKILL.md +13 -13
  31. package/assets/skills/how/SKILL.md +6 -6
  32. package/assets/skills/how/references/explainer-prompt.md +1 -1
  33. package/assets/skills/in-your-own-words/SKILL.md +0 -2
  34. package/assets/skills/interrogate/SKILL.md +9 -7
  35. package/assets/skills/interrogate/references/rubric.md +1 -1
  36. package/assets/skills/ketchup/SKILL.md +4 -4
  37. package/assets/skills/maintain-formal-verification-skill/SKILL.md +2 -2
  38. package/assets/skills/maintain-verification-skill/SKILL.md +3 -3
  39. package/assets/skills/no-comments/SKILL.md +7 -7
  40. package/assets/skills/poteto-help/SKILL.md +32 -31
  41. package/assets/skills/poteto-help/references/prompting.md +1 -1
  42. package/assets/skills/poteto-help/references/recipes.md +1 -1
  43. package/assets/skills/poteto-mode/SKILL.md +17 -19
  44. package/assets/skills/poteto-mode/playbooks/authoring-a-skill.md +3 -3
  45. package/assets/skills/poteto-mode/playbooks/autonomous-run.md +6 -4
  46. package/assets/skills/poteto-mode/playbooks/autopilot-full.md +6 -6
  47. package/assets/skills/poteto-mode/playbooks/autopilot-stack.md +2 -2
  48. package/assets/skills/poteto-mode/playbooks/babysit.md +3 -3
  49. package/assets/skills/poteto-mode/playbooks/bug-fix.md +7 -7
  50. package/assets/skills/poteto-mode/playbooks/eval.md +3 -3
  51. package/assets/skills/poteto-mode/playbooks/feature.md +8 -8
  52. package/assets/skills/poteto-mode/playbooks/hillclimb.md +3 -3
  53. package/assets/skills/poteto-mode/playbooks/investigation.md +2 -2
  54. package/assets/skills/poteto-mode/playbooks/multi-phase-plan.md +21 -21
  55. package/assets/skills/poteto-mode/playbooks/opening-a-pr.md +6 -6
  56. package/assets/skills/poteto-mode/playbooks/orchestrate.md +13 -13
  57. package/assets/skills/poteto-mode/playbooks/pause-safely.md +2 -2
  58. package/assets/skills/poteto-mode/playbooks/perf-issue.md +6 -6
  59. package/assets/skills/poteto-mode/playbooks/prototype.md +4 -4
  60. package/assets/skills/poteto-mode/playbooks/refactoring.md +9 -9
  61. package/assets/skills/poteto-mode/playbooks/runtime-forensics.md +3 -3
  62. package/assets/skills/poteto-mode/playbooks/session-pickup.md +2 -2
  63. package/assets/skills/poteto-mode/playbooks/shipping.md +2 -2
  64. package/assets/skills/poteto-mode/playbooks/trace-forensics.md +2 -2
  65. package/assets/skills/poteto-mode/playbooks/visual-parity.md +5 -5
  66. package/assets/skills/poteto-mode/playbooks/worktree-cleanup.md +14 -6
  67. package/assets/skills/poteto-mode/scripts/check-plan.mjs +85 -70
  68. package/assets/skills/poteto-mode/scripts/check-plan.test.mjs +343 -0
  69. package/assets/skills/poteto-mode/scripts/orch/orch.mjs +4282 -0
  70. package/assets/skills/poteto-mode/scripts/orch/orch.test.mjs +2042 -0
  71. package/assets/skills/poteto-mode/scripts/watch-pr/cli.test.mjs +5101 -0
  72. package/assets/skills/poteto-mode/scripts/watch-pr/github.test.mjs +1177 -0
  73. package/assets/skills/poteto-mode/scripts/watch-pr/policy.test.mjs +1441 -0
  74. package/assets/skills/poteto-mode/scripts/watch-pr/watch-pr.mjs +4601 -0
  75. package/assets/skills/poteto-mode/scripts/worktree-audit.mjs +675 -0
  76. package/assets/skills/principle-attack-the-premise/SKILL.md +0 -2
  77. package/assets/skills/principle-boundary-discipline/SKILL.md +0 -2
  78. package/assets/skills/principle-build-the-lever/SKILL.md +0 -3
  79. package/assets/skills/principle-encode-lessons-in-structure/SKILL.md +0 -2
  80. package/assets/skills/principle-exhaust-the-design-space/SKILL.md +0 -2
  81. package/assets/skills/principle-experience-first/SKILL.md +0 -2
  82. package/assets/skills/principle-explain-the-number/SKILL.md +0 -2
  83. package/assets/skills/principle-fix-root-causes/SKILL.md +0 -2
  84. package/assets/skills/principle-foundational-thinking/SKILL.md +0 -2
  85. package/assets/skills/principle-guard-the-context-window/SKILL.md +0 -2
  86. package/assets/skills/principle-laziness-protocol/SKILL.md +0 -2
  87. package/assets/skills/principle-make-operations-idempotent/SKILL.md +0 -2
  88. package/assets/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +0 -2
  89. package/assets/skills/principle-minimize-reader-load/SKILL.md +0 -2
  90. package/assets/skills/principle-model-the-domain/SKILL.md +0 -2
  91. package/assets/skills/principle-never-block-on-the-human/SKILL.md +0 -2
  92. package/assets/skills/principle-outcome-oriented-execution/SKILL.md +0 -2
  93. package/assets/skills/principle-prove-it-works/SKILL.md +2 -2
  94. package/assets/skills/principle-redesign-from-first-principles/SKILL.md +0 -2
  95. package/assets/skills/principle-separate-before-serializing-shared-state/SKILL.md +0 -2
  96. package/assets/skills/principle-sequence-verifiable-units/SKILL.md +0 -2
  97. package/assets/skills/principle-subtract-before-you-add/SKILL.md +0 -2
  98. package/assets/skills/principle-test-behavior-not-implementation/SKILL.md +0 -2
  99. package/assets/skills/principle-type-system-discipline/SKILL.md +0 -2
  100. package/assets/skills/recall/SKILL.md +9 -9
  101. package/assets/skills/reflect/SKILL.md +20 -21
  102. package/assets/skills/reflect/references/divergent-reviewer.md +4 -4
  103. package/assets/skills/reflect/references/judgment-reviewer.md +2 -2
  104. package/assets/skills/reflect/references/synthesizer.md +6 -6
  105. package/assets/skills/reflect/references/tooling-reviewer.md +2 -2
  106. package/assets/skills/setup-pstack/SKILL.md +28 -37
  107. package/assets/skills/sharpen/SKILL.md +0 -2
  108. package/assets/skills/show-me-your-work/SKILL.md +9 -9
  109. package/assets/skills/show-me-your-work/scripts/log.mjs +108 -0
  110. package/assets/skills/swarm/SKILL.md +8 -6
  111. package/assets/skills/tdd/SKILL.md +0 -2
  112. package/assets/skills/teach/SKILL.md +2 -2
  113. package/assets/skills/technical-writing/SKILL.md +2 -2
  114. package/assets/skills/typescript-best-practices/SKILL.md +6 -4
  115. package/assets/skills/unslop/SKILL.md +0 -2
  116. package/assets/skills/why/SKILL.md +9 -9
  117. package/cordis.patch.yml +33 -14
  118. package/dist/frontmatter-BQX3ekwP.mjs +229 -0
  119. package/dist/frontmatter-BQX3ekwP.mjs.map +1 -0
  120. package/dist/history.d.mts +429 -0
  121. package/dist/history.mjs +1129 -0
  122. package/dist/history.mjs.map +1 -0
  123. package/dist/host-contract-o47JH_r8.d.mts +527 -0
  124. package/dist/index.d.mts +273 -11
  125. package/dist/index.mjs +248 -148
  126. package/dist/index.mjs.map +1 -1
  127. package/dist/paths-D_JlVmBk.mjs +42 -0
  128. package/dist/paths-D_JlVmBk.mjs.map +1 -0
  129. package/dist/script.d.mts +193 -0
  130. package/dist/script.mjs +782 -0
  131. package/dist/script.mjs.map +1 -0
  132. package/dist/subagent.d.mts +306 -100
  133. package/dist/subagent.mjs +1309 -343
  134. package/dist/subagent.mjs.map +1 -1
  135. package/locale/en.json +6 -0
  136. package/locale/zh.json +6 -0
  137. package/package.json +55 -41
  138. package/static/icon.png +0 -0
  139. package/assets/skills/poteto-mode/scripts/bootstrap.ts +0 -62
  140. package/assets/skills/poteto-mode/scripts/bun.lock +0 -67
  141. package/assets/skills/poteto-mode/scripts/check-plan.test.ts +0 -96
  142. package/assets/skills/poteto-mode/scripts/orch/orch.test.ts +0 -761
  143. package/assets/skills/poteto-mode/scripts/orch/orch.ts +0 -590
  144. package/assets/skills/poteto-mode/scripts/orch/store.ts +0 -1677
  145. package/assets/skills/poteto-mode/scripts/package.json +0 -16
  146. package/assets/skills/poteto-mode/scripts/watch-pr/cli.test.ts +0 -224
  147. package/assets/skills/poteto-mode/scripts/watch-pr/cli.ts +0 -223
  148. package/assets/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +0 -129
  149. package/assets/skills/poteto-mode/scripts/watch-pr/github.test.ts +0 -436
  150. package/assets/skills/poteto-mode/scripts/watch-pr/github.ts +0 -718
  151. package/assets/skills/poteto-mode/scripts/watch-pr/policy.test.ts +0 -420
  152. package/assets/skills/poteto-mode/scripts/watch-pr/policy.ts +0 -836
  153. package/assets/skills/poteto-mode/scripts/watch-pr/render.ts +0 -169
  154. package/assets/skills/poteto-mode/scripts/watch-pr/tsconfig.json +0 -13
  155. package/assets/skills/poteto-mode/scripts/watch-pr/types.compile.ts +0 -93
  156. package/assets/skills/poteto-mode/scripts/watch-pr/types.ts +0 -413
  157. package/assets/skills/poteto-mode/scripts/watch-pr/watch-pr +0 -6
  158. package/assets/skills/poteto-mode/scripts/worktree-audit.sh +0 -127
  159. package/assets/skills/show-me-your-work/scripts/log.sh +0 -42
  160. package/dist/LICENSE +0 -22
  161. package/dist/README.md +0 -159
  162. package/dist/assets/agents/comment-sicko.md +0 -32
  163. package/dist/assets/agents/poteto-agent.md +0 -8
  164. package/dist/assets/docs/guide/01-setup.md +0 -64
  165. package/dist/assets/docs/guide/02-poteto-mode.md +0 -139
  166. package/dist/assets/docs/guide/03-understand.md +0 -79
  167. package/dist/assets/docs/guide/04-design.md +0 -133
  168. package/dist/assets/docs/guide/05-build-and-clean.md +0 -83
  169. package/dist/assets/docs/guide/06-verify-and-ship.md +0 -152
  170. package/dist/assets/docs/guide/07-overnight.md +0 -122
  171. package/dist/assets/docs/guide/08-principles.md +0 -72
  172. package/dist/assets/docs/guide/09-make-it-yours.md +0 -100
  173. package/dist/assets/docs/guide/10-recipes-and-pitfalls.md +0 -180
  174. package/dist/assets/docs/guide/README.md +0 -38
  175. package/dist/assets/docs/harness/dsh.md +0 -65
  176. package/dist/assets/docs/pstack-models.example.md +0 -23
  177. package/dist/assets/skills/architect/SKILL.md +0 -81
  178. package/dist/assets/skills/architect/references/design-red-flags.md +0 -57
  179. package/dist/assets/skills/architect/references/rationale-template.md +0 -35
  180. package/dist/assets/skills/architect/references/runner-prompt.md +0 -20
  181. package/dist/assets/skills/arena/SKILL.md +0 -50
  182. package/dist/assets/skills/automate-me/SKILL.md +0 -105
  183. package/dist/assets/skills/benchmark-checklist/SKILL.md +0 -41
  184. package/dist/assets/skills/blast-radius/SKILL.md +0 -52
  185. package/dist/assets/skills/bro/SKILL.md +0 -9
  186. package/dist/assets/skills/correct/SKILL.md +0 -34
  187. package/dist/assets/skills/create-formal-verification-skill/SKILL.md +0 -43
  188. package/dist/assets/skills/create-verification-skill/SKILL.md +0 -46
  189. package/dist/assets/skills/create-verification-skill/references/feature-map-example/README.md +0 -47
  190. package/dist/assets/skills/create-verification-skill/references/feature-map-example/create-note.md +0 -39
  191. package/dist/assets/skills/create-verification-skill/references/feature-map-example/search.md +0 -45
  192. package/dist/assets/skills/figure-it-out/SKILL.md +0 -54
  193. package/dist/assets/skills/how/SKILL.md +0 -38
  194. package/dist/assets/skills/how/references/explainer-prompt.md +0 -55
  195. package/dist/assets/skills/how/references/explorer-prompt.md +0 -35
  196. package/dist/assets/skills/in-your-own-words/SKILL.md +0 -9
  197. package/dist/assets/skills/interrogate/SKILL.md +0 -69
  198. package/dist/assets/skills/interrogate/references/code-quality-review.md +0 -47
  199. package/dist/assets/skills/interrogate/references/lead-judgment.md +0 -39
  200. package/dist/assets/skills/interrogate/references/reviewer-prompt.md +0 -62
  201. package/dist/assets/skills/interrogate/references/rubric.md +0 -77
  202. package/dist/assets/skills/ketchup/SKILL.md +0 -45
  203. package/dist/assets/skills/maintain-formal-verification-skill/SKILL.md +0 -60
  204. package/dist/assets/skills/maintain-verification-skill/SKILL.md +0 -41
  205. package/dist/assets/skills/no-comments/SKILL.md +0 -26
  206. package/dist/assets/skills/poteto-help/SKILL.md +0 -161
  207. package/dist/assets/skills/poteto-help/references/prompting.md +0 -51
  208. package/dist/assets/skills/poteto-help/references/recipes.md +0 -51
  209. package/dist/assets/skills/poteto-mode/SKILL.md +0 -153
  210. package/dist/assets/skills/poteto-mode/playbooks/authoring-a-skill.md +0 -12
  211. package/dist/assets/skills/poteto-mode/playbooks/autonomous-run.md +0 -13
  212. package/dist/assets/skills/poteto-mode/playbooks/autopilot-full.md +0 -25
  213. package/dist/assets/skills/poteto-mode/playbooks/autopilot-stack.md +0 -12
  214. package/dist/assets/skills/poteto-mode/playbooks/babysit.md +0 -23
  215. package/dist/assets/skills/poteto-mode/playbooks/bug-fix.md +0 -15
  216. package/dist/assets/skills/poteto-mode/playbooks/eval.md +0 -25
  217. package/dist/assets/skills/poteto-mode/playbooks/feature.md +0 -21
  218. package/dist/assets/skills/poteto-mode/playbooks/hillclimb.md +0 -21
  219. package/dist/assets/skills/poteto-mode/playbooks/investigation.md +0 -14
  220. package/dist/assets/skills/poteto-mode/playbooks/multi-phase-plan.md +0 -155
  221. package/dist/assets/skills/poteto-mode/playbooks/opening-a-pr.md +0 -34
  222. package/dist/assets/skills/poteto-mode/playbooks/orchestrate.md +0 -112
  223. package/dist/assets/skills/poteto-mode/playbooks/pause-safely.md +0 -10
  224. package/dist/assets/skills/poteto-mode/playbooks/perf-issue.md +0 -25
  225. package/dist/assets/skills/poteto-mode/playbooks/prototype.md +0 -14
  226. package/dist/assets/skills/poteto-mode/playbooks/refactoring.md +0 -16
  227. package/dist/assets/skills/poteto-mode/playbooks/runtime-forensics.md +0 -11
  228. package/dist/assets/skills/poteto-mode/playbooks/session-pickup.md +0 -11
  229. package/dist/assets/skills/poteto-mode/playbooks/shipping.md +0 -12
  230. package/dist/assets/skills/poteto-mode/playbooks/trace-forensics.md +0 -14
  231. package/dist/assets/skills/poteto-mode/playbooks/visual-parity.md +0 -11
  232. package/dist/assets/skills/poteto-mode/playbooks/worktree-cleanup.md +0 -12
  233. package/dist/assets/skills/poteto-mode/references/bugbot-triage.md +0 -142
  234. package/dist/assets/skills/poteto-mode/scripts/bootstrap.ts +0 -62
  235. package/dist/assets/skills/poteto-mode/scripts/bun.lock +0 -67
  236. package/dist/assets/skills/poteto-mode/scripts/check-plan.mjs +0 -205
  237. package/dist/assets/skills/poteto-mode/scripts/check-plan.test.ts +0 -96
  238. package/dist/assets/skills/poteto-mode/scripts/orch/orch.test.ts +0 -761
  239. package/dist/assets/skills/poteto-mode/scripts/orch/orch.ts +0 -590
  240. package/dist/assets/skills/poteto-mode/scripts/orch/store.ts +0 -1677
  241. package/dist/assets/skills/poteto-mode/scripts/package.json +0 -16
  242. package/dist/assets/skills/poteto-mode/scripts/watch-pr/cli.test.ts +0 -224
  243. package/dist/assets/skills/poteto-mode/scripts/watch-pr/cli.ts +0 -223
  244. package/dist/assets/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +0 -129
  245. package/dist/assets/skills/poteto-mode/scripts/watch-pr/github.test.ts +0 -436
  246. package/dist/assets/skills/poteto-mode/scripts/watch-pr/github.ts +0 -718
  247. package/dist/assets/skills/poteto-mode/scripts/watch-pr/policy.test.ts +0 -420
  248. package/dist/assets/skills/poteto-mode/scripts/watch-pr/policy.ts +0 -836
  249. package/dist/assets/skills/poteto-mode/scripts/watch-pr/render.ts +0 -169
  250. package/dist/assets/skills/poteto-mode/scripts/watch-pr/tsconfig.json +0 -13
  251. package/dist/assets/skills/poteto-mode/scripts/watch-pr/types.compile.ts +0 -93
  252. package/dist/assets/skills/poteto-mode/scripts/watch-pr/types.ts +0 -413
  253. package/dist/assets/skills/poteto-mode/scripts/watch-pr/watch-pr +0 -6
  254. package/dist/assets/skills/poteto-mode/scripts/worktree-audit.sh +0 -127
  255. package/dist/assets/skills/principle-attack-the-premise/SKILL.md +0 -23
  256. package/dist/assets/skills/principle-boundary-discipline/SKILL.md +0 -36
  257. package/dist/assets/skills/principle-build-the-lever/SKILL.md +0 -26
  258. package/dist/assets/skills/principle-encode-lessons-in-structure/SKILL.md +0 -13
  259. package/dist/assets/skills/principle-exhaust-the-design-space/SKILL.md +0 -11
  260. package/dist/assets/skills/principle-experience-first/SKILL.md +0 -21
  261. package/dist/assets/skills/principle-explain-the-number/SKILL.md +0 -19
  262. package/dist/assets/skills/principle-fix-root-causes/SKILL.md +0 -23
  263. package/dist/assets/skills/principle-foundational-thinking/SKILL.md +0 -23
  264. package/dist/assets/skills/principle-guard-the-context-window/SKILL.md +0 -14
  265. package/dist/assets/skills/principle-laziness-protocol/SKILL.md +0 -12
  266. package/dist/assets/skills/principle-make-operations-idempotent/SKILL.md +0 -24
  267. package/dist/assets/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +0 -16
  268. package/dist/assets/skills/principle-minimize-reader-load/SKILL.md +0 -20
  269. package/dist/assets/skills/principle-model-the-domain/SKILL.md +0 -26
  270. package/dist/assets/skills/principle-never-block-on-the-human/SKILL.md +0 -17
  271. package/dist/assets/skills/principle-outcome-oriented-execution/SKILL.md +0 -23
  272. package/dist/assets/skills/principle-prove-it-works/SKILL.md +0 -24
  273. package/dist/assets/skills/principle-redesign-from-first-principles/SKILL.md +0 -18
  274. package/dist/assets/skills/principle-separate-before-serializing-shared-state/SKILL.md +0 -18
  275. package/dist/assets/skills/principle-sequence-verifiable-units/SKILL.md +0 -19
  276. package/dist/assets/skills/principle-subtract-before-you-add/SKILL.md +0 -20
  277. package/dist/assets/skills/principle-test-behavior-not-implementation/SKILL.md +0 -22
  278. package/dist/assets/skills/principle-type-system-discipline/SKILL.md +0 -15
  279. package/dist/assets/skills/recall/SKILL.md +0 -37
  280. package/dist/assets/skills/reflect/SKILL.md +0 -70
  281. package/dist/assets/skills/reflect/references/divergent-reviewer.md +0 -38
  282. package/dist/assets/skills/reflect/references/judgment-reviewer.md +0 -37
  283. package/dist/assets/skills/reflect/references/synthesizer.md +0 -56
  284. package/dist/assets/skills/reflect/references/tooling-reviewer.md +0 -48
  285. package/dist/assets/skills/setup-pstack/SKILL.md +0 -76
  286. package/dist/assets/skills/sharpen/SKILL.md +0 -18
  287. package/dist/assets/skills/show-me-your-work/SKILL.md +0 -84
  288. package/dist/assets/skills/show-me-your-work/references/decision-log-template.tsv +0 -1
  289. package/dist/assets/skills/show-me-your-work/scripts/log.sh +0 -42
  290. package/dist/assets/skills/swarm/SKILL.md +0 -41
  291. package/dist/assets/skills/tdd/SKILL.md +0 -44
  292. package/dist/assets/skills/teach/SKILL.md +0 -23
  293. package/dist/assets/skills/technical-writing/SKILL.md +0 -108
  294. package/dist/assets/skills/typescript-best-practices/SKILL.md +0 -32
  295. package/dist/assets/skills/typescript-best-practices/references/patterns.md +0 -328
  296. package/dist/assets/skills/unslop/SKILL.md +0 -64
  297. package/dist/assets/skills/why/SKILL.md +0 -100
  298. package/dist/assets/skills/why/references/epistemics.md +0 -71
  299. package/dist/assets/skills/why/references/investigator-prompt.md +0 -84
  300. package/dist/assets/skills/why/references/source-playbook.md +0 -17
  301. package/dist/assets/skills/why/references/sources/code-archaeology.md +0 -51
  302. package/dist/assets/skills/why/references/sources/databricks.md +0 -70
  303. package/dist/assets/skills/why/references/sources/datadog.md +0 -97
  304. package/dist/assets/skills/why/references/sources/incident-postmortem.md +0 -5
  305. package/dist/assets/skills/why/references/sources/linear.md +0 -48
  306. package/dist/assets/skills/why/references/sources/notion.md +0 -55
  307. package/dist/assets/skills/why/references/sources/sentry.md +0 -66
  308. package/dist/assets/skills/why/references/sources/slack.md +0 -17
  309. package/dist/assets/skills/why/references/synthesizer-prompt.md +0 -129
  310. package/dist/cordis.patch.yml +0 -20
  311. package/dist/paths-Bbai4CaT.mjs +0 -16
  312. package/dist/paths-Bbai4CaT.mjs.map +0 -1
package/LICENSE CHANGED
@@ -1,7 +1,7 @@
1
1
  MIT License
2
2
 
3
3
  Copyright (c) 2026 dsh-pstack contributors
4
- Copyright (c) 2025 Lauren Tan (upstream pstack, https://github.com/cursor/plugins)
4
+ Copyright (c) 2026 Lauren Tan (upstream pstack, https://github.com/cursor/plugins)
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,159 +1,134 @@
1
1
  # dsh-pstack
2
2
 
3
- pstack for DeepSeek Harness. Rigorous agent workflows ported from
4
- [`cursor/plugins/pstack`](https://github.com/cursor/plugins/tree/main/pstack).
3
+ <img src="static/icon.png" alt="pstack logo" width="96" height="96">
5
4
 
6
- pstack helps you write less, but higher quality code. `/poteto-mode` reads a
7
- task, picks a playbook, and routes the work through the same skills Lauren Tan
8
- uses at Cursor: investigation, design, implementation, verification, review,
9
- shipping. This package ports those skills to DSH and gives them a native
10
- delegation tool.
5
+ pstack 的 DeepSeek Harness 移植。它把 Cursor pstack 的技能、playbook、原则和角色化子代理工作流带到 DSH。
11
6
 
12
- Upstream is pinned as a git submodule at `upstream/cursor-plugins`. The DSH
13
- tree under `assets/` is generated from it, so upstream fixes flow through a
14
- repeatable sync instead of a hand fork. The generated tree is committed: it is
15
- what makes a sync reviewable as a `git diff`.
7
+ 安装后,`/poteto-mode` 启动一次严谨任务,`/setup-pstack` 配置各角色使用的模型和推理预算,`/poteto-help` 帮助选择技能或排查用法。
16
8
 
17
- ## Install
9
+ ## 支持的 DSH 版本
18
10
 
19
- ```bash
20
- dsh plugin --profile web add github:your-org/dsh-pstack
21
- ```
11
+ 支持 `0.2.1-rc.3`。安装包在 `engines.dsh` 声明支持的 DSH 版本,其他版本未经验证。新版本验证通过后补充到本节。
22
12
 
23
- Or from a checkout:
13
+ ## 实现原理
24
14
 
25
- ```bash
26
- git submodule update --init --depth 1
27
- dsh plugin --profile web add .
28
- ```
15
+ 上游 pstack 对 Claude Code 的适配保留技能原文,生成独立的宿主资产,再用一份宿主适配说明处理工具、路径、模型和能力差异。
29
16
 
30
- Restart `dsh web` after install. The bundle patch mounts two rows:
17
+ dsh-pstack 沿用这个思路。上游技能是内容源,DSH 专用资产单独生成,宿主差异集中说明。上游更新可以持续同步,DSH 特有的行为不会散落在每个技能里。
31
18
 
32
- - `pstack` registers the bundled skill provider. Every converted skill appears
33
- in the session catalog with its Cursor invocation policy preserved:
34
- `/poteto-mode` and friends stay user-invocable, and the principles stay
35
- model-invocable.
36
- - `pstack-subagent` registers the `pstack_subagent` tool, the DSH replacement
37
- for Cursor's `Task` tool.
19
+ ## 必要依赖
38
20
 
39
- Verify the layer without booting:
21
+ - worktree 插件。并行写入和隔离工作目录需要它。未启用时插件自动启用,已启用时不会重复启用。
22
+ - DSH 的 skills 和 subagents 能力,由支持的 DSH 版本提供。
23
+ - Node.js `>=22.19`。仅 npm CLI 部署需要它出现在 `PATH` 上;Desktop(Electron)部署走 Host 自己的运行时。
24
+ - Git。worktree 需要 Git 仓库。
40
25
 
41
- ```bash
42
- dsh --profile web --dump-config | grep -A2 'pstack'
43
- ```
26
+ 随包的编排、PR watcher、计划检查、worktree 审计和决策日志脚本已构建为单文件 Node 产物,依赖全部内联。运行时通过 `pstack_script` 工具以宿主进程启动它们,因此**不需要 Bun,也不需要 bash,更不需要安装任何依赖**。Desktop 用户不在 `PATH` 上放 `node` 也能用:工具用 Electron 自带的 Node 运行时执行,并在需要时自动附加 `ELECTRON_RUN_AS_NODE`。脚本从**会话目录**启动,所以参数里的相对路径落在当前工作区或 worktree 内。
44
27
 
45
- ## Use
28
+ `pstack_script` 直接 `spawn` 子进程,因此**不经过命令审批,也不受 DSH 的 sandbox policy 约束**:它只能执行本包随附、由封闭 `id` 枚举选中的脚本,但脚本实际读了什么、写了哪里,Host 不会拦。这是为了在没有 `PATH` `node` 的部署里仍能运行为此付出的代价。需要审批与沙箱约束的命令请用 DSH 自己的 bash 工具。
46
29
 
47
- Start with a real task:
30
+ worktree 只隔离工作目录和分支,不提供 VM、网络、凭据或端口隔离。需要独立机器或云端执行时,worktree 不是替代品。
48
31
 
49
- ```text
50
- /poteto-mode add a --json flag to this command. text output stays byte-identical. verify both.
51
- ```
32
+ Linux 和 macOS 是主要验证目标,Windows 未在实机验证。脚本本身已不含 shell 依赖,但 Windows 上的真实行为仍未验收。
33
+
34
+ ## 与 Agent Team 的兼容性
52
35
 
53
- `/poteto-mode` opens a todo list whose first items are the matched playbook's
54
- steps. Each step names the skill it routes to. The other skills work directly:
55
- `/how`, `/why`, `/architect`, `/arena`, `/swarm`, `/interrogate`, `/tdd`,
56
- `/no-comments`, `/unslop`, `/technical-writing`, `/sharpen`, `/teach`, and the
57
- twenty-four `principle-*` rules.
36
+ > **兼容性警告**
37
+ >
38
+ > 当前版本禁止与 Agent Team 同时启用。Agent Team 会用同名工具遮蔽 `send_message`、`interrupt_agent` 和 `list_agents`,pstack 无法再用它们 steer、列出或中断自己的子代理。两者还共享子代理激活容量。`pstack_subagent` 的角色路由和 reasoning effort 计算本身不受影响,但同一 profile 中的 Team 工具会改变可见工具面。
39
+ >
40
+ > 需要同时使用时,请使用两个独立 profile。
58
41
 
59
- See the converted [pstack guide](assets/docs/guide/README.md) and the
60
- [DSH adapter reference](assets/docs/harness/dsh.md).
42
+ 决策记录见 [docs/decisions/2026-10-24-no-agent-team-coexistence.md](https://github.com/l246804/dsh-pstack/blob/main/docs/decisions/2026-10-24-no-agent-team-coexistence.md):`docs/` 不在发布包的文件清单里,所以这里用绝对 URL,避免 npm 页面上的相对链接指向不存在的路径。
61
43
 
62
- ### Configure roles
44
+ ## 安装
63
45
 
64
- `/setup-pstack` detects the routes your session can use and writes
65
- `~/.dsh/pstack-models.md`. One role per line:
46
+ 通过 npm 包 `dsh-pstack` 安装。`<profile>` 换成目标 profile,例如 `web`。
66
47
 
67
- ```text
68
- # pstack model configuration. One line per role.
69
- # Value: inherit-parent | <provider>/<model> [effort]
70
- # budget: large (xhigh)
71
- feature, refactoring: deepseek-official/deepseek-reasoner high
72
- judgment and prose: inherit-parent
48
+ ```bash
49
+ dsh plugin --profile <profile> add dsh-pstack
73
50
  ```
74
51
 
75
- A missing line means the role inherits the parent chat's route. The tool reads
76
- this file on every delegation, so edits apply without restarting.
52
+ 安装会启用 bundle。DSH 提示重启时按提示操作。
77
53
 
78
- ### Delegate
54
+ ## 快速开始
79
55
 
80
- `pstack_subagent` is the one delegation surface:
56
+ 1. 安装插件,进入目标 profile。
57
+ 2. 运行 `/setup-pstack`,选择推理预算和每个角色的模型。
58
+ 3. 用 `/poteto-mode` 加任务开始一次严谨工作流。
59
+ 4. 不确定用哪个技能时,运行 `/poteto-help`。
81
60
 
82
- ```text
83
- pstack_subagent(
84
- description: "port the retry helper",
85
- prompt: "Port src/retry.ts ... prove it with pnpm test retry",
86
- agent: "poteto-agent",
87
- role: "feature, refactoring",
88
- )
89
- ```
61
+ `/poteto-mode` 会匹配 playbook,把步骤写进 todo,并按需读取其他技能。小改动可以直接做,不必使用它。
62
+
63
+ ## 角色配置
64
+
65
+ `/setup-pstack` 写入 `$DSH_HOME/pstack-models.md`,一行一个角色。`$DSH_HOME` 是 DSH 的用户目录。值可以是 `inherit-parent`,也可以是 `provider/model` 加推理档位。
90
66
 
91
- - `agent`: `poteto-agent` (default), `general`, or `comment-sicko`. The tool
92
- prepends the packaged agent instructions for the first and third.
93
- - `role`: a line from `~/.dsh/pstack-models.md`. Omit it to inherit the parent
94
- route.
95
- - `cwd`: optional child working directory.
67
+ - `inherit-parent` 使用父会话的模型和推理档位。
68
+ - panel 角色的值是列表,每一项启动一个子代理。
69
+ - 删除某个角色的行,该角色回落到父路由。
70
+ - 重新运行 `/setup-pstack` 会更新配置,不会叠加旧值。
96
71
 
97
- The call returns `started subagent <id>` immediately. The runtime reports the
98
- final answer in a completion notice. Use `send_message` to steer a running
99
- child and `list_agents` to enumerate them.
72
+ 模型必须出现在当前 DSH 的 provider 和模型列表中。
100
73
 
101
- ## What changed from Cursor
74
+ ### 推理档位
102
75
 
103
- | Cursor | DSH |
104
- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
105
- | `Task` tool | `pstack_subagent` |
106
- | `subagent_type` | `agent` |
107
- | model slug | `role` resolved from `~/.dsh/pstack-models.md` |
108
- | `readonly` / `run_in_background` / `environment` | Background by default; say "do not edit" in the prompt |
109
- | `~/.cursor/rules/pstack-models.mdc` | `~/.dsh/pstack-models.md` |
110
- | `.cursor/skills/` | `.dsh/skills/` |
111
- | Automations, Bugbot, cloud agents, Custom Modes, `/loop`, `cursor-team-kit` | Marked skipped, or remapped to `schedule_create`, `create_goal`, worktree subagents, and `/no-comments` |
76
+ 角色行里的档位是那个角色**起步**用的档位。实际档位随任务难度双向浮动:
112
77
 
113
- `skills/make-bot-ui` is not ported: it depends entirely on Cursor Automations.
114
- It is not shipped, in any form. If you need it, read it from the upstream
115
- submodule at `upstream/cursor-plugins/pstack/skills/make-bot-ui/`.
78
+ - 调用 `pstack_subagent` 时传 `reasoningEffort`,覆盖本次派发中每个 panel 项的档位。难任务调高,机械活调低。
79
+ - 子代理自己可以调 `set_reasoning_effort`,从下一步生效,已在飞行中的请求不受影响。
116
80
 
117
- ## Develop
81
+ 合法档位由目标模型自己广告。本包不假设通用阶梯,所以参数是自由字符串而不是枚举。值不被支持时,调用在启动任何子代理**之前**失败,并在错误里列出该模型真实支持的档位。panel 中任一项不支持时整次失败,不会只启动一半。
118
82
 
119
- Requirements: Node 22.19+ and pnpm. Vite+ provides the build, test, lint, and
120
- format toolchain.
83
+
84
+ ## 功能范围与已知限制
85
+
86
+ 包含 55 个技能、23 个 playbook、24 个原则和两个子代理人格。
87
+
88
+ - `make-bot-ui` 不在支持范围。它依赖 Cursor 的 webhook routine 和 secret request,DSH 没有等价闭环。
89
+ - Cursor 专属能力没有等价物,包括 Automations、cloud agents、Custom Modes 和 Bugbot 配置。相关技能会在需要它们的步骤说明不支持,不伪造替代。
90
+ - `/loop` 没有同名命令,也没有事件订阅,属于降级映射。能覆盖的是目标与定时输入:`create_goal` 记录目标和相位,`schedule_create` 只能作定时心跳,它把一条消息投回创建它的会话,不能盯着 PR 或 CI,子代理也无法自己布置。不能覆盖的是事件唤醒和云端存活:goal 不会自己感知外部事件,自动续跑还取决于 profile 是否挂载 goal round driver,未挂载时长时间任务只是同一个会话里被监督的运行。
91
+ - `typescript-best-practices` 的 `paths` 自动触发不支持,需要时显式调用 `/typescript-best-practices`。
92
+ - worktree 只隔离工作目录,不是 VM。schedule 是定时提醒,不是事件订阅。
93
+ - 多模型评审需要配置真实不同的 route。只有同一 route 时,评审会标为同模型复核。
94
+ - 子代理和 panel 会增加 token 消耗,只在需要严谨流程的任务上使用 `/poteto-mode`。
95
+
96
+ ## 更新与卸载
97
+
98
+ 升级:
121
99
 
122
100
  ```bash
123
- vp install # install dependencies
124
- git submodule update --init --depth 1
125
- vp run sync # regenerate assets/ from upstream pstack
126
- vp check # format, lint, type-check
127
- vp test # unit tests
128
- vp pack # build dist/
101
+ dsh plugin --profile <profile> add dsh-pstack@latest
129
102
  ```
130
103
 
131
- ### Repository layout
132
-
133
- ```text
134
- src/provider.ts bundled skill provider (ctx.skills)
135
- src/subagent.ts pstack_subagent tool (ctx.subagents + ctx.tools)
136
- src/roles.ts ~/.dsh/pstack-models.md parsing and role resolution
137
- src/frontmatter.ts SKILL.md frontmatter parser
138
- scripts/adapt.ts upstream-to-DSH rewrite rules
139
- scripts/sync-upstream.ts generator: upstream -> assets/
140
- tests/ unit tests for provider, roles, and prompt assembly
141
- assets/ generated: skills, agents, docs (committed)
142
- cordis.patch.yml the bundle layer this package installs
143
- upstream/cursor-plugins git submodule, upstream reference only
104
+ 卸载:
105
+
106
+ ```bash
107
+ dsh plugin --profile <profile> remove dsh-pstack
144
108
  ```
145
109
 
146
- `assets/` is generated. Never hand-edit it. Change `scripts/adapt.ts` or a
147
- skill's upstream source, then run `vp run sync`.
110
+ 角色文件在 DSH 用户目录,卸载不会删除它。不再使用时自行删除 `$DSH_HOME/pstack-models.md`。升级或卸载后按 DSH 提示重启会话。
111
+
112
+ ## 安全与数据
113
+
114
+ - 代理在 DSH 权限模型下读写文件、执行命令,子代理继承调用方的策略和权限边界。
115
+ - 需要审批的操作按 DSH 配置请求确认。不要在无人值守任务中放宽不理解的权限。
116
+ - 不要把 API key、token 或密码写进角色文件、prompt 或仓库。
117
+ - 会话记录保存在 DSH 的会话存储中,pstack 不另建云端记录。
118
+ - 上游技能可能要求访问网络或代码托管平台。是否允许由 DSH 的审批和沙箱配置决定。
119
+
120
+ ## 故障排查
121
+
122
+ 按顺序检查。
148
123
 
149
- [`docs/porting/`](docs/porting/README.md) is the policy the converter enforces:
150
- translate names, not sentences; awkward grammar is acceptable, changed meaning
151
- is not. It also records why the generated tree is committed rather than ignored.
124
+ 1. 确认 DSH 版本在支持范围内。
125
+ 2. 确认 worktree 插件可用,必要时先手动启用一次。
126
+ 3. 确认当前 profile 没有同时启用 Agent Team。
127
+ 4. 运行 `/setup-pstack` 检查角色配置。
128
+ 5. 仍有问题时在 [GitHub Issues](https://github.com/l246804/dsh-pstack/issues) 提交,附 DSH 版本、profile 名、复现步骤和错误信息。不要贴密钥或私有会话内容。
152
129
 
153
- `vp run sync:check` fails when the committed tree differs from a fresh
154
- conversion and when a rewrite no longer matches its upstream anchor. Run it
155
- before publishing.
130
+ ## 许可证与上游归属
156
131
 
157
- ## License
132
+ MIT,见 [LICENSE](LICENSE)。
158
133
 
159
- MIT. The ported skills are MIT, copyright Lauren Tan; see [LICENSE](LICENSE).
134
+ 上游 pstack 版权归 Lauren Tan,使用 MIT 许可证。技能、playbook 和代理文本来自 [cursor/plugins](https://github.com/cursor/plugins/tree/main/pstack)。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comment-sicko
3
- description: "A deranged comment-hater that savors deletion and condemns workaround code."
3
+ description: A deranged comment-hater that savors deletion and condemns workaround code.
4
4
  ---
5
5
 
6
6
  # Comment Sicko
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: poteto-agent
3
- description: "Delegate subagent for code-writing and helper tasks spawned during a `/poteto-mode` run. Use for delegates, not as the runner for `/poteto-mode` itself. Spawn a fresh `poteto-agent` for each new task, and resume one only in the strict cases that poteto-mode's Subagents section names. Reads the `poteto-mode` skill's `SKILL.md` in full before any work, including its inline Principles index. Substituting `agent: \"general\"` skips that read and drifts."
3
+ description: Delegate subagent for code-writing and helper tasks spawned during a `/poteto-mode` run. Use for delegates, not as the runner for `/poteto-mode` itself. Spawn a fresh `poteto-agent` for each new task, and resume one only in the strict cases that poteto-mode's Subagents section names. Reads the `poteto-mode` skill's `SKILL.md` in full before any work, including its inline Principles index. Substituting `general` skips that read and drifts.
4
4
  ---
5
5
 
6
6
  # Poteto subagent
7
7
 
8
- You are operating as poteto-mode's full agent style. The chat that receives `/poteto-mode` owns the playbook, the todo list, and every `pstack_subagent` spawn. You are one of its delegates. Read the `poteto-mode` skill's `SKILL.md` in full before doing any work, including its inline Principles index. Use the absolute path your parent gave you. With no path, before any other work, search `~/.dsh/plugins/` for a file whose path ends in `skills/poteto-mode/SKILL.md`. If more than one file matches, use the copy whose `package.json` has the highest `version`. Your skill catalog hides this skill, so a missing catalog entry does not mean pstack is absent. If no such file exists, stop and tell your parent. Navigate to a leaf `principle-*` skill whenever you apply that principle.
8
+ You are operating as poteto-mode's full agent style. The chat that receives `/poteto-mode` owns the playbook, the todo list, and every `pstack_subagent` spawn. You are one of its delegates. Read the `poteto-mode` skill's `SKILL.md` in full before doing any work, including its inline Principles index. `pstack_subagent` injects that absolute path into your brief. Use the path it gave you and read the file there. Your skill catalog also hides this skill, so a missing catalog entry does not mean pstack is absent. If the brief gave no path and you cannot read the file, stop and tell your parent. Navigate to a leaf `principle-*` skill whenever you apply that principle.
@@ -4,13 +4,13 @@ In this page you install the plugin, pick which models pstack uses, and run your
4
4
 
5
5
  ## Install the plugin
6
6
 
7
- Install the bundle into your DSH profile:
7
+ Install the bundle into the profile you work in. `<profile>` is that profile's name, such as `web`:
8
8
 
9
9
  ```bash
10
- dsh plugin --profile web add github:your-org/dsh-pstack
10
+ dsh plugin --profile <profile> add dsh-pstack
11
11
  ```
12
12
 
13
- Restart `dsh web` after install. The bundle mounts the pstack skill provider and the `pstack_subagent` tool.
13
+ DSH reports whether the bundle still has to be enabled and whether the change needs a new Session. Follow that prompt, and expect the skill catalog and `pstack_subagent` to load only after it.
14
14
 
15
15
  ## Pick your models
16
16
 
@@ -20,13 +20,13 @@ Run:
20
20
  /setup-pstack
21
21
  ```
22
22
 
23
- [`/setup-pstack`](../../skills/setup-pstack/SKILL.md) detects the models you have access to, asks for a reasoning budget, shows you each role (code delegates, judgment, the review panels), and asks what you want. Answer the questions. It writes `~/.dsh/pstack-models.md`, a small rule every pstack skill reads.
23
+ [`/setup-pstack`](../../skills/setup-pstack/SKILL.md) detects the models you have access to, asks for a reasoning budget, shows you each role (code delegates, judgment, the review panels), and asks what you want. Answer the questions. It writes `$DSH_HOME/pstack-models.md`, the small file every pstack skill reads.
24
24
 
25
- The defaults inherit the parent chat route, so they cost nothing extra beyond the children themselves. A real route written as `<provider>/<model> [effort]` pins that role; `unlimited`, `large`, `medium`, and `small` set the effort token on those routes.
25
+ The skill defaults target `xhigh` reasoning, the same as the `large` budget. `unlimited` targets `max`; `medium` targets `high`, and `small` targets `medium`. Each target is applied only to a route you explicitly choose: use it when that model advertises it, otherwise use the highest advertised effort at or below the target. If the model advertises none, `/setup-pstack` asks you to choose instead of inventing an effort. The adapter's list decides, not the model's brand. A role set to `inherit-parent` or `auto` has no route-specific effort to change.
26
26
 
27
- You only override what you care about. A role with no line in the rule keeps the skill's default. To restore a default, delete that role's line. A rerun of `/setup-pstack` keeps any role whose model differs from the default. When a default changes, a rule written before the change still pins the old default, so delete those role lines, or delete the file, then run `/setup-pstack` again.
27
+ You only override what you care about. A role with no line in the file keeps the skill's default. To restore a default, delete that role's line. A rerun of `/setup-pstack` keeps any role whose model differs from the default. When a default changes, a file written before the change still pins the old default, so delete those role lines, or delete the file, then run `/setup-pstack` again.
28
28
 
29
- `inherit-parent` means the child runs on the parent chat model. Both `inherit-parent` and `auto` are accepted aliases, and neither is a model slug. For a panel role the value is a comma-separated list, and one subagent runs per entry, so the list length sets the panel size. Setup also configures `swarm workers`, the default route for every `/swarm` worker unless a race names a route for each arm.
29
+ You might be wondering what happens if you use Auto. Set a role to `inherit-parent` or `auto` and pstack sends no explicit `agentOptions` for that child, so DSH resolves it on the parent chat route. Both values mean the same thing, and neither is a model slug. For a panel role the value is a list, and one subagent runs per entry, so the list length sets the panel size. Setup also configures `swarm workers`, the default model for every `/swarm` worker unless a race names a model for each arm.
30
30
 
31
31
  ## Accept the verification offers, or don't
32
32
 
@@ -38,7 +38,7 @@ If you're new to pstack, say yes. An agent that can check its own work keeps goi
38
38
 
39
39
  Then setup offers once to generate a formal verification skill with [`/create-formal-verification-skill`](../../skills/create-formal-verification-skill/SKILL.md), unless the project already has one. Tests check the cases someone thought to write. A formal verification skill checks one key property of your code, such as "a job never runs twice at once", in every case within a stated scope. Say yes when your code has concurrency, retries, a state machine, or a parser, where a bug is costly and tests rarely reach the case that breaks. Otherwise say no, and run it later if that changes. [Verify and ship](./06-verify-and-ship.md#prove-a-property-with-a-formal-verification-skill) covers it.
40
40
 
41
- After setup, start a new chat. The model rule applies to new sessions.
41
+ After setup the file applies from the next delegation on, because `pstack_subagent` re-reads it every time.
42
42
 
43
43
  ## Keep the cost in check
44
44
 
@@ -59,6 +59,6 @@ Pick something real but small, and describe it the way you'd describe it to a co
59
59
 
60
60
  Watch the todo list. Its first items are the matched playbook's steps copied in, the Feature playbook for this prompt. If `/poteto-mode` skips a step, the step stays in the list with `skip: <reason>`, so you can see what it chose not to do.
61
61
 
62
- From here you can type normal follow-ups. DSH has no persistent custom mode. Start each new task with `/poteto-mode`, and its instructions apply to that turn.
62
+ From here you can type normal follow-ups. `/poteto-mode` attaches to the task that invoked it and does not carry over to the next one, so start each new task by typing it again. There is no persistent mode and no keyboard shortcut that keeps it on: this host has neither, and a skill that should apply again has to be invoked again.
63
63
 
64
64
  Next: [Route work through `/poteto-mode`](./02-poteto-mode.md).
@@ -90,7 +90,7 @@ continue
90
90
  keep going until done
91
91
  ```
92
92
 
93
- Short works because the playbook holds the structure, and `/poteto-mode` applies to that turn. [Set up pstack](./01-setup.md#run-your-first-task) shows how to start one. Your words carry the intent, and the skill carries the rigor.
93
+ Short works because the playbook holds the structure, and `/poteto-mode` attaches to the task that invoked it. Nothing keeps the skill in context after that task, so type it again for each new one; [set up pstack](./01-setup.md) shows a first task. Your words carry the intent, and the skill carries the rigor.
94
94
 
95
95
  ## Switch tasks with "new task"
96
96
 
@@ -102,11 +102,11 @@ A long chat accumulates context from the last task. When you change subjects, sa
102
102
 
103
103
  "new task" tells `/poteto-mode` to re-match rather than continue the prior playbook. "don't change any code yet" pins this one to Investigation. Without those two phrases, a mode mid-Feature tends to treat your question as the next feature step.
104
104
 
105
- ## Give parallel work its own machine
105
+ ## Give parallel work its own worktree
106
106
 
107
- If you run several agents against one repository on one computer, they will fight over the working tree, the ports, and the build output. The cleanest isolation is a [worktree subagent](https://cursor.com/docs/subagents#cloud-subagents). Each one gets its own worktree and branch, so it can install dependencies, run your app, and record video of the result without touching your machine. Ask the parent chat to hand the work to a worktree subagent.
107
+ If you run several agents against one repository on one computer, they will fight over the working tree, the ports, and the build output. There is no cloud machine and no VM here: every agent is a local child of this Session and ends when the host process ends. What you can give each writer is its own working directory and branch, through the official worktree rows this bundle mounts, so ask for a `create_worktree` checkout per writer and pass its absolute path as that child's `cwd`. Ports, caches, credentials, and services stay shared, so run one app instance and one heavy build at a time.
108
108
 
109
- When the work has to stay local, ask for a worktree up front:
109
+ Ask for a worktree up front:
110
110
 
111
111
  ```text
112
112
  /poteto-mode new task. branch off <base> in a fresh worktree, then port the parser change there.
@@ -56,7 +56,7 @@ In context, that's enough. [`/tdd`](../../skills/tdd/SKILL.md) writes the smalle
56
56
 
57
57
  ## Clean before you commit
58
58
 
59
- The [Opening a PR playbook](../../skills/poteto-mode/playbooks/opening-a-pr.md) runs the pre-commit cleanup on the diff before each commit and applies [`/unslop`](../../skills/unslop/SKILL.md) to the PR description and commit bodies. No single skill does this here. Ask for the same outcome in plain words: remove narrating comments, unsupported guards, dead compatibility paths, and unrelated edits.
59
+ The [Opening a PR playbook](../../skills/poteto-mode/playbooks/opening-a-pr.md) reads the diff for narrative comments, unsupported guards, dead compatibility paths, and unrelated edits before each commit, and applies [`/unslop`](../../skills/unslop/SKILL.md) to the PR description and commit bodies. `/deslop` ships in Cursor's `cursor-team-kit` and has no counterpart here. Ask for the same outcome in plain words: remove narrating comments, unsupported guards, dead compatibility paths, and unrelated edits.
60
60
 
61
61
  For prose, `/unslop` takes a target and any extra rules you have:
62
62
 
@@ -76,8 +76,8 @@ Comments need their own pass, and not from the agent that wrote them. An author
76
76
 
77
77
  [`/no-comments`](../../skills/no-comments/SKILL.md) spawns [Comment Sicko](../../agents/comment-sicko.md), 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.
78
78
 
79
- The division of labor is worth keeping straight. The pre-commit cleanup removes slop from the code, `/unslop` cleans it out of prose, and `/no-comments` hands the comments to a reviewer who didn't write them.
79
+ The division of labor is worth keeping straight. The diff read-through and `/no-comments` clean the code, `/unslop` cleans slop out of prose, and `/no-comments` hands the comments to a reviewer who didn't write them.
80
80
 
81
- **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 `strip the slop` before you commit, not after review calls it out.
81
+ **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.
82
82
 
83
83
  Next: [Verify and ship](./06-verify-and-ship.md).
@@ -19,7 +19,7 @@ Now the agent has three checks it can run, not a mood to satisfy. When the reply
19
19
  Match the check to the change:
20
20
 
21
21
  - A CLI change runs the real command.
22
- - A UI change walks the changed flow in the running app. When it must match a reference pixel for pixel, the [Visual parity playbook](../../skills/poteto-mode/playbooks/visual-parity.md) diffs screenshots against a frozen baseline instead of judging by eye.
22
+ - A UI change walks the changed flow in the running app. When it must match a reference pixel for pixel, the [Visual parity playbook](../../skills/poteto-mode/playbooks/visual-parity.md) requires a real image comparison against a frozen baseline, not judgment by eye. Name the comparison tool and the per-image delta it reports; this package does not supply one. If it is unavailable, mark parity unverified rather than claiming a match.
23
23
  - A parser or migration replays a saved input.
24
24
  - A perf change compares before and after profiles.
25
25
  - A storage change reads back the written value.
@@ -85,7 +85,7 @@ While you're there, make the dev setup repeatable too: seeded data, test users,
85
85
 
86
86
  ## Keep the verification skill honest
87
87
 
88
- Apps change, and feature maps go out of date. Run this at least once a day, ideally from a scheduled automation so nobody has to remember:
88
+ Apps change, and feature maps go out of date. Run this at least once a day, ideally from a cron job or a `schedule_create` reminder hoisted by the top-level agent, so nobody has to remember:
89
89
 
90
90
  ```text
91
91
  /maintain-verification-skill
@@ -1,6 +1,6 @@
1
1
  # Run work while you sleep
2
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.
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, a goal that carries the run, an isolated worktree, and a decision log you audit in the morning.
4
4
 
5
5
  ![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.](./images/overnight.jpg)
6
6
 
@@ -9,7 +9,7 @@ This is the payoff for everything before it. An agent you can trust to verify it
9
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
10
 
11
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.
12
+ - The agent has the tools and signals you'd use yourself: the verification skill and the logs, plus the profiler or tracer this task actually needs. Check that it can capture the real artifact; if it cannot, report the missing measurement rather than treating the task as verified.
13
13
  - Every stage proves its work and can stop the line when the work misses the bar.
14
14
  - You've read a few transcripts and turned the repeated failures into tools, skills, or checks.
15
15
 
@@ -23,7 +23,7 @@ A good handoff has the goal, the finish condition, permissions, and an escape ha
23
23
  /poteto-mode im going to bed. migrate every caller to the new parser in a fresh worktree off <base>.
24
24
  done means zero old callers, all parser fixtures pass, old api deleted.
25
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.
26
+ register the predicate as a goal and keep going until it holds. if you're truly stuck after a few hours, stop and write up why.
27
27
  ```
28
28
 
29
29
  Walk through what each line buys you:
@@ -32,12 +32,12 @@ Walk through what each line buys you:
32
32
  - "done means..." turns the goal into checks every iteration can run.
33
33
  - "fresh worktree off `<base>`" keeps the run from colliding with anything else you have open.
34
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.
35
+ - "register the predicate as a goal" maps to `create_goal`. The goal is what survives a long run, and it is what the [Autonomous run playbook](../../skills/poteto-mode/playbooks/autonomous-run.md) drives: `get_goal` reads the phase back, `update_goal` with `complete` ends it, and a `schedule_create` reminder can only act as a heartbeat, because it delivers a message into this Session and cannot watch CI or a pull request.
36
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
37
 
38
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
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.
40
+ To stop a run on purpose, tell the agent to pause, or that you're about to go offline. Closing this host ends every child and leaves nothing running in the background, and an active goal comes back disarmed, so a restarted Session has to be resumed on purpose instead of continuing by itself. 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
41
 
42
42
  ## What the loop does all night
43
43
 
@@ -93,12 +93,12 @@ The contract above drives one task to one finish condition. Some nights hold mor
93
93
 
94
94
  ## Run many projects in parallel
95
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.
96
+ There is no managed thread and no remote machine here, so a program runs in one long-lived Session on this computer and stops when that Session stops. The coordinator still doesn't write code. It directs `pstack_subagent` children, each in its own worktree, and it keeps its state in the store on disk, which is what lets a cold start pick the program up. That is the shape the Orchestrate playbook expects. Start every prompt to the coordinator with `/poteto-mode`, and the children it starts follow the playbooks.
97
97
 
98
98
  A few habits help:
99
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.
100
+ - Give each body of work its own store directory, such as a feature, a migration, a perf push, or a tech-debt cleanup. Several can run side by side in separate Sessions.
101
+ - Point each new Session at the finished runs it needs, because a child does not inherit another Session's context and a brief is the only thing it starts from.
102
102
  - Give each PR a verification swarm before it merges, and let Autopilot-stack or Autopilot-full carry the queue.
103
103
  - Ask the coordinator for a plan backed by data, and have it answer open questions with prototypes before it asks you.
104
104
 
@@ -110,13 +110,11 @@ One prompt can carry a whole Project, from research through execution:
110
110
 
111
111
  ## Let loops start themselves
112
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:
113
+ Every loop above still waits for you to start it. A reminder on a wall clock can begin the next pass, and that is the whole of it: `schedule_create` delivers a follow-up into the Session that created it, cannot watch a report arrive or a pull request change, and refuses a delegated caller. 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
114
 
115
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
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
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.
118
+ **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 goal a predicate that can pass or fail.
121
119
 
122
120
  Next: [Steer with principle names](./08-principles.md).
@@ -10,7 +10,7 @@ Start smaller than you think. You don't need many skills on day one, or even thi
10
10
  /automate-me
11
11
  ```
12
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.
13
+ You don't describe your style, because [`/automate-me`](../../skills/automate-me/SKILL.md) reads it out of your history. Through `pstack_history` it reads this Session and its reviewable direct children as raw events, and it covers other Sessions in the same workspace with the official search, looking 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` with the authoring 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
14
 
15
15
  Run it again whenever your habits drift:
16
16
 
@@ -57,7 +57,7 @@ When you already know the workflow you want to capture:
57
57
  /poteto-mode write a skill for verifying database migrations in this repo
58
58
  ```
59
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.
60
+ Writing a skill matches the [Authoring or modifying a skill playbook](../../skills/poteto-mode/playbooks/authoring-a-skill.md), which writes the `SKILL.md` by hand, validates the frontmatter, links, and structure with this package's own checks, 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
61
 
62
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
63
 
@@ -91,10 +91,6 @@ The [Eval playbook](../../skills/poteto-mode/playbooks/eval.md) is built around
91
91
 
92
92
  Read every output yourself before accepting the verdict. If you disagree with the judge, suspect the rubric before you suspect your judgment.
93
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
94
  **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
95
 
100
96
  Next: [Recipes and pitfalls](./10-recipes-and-pitfalls.md).
@@ -2,7 +2,7 @@
2
2
 
3
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
4
 
5
- ![She tastes a finished dish while robots cook from a recipe box, with pinned cards reading /how, /tdd, and /loop above the counter.](./images/recipes.jpg)
5
+ ![She tastes a finished dish while robots cook from a recipe box, with pinned cards reading /how and /tdd above the counter.](./images/recipes.jpg)
6
6
 
7
7
  ## Understand an unfamiliar subsystem
8
8
 
@@ -161,11 +161,11 @@ That's the whole prompt. [`/bro`](../../skills/bro/SKILL.md) restates the last m
161
161
  ## The pitfalls
162
162
 
163
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.
164
+ - **A vague finish condition.** "make it better" gives a goal nothing to check. Give a command or artifact that can pass or fail.
165
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
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
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".
168
+ - **Parallel agents in one worktree.** They overwrite each other, and nobody can tell which agent changed what. Say "own worktree per attempt", and pass each child its checkout's absolute path as `cwd`, because a shared checkout isolates nothing.
169
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
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
171
  - **Correcting the same mistake by hand.** A correction in chat helps one run. `/correct` fixes the repo so no later run repeats it.
@@ -10,7 +10,7 @@ Here's what you'll learn:
10
10
  4. [Design the change](./04-design.md). `/architect`, `/arena`, `/swarm`, `/interrogate`, prototypes, and plans before code locks in a shape.
11
11
  5. [Build and clean the change](./05-build-and-clean.md). The build playbooks, `/tdd`, `/unslop`, and `/no-comments`.
12
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.
13
+ 7. [Run work while you sleep](./07-overnight.md). Trust before long runs, an overnight contract, a decision log you can audit, and goals, reminders, and worktrees that carry a run past one agent.
14
14
  8. [Steer with principle names](./08-principles.md). The 24 names that redirect an agent mid-task.
15
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
16
  10. [Recipes and pitfalls](./10-recipes-and-pitfalls.md). Prompts to copy and mistakes to skip.