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
@@ -1,65 +1,60 @@
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`.
1
+ # DSH harness mapping
2
+
3
+ > This package ships its static assets, one bundled skill provider, the `pstack_subagent` delegation tool, the ported workflow skills and playbooks, restricted read-only history through `pstack_history`, `pstack_script` for running the bundled CLIs on the Host's own runtime, the official worktree integration mounted on demand, and a long-running-workflow pass that maps automatic goals, reminder heartbeats, and local watchers onto the host tools that actually exist.
4
+ > The tables below are the target contract, not proof that a capability is installed in a profile.
5
+
6
+ Generated from `scripts/capabilities.ts` into `assets/docs/harness/dsh.md`. Edit the table, not this file.
7
+
8
+ ## Coverage
9
+
10
+ - `mapped`: DSH has a direct equivalent, and the port keeps the upstream intent.
11
+ - `degraded`: DSH has a partial equivalent, and the row states what is lost.
12
+ - `preserved`: the upstream behavior stays as written, inside its narrower scope.
13
+ - `excluded`: the feature is not carried, and every skill that needs it is adapted.
14
+ - `deferred`: a later unit delivers it, and `Unit` names that unit.
15
+
16
+ A row without `mapped` carries a reason and a delivery unit. A numeric unit names when the
17
+ capability lands; `not planned` marks a gap this port does not close. Neither is evidence
18
+ about this tree.
19
+
20
+ ## Tools and fields
21
+
22
+ | Upstream | DSH | Coverage | Unit | Note |
23
+ | --- | --- | --- | --- | --- |
24
+ | `Task` spawn | `pstack_subagent`, which returns a child id and reports by completion notice | mapped | - | Every call starts a managed activation and returns the child id; the result arrives as a completion notice, so nothing polls. A panel role starts one child per configured entry and reports a partial start instead of rolling back. |
25
+ | `subagent_type: generalPurpose` | `agent: "general"` | mapped | - | A plain child with no injected preamble. `agent` accepts only the three pstack kinds, never a DSH agent preset id. |
26
+ | `subagent_type: poteto-agent` | `agent: "poteto-agent"`, with the preamble injected by the tool | mapped | - | The preamble is read from the packaged asset at an absolute path and the `poteto-mode` instructions path is injected into the brief. A missing preamble blocks that agent type instead of degrading to a plain child. |
27
+ | `comment-sicko` subagent | `agent: "comment-sicko"`, briefed read-only | degraded | 3 | The persona preamble is injected, but the no-write rule is brief text rather than a sandbox, so a reviewer's scope still has to be checked. |
28
+ | `run_in_background: true` | field removed; children start as activations | mapped | - | `pstack_subagent` takes no background flag: every child is a managed activation and reports through a completion notice. |
29
+ | `readonly: true` and `readonly: false` | a no-write constraint in the brief; the field is removed | degraded | 3 | Prose is not a sandbox, so a read-only child has to be checked rather than enforced. |
30
+ | `resume` | a fresh child; `send_message` only when state is expensive to move | mapped | - | `pstack_subagent` always starts a fresh child. `send_message` continues a live one; a settled child is never silently resumed. |
31
+ | `file_attachments` | real paths listed in the brief | mapped | - | The brief carries real paths; no invented attachment argument exists in the tool schema. |
32
+ | `AskQuestion` | `ask_user_question` with `multi_select` | mapped | - | |
33
+ | `TodoWrite` | `todo_write` with the full list; a skipped step stays in `content` | mapped | - | |
34
+ | `Grep`, `Glob`, `Read`, `Shell` | `grep`, `glob`, `read`, `bash` | mapped | - | |
35
+ | built-in `create-skill` | the authoring playbook plus this package's frontmatter, link, and structure checks | degraded | 4 | No Cursor drafting, evaluation, or optimization tool is claimed; the playbook points at the validators this package actually runs. |
36
+ | `/name` or the named skill | the `skill` tool for model-invocable skills, `/name` for the rest | mapped | - | The bundled provider lists all 55 skills and loads each body from its absolute path; only `setup-pstack` stays model-invocable, exactly as upstream declares. |
37
+ | `bun` + shell scripts under `poteto-mode/scripts/` | `pstack_script`, which runs the bundled CLIs on the Host's own runtime | mapped | - | `id` is a closed enum over the shipped artefacts, so the tool takes no path and no shell string. Each artefact is one dependency-free Node module launched with `process.execPath`, which is why no `bun`, `bash`, or `node` on PATH is needed; `ELECTRON_RUN_AS_NODE=1` is added only under Electron. Each run starts in the Session's own directory. `background: true` needs the jobs service and is refused with a reason when the composition has none. The tool goes through no command approval and no sandbox policy, which its description states. |
38
+
39
+ ## Paths, models, and host features
40
+
41
+ | Upstream | DSH | Coverage | Unit | Note |
42
+ | --- | --- | --- | --- | --- |
43
+ | model slug, reasoning effort, `fast` | `role` resolved from `$DSH_HOME/pstack-models.md`, plus `reasoningEffort` per delegation | mapped | - | A role value is `inherit-parent`, `auto`, `<provider>/<model>`, or `<provider>/<model> [effort]`. The value splits at its first `/`, so a model id may keep its own vendor prefix (`gateway/vendor-a/model-x`); no segment may be empty. The role's effort is the level that role starts at, not a ceiling: `pstack_subagent` takes `reasoningEffort` to raise or lower it for one delegation, and a child can change its own with `set_reasoning_effort`, which applies from its next step. Both are validated against the live adapter metadata, per panel entry, before a child starts, and a refusal lists that model's real efforts. No model id is hardcoded in the assets, and no effort ladder is either. |
44
+ | `~/.cursor/rules/pstack-models.mdc` | `$DSH_HOME/pstack-models.md`, read for each new delegation | mapped | - | `/setup-pstack` writes the file and `pstack_subagent` re-reads it on every delegation. An unreadable file is an error, not an empty configuration. |
45
+ | `.cursor/skills`, `~/.cursor/skills` | `assets/skills/<name>/SKILL.md` inside this package | mapped | - | Skills ship inside the package and are read in place; nothing is copied into `$DSH_HOME/skills`, and no directory is watched. |
46
+ | `~/.cursor/plugins`, `.cursor-plugin` | absolute resource paths inside this package | mapped | - | Each candidate carries its own skill directory as the resource base, so `references/` and `scripts/` resolve next to `SKILL.md`. |
47
+ | `~/.cursor/projects/.../agent-transcripts` | `pstack_history`, a restricted read of raw `sessionQuery` events | degraded | 5 | The tool pages one fixed observation of the calling session or a reviewable direct child, inside the caller's workspace; there is no transcript directory to read, no arbitrary session id, and no descendant traversal. A cold read from persistence cannot separate the stored log from the read-time interrupted-turn closers rc.3 appends, so per-event provenance is reported undeterminable and a full transcript audit stays unfinished for those sessions. The live/prepared split, pagination, and lease release are unit-tested; no real profile read has run yet. |
48
+ | agent store | `.audit/<task-slug>/` or a directory the user names | mapped | - | |
49
+ | `paths:` auto-attach globs in SKILL.md | not consumed; skills load by explicit invocation | degraded | not planned | Automatic attachment by file glob has no equivalent, so `typescript-best-practices` is explicit-invocation only and its body says so. The frontmatter field is dropped from the generated skill rather than shipped as a no-op. |
50
+ | Custom Mode | an explicit `/poteto-mode` on each new task | degraded | 4 | No persistent mode or keyboard shortcut exists. The ported skills say so at the step where a mode would have applied. |
51
+ | `/loop` | `create_goal` for automatic continuation, plus `schedule_create` only as a timed heartbeat | degraded | 6 | There is no command to type and no event subscription. The goal carries a predicate across rounds, and its round driver is a separate host package that a profile may not mount, so a goal can be created while nothing continues on its own. A reminder only delivers a follow-up into the session that created it, refuses a delegated caller, and cannot watch a PR or CI. The event half is a background job whose settlement wakes the session, or a poll the text calls a poll. Nothing here has been exercised on a real profile. |
52
+ | Cursor Automations, `update_state`, `SendToUser` | not mapped; routine-style automation is excluded | excluded | 5 | `automate-me` ships, but it drafts a `-mode` skill from authorized history and opens a PR; it does not create a webhook routine, request a secret, or wake an agent. `schedule_create` is not a webhook routine, it refuses a delegated caller, and no secret is ever requested. |
53
+ | cloud agent, `cloud_base_branch`, dashboard | a local child with a real `cwd`, started from a local branch or a prepared checkout | degraded | 3 | No VM, cross-device resume, dashboard, or cloud liveness check is promised, and the long-running playbooks now say so in the step that used one. Isolation is the official worktree checkout, which does not cover ports, credentials, or services, and every child ends with the host process. |
54
+ | `deslop` | `/no-comments` plus one read-through of the diff | degraded | 4 | It is not the same skill under a new name; the diff read-through replaces the plugin. |
55
+ | `control-ui`, `control-cli` | a project verification skill or an existing driver | degraded | 4 | Without a driver the verification result stays unproven, and reading source is not accepted as a substitute. |
56
+ | Bugbot | triage of review comments already on a pull request | preserved | 4 | Starting or configuring Bugbot is out of scope; existing review threads are read as ordinary data. |
57
+ | built-in pull request tool | resolved `gh`, or an `origin` CLI that is actually available | degraded | 4 | A forge path has to be resolved before the shipping steps can run; there is no built-in PR tool. |
58
+ | image generation, `/visualize` | Mermaid, existing screenshots, or a real renderer | degraded | 4 | No image is fabricated when none can be rendered, and a read-only capture stays read-only. |
59
+ | worktree isolation | the official worktree rows, mounted by this bundle when the profile lacks them | mapped | - | Two rows mount on demand inside the composed profile and are skipped when an equivalent row is already enabled, so the `worktrees` service is provided exactly once. Isolation covers the working directory and branch only: not ports, network, credentials, caches, or services. The four profile paths are not yet verified at runtime. |
60
+ | the `/make-bot-ui` skill | excluded from the port | excluded | 1 | It targets Cursor's Grok Bot webhook and Tailscale flow, and there is no equivalent host feature. |
@@ -1,9 +1,40 @@
1
- # ~/.dsh/pstack-models.md
1
+ # pstack per-role model configuration
2
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)
3
+ # `/setup-pstack` writes this file to `$DSH_HOME/pstack-models.md`. `pstack_subagent`
4
+ # re-reads it on every delegation, so an edit reaches the next child and never a child
5
+ # that already started.
6
+ #
7
+ # One line per role. The key must match a role in the manifest exactly, commas
8
+ # included. Delete a line to inherit the parent route for that role.
9
+ #
10
+ # Value forms:
11
+ #
12
+ # - `inherit-parent` or `auto` sends no `agentOptions`, so the child runs on the parent
13
+ # route.
14
+ # - `<provider>/<model>` is an exact route. It splits at the first `/`: the
15
+ # provider is the text before it and the model is everything after it, so
16
+ # `gateway/vendor-a/model-x` is provider `gateway` with model
17
+ # `vendor-a/model-x`. No segment may be empty.
18
+ # - `<provider>/<model> [effort]` sets the starting level for that role. A caller
19
+ # raises or lowers it per delegation with `reasoningEffort`, and a running child
20
+ # can change its own with `set_reasoning_effort`. The effort must appear in that
21
+ # model's supported effort list. This package assumes no ladder of its own, so it
22
+ # never invents a token and reports the real ones whenever it refuses one.
23
+ #
24
+ # `arena runners`, `architect runners`, and `interrogate reviewers` are panels: the
25
+ # value is a comma-separated list and one child starts per entry. Two entries on the
26
+ # same route are not a cross-model review, and `pstack_subagent` says so in its
27
+ # result.
28
+ #
29
+ # `arena cross-judge pool` is a list too, but it is not fanned out; pass `roleIndex` to
30
+ # choose the entry. `swarm workers` is a list as well: its first entry is the default
31
+ # route for every worker, `roleIndex` gives one race arm a different entry, and the
32
+ # caller still starts each worker itself.
33
+ #
34
+ # The defaults below are `inherit-parent` because no route is confirmed yet. Replace
35
+ # them with routes your own deployment serves.
36
+ #
37
+ # budget: none (unset)
7
38
  feature, refactoring: inherit-parent
8
39
  bug-fix: inherit-parent
9
40
  perf-issue: inherit-parent
@@ -16,8 +47,8 @@ why investigators: inherit-parent
16
47
  why synthesizer: inherit-parent
17
48
  reflect tooling: inherit-parent
18
49
  reflect judgment, divergent, synthesizer: inherit-parent
19
- arena runners: inherit-parent, inherit-parent
20
- arena cross-judge pool: inherit-parent, inherit-parent
50
+ arena runners: inherit-parent
51
+ arena cross-judge pool: inherit-parent
21
52
  swarm workers: inherit-parent
22
- architect runners: inherit-parent, inherit-parent
23
- interrogate reviewers: inherit-parent, inherit-parent
53
+ architect runners: inherit-parent
54
+ interrogate reviewers: inherit-parent
@@ -4,15 +4,15 @@ description: Sketch types, signatures, and module structure before code, then st
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Architect
10
8
 
9
+ > DSH port of pstack. `pstack_subagent` replaces Cursor's Task tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
10
+
11
11
  Sketch types, function signatures, class shapes, and module boundaries with `not implemented` bodies and pseudocode. Synthesize across multiple model perspectives, then fill in code against the chosen sketch.
12
12
 
13
13
  ## Start
14
14
 
15
- Call `todo_write` with one entry per phase before starting.
15
+ Open a `todo_write` list with one entry per phase before starting.
16
16
 
17
17
  1. Ground
18
18
  2. Sketch
@@ -22,17 +22,17 @@ Call `todo_write` with one entry per phase before starting.
22
22
 
23
23
  ## Phase A: Ground the problem
24
24
 
25
- Build a real mental model of every system the new code touches. Run the **how** skill over the relevant subsystems. Naming a file isn't grounding. Produce the architectural explanation `how` prescribes. If the design redefines ownership or layering, also run the **why** skill on the existing shape so the rationale becomes a constraint, not a guess.
25
+ Build a real mental model of every system the new code touches. Read the `how` skill's `SKILL.md` at its absolute resource path and run it over the relevant subsystems. Naming a file isn't grounding. Produce the architectural explanation `how` prescribes. If the design redefines ownership or layering, read the `why` skill's `SKILL.md` at its absolute resource path and run it on the existing shape, so the rationale becomes a constraint, not a guess.
26
26
 
27
27
  Skip Phase A only when the work is genuinely greenfield with no surrounding system to integrate.
28
28
 
29
29
  ## Phase B: Sketch
30
30
 
31
- Run the **arena** skill with the design-sketch task and the Phase A grounding artifacts. Pass `references/runner-prompt.md` as each runner's prompt.
31
+ Read the `arena` skill's `SKILL.md` at its absolute resource path and run it with the design-sketch task and the Phase A grounding artifacts. Pass `references/runner-prompt.md` as each runner's prompt.
32
32
 
33
- Take the runners from the `architect runners` line in the `pstack-models.md` rule, in place of the `arena runners` line. If the rule or that line is missing, both runners inherit the parent model. Alias and rejected entries follow the runner rules in the **arena** skill's Phase A.
33
+ Use `role: "architect runners"` in place of the `arena runners` role. That role is a panel, so one `pstack_subagent` call starts one runner per entry and reports every child id with the route it actually got. A role the file does not name inherits the parent route; an entry whose route does not resolve fails that runner and names the role file, while the remaining entries still start and the result records the degradation. Two entries on the same route are two sketches from one model, not a multi-model sketch, and the result says so. Each runner needs its own checkout: the child calls `create_worktree` in its own Session, or you create the checkouts one at a time and pass each absolute `path` as that child's `cwd`, because two children writing in one parent checkout is not isolation.
34
34
 
35
- Design it twice. Require at least two structurally distinct candidates before synthesis, even when the first looks sufficient. This is the **exhaust-the-design-space** principle skill made concrete. Whole-shape alternatives, not point fixes inside one shape.
35
+ Design it twice. Require at least two structurally distinct candidates before synthesis, even when the first looks sufficient. This is `principle-exhaust-the-design-space` made concrete; read its `SKILL.md` at its absolute resource path. Whole-shape alternatives, not point fixes inside one shape.
36
36
 
37
37
  Screen every candidate against [`references/design-red-flags.md`](references/design-red-flags.md) before synthesis. Assume the next contributor is an agent that sees only the files it opened, copies the nearest example, and takes the shortest path that compiles. Prefer the design where a change that looks right from one file is right for the whole repo.
38
38
 
@@ -44,9 +44,9 @@ Arena returns one synthesized design package. Its synthesis decision fills the r
44
44
 
45
45
  Default: proceed directly to implementation with the synthesized design. No human checkpoint.
46
46
 
47
- Opt in to a checkpoint when the invoker explicitly asks: "/architect with checkpoint," "stop and show me before implementing," or similar. Then surface the synthesized design and pause for sign-off.
47
+ Opt in to a checkpoint when the invoker explicitly asks: "/architect with checkpoint," "stop and show me before implementing," or similar. Then surface the synthesized design and pause for sign-off, using `ask_user_question` when there is a real choice. With no answerer, stop and report the design instead of assuming approval.
48
48
 
49
- The synthesis can ship as its own commit either way, as the "scaffold first" mode of the **foundational-thinking** principle skill. Planned and scoped breakage during fill-in is fine, per the **outcome-oriented-execution** principle skill. For adversarial pressure on the design before implementing, run the **interrogate** skill on the synthesized sketch.
49
+ The synthesis can ship as its own commit either way, as the "scaffold first" mode of `principle-foundational-thinking`. Planned and scoped breakage during fill-in is fine, per `principle-outcome-oriented-execution`. Read either `SKILL.md` at its absolute resource path. For adversarial pressure on the design before implementing, read the `interrogate` skill's `SKILL.md` at its absolute resource path and run it on the synthesized sketch.
50
50
 
51
51
  If the human pushes back on the shape (in a checkpoint or after the fact), treat that as Phase A evidence. Re-ground and re-run Phase B before writing more code.
52
52
 
@@ -56,7 +56,7 @@ Replace `not implemented` bodies with code, pseudocode with logic. The synthesiz
56
56
 
57
57
  ## Phase E: Scrap when the architecture is wrong
58
58
 
59
- If implementation keeps producing friction the sketch can't absorb, throw the sketch out. Don't bolt fixes onto a wrong design, per the **redesign-from-first-principles** and **fix-root-causes** principle skills.
59
+ If implementation keeps producing friction the sketch can't absorb, throw the sketch out. Don't bolt fixes onto a wrong design: read `principle-redesign-from-first-principles` and `principle-fix-root-causes` at their absolute resource paths.
60
60
 
61
61
  The signal is a *pattern*, not single instances. Tells:
62
62
 
@@ -71,9 +71,9 @@ Use judgment. A few edge cases don't condemn an architecture. Some problems are
71
71
 
72
72
  When you scrap:
73
73
 
74
- 1. Re-run the **how** skill over what's been built.
74
+ 1. Read the `how` skill's `SKILL.md` at its absolute resource path and re-run it over what's been built.
75
75
  2. Redesign as if the new constraints had been day-one assumptions, per redesign-from-first-principles.
76
- 3. Subtract before adding, per the **subtract-before-you-add** principle skill. The new sketch should be smaller than the old one before it grows.
76
+ 3. Subtract before adding, as `principle-subtract-before-you-add` requires; read its `SKILL.md` at its absolute resource path. The new sketch should be smaller than the old one before it grows.
77
77
  4. Return to Phase B and re-run arena.
78
78
 
79
79
  ## Outputs
@@ -4,11 +4,11 @@ description: Spawn N parallel candidates at the same task, pick a base, graft th
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Arena
10
8
 
11
- Call `todo_write` with one entry per phase (Frame, Fan out, Cross-judge, Pick, Graft, Verify) before launching anything.
9
+ > DSH port of pstack. `pstack_subagent` replaces Cursor's Task tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
10
+
11
+ Open a `todo_write` list with one entry per phase (Frame, Fan out, Cross-judge, Pick, Graft, Verify) before launching anything.
12
12
 
13
13
  ## Phase A: Frame
14
14
 
@@ -16,34 +16,34 @@ Every candidate gets the same prompt, so the prompt is the contract.
16
16
 
17
17
  1. State the artifact each candidate is producing.
18
18
  2. Derive the rubric, 3-6 concrete gradeable criteria for what success looks like on *this* task. It is the picker's tool in Phase D. Candidates only see the task.
19
- 3. Pick the runners with `role: "arena runners"`. The role is a list in `~/.dsh/pstack-models.md`; one child runs per entry, and an `inherit-parent` entry runs on the parent model. When the file or line is missing, run one child on the parent model. Spawn more runners when the arena covers multiple design directions. Use the same route N times when the work is generation-bound rather than judgment-sensitive. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill.
20
- 4. Give each candidate its own output location (a git worktree where possible, otherwise `/tmp/arena-<slug>/candidate-<n>/`), per the **separate-before-serializing-shared-state** principle skill.
19
+ 3. Pick the runners. Use `role: "arena runners"`: that role is a panel, so one `pstack_subagent` call starts one child per entry in the role file and the result lists every child id with the route it actually got. Read the Subagents section of the `poteto-mode` skill at its absolute resource path first. An entry the file does not name inherits the parent route. An entry whose route does not resolve fails that seat and names the role file; the remaining seats still start and the result records the degradation. Two entries on the same route give you two attempts from one model, not a cross-model arena, and the result says so. Add entries when the arena covers multiple design directions, and repeat one route when the work is generation-bound rather than judgment-sensitive. Start from the level the role line names, raise it for hard work and lower it for routine work by passing `reasoningEffort`; a child that cannot call `set_reasoning_effort` keeps the level you gave it.
20
+ 4. Give each candidate its own output location. The child calls `create_worktree({ name })` in its own Session and writes there, or you create the checkouts one at a time first and pass each absolute `path` as that child's `cwd`; `create_worktree` returns the path, branch, pinned commit, and repository root. That isolation covers the working directory and branch only, so ports, credentials, running services, and caches still collide. A scratch directory outside the repository is the fallback when Git isolation is not wanted. This is `principle-separate-before-serializing-shared-state`; read its `SKILL.md` at its absolute resource path.
21
21
 
22
22
  ## Phase B: Fan out
23
23
 
24
- Spawn all N subagents in one message each with the task, the path to the shared grounding, its own output path, and instructions to produce the artifact and a short rationale naming the alternatives it considered and what it rejected.
24
+ Start all N subagents in one batch of `pstack_subagent` calls, each with the task, the path to the shared grounding, its own output path, and instructions to produce the artifact and a short rationale naming the alternatives it considered and what it rejected. A child is a managed activation, so there is no background flag and nothing polls: each result arrives as a completion notice. A brief that needs a read-only candidate still has to say so, because the tool enforces no such mode.
25
25
 
26
- If a candidate produces no output, proceed with N-1 and note the dropout.
26
+ If a candidate produces no output, proceed with N-1 and note the dropout. To keep a live candidate's local state, such as its checkout, uncommitted edits, or a running process, send it another instruction with `send_message`; that returns an acceptance, not an answer, and the reply still arrives as the child's own completion notice. Otherwise start a fresh child, because a settled child is never silently resumed.
27
27
 
28
28
  ## Phase C: Cross-judge
29
29
 
30
- After all Phase B candidates complete, spawn one `pstack_subagent` with `role: "arena cross-judge pool"` and `agent: "general"`, and tell it not to edit files. Prefer a route whose family differs from the parent's; when the role is missing, use the parent model. It sees the rubric and the candidates by path label, scores each criterion, and recommends a base with rationale. It runs in parallel with your reading in Phase D. Don't spawn it while candidates are still writing.
30
+ After all Phase B candidates complete, choose one entry from `role: "arena cross-judge pool"` with `roleIndex`. That role is a list but is not fanned out: one call starts one judge on the entry you picked. Prefer a route whose provider and model family differ from the parent's, and when you cannot confirm a different family, say plainly that the cross-judge is the same model reviewing itself. Start it with a brief that forbids writes and tells it to check `git status` instead of claiming it wrote nothing. It sees the rubric and the candidates by path label, scores each criterion, and recommends a base with rationale. It runs in parallel with your reading in Phase D. Don't start it while candidates are still writing.
31
31
 
32
32
  ## Phase D: Pick a base
33
33
 
34
34
  Read every candidate end to end before picking. Score each against the rubric criterion by criterion, not on holistic feel, and compare with the cross-judge. Agreement on the base confirms the pick. Disagreement means one of you is biased or the rubric was ambiguous. Read both rationales before deciding.
35
35
 
36
- Pick the base a future maintainer can extend most easily without breaking invariants. When two feel tied, prefer the cleaner boundary or smaller API, per the Laziness Protocol.
36
+ Pick the base a future maintainer can extend most easily without breaking invariants. When two feel tied, prefer the cleaner boundary or smaller API, per `principle-laziness-protocol`; read its `SKILL.md` at its absolute resource path.
37
37
 
38
38
  ## Phase E: Graft
39
39
 
40
- Walk each losing candidate once more for what is worth porting into the base, usually one or two things per candidate, not most of it. Fold each graft in by hand, per the **redesign-from-first-principles** principle skill, so the result stays coherent under one mental model. Don't paste mechanically.
40
+ Walk each losing candidate once more for what is worth porting into the base, usually one or two things per candidate, not most of it. Fold each graft in by hand, as `principle-redesign-from-first-principles` requires; read its `SKILL.md` at its absolute resource path, so the result stays coherent under one mental model. Don't paste mechanically.
41
41
 
42
42
  If the candidates converge on one shape, that is strong agreement. Note it and ship the consensus shape. No graft is needed. If they wildly diverge, Phase A was under-specified. Reframe and re-run rather than averaging the divergence.
43
43
 
44
44
  ## Phase F: Verify
45
45
 
46
- Verify the synthesized artifact like any other output, per the **prove-it-works** principle skill. If verification finds a problem the arena missed, either Phase A was wrong (re-frame and re-run) or a candidate caught it and you missed the graft (go back to Phase E). Don't paper over it.
46
+ Verify the synthesized artifact like any other output, as `principle-prove-it-works` requires; read its `SKILL.md` at its absolute resource path. If verification finds a problem the arena missed, either Phase A was wrong (re-frame and re-run) or a candidate caught it and you missed the graft (go back to Phase E). Don't paper over it.
47
47
 
48
48
  ## Outputs
49
49
 
@@ -1,22 +1,22 @@
1
1
  ---
2
2
  name: automate-me
3
- description: Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how the user works. Drafts or revises a personal -mode skill via create-skill + unslop, optionally pulling fresh evidence from recent transcripts.
3
+ description: Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how the user works. Drafts or revises a personal -mode skill with the authoring playbook and unslop, optionally pulling fresh evidence from this workspace's recent sessions.
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Automate me
10
8
 
9
+ > DSH port of pstack. `pstack_subagent` replaces Cursor's Task tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
10
+
11
11
  A guided flow for turning the user's working conventions into a skill agents will follow. The output is one `-mode` skill tailored to them (e.g. `jay-mode`, `priya-mode`).
12
12
 
13
- This skill orchestrates three others: an inline mining pass (see step 1), the authoring-a-skill playbook (authoring), and the **unslop** skill (prose discipline). It sequences them. It doesn't replace them.
13
+ This skill orchestrates three others: an inline mining pass (see step 1), the `authoring-a-skill` playbook (authoring), and `unslop` (prose discipline; read its `SKILL.md` at its absolute resource path). It sequences them. It doesn't replace them.
14
14
 
15
15
  ## Flow
16
16
 
17
17
  ### 0. Check for an existing skill
18
18
 
19
- Look recursively for `.dsh/skills/**/*-mode/SKILL.md` and `~/.dsh/skills/*-mode/SKILL.md` matching the user's handle. Mode skills can live in a personal category directory (`.dsh/skills/<handle>/`), not only at the top level. If one exists, confirm intent with `ask_user_question` (unless they already said "update my skill" or similar):
19
+ Look recursively for `.dsh/skills/**/*-mode/SKILL.md` and `$DSH_HOME/skills/*-mode/SKILL.md` matching the user's handle. Mode skills can live in a personal category directory (`.dsh/skills/<handle>/`), not only at the top level. If one exists, confirm intent with `ask_user_question` (unless they already said "update my skill" or similar):
20
20
 
21
21
  - Update the existing skill (default for repeat runs)
22
22
  - Start fresh (rare, ask why before doing it)
@@ -28,9 +28,9 @@ Update mode changes the rest of the flow:
28
28
 
29
29
  ### 1. Mine their history
30
30
 
31
- Locate the active workspace's transcripts before fanning out. The system prompt names the workspace's `session logs/` directory. Use only that path. Don't glob across `$DSH_HOME/sessions/`. That crosses workspace boundaries and reads private chats from unrelated projects.
31
+ Establish the workspace's recent sessions before fanning out: `pstack_history` reads this session and its reviewable direct children as raw events, and the official `session_search` (with `session_event_read` for a hit's region) covers other sessions in the same workspace. Stay inside the authorized workspace. Never read the session store directory or glob across workspaces: that crosses workspace boundaries and reads private sessions from unrelated projects.
32
32
 
33
- Survey recent agent conversations within that scope for recurring patterns. Run multiple parallel subagents across slices of history (e.g. last 2-4 weeks, split into 3 slices so each has enough material). Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the **poteto-mode** skill. Each slice mining subagent reads transcripts from the workspace-scoped path the parent provides, looks for the signals below, and returns a short structured list of patterns it saw with evidence pointers. Default signals worth hunting:
33
+ Survey recent agent conversations within that scope for recurring patterns. Run multiple parallel `pstack_subagent` children across slices of history (e.g. last 2-4 weeks, split into 3 slices so each has enough material). Pick each subagent's role per the Subagents section of `poteto-mode`; read its `SKILL.md` at its absolute resource path. Each slice mining subagent reads the sessions you hand it, inlined as events or opened through the same authorized search, looks for the signals below, and returns a short structured list of patterns it saw with evidence pointers. Start from the level the role line names, raise it for hard work and lower it for routine work by passing `reasoningEffort`; a child that cannot call `set_reasoning_effort` keeps the level you gave it. Default signals worth hunting:
34
34
 
35
35
  - Response preferences (length, tone, format, "dumb it down" corrections)
36
36
  - Delegation habits (subagents, models, specialized workflows, parallelism)
@@ -45,7 +45,7 @@ Cross-check across slices before elevating a signal. Patterns seen in 2+ slices
45
45
 
46
46
  Mining misses intent that hasn't come up yet. Use the `ask_user_question` tool (structured multi-choice) rather than asking the user to type from scratch.
47
47
 
48
- Shape: one or two questions with 4-6 options each, `allow_multiple: true` for category questions. Start broad ("Which areas matter most?"), then follow up on selected areas with specific options. After the structured rounds, one free-form chat question catches anything the options missed.
48
+ Shape: one or two questions with 4-6 options each, `multi_select: true` for category questions. Start broad ("Which areas matter most?"), then follow up on selected areas with specific options. After the structured rounds, one free-form chat question catches anything the options missed.
49
49
 
50
50
  Don't dump 20 questions.
51
51
 
@@ -66,17 +66,17 @@ The **poteto-mode** skill shows the shape. Read it for granularity. Don't copy i
66
66
 
67
67
  ### 4. Draft the skill
68
68
 
69
- Use the authoring-a-skill playbook to author the skill. Placement:
69
+ Use the `authoring-a-skill` playbook to author the skill. Placement:
70
70
 
71
- - Path: preserve an existing mode skill's category. For a new mode, use `.dsh/skills/<handle>/<handle>-mode/SKILL.md` when the repo has an established personal category for that handle. Otherwise default to `.dsh/skills/<handle>-mode/SKILL.md` in the project (or `~/.dsh/skills/<handle>-mode/` if the user prefers a personal skill).
71
+ - Path: preserve an existing mode skill's category. For a new mode, use `.dsh/skills/<handle>/<handle>-mode/SKILL.md` when the repo has an established personal category for that handle. Otherwise default to `.dsh/skills/<handle>-mode/SKILL.md` in the project (or `$DSH_HOME/skills/<handle>-mode/SKILL.md` if the user prefers a personal skill).
72
72
  - Handle: the user's first name or chosen identifier.
73
73
  - Frontmatter `description`: trigger on their name + `/<handle>-mode` + "work in their style", not on generic keywords like "write code" or "review PR".
74
- - Frontmatter formatting: keep `description` as one YAML scalar. Quote it or use `description: >-` with indented continuation lines when punctuation or wrapping requires it.
74
+ - Frontmatter formatting: follow the frontmatter rules in the `authoring-a-skill` playbook. Keep `description` as one YAML scalar. Quote it or use `description: >-` with indented continuation lines when punctuation or wrapping requires it.
75
75
  - Frontmatter `disable-model-invocation: true` by default. Opt out only if the user explicitly wants their mode to apply on every turn.
76
76
 
77
77
  ### 5. Iterate on prose
78
78
 
79
- Apply the **unslop** skill and `authoring-a-skill`'s writing guidelines to every line.
79
+ Apply `unslop` (read its `SKILL.md` at its absolute resource path) and the authoring playbook's writing guidelines to every line.
80
80
 
81
81
  Show the draft to the user and take feedback. Expect multiple iterations. Cut ruthlessly. A mode skill is not a manual.
82
82
 
@@ -95,11 +95,12 @@ Work in a worktree off main. Commit and open a PR. Don't push to main directly.
95
95
 
96
96
  ## Evaluation
97
97
 
98
- A `-mode` skill is subjective output. An `authoring-a-skill`-style test/iterate benchmark loop isn't useful here. Vibe-check with the user: does it read like them? Did it miss anything? Then ship.
98
+ A `-mode` skill is subjective output. An automated benchmark loop isn't useful here, and this host has no skill-drafting tool that would run one. Vibe-check with the user: does it read like them? Did it miss anything? Then ship.
99
99
 
100
100
  Run a description-optimization loop only if the skill's trigger accuracy turns out to be a problem in practice.
101
101
 
102
102
  ## When not to use
103
103
 
104
- - User wants a task-specific skill (not working conventions): the authoring-a-skill playbook alone, no mining required.
104
+ - User wants a task-specific skill (not working conventions): the `authoring-a-skill` playbook alone, no mining required.
105
105
  - User wants to capture one narrow workflow (e.g. "how I write commit messages"). That's a regular skill, not a mode skill.
106
+
@@ -4,8 +4,6 @@ description: Vet a perf measurement (limiter, tuning, limits, errors, repeatabil
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Benchmark checklist
10
8
 
11
9
  Use this when you produce a performance number: a PR's before and after, a regression claim, a hillclimb harness, or a library or config choice. Answer each question with evidence from a run, not a guess about the code.
@@ -4,10 +4,10 @@ description: Find what a change could break somewhere else before it ships, beyo
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Blast radius
10
8
 
9
+ > DSH port of pstack. `pstack_subagent` replaces Cursor's Task tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
10
+
11
11
  Find what a change breaks somewhere else, before it ships. Use for "blast radius of X", "what could this break", or reviewing a small diff you don't trust yet.
12
12
 
13
13
  Companion to `how` and `why`. `how` tells you what the code does. `why` tells you why it's shaped that way. Blast radius tells you what it breaks somewhere else.
@@ -32,12 +32,12 @@ Step 4 is usually one small script that imports the same library the app ships a
32
32
 
33
33
  ## Steps
34
34
 
35
- 1. Read the change. The diff, the symbols it adds, changes, and deletes, and what it now does differently, including the part the diff doesn't spell out. Use `why` step 2 to pull the PR and commits.
35
+ 1. Read the change. The diff, the symbols it adds, changes, and deletes, and what it now does differently, including the part the diff doesn't spell out. Read the `why` skill's `SKILL.md` at its absolute resource path, then use step 2 to pull the PR and commits.
36
36
  2. Find the one fact it's safe because of. Most changes that look risky are safe because of a single fact, like "this call only drops already-dead cache entries and does nothing else". Find that fact. If it holds, most risky cases are cleared at once. Spend your time here, not on a long list of maybes.
37
37
  3. Look where grep stops. Read the source of the library you call, and check its pinned version and any local patch. Work out when things run: microtasks, unmount and teardown, Solid versus React. Follow what a symbol search misses: the JSON an API returns, a DB column, a wire format, another language reading the same bytes, a feature flag, code three hops downstream.
38
38
  4. Be honest about each risk. Give it a real chance of happening and a real cost if it does. Keep the risks you confirmed. List the ones you checked and cleared separately. Same rules as `why`. Cite a real `file:line`, a search that finds nothing is still an answer, and never make up a caller or an API.
39
39
  5. Prove the one fact. Write a script or test that runs the real code, run it, and paste what happened.
40
- 6. For a big or wide change, run it as an `arena`. Ask more than one model the same question and merge the answers. Different models catch different real bugs.
40
+ 6. For a big or wide change, read the `arena` skill's `SKILL.md` at its absolute resource path and run it. Ask more than one model the same question and merge the answers. Different models catch different real bugs.
41
41
 
42
42
  ## What to hand back
43
43
 
@@ -47,6 +47,6 @@ Step 4 is usually one small script that imports the same library the app ships a
47
47
  - **Cleared.** What you checked and why it's fine.
48
48
  - **Before you merge.** The cheapest test or repro that catches the real bug, including the script you wrote.
49
49
 
50
- Write it through `unslop`, cite real code, and strip anything private before it goes anywhere public.
50
+ Read the `unslop` skill's `SKILL.md` at its absolute resource path, apply it, cite real code, and strip anything private before it goes anywhere public.
51
51
 
52
52
  **Reply:** the writeup above, with the one safety fact either proven or marked unproven.
@@ -4,6 +4,4 @@ description: Restate the last message in plain human language, with no jargon.
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  Restate your last message. Stop using jargon and speak coherently. State it more simply and concisely, like one human talking to another.
@@ -4,8 +4,6 @@ description: Find the mistakes agents keep repeating in this repo and make each
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Correct
10
8
 
11
9
  The operator keeps correcting agents in this repo for the same mistakes. Change the repo so the next agent can't make them.
@@ -4,10 +4,10 @@ description: Generate a project-local skill that formally verifies the code wher
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Create a formal verification skill
10
8
 
9
+ > DSH port of pstack. `pstack_subagent` replaces Cursor's Task tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
10
+
11
11
  A test checks the cases that someone thought to write. Formal verification checks every case in a stated scope: every order of steps in a model, every input up to a bound, or every input. This skill finds the part of the repo where that matters most, verifies one property of it, and leaves a project-local skill that lets the next agent check a change against that property. Write that skill for an agent who reads it cold, mid-change, and has never seen your work. The user must be able to trust the result and act on it without learning the verification language.
12
12
 
13
13
  ## Choose the target from the code
@@ -4,10 +4,10 @@ description: Generate a project-local verification skill that drives your app th
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
- > DSH port of pstack. `pstack_subagent` replaces Cursor's `Task` tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
8
-
9
7
  # Create a verification skill
10
8
 
9
+ > DSH port of pstack. `pstack_subagent` replaces Cursor's Task tool, and `role` replaces Cursor model slugs. Full mapping: `../../docs/harness/dsh.md`.
10
+
11
11
  Every serious project needs a scripted way to drive the real app and prove behavior: launch it, exercise a feature the way a user would, and capture evidence. This skill generates that as a project-local skill (`.dsh/skills/verify-<app>/`) tailored to the repo. You write the generator's output for the next agent, not for a human: it will be read cold, mid-task, by an agent that has never seen the app.
12
12
 
13
13
  ## 1. Interview the repo, not the user