dsh-pstack 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +158 -2
- package/assets/agents/comment-sicko.md +32 -0
- package/assets/agents/poteto-agent.md +8 -0
- package/assets/docs/guide/01-setup.md +64 -0
- package/assets/docs/guide/02-poteto-mode.md +139 -0
- package/assets/docs/guide/03-understand.md +79 -0
- package/assets/docs/guide/04-design.md +133 -0
- package/assets/docs/guide/05-build-and-clean.md +83 -0
- package/assets/docs/guide/06-verify-and-ship.md +152 -0
- package/assets/docs/guide/07-overnight.md +122 -0
- package/assets/docs/guide/08-principles.md +72 -0
- package/assets/docs/guide/09-make-it-yours.md +100 -0
- package/assets/docs/guide/10-recipes-and-pitfalls.md +180 -0
- package/assets/docs/guide/README.md +38 -0
- package/assets/docs/harness/dsh.md +65 -0
- package/assets/docs/pstack-models.example.md +23 -0
- package/assets/skills/architect/SKILL.md +81 -0
- package/assets/skills/architect/references/design-red-flags.md +57 -0
- package/assets/skills/architect/references/rationale-template.md +35 -0
- package/assets/skills/architect/references/runner-prompt.md +20 -0
- package/assets/skills/arena/SKILL.md +50 -0
- package/assets/skills/automate-me/SKILL.md +105 -0
- package/assets/skills/benchmark-checklist/SKILL.md +41 -0
- package/assets/skills/blast-radius/SKILL.md +52 -0
- package/assets/skills/bro/SKILL.md +9 -0
- package/assets/skills/correct/SKILL.md +34 -0
- package/assets/skills/create-formal-verification-skill/SKILL.md +43 -0
- package/assets/skills/create-verification-skill/SKILL.md +46 -0
- package/assets/skills/create-verification-skill/references/feature-map-example/README.md +47 -0
- package/assets/skills/create-verification-skill/references/feature-map-example/create-note.md +39 -0
- package/assets/skills/create-verification-skill/references/feature-map-example/search.md +45 -0
- package/assets/skills/figure-it-out/SKILL.md +54 -0
- package/assets/skills/how/SKILL.md +38 -0
- package/assets/skills/how/references/explainer-prompt.md +55 -0
- package/assets/skills/how/references/explorer-prompt.md +35 -0
- package/assets/skills/in-your-own-words/SKILL.md +9 -0
- package/assets/skills/interrogate/SKILL.md +69 -0
- package/assets/skills/interrogate/references/code-quality-review.md +47 -0
- package/assets/skills/interrogate/references/lead-judgment.md +39 -0
- package/assets/skills/interrogate/references/reviewer-prompt.md +62 -0
- package/assets/skills/interrogate/references/rubric.md +77 -0
- package/assets/skills/ketchup/SKILL.md +45 -0
- package/assets/skills/maintain-formal-verification-skill/SKILL.md +60 -0
- package/assets/skills/maintain-verification-skill/SKILL.md +41 -0
- package/assets/skills/no-comments/SKILL.md +26 -0
- package/assets/skills/poteto-help/SKILL.md +161 -0
- package/assets/skills/poteto-help/references/prompting.md +51 -0
- package/assets/skills/poteto-help/references/recipes.md +51 -0
- package/assets/skills/poteto-mode/SKILL.md +153 -0
- package/assets/skills/poteto-mode/playbooks/authoring-a-skill.md +12 -0
- package/assets/skills/poteto-mode/playbooks/autonomous-run.md +13 -0
- package/assets/skills/poteto-mode/playbooks/autopilot-full.md +25 -0
- package/assets/skills/poteto-mode/playbooks/autopilot-stack.md +12 -0
- package/assets/skills/poteto-mode/playbooks/babysit.md +23 -0
- package/assets/skills/poteto-mode/playbooks/bug-fix.md +15 -0
- package/assets/skills/poteto-mode/playbooks/eval.md +25 -0
- package/assets/skills/poteto-mode/playbooks/feature.md +21 -0
- package/assets/skills/poteto-mode/playbooks/hillclimb.md +21 -0
- package/assets/skills/poteto-mode/playbooks/investigation.md +14 -0
- package/assets/skills/poteto-mode/playbooks/multi-phase-plan.md +155 -0
- package/assets/skills/poteto-mode/playbooks/opening-a-pr.md +34 -0
- package/assets/skills/poteto-mode/playbooks/orchestrate.md +112 -0
- package/assets/skills/poteto-mode/playbooks/pause-safely.md +10 -0
- package/assets/skills/poteto-mode/playbooks/perf-issue.md +25 -0
- package/assets/skills/poteto-mode/playbooks/prototype.md +14 -0
- package/assets/skills/poteto-mode/playbooks/refactoring.md +16 -0
- package/assets/skills/poteto-mode/playbooks/runtime-forensics.md +11 -0
- package/assets/skills/poteto-mode/playbooks/session-pickup.md +11 -0
- package/assets/skills/poteto-mode/playbooks/shipping.md +12 -0
- package/assets/skills/poteto-mode/playbooks/trace-forensics.md +14 -0
- package/assets/skills/poteto-mode/playbooks/visual-parity.md +11 -0
- package/assets/skills/poteto-mode/playbooks/worktree-cleanup.md +12 -0
- package/assets/skills/poteto-mode/references/bugbot-triage.md +142 -0
- package/assets/skills/poteto-mode/scripts/bootstrap.ts +62 -0
- package/assets/skills/poteto-mode/scripts/bun.lock +67 -0
- package/assets/skills/poteto-mode/scripts/check-plan.mjs +205 -0
- package/assets/skills/poteto-mode/scripts/check-plan.test.ts +96 -0
- package/assets/skills/poteto-mode/scripts/orch/orch.test.ts +761 -0
- package/assets/skills/poteto-mode/scripts/orch/orch.ts +590 -0
- package/assets/skills/poteto-mode/scripts/orch/store.ts +1677 -0
- package/assets/skills/poteto-mode/scripts/package.json +16 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/cli.test.ts +224 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/cli.ts +223 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +129 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/github.test.ts +436 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/github.ts +718 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/policy.test.ts +420 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/policy.ts +836 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/render.ts +169 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/tsconfig.json +13 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/types.compile.ts +93 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/types.ts +413 -0
- package/assets/skills/poteto-mode/scripts/watch-pr/watch-pr +6 -0
- package/assets/skills/poteto-mode/scripts/worktree-audit.sh +127 -0
- package/assets/skills/principle-attack-the-premise/SKILL.md +23 -0
- package/assets/skills/principle-boundary-discipline/SKILL.md +36 -0
- package/assets/skills/principle-build-the-lever/SKILL.md +26 -0
- package/assets/skills/principle-encode-lessons-in-structure/SKILL.md +13 -0
- package/assets/skills/principle-exhaust-the-design-space/SKILL.md +11 -0
- package/assets/skills/principle-experience-first/SKILL.md +21 -0
- package/assets/skills/principle-explain-the-number/SKILL.md +19 -0
- package/assets/skills/principle-fix-root-causes/SKILL.md +23 -0
- package/assets/skills/principle-foundational-thinking/SKILL.md +23 -0
- package/assets/skills/principle-guard-the-context-window/SKILL.md +14 -0
- package/assets/skills/principle-laziness-protocol/SKILL.md +12 -0
- package/assets/skills/principle-make-operations-idempotent/SKILL.md +24 -0
- package/assets/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +16 -0
- package/assets/skills/principle-minimize-reader-load/SKILL.md +20 -0
- package/assets/skills/principle-model-the-domain/SKILL.md +26 -0
- package/assets/skills/principle-never-block-on-the-human/SKILL.md +17 -0
- package/assets/skills/principle-outcome-oriented-execution/SKILL.md +23 -0
- package/assets/skills/principle-prove-it-works/SKILL.md +24 -0
- package/assets/skills/principle-redesign-from-first-principles/SKILL.md +18 -0
- package/assets/skills/principle-separate-before-serializing-shared-state/SKILL.md +18 -0
- package/assets/skills/principle-sequence-verifiable-units/SKILL.md +19 -0
- package/assets/skills/principle-subtract-before-you-add/SKILL.md +20 -0
- package/assets/skills/principle-test-behavior-not-implementation/SKILL.md +22 -0
- package/assets/skills/principle-type-system-discipline/SKILL.md +15 -0
- package/assets/skills/recall/SKILL.md +37 -0
- package/assets/skills/reflect/SKILL.md +70 -0
- package/assets/skills/reflect/references/divergent-reviewer.md +38 -0
- package/assets/skills/reflect/references/judgment-reviewer.md +37 -0
- package/assets/skills/reflect/references/synthesizer.md +56 -0
- package/assets/skills/reflect/references/tooling-reviewer.md +48 -0
- package/assets/skills/setup-pstack/SKILL.md +76 -0
- package/assets/skills/sharpen/SKILL.md +18 -0
- package/assets/skills/show-me-your-work/SKILL.md +84 -0
- package/assets/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
- package/assets/skills/show-me-your-work/scripts/log.sh +42 -0
- package/assets/skills/swarm/SKILL.md +41 -0
- package/assets/skills/tdd/SKILL.md +44 -0
- package/assets/skills/teach/SKILL.md +23 -0
- package/assets/skills/technical-writing/SKILL.md +108 -0
- package/assets/skills/typescript-best-practices/SKILL.md +32 -0
- package/assets/skills/typescript-best-practices/references/patterns.md +328 -0
- package/assets/skills/unslop/SKILL.md +64 -0
- package/assets/skills/why/SKILL.md +100 -0
- package/assets/skills/why/references/epistemics.md +71 -0
- package/assets/skills/why/references/investigator-prompt.md +84 -0
- package/assets/skills/why/references/source-playbook.md +17 -0
- package/assets/skills/why/references/sources/code-archaeology.md +51 -0
- package/assets/skills/why/references/sources/databricks.md +70 -0
- package/assets/skills/why/references/sources/datadog.md +97 -0
- package/assets/skills/why/references/sources/incident-postmortem.md +5 -0
- package/assets/skills/why/references/sources/linear.md +48 -0
- package/assets/skills/why/references/sources/notion.md +55 -0
- package/assets/skills/why/references/sources/sentry.md +66 -0
- package/assets/skills/why/references/sources/slack.md +17 -0
- package/assets/skills/why/references/synthesizer-prompt.md +129 -0
- package/cordis.patch.yml +20 -0
- package/dist/LICENSE +22 -0
- package/dist/README.md +159 -0
- package/dist/assets/agents/comment-sicko.md +32 -0
- package/dist/assets/agents/poteto-agent.md +8 -0
- package/dist/assets/docs/guide/01-setup.md +64 -0
- package/dist/assets/docs/guide/02-poteto-mode.md +139 -0
- package/dist/assets/docs/guide/03-understand.md +79 -0
- package/dist/assets/docs/guide/04-design.md +133 -0
- package/dist/assets/docs/guide/05-build-and-clean.md +83 -0
- package/dist/assets/docs/guide/06-verify-and-ship.md +152 -0
- package/dist/assets/docs/guide/07-overnight.md +122 -0
- package/dist/assets/docs/guide/08-principles.md +72 -0
- package/dist/assets/docs/guide/09-make-it-yours.md +100 -0
- package/dist/assets/docs/guide/10-recipes-and-pitfalls.md +180 -0
- package/dist/assets/docs/guide/README.md +38 -0
- package/dist/assets/docs/harness/dsh.md +65 -0
- package/dist/assets/docs/pstack-models.example.md +23 -0
- package/dist/assets/skills/architect/SKILL.md +81 -0
- package/dist/assets/skills/architect/references/design-red-flags.md +57 -0
- package/dist/assets/skills/architect/references/rationale-template.md +35 -0
- package/dist/assets/skills/architect/references/runner-prompt.md +20 -0
- package/dist/assets/skills/arena/SKILL.md +50 -0
- package/dist/assets/skills/automate-me/SKILL.md +105 -0
- package/dist/assets/skills/benchmark-checklist/SKILL.md +41 -0
- package/dist/assets/skills/blast-radius/SKILL.md +52 -0
- package/dist/assets/skills/bro/SKILL.md +9 -0
- package/dist/assets/skills/correct/SKILL.md +34 -0
- package/dist/assets/skills/create-formal-verification-skill/SKILL.md +43 -0
- package/dist/assets/skills/create-verification-skill/SKILL.md +46 -0
- package/dist/assets/skills/create-verification-skill/references/feature-map-example/README.md +47 -0
- package/dist/assets/skills/create-verification-skill/references/feature-map-example/create-note.md +39 -0
- package/dist/assets/skills/create-verification-skill/references/feature-map-example/search.md +45 -0
- package/dist/assets/skills/figure-it-out/SKILL.md +54 -0
- package/dist/assets/skills/how/SKILL.md +38 -0
- package/dist/assets/skills/how/references/explainer-prompt.md +55 -0
- package/dist/assets/skills/how/references/explorer-prompt.md +35 -0
- package/dist/assets/skills/in-your-own-words/SKILL.md +9 -0
- package/dist/assets/skills/interrogate/SKILL.md +69 -0
- package/dist/assets/skills/interrogate/references/code-quality-review.md +47 -0
- package/dist/assets/skills/interrogate/references/lead-judgment.md +39 -0
- package/dist/assets/skills/interrogate/references/reviewer-prompt.md +62 -0
- package/dist/assets/skills/interrogate/references/rubric.md +77 -0
- package/dist/assets/skills/ketchup/SKILL.md +45 -0
- package/dist/assets/skills/maintain-formal-verification-skill/SKILL.md +60 -0
- package/dist/assets/skills/maintain-verification-skill/SKILL.md +41 -0
- package/dist/assets/skills/no-comments/SKILL.md +26 -0
- package/dist/assets/skills/poteto-help/SKILL.md +161 -0
- package/dist/assets/skills/poteto-help/references/prompting.md +51 -0
- package/dist/assets/skills/poteto-help/references/recipes.md +51 -0
- package/dist/assets/skills/poteto-mode/SKILL.md +153 -0
- package/dist/assets/skills/poteto-mode/playbooks/authoring-a-skill.md +12 -0
- package/dist/assets/skills/poteto-mode/playbooks/autonomous-run.md +13 -0
- package/dist/assets/skills/poteto-mode/playbooks/autopilot-full.md +25 -0
- package/dist/assets/skills/poteto-mode/playbooks/autopilot-stack.md +12 -0
- package/dist/assets/skills/poteto-mode/playbooks/babysit.md +23 -0
- package/dist/assets/skills/poteto-mode/playbooks/bug-fix.md +15 -0
- package/dist/assets/skills/poteto-mode/playbooks/eval.md +25 -0
- package/dist/assets/skills/poteto-mode/playbooks/feature.md +21 -0
- package/dist/assets/skills/poteto-mode/playbooks/hillclimb.md +21 -0
- package/dist/assets/skills/poteto-mode/playbooks/investigation.md +14 -0
- package/dist/assets/skills/poteto-mode/playbooks/multi-phase-plan.md +155 -0
- package/dist/assets/skills/poteto-mode/playbooks/opening-a-pr.md +34 -0
- package/dist/assets/skills/poteto-mode/playbooks/orchestrate.md +112 -0
- package/dist/assets/skills/poteto-mode/playbooks/pause-safely.md +10 -0
- package/dist/assets/skills/poteto-mode/playbooks/perf-issue.md +25 -0
- package/dist/assets/skills/poteto-mode/playbooks/prototype.md +14 -0
- package/dist/assets/skills/poteto-mode/playbooks/refactoring.md +16 -0
- package/dist/assets/skills/poteto-mode/playbooks/runtime-forensics.md +11 -0
- package/dist/assets/skills/poteto-mode/playbooks/session-pickup.md +11 -0
- package/dist/assets/skills/poteto-mode/playbooks/shipping.md +12 -0
- package/dist/assets/skills/poteto-mode/playbooks/trace-forensics.md +14 -0
- package/dist/assets/skills/poteto-mode/playbooks/visual-parity.md +11 -0
- package/dist/assets/skills/poteto-mode/playbooks/worktree-cleanup.md +12 -0
- package/dist/assets/skills/poteto-mode/references/bugbot-triage.md +142 -0
- package/dist/assets/skills/poteto-mode/scripts/bootstrap.ts +62 -0
- package/dist/assets/skills/poteto-mode/scripts/bun.lock +67 -0
- package/dist/assets/skills/poteto-mode/scripts/check-plan.mjs +205 -0
- package/dist/assets/skills/poteto-mode/scripts/check-plan.test.ts +96 -0
- package/dist/assets/skills/poteto-mode/scripts/orch/orch.test.ts +761 -0
- package/dist/assets/skills/poteto-mode/scripts/orch/orch.ts +590 -0
- package/dist/assets/skills/poteto-mode/scripts/orch/store.ts +1677 -0
- package/dist/assets/skills/poteto-mode/scripts/package.json +16 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/cli.test.ts +224 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/cli.ts +223 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +129 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/github.test.ts +436 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/github.ts +718 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/policy.test.ts +420 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/policy.ts +836 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/render.ts +169 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/tsconfig.json +13 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/types.compile.ts +93 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/types.ts +413 -0
- package/dist/assets/skills/poteto-mode/scripts/watch-pr/watch-pr +6 -0
- package/dist/assets/skills/poteto-mode/scripts/worktree-audit.sh +127 -0
- package/dist/assets/skills/principle-attack-the-premise/SKILL.md +23 -0
- package/dist/assets/skills/principle-boundary-discipline/SKILL.md +36 -0
- package/dist/assets/skills/principle-build-the-lever/SKILL.md +26 -0
- package/dist/assets/skills/principle-encode-lessons-in-structure/SKILL.md +13 -0
- package/dist/assets/skills/principle-exhaust-the-design-space/SKILL.md +11 -0
- package/dist/assets/skills/principle-experience-first/SKILL.md +21 -0
- package/dist/assets/skills/principle-explain-the-number/SKILL.md +19 -0
- package/dist/assets/skills/principle-fix-root-causes/SKILL.md +23 -0
- package/dist/assets/skills/principle-foundational-thinking/SKILL.md +23 -0
- package/dist/assets/skills/principle-guard-the-context-window/SKILL.md +14 -0
- package/dist/assets/skills/principle-laziness-protocol/SKILL.md +12 -0
- package/dist/assets/skills/principle-make-operations-idempotent/SKILL.md +24 -0
- package/dist/assets/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +16 -0
- package/dist/assets/skills/principle-minimize-reader-load/SKILL.md +20 -0
- package/dist/assets/skills/principle-model-the-domain/SKILL.md +26 -0
- package/dist/assets/skills/principle-never-block-on-the-human/SKILL.md +17 -0
- package/dist/assets/skills/principle-outcome-oriented-execution/SKILL.md +23 -0
- package/dist/assets/skills/principle-prove-it-works/SKILL.md +24 -0
- package/dist/assets/skills/principle-redesign-from-first-principles/SKILL.md +18 -0
- package/dist/assets/skills/principle-separate-before-serializing-shared-state/SKILL.md +18 -0
- package/dist/assets/skills/principle-sequence-verifiable-units/SKILL.md +19 -0
- package/dist/assets/skills/principle-subtract-before-you-add/SKILL.md +20 -0
- package/dist/assets/skills/principle-test-behavior-not-implementation/SKILL.md +22 -0
- package/dist/assets/skills/principle-type-system-discipline/SKILL.md +15 -0
- package/dist/assets/skills/recall/SKILL.md +37 -0
- package/dist/assets/skills/reflect/SKILL.md +70 -0
- package/dist/assets/skills/reflect/references/divergent-reviewer.md +38 -0
- package/dist/assets/skills/reflect/references/judgment-reviewer.md +37 -0
- package/dist/assets/skills/reflect/references/synthesizer.md +56 -0
- package/dist/assets/skills/reflect/references/tooling-reviewer.md +48 -0
- package/dist/assets/skills/setup-pstack/SKILL.md +76 -0
- package/dist/assets/skills/sharpen/SKILL.md +18 -0
- package/dist/assets/skills/show-me-your-work/SKILL.md +84 -0
- package/dist/assets/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
- package/dist/assets/skills/show-me-your-work/scripts/log.sh +42 -0
- package/dist/assets/skills/swarm/SKILL.md +41 -0
- package/dist/assets/skills/tdd/SKILL.md +44 -0
- package/dist/assets/skills/teach/SKILL.md +23 -0
- package/dist/assets/skills/technical-writing/SKILL.md +108 -0
- package/dist/assets/skills/typescript-best-practices/SKILL.md +32 -0
- package/dist/assets/skills/typescript-best-practices/references/patterns.md +328 -0
- package/dist/assets/skills/unslop/SKILL.md +64 -0
- package/dist/assets/skills/why/SKILL.md +100 -0
- package/dist/assets/skills/why/references/epistemics.md +71 -0
- package/dist/assets/skills/why/references/investigator-prompt.md +84 -0
- package/dist/assets/skills/why/references/source-playbook.md +17 -0
- package/dist/assets/skills/why/references/sources/code-archaeology.md +51 -0
- package/dist/assets/skills/why/references/sources/databricks.md +70 -0
- package/dist/assets/skills/why/references/sources/datadog.md +97 -0
- package/dist/assets/skills/why/references/sources/incident-postmortem.md +5 -0
- package/dist/assets/skills/why/references/sources/linear.md +48 -0
- package/dist/assets/skills/why/references/sources/notion.md +55 -0
- package/dist/assets/skills/why/references/sources/sentry.md +66 -0
- package/dist/assets/skills/why/references/sources/slack.md +17 -0
- package/dist/assets/skills/why/references/synthesizer-prompt.md +129 -0
- package/dist/cordis.patch.yml +20 -0
- package/dist/index.d.mts +16 -0
- package/dist/index.mjs +172 -0
- package/dist/index.mjs.map +1 -0
- package/dist/paths-Bbai4CaT.mjs +16 -0
- package/dist/paths-Bbai4CaT.mjs.map +1 -0
- package/dist/subagent.d.mts +130 -0
- package/dist/subagent.mjs +436 -0
- package/dist/subagent.mjs.map +1 -0
- package/package.json +92 -3
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Sentry Error History
|
|
2
|
+
|
|
3
|
+
## How to search it
|
|
4
|
+
|
|
5
|
+
Use the Sentry MCP.
|
|
6
|
+
|
|
7
|
+
1. **Orient.** If you don't know the project slug and organization:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
find_organizations
|
|
11
|
+
find_projects
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
2. **Search for issues related to the target.**
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
search_issues (natural language, e.g., "errors in PaymentService timeout", "unhandled exceptions in uploadFile")
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Build queries from the exception class names the target handles, its function or class name, the error message strings it checks for, and its file path.
|
|
21
|
+
|
|
22
|
+
3. **Narrow by release and time window.**
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
search_issue_events (filter by release, time, environment, trace ID, tags)
|
|
26
|
+
get_issue_tag_values (for an issue, see distribution across versions, users, environments)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
For a suspected issue, check **first seen** and **last seen** (does the stop line up with the target's ship date?), the **affected releases** (which saw it, and which was the fix?), and the **frequency trajectory** (did it spike, then get resolved?).
|
|
30
|
+
|
|
31
|
+
4. **Pull the full event for context.**
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
get_sentry_resource (pass a Sentry URL or type+ID)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Does the stack trace pass through the target code? Do the tags and breadcrumbs match the conditions the target defends against?
|
|
38
|
+
|
|
39
|
+
5. **Check releases that landed near the target.**
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
find_releases (around the commit date of the target)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Cross-reference release version with the PR's merge date.
|
|
46
|
+
|
|
47
|
+
6. **Use Seer sparingly.**
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
analyze_issue_with_seer
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Seer's AI root-cause analyses are a hypothesis generator. Treat them as inference, not authoritative. The actual events and stack traces are the primary evidence.
|
|
54
|
+
|
|
55
|
+
## What to return
|
|
56
|
+
|
|
57
|
+
For each relevant issue:
|
|
58
|
+
- Issue ID and title
|
|
59
|
+
- Project and organization
|
|
60
|
+
- First seen / last seen timestamps
|
|
61
|
+
- Event count (and sampling rate if known)
|
|
62
|
+
- Affected releases
|
|
63
|
+
- A representative stack trace snippet showing relevance to the target (verbatim excerpt, not summary)
|
|
64
|
+
- First/last-seen correlation with the target's ship date
|
|
65
|
+
- Link to the issue
|
|
66
|
+
- Any author comments or resolution notes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Slack Conversations
|
|
2
|
+
|
|
3
|
+
## How to search it
|
|
4
|
+
|
|
5
|
+
Slack MCP tools vary. Check which Slack MCP is available and inspect its tool schema first. It may require `mcp_auth`. If authentication fails, stop and report the gap.
|
|
6
|
+
|
|
7
|
+
1. **Author-bounded search.** Messages from the PR author around the PR merge date. Limits scope dramatically and often hits gold.
|
|
8
|
+
3. **PR URL search.** Slack often links PRs when they're reviewed or discussed. Search for the PR URL (or just `/pull/<number>`).
|
|
9
|
+
4. **Error string search.** If the code handles a specific error, search for the error string. Incident threads often surface.
|
|
10
|
+
|
|
11
|
+
## Common pitfalls
|
|
12
|
+
|
|
13
|
+
- **Channel archaeology limits.** Very old messages may be gone due to retention policies. If you can't find anything before a certain date, note the retention cliff.
|
|
14
|
+
- **Unsearched DMs.** Many decisions happen in DMs that aren't searchable. You'll miss them. That's a known limitation.
|
|
15
|
+
- **Speculative jokes as "decisions."** Slack is casual. "Lol just do the thing" isn't a decision, even if it preceded the commit. Look for considered discussion.
|
|
16
|
+
- **Context collapse in single messages.** Without the thread, a single message often reads differently than in context. Always fetch threads.
|
|
17
|
+
- **Auth failures.** If the MCP isn't authenticated, stop. Don't make up findings. Report that Slack wasn't searchable.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Synthesizer Prompt Template
|
|
2
|
+
|
|
3
|
+
Fill in the placeholders.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are answering a "why" question about a piece of code by synthesizing findings from investigators who searched different historical sources (source control, issue / ticket tracker, long-form documents, real-time team chat, infrastructure observability, error / exception tracking, product analytics warehouse, and code comments). Produce a confidence-weighted, evidence-cited narrative that says honestly what the evidence supports, and just as honestly what it doesn't.
|
|
8
|
+
|
|
9
|
+
## The Question
|
|
10
|
+
|
|
11
|
+
> {QUESTION}
|
|
12
|
+
|
|
13
|
+
## The Code Anchor
|
|
14
|
+
|
|
15
|
+
**Target files:** {FILES_WITH_LINE_RANGES}
|
|
16
|
+
|
|
17
|
+
**Key symbols:** {SYMBOLS}
|
|
18
|
+
|
|
19
|
+
## Investigator Findings
|
|
20
|
+
|
|
21
|
+
{ALL_INVESTIGATOR_FINDINGS}
|
|
22
|
+
|
|
23
|
+
## Sources That Weren't Searched
|
|
24
|
+
|
|
25
|
+
{SKIPPED_SOURCES_WITH_REASONS}
|
|
26
|
+
|
|
27
|
+
## Epistemics Framework
|
|
28
|
+
|
|
29
|
+
You MUST follow `references/epistemics.md`. Read it in full before writing. The key rules:
|
|
30
|
+
|
|
31
|
+
1. Every claim must sit in one tier: **Direct**, **Supported**, **Inferred**, **Speculative**, **Unknown**. The tier sets its section and its phrasing.
|
|
32
|
+
2. Every Direct/Supported claim must have a citation (PR #, ticket ID, doc URL, chat permalink, commit hash, or file:line).
|
|
33
|
+
3. Inferred and Speculative claims must use hedged language ("appears to", "likely", "suggests", "one possibility is").
|
|
34
|
+
4. Never cite code as evidence for its own intent.
|
|
35
|
+
5. Document gaps. Don't fill them with plausible-sounding guesses.
|
|
36
|
+
6. Treat a hypothesis embedded in the user's question as a candidate, not a conclusion. Check it independently.
|
|
37
|
+
|
|
38
|
+
## Instructions
|
|
39
|
+
|
|
40
|
+
1. **Read all investigator findings** and weigh the evidence yourself. Investigators gathered raw evidence, not conclusions.
|
|
41
|
+
2. **Merge overlaps.** When several investigators cite the same PR, ticket, or doc, give it one authoritative reference.
|
|
42
|
+
3. **Surface contradictions.** When two items disagree, show both. Don't pick one.
|
|
43
|
+
4. **Calibrate each claim.** Find its evidence and tier. Direct: cite it and state it plainly. Inferred: hedge it and show the inference. Speculative: mark it. No evidence: put it in the gaps.
|
|
44
|
+
5. **Verify citations by spot-checking.** If you're uncertain a cited item exists or says what the investigator claims, check it by reading the codebase or calling MCP tools. Don't propagate errors. Do not write files, commit, or modify external state.
|
|
45
|
+
6. **Don't overreach.** The user will act on this. Leave an open question open rather than fill it with a confident guess.
|
|
46
|
+
|
|
47
|
+
## Output Format
|
|
48
|
+
|
|
49
|
+
Write for the user, in this exact structure:
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### The Question
|
|
54
|
+
|
|
55
|
+
Restate the user's question in one or two sentences.
|
|
56
|
+
|
|
57
|
+
### The Code in Question
|
|
58
|
+
|
|
59
|
+
File paths, line ranges, key symbols. Two or three lines to orient a cold reader.
|
|
60
|
+
|
|
61
|
+
### What We Found
|
|
62
|
+
|
|
63
|
+
Claims with textual evidence, each quoted or paraphrased and cited precisely:
|
|
64
|
+
|
|
65
|
+
- **[Direct]** {Claim}. Source: [PR #123](url) / ticket ID / file:line. {Brief quote or paraphrase.}
|
|
66
|
+
- **[Supported]** {Claim}. Evidence: {list of items and what each contributes}.
|
|
67
|
+
|
|
68
|
+
`[Direct]` is single-source, explicit evidence. `[Supported]` is multiple indirect items converging on a conclusion.
|
|
69
|
+
|
|
70
|
+
### What We Can Reasonably Infer
|
|
71
|
+
|
|
72
|
+
Claims stated nowhere but well-supported by indirect evidence. Each bullet must make the inference chain visible ("Given A and B, it's likely that C") and must use hedged language ("appears to", "likely", "suggests", "is consistent with"):
|
|
73
|
+
|
|
74
|
+
- **[Inferred]** {Hedged claim}. Reasoning: {the specific evidence and the inference step}.
|
|
75
|
+
|
|
76
|
+
Skip this section if there's nothing to infer.
|
|
77
|
+
|
|
78
|
+
### Competing Hypotheses
|
|
79
|
+
|
|
80
|
+
If the evidence fits multiple stories, present each. Don't force a winner the record doesn't support. For each hypothesis:
|
|
81
|
+
|
|
82
|
+
- **Hypothesis:** {one-sentence statement}
|
|
83
|
+
- **Evidence for:** {specific items}
|
|
84
|
+
- **Evidence against or missing:** {what would need to be true but isn't, or what counter-signals exist}
|
|
85
|
+
|
|
86
|
+
Skip this section if there's a single clear answer.
|
|
87
|
+
|
|
88
|
+
### What We Don't Know
|
|
89
|
+
|
|
90
|
+
Specific gaps: "We searched the issue tracker for [query1], [query2], [query3] and found no issue discussing the rate-limit threshold", not "We don't know why." Include:
|
|
91
|
+
|
|
92
|
+
- Questions that went unanswered
|
|
93
|
+
- Searches that returned nothing
|
|
94
|
+
- Sources that were unavailable, and why (such as a missing real-time team chat MCP)
|
|
95
|
+
- People who would likely know but whom you can't ask
|
|
96
|
+
|
|
97
|
+
### Sources Consulted
|
|
98
|
+
|
|
99
|
+
What was actually searched, so the user can judge coverage and redirect:
|
|
100
|
+
|
|
101
|
+
- **Source control history**: {file paths}, {number of commits reviewed}, PRs #{numbers}, and code comments searched. Or "Not searched. This should not happen because git and `gh` are always expected."
|
|
102
|
+
- **Issue / ticket tracker**: {ticket IDs and keyword searches}. Or "Not searched. No matching MCP available in this environment."
|
|
103
|
+
- **Long-form documents**: {page titles and search queries}. Or "Not searched. No matching MCP available in this environment."
|
|
104
|
+
- **Real-time team chat**: {channels searched, date ranges, queries}. Or "Not searched. No matching MCP available in this environment."
|
|
105
|
+
- **Infrastructure observability**: {dashboards, monitors, metrics, logs, traces, or incidents searched}. Or "Not searched. No matching MCP available in this environment."
|
|
106
|
+
- **Error / exception tracking**: {issues, events, or releases searched}. Or "Not searched. No matching MCP available in this environment."
|
|
107
|
+
- **Product analytics warehouse**: {fully-qualified tables queried, the time windows, and the numeric summaries (counts, percentiles, first/last-seen timestamps) that bore on the question}. Or "Not searched. No matching MCP available in this environment."
|
|
108
|
+
|
|
109
|
+
### Confidence Summary
|
|
110
|
+
|
|
111
|
+
One or two sentences on overall confidence, e.g.:
|
|
112
|
+
|
|
113
|
+
> "The core rationale (A) is well-supported by direct PR and ticket evidence. The specific threshold value (100) is inferred from the surrounding context but not explicitly documented. The question of whether this was driven by a customer request could not be answered. No relevant issue tracker or long-form doc content surfaced, and real-time team chat search was unavailable."
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Quality Check Before Returning
|
|
118
|
+
|
|
119
|
+
Revise if any item fails:
|
|
120
|
+
|
|
121
|
+
1. Does every claim in "What We Found" have a citation? If not, add one or move it to "Inferred" or "Hypotheses."
|
|
122
|
+
2. Is the phrasing tier-appropriate? (Direct claims can use "because". Inferred claims cannot.)
|
|
123
|
+
3. Did you surface every contradiction you noticed, or quietly pick one?
|
|
124
|
+
4. Does "What We Don't Know" name specific gaps? If it's empty or missing, be suspicious. Historical investigations almost always have gaps.
|
|
125
|
+
5. Did you check any hypothesis embedded in the question against the evidence rather than rubber-stamp it?
|
|
126
|
+
6. Did you cite code as evidence for its own intent? Remove it. Code is mechanics, not motivation.
|
|
127
|
+
7. Is the tone calibrated? A confident-sounding answer on weak evidence is the exact failure this skill exists to prevent.
|
|
128
|
+
|
|
129
|
+
The value of this output is its honesty, not its authority. A reader who takes it to the original author, an engineering lead, or a product manager should know what's known, what's inferred, and what's missing, so they can ask the right follow-up questions. Optimize for being useful, not for looking decisive.
|
package/cordis.patch.yml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# dsh-pstack bundle patch.
|
|
2
|
+
#
|
|
3
|
+
# Two rows, both installed by this package:
|
|
4
|
+
# - `pstack` mounts the bundled skill provider. Every pstack skill becomes a
|
|
5
|
+
# normal DSH skill: model-invocable skills reach the catalog, user-invocable
|
|
6
|
+
# skills reach the `/` menu.
|
|
7
|
+
# - `pstack-subagent` mounts the `pstack_subagent` tool, the DSH replacement
|
|
8
|
+
# for Cursor's `Task` tool. It resolves pstack role lines from
|
|
9
|
+
# `~/.dsh/pstack-models.md` and delegates through `ctx.subagents`.
|
|
10
|
+
#
|
|
11
|
+
# The `pstack` row requires `ctx.skills`, which `@deepseek-ai/dsh-base` provides.
|
|
12
|
+
# The `pstack-subagent` row requires `ctx.tools` and `ctx.subagents`, also in
|
|
13
|
+
# base-backed profiles. Installing this bundle into a profile that lacks them
|
|
14
|
+
# leaves the rows pending, exactly like any other dependency-driven plugin.
|
|
15
|
+
- insert:
|
|
16
|
+
- id: pstack
|
|
17
|
+
name: "dsh-pstack"
|
|
18
|
+
|
|
19
|
+
- id: pstack-subagent
|
|
20
|
+
name: "dsh-pstack/subagent"
|
package/dist/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 dsh-pstack contributors
|
|
4
|
+
Copyright (c) 2025 Lauren Tan (upstream pstack, https://github.com/cursor/plugins)
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
package/dist/README.md
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# dsh-pstack
|
|
2
|
+
|
|
3
|
+
pstack for DeepSeek Harness. Rigorous agent workflows ported from
|
|
4
|
+
[`cursor/plugins/pstack`](https://github.com/cursor/plugins/tree/main/pstack).
|
|
5
|
+
|
|
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.
|
|
11
|
+
|
|
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`.
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
dsh plugin --profile web add github:your-org/dsh-pstack
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Or from a checkout:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
git submodule update --init --depth 1
|
|
27
|
+
dsh plugin --profile web add .
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Restart `dsh web` after install. The bundle patch mounts two rows:
|
|
31
|
+
|
|
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.
|
|
38
|
+
|
|
39
|
+
Verify the layer without booting:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
dsh --profile web --dump-config | grep -A2 'pstack'
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Use
|
|
46
|
+
|
|
47
|
+
Start with a real task:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
/poteto-mode add a --json flag to this command. text output stays byte-identical. verify both.
|
|
51
|
+
```
|
|
52
|
+
|
|
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.
|
|
58
|
+
|
|
59
|
+
See the converted [pstack guide](assets/docs/guide/README.md) and the
|
|
60
|
+
[DSH adapter reference](assets/docs/harness/dsh.md).
|
|
61
|
+
|
|
62
|
+
### Configure roles
|
|
63
|
+
|
|
64
|
+
`/setup-pstack` detects the routes your session can use and writes
|
|
65
|
+
`~/.dsh/pstack-models.md`. One role per line:
|
|
66
|
+
|
|
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
|
|
73
|
+
```
|
|
74
|
+
|
|
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.
|
|
77
|
+
|
|
78
|
+
### Delegate
|
|
79
|
+
|
|
80
|
+
`pstack_subagent` is the one delegation surface:
|
|
81
|
+
|
|
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
|
+
```
|
|
90
|
+
|
|
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.
|
|
96
|
+
|
|
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.
|
|
100
|
+
|
|
101
|
+
## What changed from Cursor
|
|
102
|
+
|
|
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` |
|
|
112
|
+
|
|
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/`.
|
|
116
|
+
|
|
117
|
+
## Develop
|
|
118
|
+
|
|
119
|
+
Requirements: Node 22.19+ and pnpm. Vite+ provides the build, test, lint, and
|
|
120
|
+
format toolchain.
|
|
121
|
+
|
|
122
|
+
```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/
|
|
129
|
+
```
|
|
130
|
+
|
|
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
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
`assets/` is generated. Never hand-edit it. Change `scripts/adapt.ts` or a
|
|
147
|
+
skill's upstream source, then run `vp run sync`.
|
|
148
|
+
|
|
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.
|
|
152
|
+
|
|
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.
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
|
+
MIT. The ported skills are MIT, copyright Lauren Tan; see [LICENSE](LICENSE).
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: comment-sicko
|
|
3
|
+
description: "A deranged comment-hater that savors deletion and condemns workaround code."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comment Sicko
|
|
7
|
+
|
|
8
|
+
My first output when spawned is exactly this.
|
|
9
|
+
|
|
10
|
+
Yes... Ha ha ha... Yes!
|
|
11
|
+
|
|
12
|
+
I hate comments. Feed me the parent scoped files or diff. If none exists, feed me the current diff against `main`. Narration, banners, commented-out corpses, workaround sermons. I want them all.
|
|
13
|
+
|
|
14
|
+
Only these exceptions get to crawl away.
|
|
15
|
+
|
|
16
|
+
- Legal or license headers.
|
|
17
|
+
- Non-obvious behavior forced by an external dependency, platform, vendor, or protocol we cannot reshape. Surprises in our own code are meat. Kill them and mark the exact symbol `MUST KILL` for rename, extract, type, or rearchitecture that makes the behavior obvious without prose.
|
|
18
|
+
- `// prettier-ignore`. Lint suppressions survive only when their rule is faulty, pedantic, or style-only.
|
|
19
|
+
- Doc comments that define a public API contract.
|
|
20
|
+
- Issue or RFC links that explain a constraint code cannot express.
|
|
21
|
+
|
|
22
|
+
That list is my only leash. When I am not sure a keep clause applies, the comment dies. Everything else is meat.
|
|
23
|
+
|
|
24
|
+
`eslint-disable`, `@ts-ignore`, `@ts-expect-error`, and similar suppressions stink. Look up the rule. If it catches real bugs or protects correctness or safety, kill the suppression and mark the exact guilty symbol `MUST KILL`.
|
|
25
|
+
|
|
26
|
+
`IMPORTANT`, `do not remove`, `too risky`, `fine for now`, and long justifications are scent, not conviction. Before judging, I read nearby code. If its claim is not obvious there, I run `/how`, `/why`, or both from the **how** and **why** skills on the named symbol or call. Only a foreign keep-list gotcha proven true today on a live path crawls away. Our-code surprises die with the reshape flag above. Doubt after the hunt is meat.
|
|
27
|
+
|
|
28
|
+
A long justification without a proven keep-list exception is a confession. Kill it. Never polish meat into a shorter alibi. Mark the exact guilty symbol `MUST KILL`. My kill ends there. I do not touch the code.
|
|
29
|
+
|
|
30
|
+
Every flag names code inside the scope and tells the truth. I invent nothing. I touch comments and identify refactor targets. I never write application code.
|
|
31
|
+
|
|
32
|
+
Report only. Name touched files, deletion count, `MUST KILL` flags with one line each, and skips.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
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."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Poteto subagent
|
|
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.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Set up pstack
|
|
2
|
+
|
|
3
|
+
In this page you install the plugin, pick which models pstack uses, and run your first task. Setup is one command plus a short conversation.
|
|
4
|
+
|
|
5
|
+
## Install the plugin
|
|
6
|
+
|
|
7
|
+
Install the bundle into your DSH profile:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
dsh plugin --profile web add github:your-org/dsh-pstack
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Restart `dsh web` after install. The bundle mounts the pstack skill provider and the `pstack_subagent` tool.
|
|
14
|
+
|
|
15
|
+
## Pick your models
|
|
16
|
+
|
|
17
|
+
Run:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
/setup-pstack
|
|
21
|
+
```
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
30
|
+
|
|
31
|
+
## Accept the verification offers, or don't
|
|
32
|
+
|
|
33
|
+
At the end of setup, `/setup-pstack` looks for a way to prove app behavior in your project, either a `verify-*` skill or an existing harness. If it finds neither, it offers once to generate one with [`/create-verification-skill`](../../skills/create-verification-skill/SKILL.md).
|
|
34
|
+
|
|
35
|
+
Say yes and it writes `.dsh/skills/verify-<app>/`, a project-local skill that teaches agents to drive your app the way a user does. It proves the skill works once before handing it over. Say no and setup moves on. You can run `/create-verification-skill` yourself any time. [Verify and ship](./06-verify-and-ship.md#create-a-project-verification-skill) covers it in depth.
|
|
36
|
+
|
|
37
|
+
If you're new to pstack, say yes. An agent that can check its own work keeps going until the check passes. An agent that can't hands every result back to you to check by hand. Of everything in this guide, the verification skill pays off the most.
|
|
38
|
+
|
|
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
|
+
|
|
41
|
+
After setup, start a new chat. The model rule applies to new sessions.
|
|
42
|
+
|
|
43
|
+
## Keep the cost in check
|
|
44
|
+
|
|
45
|
+
pstack spends extra tokens on subagents and review panels. That's the price of the rigor. To spend fewer:
|
|
46
|
+
|
|
47
|
+
- Rerun `/setup-pstack` and pick a smaller reasoning budget or cheaper models. A strong model in the main chat with cheaper, faster models in the code roles is a good split.
|
|
48
|
+
- Set a role to `auto` or `inherit-parent` so it runs on the chat's own model.
|
|
49
|
+
- Shorten a panel list. Each entry runs one subagent.
|
|
50
|
+
- Save `/poteto-mode` for work that needs rigor. A small, obvious edit doesn't.
|
|
51
|
+
|
|
52
|
+
## Run your first task
|
|
53
|
+
|
|
54
|
+
Pick something real but small, and describe it the way you'd describe it to a colleague:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
/poteto-mode add a --json flag to this command. text output stays byte-identical. verify both.
|
|
58
|
+
```
|
|
59
|
+
|
|
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
|
+
|
|
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.
|
|
63
|
+
|
|
64
|
+
Next: [Route work through `/poteto-mode`](./02-poteto-mode.md).
|