#309 by GitHub stars

michael-denyer/pstack-claude

Antigravity, Claude Code, Codex, Copilot, Gemini, Muse, OpenCode, Pi, and Prime Agent versions of Poteto's pstack. Rigorous agent workflows with Cursor primitives translated for other harnesses.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

plugins/pstack/grok/skills/pstack-routing/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 2f789d9d483d

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/architect/SKILL.md

Week of Nov 2, 2026 · +3 / −1 lines

Before Local scripts → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
- 98 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 100 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/arena/SKILL.md

Week of Nov 2, 2026 · +3 / −1 lines

Before Local scripts → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
- 64 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 66 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/automate-me/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/babysit/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/benchmark-checklist/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/blast-radius/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/bro/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/correct/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/create-formal-verification-skill/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/create-verification-skill/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/deslop/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/figure-it-out/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/fix-ci/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/fix-merge-conflicts/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/get-pr-comments/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/how/SKILL.md

Week of Nov 2, 2026 · +3 / −1 lines

Before Local scripts → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
- 52 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 54 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/in-your-own-words/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/interrogate/SKILL.md

Week of Nov 2, 2026 · +3 / −1 lines

Before Local scripts → After Local scripts

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
- 46 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 48 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/ketchup/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/ketchup-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/maintain-formal-verification-skill/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/maintain-verification-skill/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/make-pr-easy-to-review/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/no-comments/SKILL.md

Week of Nov 2, 2026 · +14 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
+ 15 
+ 27 
+ 28    Set `model` to the `no-comments reviewer` line in `pstack-models.md`, or to the default in [Models](#models) if the sheet or that line is missing. Leave `model` unset when the value is `auto` or `inherit-parent`. If the `Agent` tool rejects a slug, use the default and say so. If it rejects the default, use the closest valid slug of the same family from its error message.
+ 36 
+ 37 ## Models
+ 38 
+ 39 Role defaults, stamped from `plugins/pstack/models.json` (edit there, rerun `tools/generate.mjs`). A matching role line in the `pstack-models.md` override sheet overrides each at runtime; `/setup-pstack` writes it and lists its path per runtime.
+ 40 
+ 41 - no-comments reviewer: `opus`
+ 42 
+ 43 ## Reasoning effort
+ 44 
+ 45 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/poteto-help/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/poteto-mode/SKILL.md

Week of Nov 2, 2026 · +3 / −3 lines

Before Network or broad shell → After Network or broad shell

190fc9a00949 → 2f789d9d483d

- 12 These skills use Claude Code tool names (the `Skill` tool, the `Agent` tool, `AskUserQuestion`) and the Claude model names the `Agent` tool accepts, as each Models section lists them. On Claude Code they work as written. On Codex, read [`references/codex-tools.md`](references/codex-tools.md) for the Codex equivalent of a Claude tool, model, or skill named by these workflows. On Pi, read [`references/pi-tools.md`](references/pi-tools.md) instead. On GitHub Copilot, CLI or app, read [`references/copilot-tools.md`](references/copilot-tools.md) instead. On Muse, read [`references/muse-tools.md`](references/muse-tools.md) instead. Other runtimes can discover the same Agent Skills tree, but they must use their own tool, model, and configuration equivalents. No one of these mappings is a cross-runtime map.
+ 12 These skills use Claude Code tool names (the `Skill` tool, the `Agent` tool, `AskUserQuestion`) and the Claude model names the `Agent` tool accepts, as each Models section lists them. On Claude Code they work as written. On Codex, read [`references/codex-tools.md`](references/codex-tools.md) for the Codex equivalent of a Claude tool, model, or skill named by these workflows. On Pi, read [`references/pi-tools.md`](references/pi-tools.md) instead. On GitHub Copilot, CLI or app, read [`references/copilot-tools.md`](references/copilot-tools.md) instead. On Muse, read [`references/muse-tools.md`](references/muse-tools.md) instead. On MiniMax Code, read [`references/minimax-tools.md`](references/minimax-tools.md) instead. On Antigravity, read [`references/agy-tools.md`](references/agy-tools.md) instead. On Kimi Code CLI, read [`references/kimi-tools.md`](references/kimi-tools.md) instead. On Grok Build, read [`references/grok.md`](references/grok.md) instead. Other runtimes can discover the same Agent Skills tree, but they must use their own tool, model, and configuration equivalents. No one of these mappings is a cross-runtime map.
- 14 Use the session's task-tracking tools for the todolist. On Claude Code these are `TaskCreate` and `TaskUpdate`, or `TodoWrite` when configured. Availability depends on the model; `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` enables them through the environment or a project's `.claude/settings.local.json` `env` block. See the [task-tool documentation](https://code.claude.com/docs/en/tools-reference#task-tool-availability). If no task-tracking tool is available, keep an uncommitted `todo.md` Markdown checklist in the work dir, next to the decision trail, with the playbook steps verbatim and each `skip: <reason>` line. When several sessions share the checkout, name it `.audit/<task-slug>.todo.md`, beside that session's `.audit/<task-slug>.tsv` trail, so they never write one file.
+ 14 Use the session's task-tracking tools for the todolist. On Claude Code these are `TaskCreate` and `TaskUpdate`, or `TodoWrite` when configured. Availability depends on the model; `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` enables them through the environment or a project's `.claude/settings.local.json` `env` block. See the [task-tool documentation](https://code.claude.com/docs/en/tools-reference#task-tool-availability). If no task-tracking tool is available, keep an uncommitted `todo.md` Markdown checklist in the work dir, next to the decision trail, with the playbook steps verbatim and each `skip: <reason>` line. When several sessions share the checkout, name it `.audit/<task-slug>.todo.md`, beside that session's `.audit/<task-slug>.tsv` trail, so they never write one file. In the Claude desktop app, `mcp__ccd_turn__update_plan` asks for items of about seven words. Give it that short plan, and keep this checklist as well, with the playbook steps verbatim and each `skip: <reason>` line.
- 174 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 174 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-attack-the-premise/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-boundary-discipline/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-build-the-lever/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-encode-lessons-in-structure/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-exhaust-the-design-space/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-experience-first/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-explain-the-number/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-fix-root-causes/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-foundational-thinking/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-guard-the-context-window/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-laziness-protocol/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-make-operations-idempotent/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-minimize-reader-load/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-model-the-domain/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-never-block-on-the-human/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-outcome-oriented-execution/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-prove-it-works/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-redesign-from-first-principles/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-separate-before-serializing-shared-state/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-sequence-verifiable-units/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-subtract-before-you-add/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-test-behavior-not-implementation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/principle-type-system-discipline/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/recall/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 11 
+ 12 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/reflect/SKILL.md

Week of Nov 2, 2026 · +3 / −1 lines

Before Local scripts → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
- 87 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 89 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/setup-pstack/SKILL.md

Week of Nov 2, 2026 · +16 / −2 lines

Before Local scripts → After Local scripts

190fc9a00949 → 2f789d9d483d

+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
+ 15 
+ 16 On Grok Build, read the [platform mapping](../poteto-mode/references/grok.md) and skip step 4, the effort questions in step 3 and effort validation in step 5; omit effort and `session hook` lines and suffixes from the sheet. Grok exposes no effort control, and the `session hook` line does not control the Grok routing hint.
+ 17 
+ 19 
+ 20 On Kimi Code CLI, skip step 4, the effort questions in step 3 and effort validation in step 5; omit effort and `session hook` lines and suffixes from the sheet. In step 8, explain that routing is controlled by the plugin's enabled state instead of reporting a hook setting. See [Kimi model names](../poteto-mode/references/kimi-tools.md#model-names).
+ 52 On Codex, explain that `session` requires the current thread's active-turn metadata, which some hosts do not expose. The platform mapping's helper reads it; when it is unavailable, an explicit effort choice is required before dispatching. Offer a fixed default level for those hosts instead of promising automatic inheritance.
+ 53 
- 61 Per-role model overrides for pstack skills. Each pstack SKILL.md names its defaults in a Models section; the values here override those defaults. Delete a line to fall back to the skill default. A value of `inherit-parent` or `auto` runs that role on the parent session's model (the `Agent` call omits `model`); an alias entry in a panel list still counts toward that panel's fan-out. A model may carry a reasoning effort, as in `opus @xhigh` (levels: low, medium, high, xhigh, max); the role's subagent then runs at that level, each entry of a panel list on its own. `default effort` sets the level for a value without one; `session` keeps the parent session's effort. `session hook: off` stops the Claude Code, Codex, or Muse SessionStart hook, or the pstack Pi extension, from injecting the poteto-mode mandate; any other value, or no line, leaves it on.
+ 69 Per-role model overrides for pstack skills. Each pstack SKILL.md names its defaults in a Models section; the values here override those defaults. Delete a line to fall back to the skill default. A value of `inherit-parent` or `auto` runs that role on the parent session's model (the `Agent` call omits `model`); an alias entry in a panel list still counts toward that panel's fan-out. A model may carry a reasoning effort, as in `opus @xhigh` (levels: low, medium, high, xhigh, max); the role's subagent then runs at that level, each entry of a panel list on its own. `default effort` sets the level for a value without one; `session` uses the runtime's platform mapping to start from the parent session's effort. On Codex this requires active-turn metadata or an explicit effort choice. `session hook: off` stops the Claude Code, Codex, or Muse SessionStart hook, or the pstack Pi extension, from injecting the poteto-mode mandate; any other value, or no line, leaves it on.
+ 88 thermos reviewers: opus
+ 89 no-comments reviewer: opus
- 107 The role lines are the same everywhere. What differs is the sheet path, how the runtime loads it, and how you list models. Detect models with the runtime's own tool and never write a slug you have not seen listed. A runtime whose subagent call has no model parameter still gets the sheet, as the record of the user's choice, and applies it where it can. The `session hook` line applies to the Claude Code, Codex, and GitHub Copilot plugins and to the pstack Pi extension.
+ 117 The role lines are the same everywhere. What differs is the sheet path, how the runtime loads it, and how you list models. Detect models with the runtime's own tool and never write a slug you have not seen listed. A runtime whose subagent call has no model parameter still gets the sheet, as the record of the user's choice, and applies it where it can. The `session hook` line applies to the Claude Code, Codex, GitHub Copilot, Muse, MiniMax Code, and Antigravity plugins and to the pstack Pi extension.
+ 126 | MiniMax Code | `~/.minimax/pstack-models.md`, even when `MINIMAX_DATA_DIR` moves MiniMax's data directory, since MiniMax Code withholds that variable from hooks and its `bash` tool | model rows: read by the agent before a role-model skill, or paste into `AGENTS.md` in MiniMax Code's data directory; hook setting: read by the plugin | `mcode provider list` or the `model` slash command, see [minimax-tools.md](../poteto-mode/references/minimax-tools.md#model-names) | hook contract tested; plugin load smoke-tested on 0.7.4; no live session |
+ 127 | Kimi Code CLI | `<KIMI_CODE_HOME>/pstack-models.md`, or `~/.kimi-code/pstack-models.md` when unset | read by the agent before a role-model skill; no hook setting | the `Agent` tool's model parameter when a subagent model pool is configured, see [kimi-tools.md](../poteto-mode/references/kimi-tools.md#model-names) | installation and synthetic-provider context delivery checked on Kimi 2.4.1 for macOS; model compliance untested |
+ 128 | Antigravity (`agy`) | `~/.gemini/config/pstack-models.md` | model rows: read by the agent before a role-model skill, or paste into `~/.gemini/config/AGENTS.md`; hook setting: read by the plugin's `SessionStart` hook | `invoke_subagent`'s `Model` enum (`inherit`, `flash_lite`, `flash`, `pro`), see [agy-tools.md](../poteto-mode/references/agy-tools.md#model-names) | tested with `agy` 1.5.0 on macOS: plugin install, hook on/off, full skill read and a live subagent reply; Windows untested |
+ 129 | Grok Build | `${GROK_HOME:-~/.grok}/pstack-models.md` | read by the agent before a role-model skill; the `session hook` line does not control the Grok routing hint | the session model selector; see [grok.md](../poteto-mode/references/grok.md#model-names) | synthetic-provider plugin and skill loading tested |

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/sharpen/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/show-me-your-work/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Local scripts → After Local scripts

190fc9a00949 → 2f789d9d483d

+ 11 
+ 12 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/statechart/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/swarm/SKILL.md

Week of Nov 2, 2026 · +3 / −1 lines

Before Local scripts → After Local scripts

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
- 56 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 58 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/tdd/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/teach/SKILL.md

Week of Nov 2, 2026 · +2 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/technical-writing/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/thermo-nuclear-code-quality-review/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/thermo-nuclear-review/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/thermos/SKILL.md

Week of Nov 2, 2026 · +14 / −0 lines

Before Instructions only → After Local scripts

190fc9a00949 → 2f789d9d483d

+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
+ 15 
+ 25 
+ 26    Set `model` on both to the `thermos reviewers` line in `pstack-models.md`, or to the default in [Models](#models) if the sheet or that line is missing. Leave `model` unset when the value is `auto` or `inherit-parent`. If the `Agent` tool rejects a slug, use the default and say so. If it rejects the default, use the closest valid slug of the same family from its error message. Pick each subagent's reasoning level for the job, per the Subagents section of the **poteto-mode** skill.
+ 31 
+ 32 ## Models
+ 33 
+ 34 Role defaults, stamped from `plugins/pstack/models.json` (edit there, rerun `tools/generate.mjs`). A matching role line in the `pstack-models.md` override sheet overrides each at runtime; `/setup-pstack` writes it and lists its path per runtime.
+ 35 
+ 36 - thermos reviewers: `opus`
+ 37 
+ 38 ## Reasoning effort
+ 39 
+ 40 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/typescript-best-practices/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/unslop/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Network or broad shell

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/what-did-i-get-done/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

190fc9a00949 → 2f789d9d483d

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

plugins/pstack/skills/why/SKILL.md

Week of Nov 2, 2026 · +3 / −1 lines

Before Local scripts → After Network or broad shell

190fc9a00949 → 2f789d9d483d

+ 13 
+ 14 On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
- 114 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. `session` sets no effort, so the dispatch is the usual one. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.
+ 116 A role value in the override sheet may name a reasoning effort after its model, as in `opus @xhigh`. Levels on Claude Code: `low`, `medium`, `high`, `xhigh`, `max`. Which ones apply depends on the model. A value without `@` takes the sheet's `default effort` line, a level or `session`, and `session` when the sheet has no such line. On Claude Code, `session` sets no effort. On other runtimes, follow the platform mapping for `session`. Strip the suffix before reading the model: `inherit-parent` or `auto` still omits `model` at every level, and a model name is passed as `model`. Pass the level as the dispatch's effort field and keep the `subagent_type` you would otherwise use. That is `effort` on the Claude Code `Agent` call and `reasoning_effort` on Codex's `spawn_agent`. On Muse it is `effort` on a Workflow child; a `subagent_spawn` dispatch keeps the session's effort.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 190fc9a00949

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 2f789d9d483d7bd800da4bbf3bc0ea7b27e907d9

git clone --filter=blob:none --no-checkout https://github.com/michael-denyer/pstack-claude.git .hotskills/michael-denyer-pstack-claude && git -C .hotskills/michael-denyer-pstack-claude checkout --detach 2f789d9d483d7bd800da4bbf3bc0ea7b27e907d9 # Copy each selected skill directory from .hotskills/michael-denyer-pstack-claude into .claude/skills/<skill-name>/
4.1kGitHub stars
418stars in 7 days
68skills in this repository
128commits in 30 days

Heat

8.5
  • Star growth, last 7 daysAhead of 98% of tracked repositories
  • Star growth, last 24 hoursAhead of 99% of tracked repositories
  • Rank movement, last 7 daysAhead of 95% of tracked repositories
  • Commits, last 30 daysAhead of 95% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Jul 29, 2026Nov 6, 20264,082

Individual skills in this repository

How it works

pstack-routing

When your agent uses it

On every task, read pstack's poteto-mode skill first and follow its routing instructions when applicable.

What it loads into context

Frontmatter

29 tokens

Always available to the agent

SKILL.md

92 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

    Files

    • ../../../../../.claude-plugin/marketplace.jsonasset607 bytes
    • ../../../.claude-plugin/icon.pngasset192,542 bytes
    • ../../../.claude-plugin/plugin.jsonasset895 bytes
    • SKILL.mdcore410 bytes
    • ../../../hooks.jsonasset151 bytes
    • ../../../hooks.jsonasset151 bytes
    • ../../../hooks/hooks.jsonasset336 bytes
    Read SKILL.md
    
    # Pstack routing for Grok Build
    
    Read the plugin's `skills/poteto-mode/SKILL.md` and follow its routing instructions when applicable. Grok Build exposes plugin skill paths in the session's skills list. Use `read_file` to open the poteto-mode path listed there.
    View the complete source on GitHub

    Skills included

    • pstack-routing
    • architect
    • arena
    • automate-me
    • babysit
    • benchmark-checklist
    • blast-radius
    • bro
    • correct
    • create-formal-verification-skill
    • create-verification-skill
    • deslop
    • figure-it-out
    • fix-ci
    • fix-merge-conflicts
    • get-pr-comments
    • how
    • in-your-own-words
    • interrogate
    • ketchup
    • ketchup-video
    • maintain-formal-verification-skill
    • maintain-verification-skill
    • make-pr-easy-to-review
    • no-comments
    • poteto-help
    • poteto-mode
    • principle-attack-the-premise
    • principle-boundary-discipline
    • principle-build-the-lever
    • principle-encode-lessons-in-structure
    • principle-exhaust-the-design-space
    • principle-experience-first
    • principle-explain-the-number
    • principle-fix-root-causes
    • principle-foundational-thinking
    • principle-guard-the-context-window
    • principle-laziness-protocol
    • principle-make-operations-idempotent
    • principle-migrate-callers-then-delete-legacy-apis
    • principle-minimize-reader-load
    • principle-model-the-domain
    • principle-never-block-on-the-human
    • principle-outcome-oriented-execution
    • principle-prove-it-works
    • principle-redesign-from-first-principles
    • principle-separate-before-serializing-shared-state
    • principle-sequence-verifiable-units
    • principle-subtract-before-you-add
    • principle-test-behavior-not-implementation
    • principle-type-system-discipline
    • recall
    • reflect
    • setup-pstack
    • sharpen
    • show-me-your-work
    • statechart
    • swarm
    • tdd
    • teach
    • technical-writing
    • thermo-nuclear-code-quality-review
    • thermo-nuclear-review
    • thermos
    • typescript-best-practices
    • unslop
    • what-did-i-get-done
    • why

    Repository facts

    License
    MIT
    Created
    May 26, 2026
    Last pushed
    Nov 5, 2026
    Forks
    364
    Open issues
    4
    Project activity
    Active

    Rank over the last 12 weeks

    Now #309 · best #309 · up 209 in 30 days

    1. #333 on Nov 1
    2. #324 on Nov 2
    3. #320 on Nov 3
    4. #317 on Nov 4
    5. #312 on Nov 5
    6. #309 since Nov 6
    75 earlier periods
    1. #904 on Aug 14
    2. #875 on Aug 15
    3. #897 on Aug 16
    4. #922 on Aug 18
    5. #920 on Aug 19
    6. #902 on Aug 20
    7. #912 on Aug 21
    8. #858 on Aug 22
    9. #912 on Aug 23
    10. #924 on Aug 24
    11. #933 on Aug 25
    12. #910 on Aug 26
    13. #917 on Aug 27
    14. #952 on Aug 28
    15. #870 on Aug 29
    16. #874 on Aug 30
    17. #922 on Aug 31
    18. #955 on Sep 1
    19. #918 on Sep 2
    20. #925 on Sep 3
    21. #888 on Sep 4
    22. #866 on Sep 5
    23. #902 on Sep 6
    24. #927 on Sep 7
    25. #939 on Sep 8
    26. #924 on Sep 9
    27. #916 on Sep 10
    28. #880 on Sep 11
    29. #876 from Sep 12 to Sep 13
    30. #911 on Sep 14
    31. #897 on Sep 15
    32. #908 on Sep 16
    33. #902 on Sep 17
    34. #884 on Sep 18
    35. #858 on Sep 19
    36. #876 on Sep 20
    37. #893 on Sep 21
    38. #911 on Sep 22
    39. #902 on Sep 23
    40. #862 on Sep 24
    41. #806 on Sep 25
    42. #812 on Sep 26
    43. #828 on Sep 27
    44. #857 on Sep 28
    45. #871 on Sep 29
    46. #833 on Sep 30
    47. #773 on Oct 1
    48. #758 on Oct 2
    49. #636 on Oct 3
    50. #583 on Oct 4
    51. #520 on Oct 5
    52. #522 on Oct 6
    53. #518 on Oct 7
    54. #524 on Oct 8
    55. #505 on Oct 9
    56. #493 on Oct 10
    57. #490 on Oct 11
    58. #492 on Oct 12
    59. #476 on Oct 13
    60. #466 on Oct 14
    61. #409 on Oct 15
    62. #396 on Oct 16
    63. #375 on Oct 17
    64. #365 on Oct 18
    65. #354 on Oct 19
    66. #346 on Oct 20
    67. #341 on Oct 21
    68. #338 on Oct 22
    69. #334 on Oct 23
    70. #330 on Oct 24
    71. #338 on Oct 25
    72. #329 on Oct 28
    73. #334 on Oct 29
    74. #335 on Oct 30
    75. #334 on Oct 31

    Before you install

    Network or broad shell

    Automated signals, not a guarantee

    Checked Nov 5, 2026

    Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

    Show 114 notes
    • plugins/pstack/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/skills/architect/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/skills/arena/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/skills/babysit/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/skills/blast-radius/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/skills/correct/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/skills/fix-ci/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/skills/how/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    • plugins/pstack/hooks.json:1 Plugin-wide analysis incomplete; see repository notes
    Show all 204 signals by file

    .claude-plugin/marketplace.json

    • Network accessline 3
      "owner": {     "name": "Michael Denyer",     "url": "https://github.com/michael-denyer"
    • Network accessline 4
      "name": "Michael Denyer",     "url": "https://github.com/michael-denyer"   },
    • Network accessline 5
      "url": "https://github.com/michael-denyer"

    plugins/pstack/.claude-plugin/plugin.json

    • Network accessline 6
      "author": {     "name": "Michael Denyer",     "url": "https://github.com/michael-denyer"
    • Network accessline 7
      "name": "Michael Denyer",     "url": "https://github.com/michael-denyer"   },
    • Network accessline 8
      "url": "https://github.com/michael-denyer"
    • Network accessline 9
      },   "homepage": "https://github.com/michael-denyer/pstack-claude",   "repository": "https://github.com/michael-denyer/pstack-claude",
    • Network accessline 10
      "homepage": "https://github.com/michael-denyer/pstack-claude",
    • Network accessline 11
      "repository": "https://github.com/michael-denyer/pstack-claude",

    plugins/pstack/skills/create-verification-skill/SKILL.md

    • Network accessline 16
      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 (`.claude/skills/verify/`) tai
    • Network accessline 16
      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 (`.claude/skills/verify/`) tai
    • Network accessline 16
      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 (`.claude/skills/verify/`) tai

    plugins/pstack/skills/create-verification-skill/references/feature-map-example/README.md

    • Network accessline 7
      - Launch Notes at `http://127.0.0.1:4173` with a disposable data directory.

    plugins/pstack/skills/create-verification-skill/references/feature-map-example/create-note.md

    • Network accessline 22
      - Notes is healthy at `http://127.0.0.1:4173`.

    plugins/pstack/skills/create-verification-skill/references/feature-map-example/search.md

    • Network accessline 24
      - Notes is healthy at `http://127.0.0.1:4173`.

    plugins/pstack/skills/poteto-help/SKILL.md

    • Network accessline 12
      This file maps questions to the installed skills, playbooks, and platform mappings that own the answers. Read the matching source before answering. Its instructions take precedence over this map and any upstream guide, which describes Curso
    • Network accessline 37
      1. Identify the user's runtime and whether they want a native plugin/package or skills-only installation. Read its section in the [README](https://github.com/michael-denyer/pstack-claude/blob/main/README.md#install) or [shared installation 
    • Network accessline 39
      3. Offer a first task prompt with a goal and a check that can pass or fail, per [`references/prompting.md`](references/prompting.md). Use the current runtime's invocation syntax from the [slash-command reference](https://github.com/michael-
    • Network accessline 41
      Before giving runtime-specific instructions or adapting a recipe, read the [Codex mapping](../poteto-mode/references/codex-tools.md) or [Pi mapping](../poteto-mode/references/pi-tools.md) when applicable. Their routing sections cover hook t

    plugins/pstack/skills/poteto-mode/SKILL.md

    • Network accessline 14
      Use the session's task-tracking tools for the todolist. On Claude Code these are `TaskCreate` and `TaskUpdate`, or `TodoWrite` when configured. Availability depends on the model; `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` enables them through the en
    • Network accessline 14
      Use the session's task-tracking tools for the todolist. On Claude Code these are `TaskCreate` and `TaskUpdate`, or `TodoWrite` when configured. Availability depends on the model; `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` enables them through the en
    • Network accessline 123
      Every playbook ends with a reply written this way, PR link as `https://github.com/<owner>/<repo>/pull/<number>`. Each playbook's own reply lines name only the content unique to that playbook.
    • Network accessline 123
      Every playbook ends with a reply written this way, PR link as `https://github.com/<owner>/<repo>/pull/<number>`. Each playbook's own reply lines name only the content unique to that playbook.

    plugins/pstack/skills/poteto-mode/playbooks/worktree-cleanup.md

    • Dangerous shell operationline 7
      5. Prune the confirmed set. Per path, `git worktree remove --force <path>`. If the dir survives on ignored build artifacts, `rm -rf` it, then `git worktree prune`. Branch refs survive, so commits on the worktree's branch are kept. The workt

    plugins/pstack/skills/poteto-mode/references/licenses/NOTICE.md

    • Network accessline 7
      | Included work | Upstream | Copyright | License | | --- | --- | --- | --- | | pstack-derived skills, principles, scripts, and the `comment-sicko` definition | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/e46364b8be46000b7
    • Network accessline 8
      | --- | --- | --- | --- | | pstack-derived skills, principles, scripts, and the `comment-sicko` definition | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/e46364b8be46000b7df0f260550cd712afbb8d36/pstack), with later additio
    • Network accessline 9
      | pstack-derived skills, principles, scripts, and the `comment-sicko` definition | [cursor/plugins/pstack](https://github.com/cursor/plugins/tree/e46364b8be46000b7df0f260550cd712afbb8d36/pstack), with later additions from [3fe2823](https://
    • Network accessline 10
      | `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/e46364b8be46000b7df0f260550cd712afbb8d36/cursor-te
    • Network accessline 11
      | `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/
    • Network accessline 13
      The pstack-claude port changes runtime names, tool calls, model defaults, and supporting prose. The port's modifications and additions are (c) 2026 Michael Denyer under the same [MIT license](LICENSE). The [repository notice](https://github

    plugins/pstack/skills/poteto-mode/references/merge-safety.md

    • Network accessline 43
      Service references: [GitHub CLI merge flags](https://cli.github.com/manual/gh_pr_merge), [GraphQL pull requests and queue mutations](https://docs.github.com/en/graphql/reference/pulls), and [REST merge endpoint](https://docs.github.com/en/r

    plugins/pstack/skills/poteto-mode/scripts/.prettierignore

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/bootstrap.ts

    • Executable scriptline 1
      Executable file
    • Network accessline 7
      if (typeof Bun === "undefined") {   console.error(     "pstack poteto-mode tooling requires bun (https://bun.sh). Install bun, then re-run."
    • Network accessline 8
      console.error(     "pstack poteto-mode tooling requires bun (https://bun.sh). Install bun, then re-run."   );
    • Network accessline 9
      "pstack poteto-mode tooling requires bun (https://bun.sh). Install bun, then re-run."

    plugins/pstack/skills/poteto-mode/scripts/check-plan.mjs

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/poteto-mode/scripts/check-plan.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/check-playbooks.mjs

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/poteto-mode/scripts/codex-session-effort.mjs

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/poteto-mode/scripts/package.json

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/resume.mjs

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.ts

    • Executable scriptline 1
      Executable file
    • Network accessline 152
      expect(rendered).toContain("| PR | CI | Review | Merge |");     expect(rendered).toContain(       "| [#1](https://github.com/owner/repo/pull/1) | \u2014 | \u2014 | ✅ merged |"
    • Network accessline 153
      expect(rendered).toContain(       "| [#1](https://github.com/owner/repo/pull/1) | \u2014 | \u2014 | ✅ merged |"     );
    • Network accessline 154
      "| [#1](https://github.com/owner/repo/pull/1) | \u2014 | \u2014 | ✅ merged |"
    • Network accessline 303
      expect(await main([...argv, "--status-only"], status.runtime)).toBe(0);     expect(status.stdout.join("")).toContain(       "| [#1](https://github.com/owner/repo/pull/1) | ⏳ no checks reported yet | ✅ | ✅ |"
    • Network accessline 304
      expect(status.stdout.join("")).toContain(       "| [#1](https://github.com/owner/repo/pull/1) | ⏳ no checks reported yet | ✅ | ✅ |"     );
    • Network accessline 305
      "| [#1](https://github.com/owner/repo/pull/1) | ⏳ no checks reported yet | ✅ | ✅ |"
    • Network accessline 344
      expect(await main([...argv, "--status-only"], status.runtime)).toBe(0);     expect(status.stdout.join("")).toContain(       "| [#1](https://github.com/owner/repo/pull/1) | ✅ | ✅ | ⏳ mergeability unknown |"
    • Network accessline 345
      expect(status.stdout.join("")).toContain(       "| [#1](https://github.com/owner/repo/pull/1) | ✅ | ✅ | ⏳ mergeability unknown |"     );
    • Network accessline 346
      "| [#1](https://github.com/owner/repo/pull/1) | ✅ | ✅ | ⏳ mergeability unknown |"

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/cli.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/deadline.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/fresh-install.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/github.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/github.ts

    • Executable scriptline 1
      Executable file
    • Network accessline 218
      let normalized = value.trim();   if (normalized.startsWith("git@github.com:"))     normalized = `https://github.com/${normalized.slice(15)}`;
    • Network accessline 219
      if (normalized.startsWith("git@github.com:"))     normalized = `https://github.com/${normalized.slice(15)}`;   if (normalized.startsWith("ssh://git@github.com/"))
    • Network accessline 220
      normalized = `https://github.com/${normalized.slice(15)}`;
    • Network accessline 221
      if (normalized.startsWith("ssh://git@github.com/"))     normalized = `https://github.com/${normalized.slice(21)}`;   try {
    • Network accessline 222
      normalized = `https://github.com/${normalized.slice(21)}`;
    • Network accessline 816
      const requested = `${args.owner ?? inferred.owner}/${args.repo ?? inferred.repo}`;     if (requested.toLowerCase() !== found.toLowerCase()) {       const url = `https://github.com/${found}/pull/${inferred.number}`;
    • Network accessline 817
      if (requested.toLowerCase() !== found.toLowerCase()) {       const url = `https://github.com/${found}/pull/${inferred.number}`;       throw new WatcherQueryError({
    • Network accessline 818
      const url = `https://github.com/${found}/pull/${inferred.number}`;

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/integrity.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/landing.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/live-merge-safety.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/policy.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/render.ts

    • Executable scriptline 1
      Executable file
    • Network accessline 59
      const lines = ["| PR | CI | Review | Merge |", "| --- | --- | --- | --- |"];   for (const row of rows) {     const url = `https://github.com/${row.context.owner}/${row.context.repo}/pull/${row.context.number}`;
    • Network accessline 60
      for (const row of rows) {     const url = `https://github.com/${row.context.owner}/${row.context.repo}/pull/${row.context.number}`;     lines.push(
    • Network accessline 61
      const url = `https://github.com/${row.context.owner}/${row.context.repo}/pull/${row.context.number}`;

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/ship-pr

    • Executable scriptline 1
      #!/usr/bin/env bun

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/shipping-cli.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/shipping-cli.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/shipping.test-helper.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/shipping.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/shipping.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/transport.test.ts

    • Executable scriptline 1
      Executable file
    • Network accessline 41
      value = { data: { repository: { pullRequest: { headRefOid: 'head', baseRef: { target: { oid: 'base' } }, mergeable: 'MERGEABLE', mergeStateStatus: scenario === 'no-ci-blocked' ? 'BLOCKED' : 'CLEAN', reviewDecision: noCi ? null : 'APPROVED',
    • Network accessline 42
      } else if (args[0] === 'pr' && args[1] === 'checks') {   if (scenario === 'no-ci-unauthorized') fail('HTTP 401: Bad credentials (https://api.github.com/graphql)');   if (noCi) fail("no checks reported on the 'feature' branch");
    • Network accessline 43
      if (scenario === 'no-ci-unauthorized') fail('HTTP 401: Bad credentials (https://api.github.com/graphql)');
    • Network accessline 45
      value = [{ name: 'ci', state: 'SUCCESS', bucket: 'pass', description: '', link: '', workflow: '' }]; } else if (args.some(a => a.includes('query PrCheckRollup'))) {   if (scenario === 'no-ci-rollup-fails') fail('HTTP 502: Bad Gateway (https
    • Network accessline 46
      } else if (args.some(a => a.includes('query PrCheckRollup'))) {   if (scenario === 'no-ci-rollup-fails') fail('HTTP 502: Bad Gateway (https://api.github.com/graphql)');   value = { data: { repository: { pullRequest: { commits: { nodes: [{ c
    • Network accessline 47
      if (scenario === 'no-ci-rollup-fails') fail('HTTP 502: Bad Gateway (https://api.github.com/graphql)');

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/types.compile.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/types.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr

    • Executable scriptline 1
      #!/usr/bin/env bun

    plugins/pstack/skills/poteto-mode/scripts/watch-pr/wrapper.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/poteto-mode/scripts/worktree-audit.mjs

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/reflect/scripts/claude-project-dir.mjs

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/reflect/scripts/find-transcript.mjs

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/setup-pstack/scripts/check-sheet.sh

    • Executable scriptline 1
      #!/bin/sh

    plugins/pstack/skills/setup-pstack/scripts/read-sheet.sh

    • Executable scriptline 1
      #!/bin/sh

    plugins/pstack/skills/show-me-your-work/scripts/log.sh

    • Executable scriptline 1
      #!/usr/bin/env bash

    plugins/pstack/skills/statechart/references/render.md

    • Network accessline 3
      Render each `.mmd` file that you show with the npm package `pele@1.9.0`, and give the user the SVG. Install Pele once, outside the repo. Write each SVG next to its `.mmd` file, with the same name. The API is at https://pele.run/api. Pass `{
    • Network accessline 7
      Pele ignores Mermaid `theme` and `themeVariables`. Set its `--pele-*` CSS variables on `.pele`. https://pele.run/theming lists them. The command gives each state the color class of its group, such as `class sN teal`. It marks each bad state

    plugins/pstack/skills/statechart/scripts/backends/cfg.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/backends/mermaid.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/backends/plain-text.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/backends/report.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/config.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/dot.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/marks.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/messages.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/spec.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/trace.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/value.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/verdict.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/frontends/view.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/ir.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/janitor.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/package.json

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/annotate.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/label.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/lift.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/loop-check.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/paths.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/reach.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/region-check.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/passes/regions.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/pipeline.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/run.ts

    • Executable scriptline 1
      Executable file
    • Network accessline 67
      const TLC_TOOL =   "http:tla2tools[url=https://github.com/tlaplus/tlaplus/releases/download/v1.7.4/tla2tools.jar,checksum=sha256:936a262061c914694dfd669a543be24573c45d5aa0ff20a8b96b23d01e050e88]@1.7.4";
    • Network accessline 68
      "http:tla2tools[url=https://github.com/tlaplus/tlaplus/releases/download/v1.7.4/tla2tools.jar,checksum=sha256:936a262061c914694dfd669a543be24573c45d5aa0ff20a8b96b23d01e050e88]@1.7.4";

    plugins/pstack/skills/statechart/scripts/statechart

    • Executable scriptline 1
      #!/bin/sh

    plugins/pstack/skills/statechart/scripts/statechart.ts

    • Executable scriptline 1
      #!/usr/bin/env node
    • Dangerous shell operationline 127
      'while read -r line; do :; done; kill -s KILL -- "-$1"; rm -rf -- "$2" "$3"',

    plugins/pstack/skills/statechart/scripts/test/chart.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/child-env.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/cli.test.ts

    • Executable scriptline 1
      Executable file
    • Dangerous shell operationline 1301
      'CONSTANT RM = {"INVARIANT (*", "\\\\* r2"}\nSPECIFICATION TPSpec\nINVARIANT TPTypeOK TCConsistent\n',
    • Dangerous shell operationline 1307
      assert.match(r.configs.ChartRun, /^CONSTANT RM = .*"INVARIANT \(\*".*"\\\\\* r2"/m);

    plugins/pstack/skills/statechart/scripts/test/config-fuzz.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/CounterView/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/Login/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/LoginGuarded/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/LoginParallel/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-2.out

    • Network accessline 30
      @!@!@ENDMSG 2185 @!@!@ @!@!@STARTMSG 2284:3 @!@!@ Declaring state or action constraints during liveness checking is dangerous: Please read section 14.3.5 on page 247 of Specifying Systems (https://lamport.azurewebsites.net/tla/book.html) an
    • Network accessline 31
      @!@!@STARTMSG 2284:3 @!@!@ Declaring state or action constraints during liveness checking is dangerous: Please read section 14.3.5 on page 247 of Specifying Systems (https://lamport.azurewebsites.net/tla/book.html) and optionally the discus
    • Network accessline 32
      Declaring state or action constraints during liveness checking is dangerous: Please read section 14.3.5 on page 247 of Specifying Systems (https://lamport.azurewebsites.net/tla/book.html) and optionally the discussion at https://discuss.tla

    plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayer/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayerFixed/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/MediaPlayerProps/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.cfg

    • Dangerous shell operationline 1
      CONSTANT RM = {r1, r2}

    plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.tla

    • Dangerous shell operationline 9
      Messages == [type : {"Prepared"}, rm : RM] \cup [type : {"Commit", "Abort"}]
    • Dangerous shell operationline 12
      /\ rmState \in [RM -> {"working", "prepared", "committed", "aborted"}]
    • Dangerous shell operationline 65
      \/ \E r \in RM :
    • Dangerous shell operationline 73
      \A r1, r2 \in RM : ~ /\ rmState[r1] = "aborted"

    plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhase/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.cfg

    • Dangerous shell operationline 1
      CONSTANT RM = {r1, r2}

    plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tla

    • Dangerous shell operationline 9
      Messages == [type : {"Prepared"}, rm : RM] \cup [type : {"Commit", "Abort"}]
    • Dangerous shell operationline 12
      /\ rmState \in [RM -> {"working", "prepared", "committed", "aborted"}]
    • Dangerous shell operationline 65
      \/ \E r \in RM :
    • Dangerous shell operationline 73
      \A r1, r2 \in RM : ~ /\ rmState[r1] = "aborted"

    plugins/pstack/skills/statechart/scripts/test/corpus/TwoPhaseFixed/view.mjs

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/differential.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/java.ts

    • Executable scriptline 1
      #!/usr/bin/env node

    plugins/pstack/skills/statechart/scripts/test/labels.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/messages.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/pipeline.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/plain-tlc.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/render.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/tlc-out.test.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/test/tlc.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/statechart/scripts/worker.ts

    • Executable scriptline 1
      Executable file

    plugins/pstack/skills/why/references/synthesizer-prompt.md

    • Network accessline 66
      - **[Direct]** {Claim}. Source: [PR #123](https://example.com/pr/123) / ticket ID / file:line. {Brief quote or paraphrase.}

    tools/generate.mjs

    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Executable scriptline 1
      #!/usr/bin/env bun
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 734
      // The hook handler shapes Claude Code documents, one schema per `type` // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's
    • Network accessline 735
      // (https://code.claude.com/docs/en/hooks, "Hook handler fields"), plus Codex's

    How the signals fit together

    Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

    Some files could not be read; the facts below still hold.

    Declared and executed: 1 fact
    Signal confidence: 182 facts

    and 132 more

    Works with

    Agent compatibility, from the files in this repository
    AgentStatusEvidenceInstall to
    Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
    CodexCompatibleStandard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md.agents/skills/<skill-name>/
    CursorCompatibleStandard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md.cursor/skills/<skill-name>/
    Gemini CLICompatibleStandard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md.gemini/skills/<skill-name>/
    GitHub CopilotCompatibleStandard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md.github/skills/<skill-name>/
    OpenCodeCompatibleStandard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md.opencode/skills/<skill-name>/
    • Native The repository ships a manifest, folder or frontmatter field for this agent.
    • Compatible A standard SKILL.md that this agent can read.
    • Unknown No evidence either way.

    Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

    Add this badge to your README

    It updates every night and links to this page.

    michael-denyer/pstack-claude: #309 on hotskills, 4.1k stars

    [![michael-denyer/pstack-claude on hotskills](https://hotskills.dev/badge/michael-denyer-pstack-claude.svg)](https://hotskills.dev/skill/michael-denyer-pstack-claude/)