From 0267e5273fe314cd9c3a829ab0a735d92b8d69c3 Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Sun, 18 Oct 2026 22:48:21 +0200 Subject: [PATCH 1/2] Sync Lauren's pstack to 0148b78 (#712) All three components move from 4382e68 to 0148b78. Upstream changed only pstack. Sharpen drops its final sentence, "Don't hand back a rewritten prompt.", so the skill now ends on doing the work (pstack #712). #710 and #713 bump Lauren's version to 0.15.26 and 0.15.27 in her manifests, which sit outside every synced component. bun tools/sync.mjs updated sharpen cleanly. The port's copy matched upstream byte for byte, and no substitution matches its old or new text. The 15 declared forks were left alone, and cursor-team-kit and thermos synced with no file changes. --- plugins/pstack/skills/sharpen/SKILL.md | 2 +- tools/upstream.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/pstack/skills/sharpen/SKILL.md b/plugins/pstack/skills/sharpen/SKILL.md index 4f9bb4ab..c1cfebe4 100644 --- a/plugins/pstack/skills/sharpen/SKILL.md +++ b/plugins/pstack/skills/sharpen/SKILL.md @@ -4,4 +4,4 @@ description: "Sharpen a task before starting: the expert approach, what the user disable-model-invocation: true --- -Before starting, ask how a top expert would approach this task (their raw sources, their real methods, an outside check that the result is right), what the user is really after, and whether the task is over- or underspecified. Loosen constraints that don't serve the goal as readily as you add ones that do, and leave choices that are the user's to make open instead of deciding them. Fold in only what makes the work better, not bigger, but always keep one outside check that the result is right, without narrating the framing, then do the work. Don't hand back a rewritten prompt. +Before starting, ask how a top expert would approach this task (their raw sources, their real methods, an outside check that the result is right), what the user is really after, and whether the task is over- or underspecified. Loosen constraints that don't serve the goal as readily as you add ones that do, and leave choices that are the user's to make open instead of deciding them. Fold in only what makes the work better, not bigger, but always keep one outside check that the result is right, without narrating the framing, then do the work. diff --git a/tools/upstream.json b/tools/upstream.json index 71b42626..89d5633d 100644 --- a/tools/upstream.json +++ b/tools/upstream.json @@ -4,7 +4,7 @@ "pstack": { "upstreamPath": "pstack", "localPath": "plugins/pstack", - "sha": "4382e687a50b8d2c5ce4d141d001186589cff8d5", + "sha": "0148b78c56c72a1b8412055913c79f767095b217", "exclude": [ ".cursor-plugin/", ".gitignore", @@ -20,7 +20,7 @@ "cursor-team-kit": { "upstreamPath": "cursor-team-kit/skills", "localPath": "plugins/pstack/skills", - "sha": "4382e687a50b8d2c5ce4d141d001186589cff8d5", + "sha": "0148b78c56c72a1b8412055913c79f767095b217", "exclude": [ "check-compiler-errors/", "control-cli/", @@ -39,7 +39,7 @@ "thermos": { "upstreamPath": "thermos", "localPath": "plugins/pstack", - "sha": "4382e687a50b8d2c5ce4d141d001186589cff8d5", + "sha": "0148b78c56c72a1b8412055913c79f767095b217", "exclude": [ ".cursor-plugin/", "CHANGELOG.md", From fc853f53678e0f6e25d9b90e7951fe9b2a54ce49 Mon Sep 17 00:00:00 2001 From: Christian Bager Bach Houmann Date: Sun, 18 Oct 2026 22:48:48 +0200 Subject: [PATCH 2/2] Release 2.0.0-rc.11: docs, notices, and manifests VERSION, the manifests, and package.json move to 2.0.0-rc.11. CHANGES.md gets the entry with its behavior-delta table. NOTICE.md, NOTICE-skills.md, and the README point at upstream 0148b78, and the README's pinned installer command names the new tag. The skill count stays 63. --- .claude-plugin/marketplace.json | 2 +- CHANGES.md | 8 ++++++++ NOTICE-skills.md | 6 +++--- NOTICE.md | 6 +++--- README.md | 4 ++-- VERSION | 2 +- package.json | 2 +- plugins/pstack/.claude-plugin/plugin.json | 2 +- plugins/pstack/.codex-plugin/plugin.json | 2 +- .../skills/poteto-mode/references/licenses/NOTICE.md | 6 +++--- 10 files changed, 24 insertions(+), 16 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 3b27714d..06950c38 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -10,7 +10,7 @@ "name": "t3-pstack", "source": "./plugins/pstack", "description": "pstack for T3 Code: rigorous agent workflows whose panels and fan-outs run across model families through T3. Original pstack by Lauren Tan (poteto).", - "version": "2.0.0-rc.10" + "version": "2.0.0-rc.11" } ] } diff --git a/CHANGES.md b/CHANGES.md index 6907d6c8..ffe29781 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,14 @@ This file is the release changelog, with one `## - ` entry per release, newest first. The Cursor-to-T3 rewrite rules live in [`tools/substitutions.json`](tools/substitutions.json), and the [sync boundary](CONTRIBUTING.md#the-sync-boundary) in `CONTRIBUTING.md` defines how a change to upstream's skill content is declared. +## 2.0.0-rc.11 - Lauren's `0148b78`: sharpen no longer forbids handing back a rewritten prompt + +t3-pstack moves to Lauren Tan's pstack at cursor/plugins `0148b78` for all three components. Only pstack changed upstream. Sharpen drops its final sentence, "Don't hand back a rewritten prompt.", so the skill now ends on "without narrating the framing, then do the work." ([pstack #712](https://github.com/cursor/plugins/pull/712)). [pstack #710](https://github.com/cursor/plugins/pull/710) and [#713](https://github.com/cursor/plugins/pull/713) bump Lauren's version to 0.15.26 and then 0.15.27 in her manifests, and upstream's copy under `harness/pstack/claude-code/` follows #712. Both sit outside every synced component. `bun tools/sync.mjs` updated `sharpen/SKILL.md` cleanly. The port's copy matched upstream byte for byte, and no substitution matches its old or new text, since the sentence names no Cursor mechanism. No rule was added, and the 15 declared forks are untouched. At `0148b78` each component's dry run reports no undeclared fork, no denylist hit, and no substitution that matches nothing. Neither hooks file changes. + +| Change | 2.0.0-rc.10 | 2.0.0-rc.11 | Source | +| --- | --- | --- | --- | +| Sharpen's last instruction | Do the work, and don't hand back a rewritten prompt. | Do the work. | pstack #712 | + ## 2.0.0-rc.10 - Lauren's `4382e68`: a skill that formally verifies what tests rarely reach t3-pstack moves to Lauren Tan's pstack at cursor/plugins `4382e68` for all three components. Only pstack changed upstream, and its version stays 0.15.25. The new `create-formal-verification-skill` finds the code where a bug costs the most and tests reach the least, verifies one property of it with the tool the question calls for, such as a model checker like TLA+, an SMT-backed verifier, or a proof assistant, and leaves a project-local skill that checks later changes against that property ([pstack #709](https://github.com/cursor/plugins/pull/709)). It must see each property fail on a broken variant of the code before it trusts a pass, and it reports a failing property as a finding instead of weakening it. It keeps Lauren's `disable-model-invocation`, so on Claude Code it runs when the user types `/t3-pstack:create-formal-verification-skill`. On Codex it is `$t3-pstack:create-formal-verification-skill`, and Codex ignores the flag. poteto-help gains its row. Ketchup now says outright that it never cuts items to stay under a word count ([pstack #708](https://github.com/cursor/plugins/pull/708)). `bun tools/sync.mjs` added the skill and updated ketchup and poteto-help cleanly through existing substitutions. The new skill names no Cursor tool, path, model, or command, and leaves the generated skill's location to the agent, so no rule was added, and the 15 declared forks are untouched. The README's skill count moves to 63. Upstream's README row and its copies under `harness/pstack/claude-code/` sit outside every synced component. At `4382e68` each component's dry run reports no undeclared fork, no denylist hit, and no substitution that matches nothing. Neither hooks file changes. diff --git a/NOTICE-skills.md b/NOTICE-skills.md index dffac85e..cf71be5c 100644 --- a/NOTICE-skills.md +++ b/NOTICE-skills.md @@ -4,9 +4,9 @@ This plugin contains MIT-licensed work from six sources. The copyright notices a | Included work | Upstream | Copyright | License | | --- | --- | --- | --- | -| The pstack skills, principles, scripts, and the `poteto-agent` and `comment-sicko` definitions | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/pstack) | (c) 2026 Lauren Tan | [MIT](LICENSE) | -| `deslop`, `make-pr-easy-to-review`, `fix-ci`, `fix-merge-conflicts`, `get-pr-comments`, and `what-did-i-get-done` | [cursor/plugins/cursor-team-kit](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/cursor-team-kit) | (c) 2026 Cursor | [MIT](LICENSE-cursor-team-kit) | -| `thermos`, `thermo-nuclear-review`, `thermo-nuclear-code-quality-review`, and the `thermo-nuclear-review-subagent` and `thermo-nuclear-code-quality-review-subagent` definitions | [cursor/plugins/thermos](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/thermos) | (c) 2026 Cursor | [MIT](LICENSE-thermos) | +| The pstack skills, principles, scripts, and the `poteto-agent` and `comment-sicko` definitions | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/pstack) | (c) 2026 Lauren Tan | [MIT](LICENSE) | +| `deslop`, `make-pr-easy-to-review`, `fix-ci`, `fix-merge-conflicts`, `get-pr-comments`, and `what-did-i-get-done` | [cursor/plugins/cursor-team-kit](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/cursor-team-kit) | (c) 2026 Cursor | [MIT](LICENSE-cursor-team-kit) | +| `thermos`, `thermo-nuclear-review`, `thermo-nuclear-code-quality-review`, and the `thermo-nuclear-review-subagent` and `thermo-nuclear-code-quality-review-subagent` definitions | [cursor/plugins/thermos](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/thermos) | (c) 2026 Cursor | [MIT](LICENSE-thermos) | | The session-start hook scripts, `read-sheet.sh`, and `reflect/scripts/find-transcript.mjs`, which t3-pstack modified, and four `poteto-mode` rules, the worktree and head-guard rules in the Feature, Opening a PR, and Shipping playbooks, three `watch-pr` fixes, and the ignored-file and reflog-only-commit holds in `poteto-mode/scripts/worktree-audit.sh`, which t3-pstack reworded or adapted for T3, and the plugin icon | [michael-denyer/pstack-claude](https://github.com/michael-denyer/pstack-claude) | (c) 2026 Michael Denyer | [MIT](LICENSE) | | The plain-remove prune step in the worktree-cleanup playbook, which t3-pstack adapted | [sergchil/jutsu](https://github.com/sergchil/jutsu/commit/da9442422c72cc99442c1ce3500d2f2485234a31) | (c) 2026 Sergey Chilingaryan | [MIT](LICENSE) | | `poteto-mode/scripts/resolve-codex-transcript` and `resolve-codex-transcript.ts`, which t3-pstack modified | [ericlitman/open-pstack](https://github.com/ericlitman/open-pstack/tree/c5c8e237c324359a3d1929037da78fe66da3d1ed/plugins/pstack/skills/poteto-mode/scripts), [PR #151](https://github.com/ericlitman/open-pstack/pull/151) | (c) 2026 Eric A. Litman and Donncha O'Toole | [MIT](LICENSE) | diff --git a/NOTICE.md b/NOTICE.md index 799f7348..09bfa968 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -6,9 +6,9 @@ t3-pstack is a port of [pstack](https://github.com/cursor/plugins/tree/main/psta | Component | Upstream | Copyright | License | License file | | --- | --- | --- | --- | --- | -| Every skill under `plugins/pstack/skills/` except those named in the next two rows, `plugins/pstack/agents/poteto-agent.md`, `plugins/pstack/agents/comment-sicko.md`, and the vendored scripts under `plugins/pstack/skills/poteto-mode/scripts/` | [cursor/plugins/pstack @ 4382e68](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/pstack) | (c) 2026 Lauren Tan | MIT | [LICENSE](LICENSE) | -| `plugins/pstack/skills/{deslop,fix-ci,fix-merge-conflicts,get-pr-comments,make-pr-easy-to-review,what-did-i-get-done}/` | [cursor/plugins/cursor-team-kit @ 4382e68](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/cursor-team-kit) | (c) 2026 Cursor | MIT | [LICENSE-cursor-team-kit](LICENSE-cursor-team-kit) | -| `plugins/pstack/skills/{thermos,thermo-nuclear-review,thermo-nuclear-code-quality-review}/`, `plugins/pstack/agents/thermo-nuclear-review-subagent.md`, `plugins/pstack/agents/thermo-nuclear-code-quality-review-subagent.md` | [cursor/plugins/thermos @ 4382e68](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/thermos) | (c) 2026 Cursor | MIT | [LICENSE-thermos](LICENSE-thermos) | +| Every skill under `plugins/pstack/skills/` except those named in the next two rows, `plugins/pstack/agents/poteto-agent.md`, `plugins/pstack/agents/comment-sicko.md`, and the vendored scripts under `plugins/pstack/skills/poteto-mode/scripts/` | [cursor/plugins/pstack @ 0148b78](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/pstack) | (c) 2026 Lauren Tan | MIT | [LICENSE](LICENSE) | +| `plugins/pstack/skills/{deslop,fix-ci,fix-merge-conflicts,get-pr-comments,make-pr-easy-to-review,what-did-i-get-done}/` | [cursor/plugins/cursor-team-kit @ 0148b78](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/cursor-team-kit) | (c) 2026 Cursor | MIT | [LICENSE-cursor-team-kit](LICENSE-cursor-team-kit) | +| `plugins/pstack/skills/{thermos,thermo-nuclear-review,thermo-nuclear-code-quality-review}/`, `plugins/pstack/agents/thermo-nuclear-review-subagent.md`, `plugins/pstack/agents/thermo-nuclear-code-quality-review-subagent.md` | [cursor/plugins/thermos @ 0148b78](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/thermos) | (c) 2026 Cursor | MIT | [LICENSE-thermos](LICENSE-thermos) | | `tools/sync.mjs`, `tools/generate.mjs`, `tools/validate-skills.mjs`, `tools/plugin.mjs`, `plugins/pstack/skills/reflect/scripts/find-transcript.mjs`, `plugins/pstack/hooks/session-start.sh`, `plugins/pstack/hooks/session-start.ps1`, `plugins/pstack/skills/setup-pstack/scripts/read-sheet.sh`, and the tests that cover them, each modified by t3-pstack | [michael-denyer/pstack-claude](https://github.com/michael-denyer/pstack-claude), as merged into t3-pstack through 1.0.14 | (c) 2026 Michael Denyer | MIT | [LICENSE](LICENSE) | | Four rules in `plugins/pstack/skills/poteto-mode/SKILL.md` (load a platform's skill before deploying, stop an abandoned agent and confirm it stopped, keep a review gate closed with no independent reviewer, the `todo.md` fallback), the per-delegate worktree rule in `playbooks/feature.md`, the stop-live-agents rule in `playbooks/opening-a-pr.md`, the `--match-head-commit` guard in `playbooks/shipping.md`, and the review-gate, stale-check, and no-checks fixes in `plugins/pstack/skills/poteto-mode/scripts/watch-pr/` with their tests in `verdicts.test.ts`, each reworded or adapted for T3 by t3-pstack | [michael-denyer/pstack-claude](https://github.com/michael-denyer/pstack-claude), pull requests [#95](https://github.com/michael-denyer/pstack-claude/pull/95), [#97](https://github.com/michael-denyer/pstack-claude/pull/97), and [#153](https://github.com/michael-denyer/pstack-claude/pull/153) for watch-pr | (c) 2026 Michael Denyer | MIT | [LICENSE](LICENSE) | | The ignored-file and reflog-only-commit holds in `plugins/pstack/skills/poteto-mode/scripts/worktree-audit.sh`, ported from JavaScript to bash, and their wording in `playbooks/worktree-cleanup.md`, with the test cases in `tests/worktree-audit.test.mjs`; the plugin icon with its C2PA manifest removed (`plugins/pstack/.claude-plugin/icon.png`, `plugins/pstack/assets/pstack-icon.png`) and `tests/image-metadata.test.mjs` | [michael-denyer/pstack-claude](https://github.com/michael-denyer/pstack-claude), pull requests [#277](https://github.com/michael-denyer/pstack-claude/pull/277) and [#271](https://github.com/michael-denyer/pstack-claude/pull/271) | (c) 2026 Michael Denyer | MIT | [LICENSE](LICENSE) | diff --git a/README.md b/README.md index 14d45b5c..247d3642 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ npx -y github:chhoumann/t3-pstack update npx -y github:chhoumann/t3-pstack doctor ``` -`npx -y github:chhoumann/t3-pstack` runs the installer from the latest commit on `main`. That is the rolling channel, the same one each home's marketplace auto-updates from. To run one release's installer, name its tag, as in `npx -y github:chhoumann/t3-pstack#v2.0.0-rc.10 doctor`. +`npx -y github:chhoumann/t3-pstack` runs the installer from the latest commit on `main`. That is the rolling channel, the same one each home's marketplace auto-updates from. To run one release's installer, name its tag, as in `npx -y github:chhoumann/t3-pstack#v2.0.0-rc.11 doctor`. `install` and `update` are the same command, and a second run changes nothing. With Node 20 or later, it installs or updates the `t3-pstack@t3-pstack` plugin in every Claude Code and Codex config home T3 can run: `~/.claude` and `~/.codex`, `$CLAUDE_CONFIG_DIR` and `$CODEX_HOME`, and the home of each `claudeAgent` and `codex` instance in T3's settings, disabled ones included. Name any other home with `--claude-home <dir>` or `--codex-home <dir>`. Each home's `t3-pstack` marketplace must come from `chhoumann/t3-pstack`, or from `--source <owner/repo|git URL|dir>` on the same run, and a home whose marketplace has another source is left as it is. A local directory needs a path such as `./t3-pstack`, since `owner/repo` always means GitHub. On Codex it also trusts t3-pstack's session-start hook, once its hooks file is the one this release pins. Codex runs a plugin's hook only once it is trusted, and T3's Codex sessions never ask, so without this step the hook never runs. Run `update` after each release. @@ -34,7 +34,7 @@ The plugin carries 63 skill directories, 24 of them `principle-*` leaves, and 4 ## Staying current -This repository syncs from Lauren's tree directly, synced against upstream `4382e68`. `tools/upstream.json` pins each component, `tools/substitutions.json` holds the rewrite rules and a denylist of Cursor terms, and `tools/forks.json` declares every file the port keeps in its own form and why. `bun tools/sync.mjs <component> <sha>` derives each upstream file through the rules, merges it three ways with the port's copy, and fails on an undeclared fork, a denylist hit, or a rule that no longer matches upstream. [CONTRIBUTING.md](CONTRIBUTING.md#the-sync-boundary) has the details. +This repository syncs from Lauren's tree directly, synced against upstream `0148b78`. `tools/upstream.json` pins each component, `tools/substitutions.json` holds the rewrite rules and a denylist of Cursor terms, and `tools/forks.json` declares every file the port keeps in its own form and why. `bun tools/sync.mjs <component> <sha>` derives each upstream file through the rules, merges it three ways with the port's copy, and fails on an undeclared fork, a denylist hit, or a rule that no longer matches upstream. [CONTRIBUTING.md](CONTRIBUTING.md#the-sync-boundary) has the details. ## Data handling diff --git a/VERSION b/VERSION index 241351ad..716297bc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.0-rc.10 +2.0.0-rc.11 diff --git a/package.json b/package.json index 87624a65..0f676bfb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "t3-pstack", "private": true, - "version": "2.0.0-rc.10", + "version": "2.0.0-rc.11", "description": "The installer and development tooling for t3-pstack, Lauren Tan's pstack rewritten in place for T3 Code. The plugin itself lives in plugins/pstack.", "author": { "name": "Christian Bager Bach Houmann", diff --git a/plugins/pstack/.claude-plugin/plugin.json b/plugins/pstack/.claude-plugin/plugin.json index 835d75ea..9eaae578 100644 --- a/plugins/pstack/.claude-plugin/plugin.json +++ b/plugins/pstack/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "t3-pstack", "displayName": "t3-pstack (pstack for T3 Code)", - "version": "2.0.0-rc.10", + "version": "2.0.0-rc.11", "description": "pstack for T3 Code: Lauren Tan's pstack with its Cursor mechanics rewritten in place for T3, so subagents, panels, schedules, and PR watches dispatch through T3's orchestration and panels mix Claude, GPT, and Grok.", "author": { "name": "Christian Bager Bach Houmann", diff --git a/plugins/pstack/.codex-plugin/plugin.json b/plugins/pstack/.codex-plugin/plugin.json index 05470dca..0ee900a6 100644 --- a/plugins/pstack/.codex-plugin/plugin.json +++ b/plugins/pstack/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "t3-pstack", - "version": "2.0.0-rc.10", + "version": "2.0.0-rc.11", "description": "pstack for T3 Code on a Codex host: Lauren Tan's pstack with its Cursor mechanics rewritten in place for T3, so subagents, panels, schedules, and PR watches dispatch through T3's orchestration.", "author": { "name": "Christian Bager Bach Houmann", diff --git a/plugins/pstack/skills/poteto-mode/references/licenses/NOTICE.md b/plugins/pstack/skills/poteto-mode/references/licenses/NOTICE.md index dffac85e..cf71be5c 100644 --- a/plugins/pstack/skills/poteto-mode/references/licenses/NOTICE.md +++ b/plugins/pstack/skills/poteto-mode/references/licenses/NOTICE.md @@ -4,9 +4,9 @@ This plugin contains MIT-licensed work from six sources. The copyright notices a | Included work | Upstream | Copyright | License | | --- | --- | --- | --- | -| The pstack skills, principles, scripts, and the `poteto-agent` and `comment-sicko` definitions | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/pstack) | (c) 2026 Lauren Tan | [MIT](LICENSE) | -| `deslop`, `make-pr-easy-to-review`, `fix-ci`, `fix-merge-conflicts`, `get-pr-comments`, and `what-did-i-get-done` | [cursor/plugins/cursor-team-kit](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/cursor-team-kit) | (c) 2026 Cursor | [MIT](LICENSE-cursor-team-kit) | -| `thermos`, `thermo-nuclear-review`, `thermo-nuclear-code-quality-review`, and the `thermo-nuclear-review-subagent` and `thermo-nuclear-code-quality-review-subagent` definitions | [cursor/plugins/thermos](https://github.com/cursor/plugins/tree/4382e687a50b8d2c5ce4d141d001186589cff8d5/thermos) | (c) 2026 Cursor | [MIT](LICENSE-thermos) | +| The pstack skills, principles, scripts, and the `poteto-agent` and `comment-sicko` definitions | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/pstack) | (c) 2026 Lauren Tan | [MIT](LICENSE) | +| `deslop`, `make-pr-easy-to-review`, `fix-ci`, `fix-merge-conflicts`, `get-pr-comments`, and `what-did-i-get-done` | [cursor/plugins/cursor-team-kit](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/cursor-team-kit) | (c) 2026 Cursor | [MIT](LICENSE-cursor-team-kit) | +| `thermos`, `thermo-nuclear-review`, `thermo-nuclear-code-quality-review`, and the `thermo-nuclear-review-subagent` and `thermo-nuclear-code-quality-review-subagent` definitions | [cursor/plugins/thermos](https://github.com/cursor/plugins/tree/0148b78c56c72a1b8412055913c79f767095b217/thermos) | (c) 2026 Cursor | [MIT](LICENSE-thermos) | | The session-start hook scripts, `read-sheet.sh`, and `reflect/scripts/find-transcript.mjs`, which t3-pstack modified, and four `poteto-mode` rules, the worktree and head-guard rules in the Feature, Opening a PR, and Shipping playbooks, three `watch-pr` fixes, and the ignored-file and reflog-only-commit holds in `poteto-mode/scripts/worktree-audit.sh`, which t3-pstack reworded or adapted for T3, and the plugin icon | [michael-denyer/pstack-claude](https://github.com/michael-denyer/pstack-claude) | (c) 2026 Michael Denyer | [MIT](LICENSE) | | The plain-remove prune step in the worktree-cleanup playbook, which t3-pstack adapted | [sergchil/jutsu](https://github.com/sergchil/jutsu/commit/da9442422c72cc99442c1ce3500d2f2485234a31) | (c) 2026 Sergey Chilingaryan | [MIT](LICENSE) | | `poteto-mode/scripts/resolve-codex-transcript` and `resolve-codex-transcript.ts`, which t3-pstack modified | [ericlitman/open-pstack](https://github.com/ericlitman/open-pstack/tree/c5c8e237c324359a3d1929037da78fe66da3d1ed/plugins/pstack/skills/poteto-mode/scripts), [PR #151](https://github.com/ericlitman/open-pstack/pull/151) | (c) 2026 Eric A. Litman and Donncha O'Toole | [MIT](LICENSE) |