#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.
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.
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.
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.
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.
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.
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.
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.
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.
plugins/pstack/skills/benchmark-checklist/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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
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.
plugins/pstack/skills/bro/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
plugins/pstack/skills/correct/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
190fc9a00949 → 2f789d9d483d
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.
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.
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.
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.
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.
plugins/pstack/skills/deslop/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
plugins/pstack/skills/figure-it-out/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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
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.
plugins/pstack/skills/fix-merge-conflicts/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
plugins/pstack/skills/get-pr-comments/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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.
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.
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
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.
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.
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.
plugins/pstack/skills/ketchup/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
plugins/pstack/skills/ketchup-video/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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
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.
plugins/pstack/skills/principle-boundary-discipline/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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
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.
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
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.
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
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.
plugins/pstack/skills/principle-experience-first/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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
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.
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
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.
plugins/pstack/skills/principle-foundational-thinking/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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.
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.
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.
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.
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 |
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.
plugins/pstack/skills/sharpen/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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.
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.
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
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.
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.
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.
plugins/pstack/skills/tdd/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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.
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.
plugins/pstack/skills/technical-writing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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
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.
plugins/pstack/skills/thermo-nuclear-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
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.
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.
plugins/pstack/skills/typescript-best-practices/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
190fc9a00949 → 2f789d9d483d
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.
plugins/pstack/skills/unslop/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
190fc9a00949 → 2f789d9d483d
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.
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
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.
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.
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.
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>/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
Individual skills in this repository
- pstack-routing
plugins/pstack/grok/skills/pstack-routing - architect
plugins/pstack/skills/architect - arena
plugins/pstack/skills/arena - automate-me
plugins/pstack/skills/automate-me - babysit
plugins/pstack/skills/babysit - benchmark-checklist
plugins/pstack/skills/benchmark-checklist - blast-radius
plugins/pstack/skills/blast-radius - bro
plugins/pstack/skills/bro - correct
plugins/pstack/skills/correct - create-formal-verification-skill
plugins/pstack/skills/create-formal-verification-skill - create-verification-skill
plugins/pstack/skills/create-verification-skill - deslop
plugins/pstack/skills/deslop - figure-it-out
plugins/pstack/skills/figure-it-out - fix-ci
plugins/pstack/skills/fix-ci - fix-merge-conflicts
plugins/pstack/skills/fix-merge-conflicts - get-pr-comments
plugins/pstack/skills/get-pr-comments - how
plugins/pstack/skills/how - in-your-own-words
plugins/pstack/skills/in-your-own-words - interrogate
plugins/pstack/skills/interrogate - ketchup
plugins/pstack/skills/ketchup - ketchup-video
plugins/pstack/skills/ketchup-video - maintain-formal-verification-skill
plugins/pstack/skills/maintain-formal-verification-skill - maintain-verification-skill
plugins/pstack/skills/maintain-verification-skill - make-pr-easy-to-review
plugins/pstack/skills/make-pr-easy-to-review - no-comments
plugins/pstack/skills/no-comments - poteto-help
plugins/pstack/skills/poteto-help - poteto-mode
plugins/pstack/skills/poteto-mode - principle-attack-the-premise
plugins/pstack/skills/principle-attack-the-premise - principle-boundary-discipline
plugins/pstack/skills/principle-boundary-discipline - principle-build-the-lever
plugins/pstack/skills/principle-build-the-lever - principle-encode-lessons-in-structure
plugins/pstack/skills/principle-encode-lessons-in-structure - principle-exhaust-the-design-space
plugins/pstack/skills/principle-exhaust-the-design-space - principle-experience-first
plugins/pstack/skills/principle-experience-first - principle-explain-the-number
plugins/pstack/skills/principle-explain-the-number - principle-fix-root-causes
plugins/pstack/skills/principle-fix-root-causes - principle-foundational-thinking
plugins/pstack/skills/principle-foundational-thinking - principle-guard-the-context-window
plugins/pstack/skills/principle-guard-the-context-window - principle-laziness-protocol
plugins/pstack/skills/principle-laziness-protocol - principle-make-operations-idempotent
plugins/pstack/skills/principle-make-operations-idempotent - principle-migrate-callers-then-delete-legacy-apis
plugins/pstack/skills/principle-migrate-callers-then-delete-legacy-apis - principle-minimize-reader-load
plugins/pstack/skills/principle-minimize-reader-load - principle-model-the-domain
plugins/pstack/skills/principle-model-the-domain - principle-never-block-on-the-human
plugins/pstack/skills/principle-never-block-on-the-human - principle-outcome-oriented-execution
plugins/pstack/skills/principle-outcome-oriented-execution - principle-prove-it-works
plugins/pstack/skills/principle-prove-it-works - principle-redesign-from-first-principles
plugins/pstack/skills/principle-redesign-from-first-principles - principle-separate-before-serializing-shared-state
plugins/pstack/skills/principle-separate-before-serializing-shared-state - principle-sequence-verifiable-units
plugins/pstack/skills/principle-sequence-verifiable-units - principle-subtract-before-you-add
plugins/pstack/skills/principle-subtract-before-you-add - principle-test-behavior-not-implementation
plugins/pstack/skills/principle-test-behavior-not-implementation - principle-type-system-discipline
plugins/pstack/skills/principle-type-system-discipline - recall
plugins/pstack/skills/recall - reflect
plugins/pstack/skills/reflect - setup-pstack
plugins/pstack/skills/setup-pstack - sharpen
plugins/pstack/skills/sharpen - show-me-your-work
plugins/pstack/skills/show-me-your-work - statechart
plugins/pstack/skills/statechart - swarm
plugins/pstack/skills/swarm - tdd
plugins/pstack/skills/tdd - teach
plugins/pstack/skills/teach - technical-writing
plugins/pstack/skills/technical-writing - thermo-nuclear-code-quality-review
plugins/pstack/skills/thermo-nuclear-code-quality-review - thermo-nuclear-review
plugins/pstack/skills/thermo-nuclear-review - thermos
plugins/pstack/skills/thermos - typescript-best-practices
plugins/pstack/skills/typescript-best-practices - unslop
plugins/pstack/skills/unslop - what-did-i-get-done
plugins/pstack/skills/what-did-i-get-done - why
plugins/pstack/skills/why
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 tokensAlways available to the agent
SKILL.md
92 tokensWhen the skill is activated
Reference documents
0 tokensLoaded 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 bytesSKILL.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 GitHubarchitect
When your agent uses it
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use for /architect, 'architect this', 'design this', or non-trivial work where jumping to code would lock in the wrong shape.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
1,717 tokensWhen the skill is activated
Reference documents
15,632 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start
- Phase A: Ground the problem
- Phase B: Sketch
- Phase C: Agree (opt-in)
- Phase D: Implement against the sketch
- Phase E: Scrap when the architecture is wrong
- Outputs
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
SKILL.mdcore8,208 bytesSKILL.mdcore8,208 bytesreferences/design-red-flags.mddoc3,009 bytesreferences/rationale-template.mddoc3,437 bytesreferences/runner-prompt.mddoc3,092 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Architect
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Sketch types, function signatures, class shapes, and module boundaries with `not implemented` bodies and pseudocode. Synthesize across multiple model perspectives, then fill in code against the chosen sketch.
## Start
View the complete source on GitHubarena
When your agent uses it
Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for /arena, 'arena this', 'throw it in the arena', or when one attempt at a non-trivial artifact would lock in the wrong shape.
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
1,648 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Phase A: Frame
- Phase B: Fan out
- Phase C: Cross-judge
- Phase D: Pick a base
- Phase E: Graft
- Phase F: Verify
- Outputs
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
SKILL.mdcore7,119 bytesSKILL.mdcore7,119 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Arena
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Open a todolist with one entry per phase (Frame, Fan out, Cross-judge, Pick, Graft, Verify) before launching anything.
## Phase A: Frame
View the complete source on GitHubautomate-me
When your agent uses it
Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how the user works. Drafts or revises a personal -mode skill via plugin-dev:skill-development + unslop, optionally pulling fresh evidence from recent transcripts.
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
1,867 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Flow
- Guardrails
- Evaluation
- When not to use
Files
SKILL.mdcore8,169 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes
Read SKILL.md
# Automate me
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
A guided flow for turning the user's working conventions into a skill agents will follow. The output is one `-mode` skill tailored to them (e.g. `jay-mode`, `priya-mode`).
This skill orchestrates three others: an inline mining pass (see step 1), the **plugin-dev:skill-development** skill (authoring), and the **unslop** skill (prose discipline). It sequences them. It doesn't replace them.
View the complete source on GitHubbabysit
When your agent uses it
Watch an open PR — fix failing CI, handle the straightforward review comments, and drive it to a mergeable state. Claude Code analog of Cursor's built-in /babysit. Use after opening a PR when the user wants the agent to shepherd it without re-prompting.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
1,157 tokensWhen the skill is activated
Reference documents
17,688 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Steps
- Hard rules
- Cross-refs
- Provenance
Files
SKILL.mdcore4,897 bytesSKILL.mdcore4,897 bytes../poteto-mode/playbooks/babysit.mddoc8,030 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/bugbot-triage.mddoc9,629 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes
Read SKILL.md
# Babysit a PR
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Claude Code analog of Cursor's built-in `/babysit`. The implementation is a loop over `gh` CLI plus the Claude Code `loop` skill for pacing.
Inside poteto-mode, the **Babysit** playbook ([`../poteto-mode/playbooks/babysit.md`](../poteto-mode/playbooks/babysit.md)) supersedes this skill: it owns mode declaration, the merge frontier, stack safety, and the `watch-pr` watcher. This skill stays the standalone `/babysit` entry point for a single PR outside a poteto-mode run.
View the complete source on GitHubbenchmark-checklist
When your agent uses it
Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened) before you report or act on it. Use when you run a benchmark or report a speedup or regression you measured.
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
1,167 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before you run anything
- The questions
- Report
- Other perf material
Files
SKILL.mdcore4,971 bytes
Read SKILL.md
# Benchmark checklist
Use this when you produce a performance number: a PR's before and after, a regression claim, a hillclimb harness, or a library or config choice. Answer each question with evidence from a run, not a guess about the code.
For a quick ballpark the user asked for, one run is enough. Still check questions 4 and 7, and say that it is one run. Skip the rest unless that run looks wrong. A choice between options is never a ballpark.
## Before you run anything
- Write down the claim you expect to make, in the words you would ship ("export is 30% faster at p50 on the 60k-row dataset"). The questions test that sentence.
- Read the measurement script. Note what it times, counts, and ignores.
- Check the load average with `uptime` and the core count with `nproc`. If the machine is busy, find out what is running. If you cannot stop it, interleave the sides so both see the same noise, and say so in the report.
## The questions
View the complete source on GitHubblast-radius
When your agent uses it
Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe because of by running real code instead of writing it up. Use for 'blast radius of X', 'what could this break', reviewing a small diff you don't trust, or a brief that asserts something about existing code ('make X public', 'X already handles Y') before you design against that assertion.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
961 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Don't trust your own writeup
- Steps
- What to hand back
Files
SKILL.mdcore4,169 bytesSKILL.mdcore4,169 bytes
Read SKILL.md
# Blast radius
Find what a change breaks somewhere else, before it ships. Use for "blast radius of X", "what could this break", or reviewing a small diff you don't trust yet. Run it before design, not only before shipping, when a brief asserts something about existing code ("make endpoint X public"): the assertion is a hypothesis, and the consumer census is what decides the design.
Companion to `how` and `why`. `how` tells you what the code does. `why` tells you why it's shaped that way. Blast radius tells you what it breaks somewhere else.
Listing the callers is not the job. The agent can grep those in a second. The job is the breakage grep won't show you.
## Don't trust your own writeup
A blast-radius writeup that sounds right is worthless. It reads as convincing whether or not it's true. So don't hand back the writeup. Find the one or two facts the whole thing depends on and prove them by running code.
### How sure are you
View the complete source on GitHubbro
When your agent uses it
Restate the last message in plain human language, with no jargon. Use for /bro or when asked to say it plainly.
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
64 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore282 bytes
Read SKILL.md
Restate your last message. Stop using jargon and speak coherently. State it more simply and concisely, like one human talking to another.View the complete source on GitHubcorrect
When your agent uses it
Find the mistakes agents keep repeating in this repo and make each one impossible. Try architecture first, then types, then a lint whose error names the fix, then a test, and write docs last. Prove each check fails on a real past mistake. Repeat this each time the operator corrects you. Use for /correct.
What it loads into context
Frontmatter
73 tokensAlways available to the agent
SKILL.md
536 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Find the mistake classes
- Fix each class at the highest level that works
- Fix and prove
- Keep the rule table
Files
SKILL.mdcore2,447 bytesSKILL.mdcore2,447 bytes
Read SKILL.md
# Correct
The operator keeps correcting agents in this repo for the same mistakes. Change the repo so the next agent can't make them.
Assume every contributor is an agent that sees only the files it opened, copies the nearest example, and takes the shortest path that compiles. Design the repo so a change that looks right from one file is right for the whole repo.
## Find the mistake classes
First, read recent commits, reverts, review comments, agent instruction files, and comments that explain workarounds. Group the mistakes into classes. A class counts once it has happened twice.
## Fix each class at the highest level that works
1. **Eliminate it with architecture.** Give each piece of state one owner and each task one supported way. Hide internals so the wrong import fails. Replace hand-synced lists with one source of truth. Delete old ways and dead code an agent would copy.
2. **Enforce it with types so the bad state can't be written.** If bad code still compiles, add a lint or CI check whose error names the file, type, or function to use instead. If the pattern is already common, fail only when a change adds more.View the complete source on GitHubcreate-formal-verification-skill
When your agent uses it
Generate a project-local skill that formally verifies the code where a bug costs the most and tests reach the least, in any language, with whichever verification tool fits. Use for /create-formal-verification-skill, "model-check this race", "prove this invariant", or when concurrency, retries, state machines, parsers, or unsafe code need more than tests.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,397 tokensWhen the skill is activated
Reference documents
15,923 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Choose the target from the code
- Let the question choose the tool
- What makes it good
- Generate the formal verification skill
- Prove it before you hand off
- Hand off
Files
SKILL.mdcore6,400 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes../statechart/SKILL.mddoc9,069 bytes
Read SKILL.md
# Create a formal verification skill
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
A test checks the cases that someone thought to write. Formal verification checks every case in a stated scope: every order of steps in a model, every input up to a bound, or every input. This skill finds the part of the repo where that matters most, verifies one property of it, and leaves a project-local skill that lets the next agent check a change against that property. Write that skill for an agent who reads it cold, mid-change, and has never seen your work. The user must be able to trust the result and act on it without learning the verification language.
## Choose the target from the code
View the complete source on GitHubcreate-verification-skill
When your agent uses it
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform. Use for /create-verification-skill, "make a control skill for this repo", "make a driver skill for this repo", or when a project has no scripted way to prove UI/CLI/service behavior.
What it loads into context
Frontmatter
78 tokensAlways available to the agent
SKILL.md
1,671 tokensWhen the skill is activated
Reference documents
15,829 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Interview the repo, not the user
- 2. Generate the skill
- 3. Seed the feature map
- 4. Prove the generated skill before handing it over
- 5. Offer the maintenance loop
Files
SKILL.mdcore7,533 bytesreferences/feature-map-example/README.mddoc2,601 bytesreferences/feature-map-example/create-note.mddoc2,926 bytesreferences/feature-map-example/search.mddoc3,478 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes
Read SKILL.md
# Create a verification skill
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
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/`) tailored to the repo. Name it `verify`. At the repo root a project skill by that name replaces Claude Code's bundled `/verify`, which only the user can invoke, so every playbook that names the driver skill can call the project one ([Claude Code 2.1.200 or later](https://code.claude.com/docs/en/skills#run-and-verify-your-app)). In a monorepo, write it in the touched package directory instead. You write the generator's output for the next agent, not for a human: it will be read cold, mid-task, by an agent that has never seen the app.
## 1. Interview the repo, not the user
View the complete source on GitHubdeslop
When your agent uses it
Remove AI-generated code slop and clean up code style
What it loads into context
Frontmatter
18 tokensAlways available to the agent
SKILL.md
152 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Focus Areas
- Guardrails
Files
SKILL.mdcore719 bytes
Read SKILL.md
# Remove AI code slop
Check the diff against main and remove AI-generated slop introduced in the branch.
## Focus Areas
- Extra comments that are unnecessary or inconsistent with local style
- Defensive checks or try/catch blocks that are abnormal for trusted code paths
- Casts to `any` used only to bypass type issues
- Deeply nested code that should be simplified with early returns
- Other patterns inconsistent with the file and surrounding codebase
## Guardrails
View the complete source on GitHubfigure-it-out
When your agent uses it
Design an auditable playbook when no narrower one fits: a large migration, an ambitious multi-part change, or work a human reviews after stepping away. Scales rigor to the task, runs a hypothesis loop, and logs decisions. Use for /figure-it-out or 'figure it out'.
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
884 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start
- Phase A: Frame
- Phase B: Design the workflow
- Phase C: Run the loop
- Phase D: Keep the audit trail
- Phase E: Verify and hand back
Files
SKILL.mdcore4,053 bytes
Read SKILL.md
# Figure it out
When the task matches no playbook, design one. The deliverable before any code is the workflow itself: a sequence of phases that scales rigor to the task, runs the scientific method, and leaves a decision trail a human can audit after stepping away.
## Start
Open a todolist whose first item is to read the Principles section of the **poteto-mode** skill. Then add the phases below as todos.
## Phase A: Frame
Ground first, then commit. Don't start the run until you can state:
- The definition of done as a falsifiable predicate (the **prove-it-works** principle skill).
- Scope, quantified: rough units and effort, plus the blockers grounding surfaced.View the complete source on GitHubfix-ci
When your agent uses it
Find failing PR checks, inspect logs or external check links, and apply focused fixes
What it loads into context
Frontmatter
23 tokensAlways available to the agent
SKILL.md
203 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Guardrails
- Output
Files
SKILL.mdcore901 bytesSKILL.mdcore901 bytes
Read SKILL.md
# Fix CI
## Trigger
Branch or PR CI is failing and needs a fast, iterative path to green checks.
## Workflow
1. Resolve the active PR and inspect `gh pr checks --json name,bucket,state,workflow,link`.
2. Inspect failed jobs and extract the first actionable error. Use GitHub Actions logs when available; otherwise use the check link to identify the failing command or service.
3. Apply the smallest safe fix.
4. Push, re-check the PR check set, and repeat until green.
## GuardrailsView the complete source on GitHubfix-merge-conflicts
When your agent uses it
Resolve merge conflicts non-interactively, validate build and tests, and finalize conflict resolution
What it loads into context
Frontmatter
26 tokensAlways available to the agent
SKILL.md
199 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Guardrails
- Output
Files
SKILL.mdcore988 bytes
Read SKILL.md
# Fix merge conflicts
## Trigger
Branch has unresolved merge conflicts and needs a reliable path to a buildable state.
## Workflow
1. Detect all conflicting files from git status and conflict markers.
2. Resolve each conflict with minimal, correctness-first edits.
3. Prefer preserving both sides when safe. Otherwise, choose the variant that compiles and keeps public behavior stable.
4. Regenerate lockfiles with package manager tools instead of hand-editing.
5. Run compile, lint, and relevant tests.
6. Stage resolved files and summarize key decisions.View the complete source on GitHubget-pr-comments
When your agent uses it
Fetch and summarize review comments from the active pull request
What it loads into context
Frontmatter
18 tokensAlways available to the agent
SKILL.md
107 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Output
Files
SKILL.mdcore529 bytes
Read SKILL.md
# Get PR comments
## Trigger
Need a concise, actionable summary of feedback on the active pull request.
## Workflow
1. Resolve the active PR for the current branch.
2. Fetch review comments and discussion comments.
3. Group feedback by severity and actionability.
4. Return a concise action list.
## OutputView the complete source on GitHubhow
When your agent uses it
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, onboarding mental models. Use why for motivation.
What it loads into context
Frontmatter
67 tokensAlways available to the agent
SKILL.md
1,027 tokensWhen the skill is activated
Reference documents
14,620 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Assess complexity
- 2. Explore (complex only)
- 3. Synthesize (complex only)
- 4. Present
- Output format
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
SKILL.mdcore4,379 bytesSKILL.mdcore4,379 bytesreferences/explainer-prompt.mddoc3,085 bytesreferences/explorer-prompt.mddoc1,135 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# How
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Explore the codebase to answer "how does X work?" questions. Produce architectural explanations at the level of a senior engineer onboarding onto a subsystem, enough to build a working mental model, not so much that it reads like annotated source code.
Every spawn is a `Agent` subagent with `subagent_type: "general-purpose"` and `readonly: true`. Explorers use the `how explorer` line in `pstack-models.md` (default in [Models](#models)), and every explainer uses the `how explainer` line (default in [Models](#models)). Set `model` to that line's value, or to the default if the sheet or the 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.
View the complete source on GitHubin-your-own-words
When your agent uses it
Restate in your own words what you think the user's goals are and what problem they're trying to solve. Use for /in-your-own-words.
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
64 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore284 bytes
Read SKILL.md
Restate in your own words what you think the user's goals are and what problem they're trying to solve.View the complete source on GitHubinterrogate
When your agent uses it
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart". Adversaries try to break a change or design, and only findings proven by a run survive.
What it loads into context
Frontmatter
67 tokensAlways available to the agent
SKILL.md
968 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Frame
- Fan out
- Verify
- Output
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
SKILL.mdcore4,087 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Interrogate
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Adversaries try to break a change or a design. A finding survives only when a run proves it. Report the findings. Do not apply fixes.
## Frame
View the complete source on GitHubketchup
When your agent uses it
Catch the user up on what changed in this chat since their last message, in plain words and small visuals. List every item waiting on them with what they need to decide it from the reply alone. Use for /ketchup.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
1,438 tokensWhen the skill is activated
Reference documents
64 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Gather what changed
- Write the reply
- Visuals
Files
../bro/SKILL.mddoc282 bytesSKILL.mdcore6,412 bytes
Read SKILL.md
# Ketchup
Catch the user up on what changed in this chat since the last message they wrote before `/ketchup`, and help them understand each change, not only where it stands. Then lay out every call waiting on them so they can make it from your reply alone. Notifications and subagent results are not their messages. Assume the user remembers their last message and nothing after it.
Use [`/bro`](../bro/SKILL.md)'s voice, not its task: plain words, short sentences, no jargon, like one person catching up another. Say what changed for the user, not how you did it. Say "the tests pass", not "CI is green". Leave out hashes, file paths, commands, build numbers, and test counts unless the user needs one to act. Call each PR, branch, or agent by a name the user would know, not by a label you invented. If a fact needs context to make sense, give the context or leave the fact out.
## Gather what changed
Keep this turn read-only. Make visuals only from what you already have: do not change code, start an app or a job, or post anything. Collect your own work since that message, reports from subagents, and messages from anyone else in this chat. Check the current state of each PR, CI run, or agent this chat touched. Check each number you will show against the facts it comes from, and say so when you correct one.
An action item is a call or step only the user can take, such as a product choice, an approval, an irreversible action, or access you lack. Include any still waiting on the user, even one raised before their last message. Work you can still do yourself is not an action item. Never make up a call to fill the reply. A step the user did not ask for and the work does not need is not an action item, unless it is irreversible and waiting on the user: give it one line and no visual.
One call can cover many items, such as each PR in a set awaiting merge. For each item, collect its link, what it changes for users, the evidence behind your pick, its risk, and your pick. Write "unknown" for a fact the call needs that you do not know. Leave out a link you do not have.
View the complete source on GitHubketchup-video
When your agent uses it
Catch the user up like /ketchup, with a short subtitled video of slides for what happened and the waiting calls as text under it. Use for /ketchup-video.
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
855 tokensWhen the skill is activated
Reference documents
1,438 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Slides
- Subtitles
- Render
Files
SKILL.mdcore3,856 bytes../ketchup/SKILL.mddoc6,412 bytes
Read SKILL.md
# Ketchup video
Follow [`/ketchup`](../ketchup/SKILL.md), but show what happened in a short subtitled video instead of its summary and visuals. Its window starts at the last message the user wrote before `/ketchup-video`, not before any earlier `/ketchup`. Writing and rendering the video, outside the repo, is the one exception to its read-only rule. The reply is ketchup's opening sentence, the embedded video, one line naming any work left that you can do yourself, and the action items. When the video shows a call's options, call each option by the name the video gives it. If the render fails, say so in one line and give only the calls.
## Slides
Use the screenshots, recordings, diffs, and data the work produced, not the chat's prose about them. Before you draw, write the one sentence the user should leave with and one line per slide. Drop each slide that does not change what the user knows. Use at most 10 slides, and fewer is better. Neither note goes in the reply.
Each slide makes one point. Build the slides on one picture and change it from slide to slide, rather than cut to an unrelated one. A color or shape means the same thing on every slide. Show the work in pictures, such as how a system works, a PR stack with each PR's state, a before and after of a fix, or options side by side. Point at what changed with arrows, highlights, and motion. A slide is never a bullet list, a status list, a table, or boxes with nothing connecting them.
Keep text to the minimum. Put each label on the thing it names, in plain words a person would say, not tags like "Tests: pass". Never caption what a picture shows, and never give a fact twice, across slides or in the text under them.
Show what came of each thing the user asked for, and whether it is done, still running, failed, or not checked. Never show something done that still waits on the user. Show any bug found and fixed on the way. If a visible change has no screenshot, say so on its slide and name what changed on screen. Draw only from facts you have. Never invent a number, and never draw a screen you did not capture.
View the complete source on GitHubmaintain-formal-verification-skill
When your agent uses it
Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model, harness, or properties to describe the code as it is now, rerun, and say whether each failure is drift in the verification or a bug in the code. Use for /maintain-formal-verification-skill, "is the model still true to the code", or after merges and refactors that touched verified code without rechecking it.
What it loads into context
Frontmatter
111 tokensAlways available to the agent
SKILL.md
1,690 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Outcomes
- Edit scope
- Pass
- Report
Files
SKILL.mdcore7,739 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes
Read SKILL.md
# Maintain a formal verification skill
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
A formal check proves a property of what it describes. When the code changes and the verification does not, the check can keep passing while it describes code that no longer exists. That pass is the dangerous case, because it looks like a proof. This skill is the upkeep loop for a formal verification skill that `/create-formal-verification-skill` generated, or for any project-local skill that runs a model checker, prover, or code-level verifier against named code. The project-local skill handles a change that an agent makes while it uses that skill. This skill handles the changes that skipped it: merges, edits made without the skill, and drift that builds up across many commits.
## Outcomes
View the complete source on GitHubmaintain-verification-skill
When your agent uses it
Periodic pass that keeps a project's verification skill and feature map honest: parallel source readers per feature, one live session driving every feature, at most one PR of proven corrections. Use for /maintain-verification-skill or "audit the verify skill".
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
1,170 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Outcomes
- Edit scope
- Pass
Files
SKILL.mdcore5,517 bytesSKILL.mdcore5,517 bytesSKILL.mdcore5,517 bytesSKILL.mdcore5,517 bytesSKILL.mdcore5,517 bytesSKILL.mdcore5,517 bytesSKILL.mdcore5,517 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes
Read SKILL.md
# Maintain a verification skill
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
A feature map rots the moment the app changes. This skill is the upkeep loop for a skill generated by `/create-verification-skill` (or any project-local verification skill with a feature map). The unit of rigor is the feature, not every sentence: cover every feature file from source and exercise every feature live, without terminalising every bullet.
## Outcomes
View the complete source on GitHubmake-pr-easy-to-review
When your agent uses it
Prepare PRs for review by cleaning noisy history, improving PR descriptions, and adding reviewer guidance without changing code behavior. Use for "make this easy to review", "tidy this PR", "clean up commits", or "annotate the diff".
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
496 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- History Cleanup
- Reviewer Guidance
- Guardrails
Files
SKILL.mdcore2,275 bytesSKILL.mdcore2,275 bytesSKILL.mdcore2,275 bytes
Read SKILL.md
# Make PR Easy to Review
Prepare a PR so a reviewer can quickly understand the intent, important files, and risk. The default goal is reviewability without behavior changes.
## Workflow
1. Resolve the target PR from the user-provided URL or current branch.
2. Inspect commits, diff size, changed paths, generated files, and PR description.
3. Identify reviewability issues: noisy commits, stale description, unrelated changes, mixed mechanical and logic changes, missing tests, or unclear reviewer entry points.
4. Propose a plan before rewriting history or force-pushing.
5. Apply safe improvements, then verify the tree or diff still matches the intended code.
## History Cleanup
View the complete source on GitHubno-comments
When your agent uses it
Spawn the comment-sicko subagent, fix accepted findings, and offer encodings for claimed constraints.
What it loads into context
Frontmatter
29 tokensAlways available to the agent
SKILL.md
1,267 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Scope
- Steps
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
SKILL.mdcore5,453 bytesSKILL.mdcore5,453 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# No comments
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Spawn comment-sicko. Act on accepted findings.
Defer to comment-sicko's fresh perspective.
View the complete source on GitHubpoteto-help
When your agent uses it
Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.
What it loads into context
Frontmatter
43 tokensAlways available to the agent
SKILL.md
3,819 tokensWhen the skill is activated
Reference documents
68,944 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Find out what they need
- Get set up
- Start a task with `/poteto-mode`
- Pick a skill
- Playbooks and principles
- Fix a run that went wrong
- Make pstack my own
- Reply
Files
../architect/SKILL.mddoc8,208 bytes../arena/SKILL.mddoc7,119 bytes../automate-me/SKILL.mddoc8,169 bytes../babysit/SKILL.mddoc4,897 bytes../benchmark-checklist/SKILL.mddoc4,971 bytes../blast-radius/SKILL.mddoc4,169 bytes../bro/SKILL.mddoc282 bytes../correct/SKILL.mddoc2,447 bytes../create-formal-verification-skill/SKILL.mddoc6,400 bytes../create-verification-skill/SKILL.mddoc7,533 bytes../figure-it-out/SKILL.mddoc4,053 bytes../how/SKILL.mddoc4,379 bytes../in-your-own-words/SKILL.mddoc284 bytes../interrogate/SKILL.mddoc4,087 bytes../ketchup-video/SKILL.mddoc3,856 bytes../ketchup/SKILL.mddoc6,412 bytes../maintain-formal-verification-skill/SKILL.mddoc7,739 bytes../maintain-verification-skill/SKILL.mddoc5,517 bytes../no-comments/SKILL.mddoc5,453 bytesSKILL.mdcore16,025 bytesSKILL.mdcore16,025 bytesreferences/prompting.mddoc3,166 bytesreferences/recipes.mddoc3,655 bytes../poteto-mode/SKILL.mddoc28,495 bytes../poteto-mode/playbooks/autonomous-run.mddoc1,983 bytes../poteto-mode/playbooks/autopilot-full.mddoc8,395 bytes../poteto-mode/playbooks/autopilot-stack.mddoc1,367 bytes../poteto-mode/playbooks/babysit.mddoc8,030 bytes../poteto-mode/playbooks/multi-phase-plan.mddoc13,815 bytes../poteto-mode/playbooks/shipping.mddoc7,248 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/pi-tools.mddoc24,228 bytes../recall/SKILL.mddoc6,674 bytes../reflect/SKILL.mddoc7,829 bytes../setup-pstack/SKILL.mddoc15,451 bytes../sharpen/SKILL.mddoc630 bytes../show-me-your-work/SKILL.mddoc7,061 bytes../statechart/SKILL.mddoc9,069 bytes../swarm/SKILL.mddoc4,542 bytes../tdd/SKILL.mddoc3,337 bytes../teach/SKILL.mddoc6,173 bytes../technical-writing/SKILL.mddoc9,062 bytes../typescript-best-practices/SKILL.mddoc2,874 bytes../unslop/SKILL.mddoc5,796 bytes../why/SKILL.mddoc10,728 bytes
Read SKILL.md
# Poteto help
Answer the user's question about pstack, hand them a prompt they can send, and link the file the answer came from. For a help question, don't start the work. The user asked how, and a pstack run spends real tokens, so let them send the prompt.
A message that asks for work, such as "use pstack to fix this bug", is not a help question. Read [`poteto-mode`](../poteto-mode/SKILL.md) and do the work under it.
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 Cursor and may differ from this port. The local links point into the installed plugin, so give the user the file's public copy: `https://github.com/michael-denyer/pstack-claude/blob/main/plugins/pstack/` followed by its path relative to the plugin root.
## Find out what they need
Infer the need from the message and the conversation. A named situation, such as "which skill reviews a PR?", goes straight to its section. If the need is still unclear, ask one multiple-choice question with these options, then answer only the section they pick:
- Get set up
- Start a task with `/poteto-mode`View the complete source on GitHubpoteto-mode
When your agent uses it
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work. Use for poteto, /poteto-mode, or requests to work in this style.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
6,517 tokensWhen the skill is activated
Reference documents
49,401 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Platform Adaptation
- Non-negotiables
- Principles
- Autonomy
- Subagents
- Writing the reply
- Comments
- Playbooks
- Models
- Reasoning effort
Scripts executed separately
scripts/.prettierignorescripts/bootstrap.tsscripts/check-plan.mjsscripts/check-plan.test.tsscripts/check-playbooks.mjsscripts/codex-session-effort.mjsscripts/package.jsonscripts/resume.mjsscripts/watch-pr/cli.test.tsscripts/watch-pr/cli.tsscripts/watch-pr/deadline.tsscripts/watch-pr/fakes.test-helper.tsscripts/watch-pr/fresh-install.test.tsscripts/watch-pr/github.test.tsscripts/watch-pr/github.tsscripts/watch-pr/integrity.test.tsscripts/watch-pr/landing.tsscripts/watch-pr/live-merge-safety.mjsscripts/watch-pr/policy.test.tsscripts/watch-pr/policy.tsscripts/watch-pr/render.tsscripts/watch-pr/ship-prscripts/watch-pr/shipping-cli.test.tsscripts/watch-pr/shipping-cli.tsscripts/watch-pr/shipping.test-helper.tsscripts/watch-pr/shipping.test.tsscripts/watch-pr/shipping.tsscripts/watch-pr/transport.test.tsscripts/watch-pr/types.compile.tsscripts/watch-pr/types.tsscripts/watch-pr/watch-prscripts/watch-pr/wrapper.test.tsscripts/worktree-audit.mjs../../../../tools/generate.mjs
Files
SKILL.mdcore28,495 bytesplaybooks/authoring-a-skill.mddoc852 bytesplaybooks/autonomous-run.mddoc1,983 bytesplaybooks/autopilot-full.mddoc8,395 bytesplaybooks/autopilot-stack.mddoc1,367 bytesplaybooks/babysit.mddoc8,030 bytesplaybooks/bug-fix.mddoc2,381 bytesplaybooks/eval.mddoc2,719 bytesplaybooks/feature.mddoc3,488 bytesplaybooks/hillclimb.mddoc4,490 bytesplaybooks/investigation.mddoc928 bytesplaybooks/multi-phase-plan.mddoc13,815 bytesplaybooks/opening-a-pr.mddoc5,928 bytesplaybooks/orchestrate.mddoc4,759 bytesplaybooks/pause-safely.mddoc1,969 bytesplaybooks/perf-issue.mddoc1,532 bytesplaybooks/prototype.mddoc2,160 bytesplaybooks/refactoring.mddoc3,393 bytesplaybooks/runtime-forensics.mddoc1,286 bytesplaybooks/session-pickup.mddoc2,692 bytesplaybooks/shipping.mddoc7,248 bytesplaybooks/trace-forensics.mddoc1,840 bytesplaybooks/visual-parity.mddoc1,196 bytesplaybooks/worktree-cleanup.mddoc4,445 bytesreferences/agents/comment-sicko.mddoc2,946 bytesreferences/agy-tools.mddoc10,147 bytesreferences/bugbot-triage.mddoc9,629 bytesreferences/codex-tools.mddoc12,318 bytesreferences/copilot-tools.mddoc20,758 bytesreferences/grok.mddoc3,986 bytesreferences/kimi-tools.mddoc4,929 bytesreferences/licenses/LICENSEasset1,101 bytesreferences/licenses/LICENSE-cursor-team-kitasset1,063 bytesreferences/licenses/LICENSE-thermosasset1,063 bytesreferences/licenses/NOTICE.mddoc1,991 bytesreferences/merge-safety.mddoc5,287 bytesreferences/minimax-tools.mddoc10,472 bytesreferences/muse-tools.mddoc12,973 bytesreferences/pi-tools.mddoc24,228 bytesreferences/resume-storage.mddoc3,678 bytesscripts/.prettierignoreruns785 bytesscripts/.prettierrc.jsonasset29 bytesscripts/bootstrap.tsruns2,092 bytesscripts/bun.lockasset6,679 bytesscripts/check-plan.mjsruns8,556 bytesscripts/check-plan.test.tsruns4,149 bytesscripts/check-playbooks.mjsruns3,035 bytesscripts/codex-session-effort.mjsruns2,931 bytesscripts/package.jsonruns339 bytesscripts/resume.mjsruns7,309 bytesscripts/tsconfig.jsonasset304 bytesscripts/watch-pr/cli.test.tsruns11,487 bytesscripts/watch-pr/cli.tsruns8,308 bytesscripts/watch-pr/deadline.tsruns522 bytesscripts/watch-pr/fakes.test-helper.tsruns4,040 bytesscripts/watch-pr/fresh-install.test.tsruns1,348 bytesscripts/watch-pr/github.test.tsruns29,035 bytesscripts/watch-pr/github.tsruns32,294 bytesscripts/watch-pr/integrity.test.tsruns24,849 bytesscripts/watch-pr/landing.tsruns3,025 bytesscripts/watch-pr/live-merge-safety.mjsruns7,583 bytesscripts/watch-pr/policy.test.tsruns36,402 bytesscripts/watch-pr/policy.tsruns29,900 bytesscripts/watch-pr/render.tsruns9,078 bytesscripts/watch-pr/ship-prruns220 bytesscripts/watch-pr/shipping-cli.test.tsruns5,459 bytesscripts/watch-pr/shipping-cli.tsruns2,340 bytesscripts/watch-pr/shipping.test-helper.tsruns2,103 bytesscripts/watch-pr/shipping.test.tsruns11,231 bytesscripts/watch-pr/shipping.tsruns6,892 bytesscripts/watch-pr/transport.test.tsruns8,451 bytesscripts/watch-pr/tsconfig.jsonasset270 bytesscripts/watch-pr/types.compile.tsruns2,697 bytesscripts/watch-pr/types.tsruns14,406 bytesscripts/watch-pr/watch-prruns211 bytesscripts/watch-pr/wrapper.test.tsruns587 bytesscripts/worktree-audit.mjsruns19,547 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Poteto mode
Bundled skills live at `../<name>/SKILL.md` from this file, so put this file's absolute path in every `poteto-agent` prompt.
## Platform Adaptation
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.
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.
## Non-negotiables
The Principles section below grounds every trigger. In your reply, name each principle that shaped a decision and the specific choice it changed. Cite only principles whose leaf SKILL.md you read this session.
View the complete source on GitHubprinciple-attack-the-premise
When your agent uses it
Apply when two or more fixes that share one premise have failed the same gate. Write the premise down and test it directly before you write another fix that assumes it.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
422 tokensWhen the skill is activated
Reference documents
1,306 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,907 bytes../principle-build-the-lever/SKILL.mddoc2,795 bytes../principle-fix-root-causes/SKILL.mddoc1,812 bytes../principle-laziness-protocol/SKILL.mddoc543 bytes../principle-redesign-from-first-principles/SKILL.mddoc749 bytes
Read SKILL.md
# Attack the Premise
When two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes.
**Why:** Each failed fix is evidence against the belief it assumed. A third fix on the same premise spends effort where the evidence already says the cause is not.
**Pattern:**
- **Write the premise down.** The premise is the one sentence that every failed fix assumed.
- **Test the premise before the next fix.** Find an observation that would come out differently if the premise were false, and make it. Look at how the failures are distributed, not only at how large they are. Make the check rerunnable per [Build the Lever](../principle-build-the-lever/SKILL.md).
- **Follow the evidence.** If it contradicts the premise, the cause is elsewhere. Look for what the failures have in common that the premise did not predict. If it confirms the premise, ask the next "why" per [Fix Root Causes](../principle-fix-root-causes/SKILL.md). The earlier fixes may have treated a consequence instead of the cause.
- **Remove the condition instead of compensating for it**, per the [Laziness Protocol](../principle-laziness-protocol/SKILL.md). If the evidence shows that one part always lands on the losing side, change what puts it there. A mechanism that cleans up after it leaves the cause in place and adds work on every run.
**Stop:** Do not start the next fix before the premise is written down and tested.
View the complete source on GitHubprinciple-boundary-discipline
When your agent uses it
Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
378 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,874 bytes
Read SKILL.md
# Boundary Discipline
Place validation, type narrowing, and error handling at system boundaries. Trust internal code unconditionally. Business logic lives in pure functions. The shell is thin and mechanical.
**Why:** Scattered validation is noisy, redundant, and gives a false sense of safety. Keep logic out of framework wiring so it can be tested without the framework.
**The pattern:**
- **At boundaries** (CLI args, config files, external APIs, network protocols): validate, return errors, handle defensively.
- **Inside the system:** typed data, error propagation, no re-validation. Trust the types.
- **Across the boundary.** Expose domain concepts, not the boundary's private representation. Keep general-purpose mechanism inside and special-purpose policy at the edge.
**Applications:**
Validation and error handling:View the complete source on GitHubprinciple-build-the-lever
When your agent uses it
Apply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
638 tokensWhen the skill is activated
Reference documents
753 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,795 bytes../principle-encode-lessons-in-structure/SKILL.mddoc549 bytes../principle-laziness-protocol/SKILL.mddoc543 bytes../principle-prove-it-works/SKILL.mddoc2,435 bytes
Read SKILL.md
# Build the Lever
When the work isn't trivial, build the tool that does it instead of doing it by hand.
A codemod, generator, or script does the work the same way every time and reruns for free. The tool is one artifact a reviewer can read and rerun to check the work. Hand-done changes can only be re-verified by redoing them. A deterministic script turns "trust me" into "run this".
Default to building the lever. Skip it only when the task is trivial, a couple of obvious edits you can see at a glance.
- Do the first unit by hand to learn the recipe, then build the tool. Prove it by rerunning it on that unit and diffing against your hand-done version. Make the lever safe to rerun.
- For a comparison tool, seed one known-bad change for each output it claims to compare, and confirm the tool reports each mismatch. For example, change a total, then separately swap item assignments while keeping the totals. If required input is missing, the tool must refuse or report the result as inconclusive, never as a match. Keep these controls with the experiment and rerun them before you trust its results.
- Codemod or script for edits, generator for repetitive files, a dump-to-sqlite query for analysis, a rerunnable check for verification.
- A deterministic lever beats fan-out. If the tool can process every unit in one pass, run it yourself. Don't fan out delegates to hand-apply what a script can do.
- When you fan work out to subagents, write the lever as a skill they all read: the recipe, the verification contract, and the do-not-touch fences in one artifact. Keep it outside the delegates' write scope so they can't quietly edit the contract.
- Applying this principle produces a file. If you cited it and there is no codemod, script, generator, or delegate skill in the diff, you didn't apply it.
- Commit the lever when the work outlives the session.View the complete source on GitHubprinciple-encode-lessons-in-structure
When your agent uses it
Apply when you catch yourself writing the same instruction a second time, or notice a recurring correction. Encode the rule as a lint, metadata flag, runtime check, or script instead of more text.
What it loads into context
Frontmatter
59 tokensAlways available to the agent
SKILL.md
115 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore549 bytes
Read SKILL.md
# Encode Lessons in Structure
If the lesson needs judgment and cannot be encoded, make the instruction more prominent and add an example of the failure mode.
**Corollary:** If the fix is structural, only use the structural fix. The instruction is the symptom.View the complete source on GitHubprinciple-exhaust-the-design-space
When your agent uses it
Apply when facing a novel UI interaction or architectural decision with no precedent in the codebase. Build 2-3 competing prototypes and compare side by side before committing.
What it loads into context
Frontmatter
51 tokensAlways available to the agent
SKILL.md
77 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore386 bytes
Read SKILL.md
# Exhaust the Design Space
It also applies to product design decisions where user experience depends on feel, not logic.View the complete source on GitHubprinciple-experience-first
When your agent uses it
Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship fewer polished features over more rough ones.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
237 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,175 bytes
Read SKILL.md
# Experience First
When implementation convenience conflicts with user delight, choose delight.
- Every feature, control, and option must be justified
- Ship less, ship better (polished experience with three features beats rough one with ten)
- Prototype before committing (design decisions are cheaper in throwaway HTML than production code)
- Get the details right (transitions, alignment, spacing, feedback, error states)
- Tighten the core loop (every feature should serve the central workflow or get out of the way)
The user is whoever consumes the work. For a UI that is the end user. For a library or an internal API it is the colleague who imports it. The engineer who maintains the code next is a user too. Weigh their experience the same way, and explain impact from their perspective.
Foundations should serve the experience. Foundational thinking governs the *sequence* of work. This principle governs the *target*.View the complete source on GitHubprinciple-explain-the-number
When your agent uses it
Apply before you measure, and before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
440 tokensWhen the skill is activated
Reference documents
1,682 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../benchmark-checklist/SKILL.mddoc4,971 bytesSKILL.mdcore1,913 bytes../principle-prove-it-works/SKILL.mddoc2,435 bytes
Read SKILL.md
# Explain the Number
- **Write the decision before you run.** Name the result that would change a decision, and the noise floor. Stop when the run-to-run spread is larger than the effect.
- **Ask "why not double?"** Name the resource or code path that bounds the result, such as a core, a lock, the disk, the network, or the load generator itself. Get it from a profile or from system counters taken during a run, then map it to source. A guess from reading the code is not a limiter. If you cannot say why the number is not twice as good, you do not know what you measured.
- **List what else the number could be measuring, and rule out each one with evidence.** The usual suspects are errors, skipped or cached work, code that never ran, an untuned side (one left on default settings), noise, and a piece too small to matter end to end.
- **Keep the evidence with the number.** Put the run count, the spread, and the limiter in the notes or a linked artifact.
For a performance number, run the full procedure with the [benchmark-checklist](../benchmark-checklist/SKILL.md) skill. For an eval result, ask the same of the trials: did every run do the task, does the gap hold across trials and models, and does the scenario matter.
You skipped this when a run started without the result that would change a decision, when the evidence behind a number has no run count, no spread, or no named limiter, or when the time saved is larger than the time the changed piece took.
Distinct from [Prove It Works](../principle-prove-it-works/SKILL.md), which checks that an output is real.View the complete source on GitHubprinciple-fix-root-causes
When your agent uses it
Apply when debugging. Trace each symptom back to the first place the system went wrong and fix it there. A guard is a fix only when the state it handles is legitimate.
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
397 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,812 bytes
Read SKILL.md
# Fix Root Causes
When debugging, fix the fault, not the place where it surfaced. The symptom is where a wrong state became visible. The root cause is the first place the system did something it should not do, or failed to handle a state it should handle.
**Why:** A symptom fix hides the evidence and leaves the fault free to surface somewhere else. Each one makes the system harder to reason about, because the code now carries a workaround for a bug that nobody named.
**Pattern:**
- Reproduce first.
- Ask "why" at each step until the answer is a wrong decision in the code, not a consequence of an earlier one.
- When stuck, instrument. Read the actual error and the actual state. Do not guess.
- Ask whether the state that triggered the symptom is legitimate. If the system may be in that state, the code that broke on it is the root cause, and handling the state there is the fix. If the state should never exist, a check where it broke hides the bug. Find what produced the state. Guards, retries, swallowed errors, clamped values, and discarded state are the usual ways to hide a bug.
- When something fails only after a restart, suspect persisted state first: config files, caches, lock files, serialized state.
- Check for the pattern, not just the instance. Find every place with the same fault and fix them all.
- If a workaround needs a paragraph-long comment to justify it, the code is wrong. Fix the code, not the comment.View the complete source on GitHubprinciple-foundational-thinking
When your agent uses it
Apply before writing logic: choosing core types and data structures, sequencing scaffold-vs-feature work, asking what concurrent actors share. Get the data structures right so downstream code becomes obvious.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
289 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,521 bytes
Read SKILL.md
# Foundational Thinking
**Structural decisions** protect option value. **Code-level decisions** protect simplicity.
**Data structures first.** Get the data shape right before writing logic. Define core types early, trace every access pattern, and choose structures that match the dominant paths.
At code level, DRY the structure, not every line. Types and data models should converge. Three similar statements still beat a premature abstraction. Prefer explicit over clever. Test behavior and edge cases, not line counts.
**Concurrency corollary.** Before sharing state between actors, ask "what happens if another actor modifies this concurrently?" If not "nothing", isolate.
**Scaffold first.** If something helps every later phase, do it first. Ask "does every subsequent phase benefit from this existing?" CI, linting, test infrastructure, and shared types are scaffold. Sequence for option value: setup before features, tests before fixes. Keep commits small and single-purpose.
Each increment should land a coherent abstraction or deepen one that exists. Do not spread a new capability across callers as special-case coordination.
View the complete source on GitHubprinciple-guard-the-context-window
When your agent uses it
Apply when context is filling up: large outputs, long files, repeated reads, fan-out planning. Route bulk to subagents; keep summaries in the main thread, not raw payloads.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
111 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore510 bytes
Read SKILL.md
# Guard the Context Window
**Why:** Context overflow degrades reasoning quality, creates compression artifacts, and halts progress.
**Pattern:**
- **Size phases and cap scope.** Limit files per phase, set turn budgets, account for mechanism costs.View the complete source on GitHubprinciple-laziness-protocol
When your agent uses it
Apply when refactoring, evaluating diff size, or tempted to add abstractions, layers, or signal threading. Bias toward deletion and the smallest change that solves the problem.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
123 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore543 bytesSKILL.mdcore543 bytes
Read SKILL.md
# Laziness Protocol
- **Consolidate decisions.** Do not repeat the same choice in several places. Put it behind one source of truth and pass the result as a simple flag.
- **Minimize the diff.** Make the smallest change that solves the problem. Fewer lines beat "elegant" boilerplate.View the complete source on GitHubprinciple-make-operations-idempotent
When your agent uses it
Apply when designing commands, lifecycle steps, or processing loops that run amid crashes, restarts, and retries. Converge to the same end state regardless of partial prior runs.
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
377 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,800 bytes
Read SKILL.md
# Make Operations Idempotent
Design operations so they converge to the correct state regardless of how many times they run or where the previous run stopped. Every state-mutating operation should answer: "What happens if this runs twice? What happens if the previous run crashed halfway?"
**Why:** Commands, lifecycle operations, and processing loops run where crashes, restarts, and retries are normal. If partial state changes the next run's outcome, every restart becomes a debugging session.
**The idea:** derive each step from the state that exists, not from what the previous run meant to do. Read the current state, compare it to the goal, and apply only the difference. A step written this way is safe to repeat, because a repeat finds nothing left to do.
Anything a run leaves behind, such as a lock, a temporary file, a half-written record, or a claimed job, must be recognizable as stale by the next run. Judge staleness by evidence that stays true wherever the previous run could have stopped, not only in the common case. A marker that the next run cannot judge turns every crash into manual cleanup. For example, write to a temporary path and rename it into place, or compare artifacts by content instead of by creation order.
**The test:**
1. What happens if this runs twice in a row?
2. What happens if the previous run crashed at every possible point?
3. Does re-execution converge to the same end state?View the complete source on GitHubprinciple-migrate-callers-then-delete-legacy-apis
When your agent uses it
Apply when introducing a new internal API while old callers still exist. Migrate callers and delete the old API in the same wave instead of preserving compatibility layers.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
128 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore628 bytes
Read SKILL.md
# Migrate Callers Then Delete Legacy APIs
- Update tests to assert the new contract, and delete tests that only protect pre-refactor implementation details
**When this applies:**
- No external users depend on backward compatibility
- The project can absorb coordinated breaking changes
- The new API is part of a simplification or refactor initiativeView the complete source on GitHubprinciple-minimize-reader-load
When your agent uses it
Apply when reviewing or shaping code that's hard to trace. Count layers between question and answer, and hidden state in the reader's head; collapse one-caller wrappers and shrink mutable scope.
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
415 tokensWhen the skill is activated
Reference documents
111 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../principle-guard-the-context-window/SKILL.mddoc510 bytesSKILL.mdcore1,987 bytes
Read SKILL.md
# Minimize Reader Load
Maintainability is the work a reader must do to understand code. Track two axes: **layers to trace** (indirections between the question and the answer) and **state to hold** (hidden or mutable context the reader must keep in their head). LOC, cyclomatic complexity, and "clean architecture" are proxies. Reader load is the thing that matters. The two axes are independent. A flat file with 50 globals can be as hard to reason about as a 6-layer adapter stack. Guard both. This is the human analog of [Guard the Context Window](../principle-guard-the-context-window/SKILL.md). Working memory is finite for readers too.
- **Collapse layers** that cost more than they save: wrappers with one caller, adapters with no second implementation, speculative indirection that was never needed. Inline them.
- **Make adjacent layers change the abstraction.** A layer that repeats the same methods and arguments adds reader load without compression. Collapse pass-through layers.
- **Demand interface compression.** A broad interface that hides little complexity makes readers learn both the surface and the implementation. Prefer boundaries that hide meaningful decisions.
- **Shrink state scope:** prefer pure functions (returns over mutations), locals over fields, fields over module state, and module state over globals. Derive instead of sync.
- **Name the invariant at the boundary,** not in every consumer, so the reader learns it once.
- Before adding a layer or a piece of state, ask: does it reduce reader load elsewhere by at least as much?
**The test:** can a new reader answer "where does X come from?" and "what can change X?" in under 30 seconds? If not, cut layers or cut state.View the complete source on GitHubprinciple-model-the-domain
When your agent uses it
Apply when writing stateful logic, or when code branches a lot or repeats a shape assumption across files.
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
372 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,849 bytes
Read SKILL.md
# Model the Domain
Encode the real domain in a data structure instead of scattering it across conditionals. A structure that matches the domain makes invalid states unrepresentable and deletes branches. Choosing it at write time is cheap. Recovering it later reads as a refactor and gets deferred.
Reach for:
- A state machine instead of scattered booleans, phases, or lifecycle checks.
- A typed model instead of loose parameters or repeated shape assumptions.
- A map, registry, lookup table, or discriminated union instead of branching spread across files.
- A reducer or command/event model instead of ad hoc state mutations.
- A module organized around one body of domain knowledge instead of a sequence such as load, validate, transform, and save. Execution order is not ownership.
- A small module boundary that gathers repeated behavior, ownership, or invariants.
- A queue, cache, index, graph, tree, or normalized collection where the access pattern calls for it.
- Any other structure that fits. When none fits, work out what the code must never allow and how the data gets read, then find the structure that encodes exactly that.View the complete source on GitHubprinciple-never-block-on-the-human
When your agent uses it
Apply when tempted to ask 'should I do X?' on reversible work.
What it loads into context
Frontmatter
34 tokensAlways available to the agent
SKILL.md
197 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore901 bytes
Read SKILL.md
# Never Block on the Human
The human supervises asynchronously. Agents must stay unblocked. Make reasonable decisions, proceed, and let the human course-correct after the fact. Since code changes are reversible and reviewable, a wrong decision usually costs less than blocking.
- Proceed, then present. Do the work, show the result. Don't ask "should I do X?" Do X, explain why.
- Make the system self-healing. When you notice a problem, log it and fix it in the next round.
- Irreversible actions (force-push, delete production data, send external messages) still require confirmation.
- Reversible actions (write code, edit notes, split tasks) should proceed without blocking.
- Product direction comes from the human. Execution should not block.View the complete source on GitHubprinciple-outcome-oriented-execution
When your agent uses it
Apply during planned rewrites and migrations with explicit phase boundaries. Converge on the target architecture; don't preserve smooth intermediate states with throwaway compatibility code.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
192 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,069 bytes
Read SKILL.md
# Outcome-Oriented Execution
Optimize for the intended, verifiable end state rather than preserving smooth intermediate states.
**Why:** Keeping every intermediate step fully stable often creates temporary compatibility code that becomes long-lived debt. Converge on the target architecture and prove correctness at explicit verification boundaries.
**Core rule:**
- Prioritize end-state integrity over transitional stability
- Intermediate breakage is acceptable when it is planned, scoped, and reversible
**Guardrails:**
- Use this for planned rewrites and migrations with explicit phase boundaries
- Declare where temporary breakage is acceptable
- Keep high-signal checks for actively touched areas while migratingView the complete source on GitHubprinciple-prove-it-works
When your agent uses it
Apply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
515 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Script the check when you can
Files
SKILL.mdcore2,435 bytes
Read SKILL.md
# Prove It Works
Verify every task output by checking the real thing directly. Do not infer from proxies, self-reports, or "it compiles."
**Why:** Unverified work has unknown correctness. Indirect verification (file mtimes, output freshness, agent self-reports, cached screenshots) feels cheaper than direct observation. Acting on a wrong inference costs far more than checking the source.
Check the real thing, not a proxy:
- Check process liveness directly, not indirectly through derived state
- Read the actual value, not a cached or derived representation
- When verification fails, suspect the observation method before suspecting the system
- Before you report success (merged, sent, started), read the real state and the exit code. Truncated output (`| tail -1`) and your own echo prove nothing
Verify the process as well as the outcome. A correct result can rest on a broken process, and a review that checks results passes it: a clause reconstructed from the user's paste instead of the durable record, a constraint honored by chance from a file never read. For each fact you relied on, name the record it came from and confirm that record is the one the project's rules point at.
View the complete source on GitHubprinciple-redesign-from-first-principles
When your agent uses it
Apply when integrating a new requirement into an existing design.
What it loads into context
Frontmatter
31 tokensAlways available to the agent
SKILL.md
148 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore749 bytes
Read SKILL.md
# Redesign From First Principles
When integrating a change, don't bolt it onto the existing design. Redesign as if the requirement had been a foundational assumption from the start.
- Read all affected files and understand the current design
- Ask: "if we were writing this from scratch with this new requirement, what would we build?"
- Propagate the change through every reference: types, docs, examples, rationale sections
- Think about the whole redesign, then deliver it incrementally
This is the method for preserving option value when integrating changes into an existing design.View the complete source on GitHubprinciple-separate-before-serializing-shared-state
When your agent uses it
Apply when concurrent actors might write to the same file, branch, key, or state object. Eliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
326 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,556 bytes
Read SKILL.md
# Separate Before Serializing Shared State
When concurrent actors might share mutable state, first ask whether they need the same mutable object. If not, eliminate the sharing. When sharing is real, enforce serialization structurally: lockfiles, sequential phases, exclusive ownership. Instructions and conventions are not concurrency control.
**Why:** Concurrent writes to shared state create race conditions that are intermittent, hard to reproduce, and expensive to debug.
**Pattern:**
1. **Identify shared mutable state** (files both read and write, branches both push to, APIs both define and consume).
2. **Default: eliminate the shared write target.** Ask: do these actors need one canonical object, or are they publishing independent facts? Give each actor its own owned file, key, branch, or state directory, and merge only at the read/reporting boundary. Two workers writing their own `lastX` field into one `state.json` is still shared mutation. `indexer-state.json` + `metrics-state.json` is not.
3. **Only when one shared write target is a real invariant, serialize access structurally** (lockfiles, sequential phases, single-writer actor, or atomic compare-and-swap). Treat "we need a lock" as a design smell to check, not as the default answer.View the complete source on GitHubprinciple-sequence-verifiable-units
When your agent uses it
Apply to multi-step work (sweeps, migrations, runs of similar edits) and to how you stack commits and PRs. Break work into small units that each end in a verifiable state, check each before the next, and order delivery so the sequence proves itself to a reviewer.
What it loads into context
Frontmatter
78 tokensAlways available to the agent
SKILL.md
372 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,696 bytes
Read SKILL.md
# Sequence work into verifiable units
Order work as a sequence of small units, each ending in a state you can check, and don't advance until the current one is green.
**Why:** A break caught at the unit that caused it is cheap to localize. A break caught after a batch is buried, and you have already built further on a broken base. Sequencing those same units into a delivery a reviewer can replay turns "trust me" into "watch it go red, then green."
**Execution.** In a sweep, migration, or any run of similar edits, verify each change before starting the next. Each unit is a before/after bracket: known-good state, one change, run the check, then proceed. Rebase onto clean trunk first so every check measures against the real baseline. When a lever does the edits, the per-unit check is nearly free. Run it anyway.
**Delivery.** Stack commits and PRs in the order that proves the work. The canonical shape is the failing test first, then the fix on top. Other story orders are a subtraction before the reshape, a baseline capture before the treatment, the scaffold before the feature. Each commit lands on its own and the sequence reads as an argument.
The sequencing complement to the **prove-it-works** principle skill, which keeps each check real, and the **build-the-lever** principle skill, which makes the per-unit check cheap.View the complete source on GitHubprinciple-subtract-before-you-add
When your agent uses it
Apply when sequencing an addition, refactor, or rewrite. Remove dead code, redundant validators, and stub references first, then build on the simpler base.
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
178 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore900 bytes
Read SKILL.md
# Subtract Before You Add
When evolving a system, remove complexity first, then build. Default to subtraction.
Make simplification a continual investment. Leave the design slightly simpler and more capable behind the same or smaller surface than you found it.
- Sequence removal before construction
- Cut before you polish (get to the minimum before investing in quality)
- Design for observed usage, not speculative edge cases
- No speculative validators, parsers, or guards beyond what the spec demands
- Simplify prompts (remove redundant instructions, excessive templates)
- When a reference has no novel content, delete it rather than leaving a stubView the complete source on GitHubprinciple-test-behavior-not-implementation
When your agent uses it
Apply when you write, change, or keep a test. Assert what the code's users can observe, so that the test fails when that behavior breaks and keeps passing when only the internals change.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
572 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,722 bytes
Read SKILL.md
# Test Behavior, Not Implementation
A test is a claim about what the code does for its users: a caller, an end user, or another service. Behavior is what those users can observe through the interface they use. That includes return values, errors, state they can read back, and effects on systems outside the code, such as a request sent, a row written, or a message emitted. Implementation is what they cannot observe: private helpers, internal call order, intermediate data, and which internal collaborator did the work.
Judge each test against two imagined edits:
- **Break the behavior.** Make the code return a wrong value, skip an effect, or do the effect twice. If the test still passes, it proves nothing. The usual causes are an assertion looser than the contract, an expected value computed by the code under test, a restated constant or prompt string that never runs the code that reads it, and an assertion on data that the test built itself.
- **Change the internals.** Keep every observable result the same and restructure the code underneath. If the test now fails, it is pinned to the implementation. It will need a rewrite on every refactor and still catches no bug.
Keep a test that catches the first edit and survives the second. Rewrite or delete the rest. To write a test that does both, drive the code through its users' interface with a concrete input. Derive the expected value from the requirement, not from a run of the code. Assert what the contract promises, no less and no more.
The contract decides, not the shape of the assertion. When "an empty cart never charges" is the promise, an assertion that the payment client got no call is behavior. Pair it with a case where the charge happens, so that the test shows it can see a call. The payload that a mocked external service receives is behavior, because that service observes it. A call to an internal helper is implementation, because no user can see it. An empty list is the exact answer when no record matches, and a hollow check when the test only needs some result. An exact error message pins wording that no caller reads. The error type that callers branch on is the contract.
A test can pin an invariant instead of a call, such as a key that must exist in two tables or a compile-time type check. The invariant is the behavior. A constant pin is behavior when the value is a promise to users, such as a documented default, so name that promise.View the complete source on GitHubprinciple-type-system-discipline
When your agent uses it
Apply when designing types, reviewing a function signature, or writing code in any statically-typed language. Make illegal states unrepresentable, brand semantic primitives, parse external data at boundaries, exhaust variants, derive from authoritative schemas.
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
312 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,548 bytes
Read SKILL.md
# Type System Discipline
Make the compiler reject impossible states, mismatched primitives, and unhandled variants. Prefer defining errors and special cases out of existence over proliferating handlers. For TypeScript syntax, see the `typescript-best-practices` skill.
- **Brand semantic primitives.** `UserId` and `OrderId` are strings underneath but should not be interchangeable. Give each its own type, such as a branded intersection in TypeScript or a newtype elsewhere. Validate once at creation, trust the type downstream. If two arguments share a primitive type but mean different things, brand them.
- **External data is untyped until parsed.** RPC payloads, JSON, IPC messages, CLI args, config files, environment variables, database rows. Have a parse function at every boundary that turns unstructured input into the typed model. The **boundary-discipline** principle skill says where to put validation.
- **Derive types from authoritative schemas.** When a protocol buffer, OpenAPI spec, GraphQL schema, database migration, design-token file, or another file owns a shape, derive from it instead of hand-rolling a parallel type. See the **encode-lessons-in-structure** principle skill.View the complete source on GitHubrecall
When your agent uses it
Reconstruct your recent working context from your own chat history, live state, and the shared record (user reports, prior fixes, incidents), then hand back a tight current-state brief. Use for 'recall my work on X', 'catch me up', 'what have I been working on', 'where did I leave off', before starting or resuming work, and before telling the user that something was never recorded.
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
1,491 tokensWhen the skill is activated
Reference documents
10,798 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Output contract
Files
../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore6,674 bytesSKILL.mdcore6,674 bytesSKILL.mdcore6,674 bytesSKILL.mdcore6,674 bytesSKILL.mdcore6,674 bytes
Read SKILL.md
# Recall
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
**Before you start or resume work, you rebuild the user's recent working context and hand back a tight capsule of where things stand now and what to do next.**
Keep it tight and on-topic. Read only what the in-scope threads need, then stop.
Your context lives in two records. Your own chat history holds what you did and decided. The shared record holds everything that happened around the same code under other names: the symptoms users keep reporting, the fixes that shipped and got reverted, the errors still firing in prod. That second record is what the **why** skill searches, across source control, the issue tracker, chat and issue channels, long-form docs, and error tracking. A feature with a long bug tail keeps most of its story there, so don't reconstruct it from your transcripts alone.
View the complete source on GitHubreflect
When your agent uses it
Spawn three parallel review subagents over the active transcript, surface learnings, and route each to a concrete edit on an existing skill. Use when the user says reflect.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
1,819 tokensWhen the skill is activated
Reference documents
17,171 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Locate the active transcript
- 2. Spawn three reviewers in parallel
- 3. Synthesize
- 4. Structural enforcement check
- 5. Apply
- 6. Summarize for the user
- Models
- Reasoning effort
Scripts executed separately
scripts/claude-project-dir.mjsscripts/find-transcript.mjs../../../../tools/generate.mjs
Files
../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore7,829 bytesSKILL.mdcore7,829 bytesreferences/divergent-reviewer.mddoc3,754 bytesreferences/judgment-reviewer.mddoc3,193 bytesreferences/synthesizer.mddoc4,189 bytesreferences/tooling-reviewer.mddoc4,534 bytesscripts/claude-project-dir.mjsruns4,951 bytesscripts/find-transcript.mjsruns7,864 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Reflect
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Mine the current conversation for durable learnings, then route them into skill edits.
Invoke when the user says "reflect" or "/reflect". Skip when the conversation is trivial, off-topic, or already covered by an existing skill the parent followed correctly. One-offs are not learnings.
View the complete source on GitHubsetup-pstack
When your agent uses it
Configure which models pstack uses per role. Detects available models and writes the current runtime's override sheet. Use for /setup-pstack, "configure pstack models", changing pstack's model choices, or turning the SessionStart hook on or off.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
3,813 tokensWhen the skill is activated
Reference documents
20,605 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Steps
- Other runtimes
- Models
Scripts executed separately
scripts/check-sheet.shscripts/read-sheet.sh../../../../tools/generate.mjs
Files
../create-formal-verification-skill/SKILL.mddoc6,400 bytes../create-verification-skill/SKILL.mddoc7,533 bytes../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/grok.mddoc3,986 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore15,451 bytescopilot.mddoc11,312 bytesscripts/check-sheet.awkasset224 bytesscripts/check-sheet.shruns857 bytesscripts/read-sheet.shruns1,125 bytesscripts/sheet.awkasset5,938 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Setup pstack
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
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.
On GitHub Copilot, follow [the Copilot setup](copilot.md) in place of steps 1, 3, 4, and 7 and step 6's header.
View the complete source on GitHubsharpen
When your agent uses it
Make a task deeper, not bigger, then rewrite the prompt. Use for /sharpen.
What it loads into context
Frontmatter
27 tokensAlways available to the agent
SKILL.md
145 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore630 bytes
Read SKILL.md
I want a deeper version of this task, not a bigger one. Before rewriting it, do four things:
1. Say what a top professional in this field would do here that I'm not asking for.
2. Name the rawest material they would start from instead of what has already been digested for me.
3. Name the specific methods and tools they would use.
4. Say what, other than you or me, would show the result is right.
Then rewrite my prompt to ask for exactly that.
Leave choices that are mine to make open instead of deciding them.View the complete source on GitHubshow-me-your-work
When your agent uses it
Keep a reviewable decision trail for long-running or unattended work: a TSV log with one row per decision (what, why, evidence, result). Local by default; commit it when a reviewer needs the trail to trust the result. Use for /show-me-your-work, autonomous or multi-phase runs, or work a human reviews after stepping away.
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
1,693 tokensWhen the skill is activated
Reference documents
10,798 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The format
- Logging a row
- Where it lives
- Rules
- Audit the log against the transcript
- Cross-model review of the trail
- Reviewing the trail
- Composing this skill
Scripts executed separately
scripts/log.sh
Files
../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore7,061 bytesreferences/decision-log-template.tsvasset38 bytesscripts/log.shruns2,285 bytes
Read SKILL.md
# Show me your work
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Keep one canonical log.
## The format
A single TSV file, one row per decision. Cells stay single-line. Evidence is a pointer, not prose.
View the complete source on GitHubstatechart
When your agent uses it
Check a TLA+ model of a system that moves between states, such as a product flow, a protocol, or a service, and draw it as a Mermaid statechart. The report gives the shortest path to each state that breaks a rule. Use for /statechart, or to show a bug as a path through states.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
2,160 tokensWhen the skill is activated
Reference documents
5,508 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Run
- Write the spec
- Pick the chart
- Read the report
- Show the chart
- Hand off
Scripts executed separately
scripts/backends/cfg.tsscripts/backends/mermaid.tsscripts/backends/plain-text.tsscripts/backends/report.tsscripts/frontends/config.tsscripts/frontends/dot.tsscripts/frontends/marks.tsscripts/frontends/messages.tsscripts/frontends/spec.tsscripts/frontends/trace.tsscripts/frontends/value.tsscripts/frontends/verdict.tsscripts/frontends/view.tsscripts/ir.tsscripts/janitor.tsscripts/package.jsonscripts/passes/annotate.tsscripts/passes/label.tsscripts/passes/lift.tsscripts/passes/loop-check.tsscripts/passes/paths.tsscripts/passes/reach.tsscripts/passes/region-check.tsscripts/passes/regions.tsscripts/pipeline.tsscripts/run.tsscripts/statechartscripts/statechart.tsscripts/test/chart.test.tsscripts/test/child-env.test.tsscripts/test/cli.test.tsscripts/test/config-fuzz.test.tsscripts/test/corpus.test.tsscripts/test/corpus/CounterView/view.mjsscripts/test/corpus/Login/view.mjsscripts/test/corpus/LoginGuarded/view.mjsscripts/test/corpus/LoginParallel/view.mjsscripts/test/corpus/MediaPlayer/view.mjsscripts/test/corpus/MediaPlayerFixed/view.mjsscripts/test/corpus/MediaPlayerProps/view.mjsscripts/test/corpus/TwoPhase/view.mjsscripts/test/corpus/TwoPhaseFixed/view.mjsscripts/test/differential.test.tsscripts/test/java.tsscripts/test/labels.tsscripts/test/messages.test.tsscripts/test/pipeline.test.tsscripts/test/plain-tlc.test.tsscripts/test/render.test.tsscripts/test/tlc-out.test.tsscripts/test/tlc.tsscripts/worker.ts
Files
SKILL.mdcore9,069 bytesreferences/render.mddoc3,716 bytesscripts/backends/cfg.tsruns1,234 bytesscripts/backends/mermaid.tsruns7,437 bytesscripts/backends/plain-text.tsruns2,343 bytesscripts/backends/report.tsruns7,060 bytesscripts/bun.lockasset555 bytesscripts/frontends/config.tsruns10,786 bytesscripts/frontends/dot.tsruns2,484 bytesscripts/frontends/marks.tsruns3,257 bytesscripts/frontends/messages.tsruns1,896 bytesscripts/frontends/spec.tsruns4,206 bytesscripts/frontends/trace.tsruns988 bytesscripts/frontends/value.tsruns4,757 bytesscripts/frontends/verdict.tsruns1,756 bytesscripts/frontends/view.tsruns4,358 bytesscripts/ir.tsruns15,171 bytesscripts/janitor.tsruns537 bytesscripts/package.jsonruns233 bytesscripts/passes/annotate.tsruns3,738 bytesscripts/passes/label.tsruns8,576 bytesscripts/passes/lift.tsruns2,888 bytesscripts/passes/loop-check.tsruns2,149 bytesscripts/passes/paths.tsruns1,900 bytesscripts/passes/reach.tsruns4,063 bytesscripts/passes/region-check.tsruns3,525 bytesscripts/passes/regions.tsruns9,481 bytesscripts/pipeline.tsruns2,931 bytesscripts/run.tsruns19,425 bytesscripts/statechartruns991 bytesscripts/statechart.tsruns6,374 bytesscripts/test/ConfigOracle.javaasset2,717 bytesscripts/test/chart.test.tsruns39,753 bytesscripts/test/charts/Braces.mmdasset312 bytesscripts/test/charts/Escapes.mmdasset244 bytesscripts/test/charts/Phases.mmdasset584 bytesscripts/test/child-env.test.tsruns551 bytesscripts/test/cli.test.tsruns50,708 bytesscripts/test/config-fuzz.test.tsruns8,785 bytesscripts/test/corpus.test.tsruns12,990 bytesscripts/test/corpus/Counter/ChartRun.outasset2,658 bytesscripts/test/corpus/Counter/Counter.cfgasset64 bytesscripts/test/corpus/Counter/Counter.tlaasset185 bytesscripts/test/corpus/Counter/chart.mmdasset112 bytesscripts/test/corpus/Counter/graph.dotasset633 bytesscripts/test/corpus/Counter/report.mddoc243 bytesscripts/test/corpus/Counter/sany.outasset38,148 bytesscripts/test/corpus/Counter/verdict-1.outasset2,199 bytesscripts/test/corpus/CounterAction/ChartRun.outasset2,780 bytesscripts/test/corpus/CounterAction/CounterAction.cfgasset89 bytesscripts/test/corpus/CounterAction/CounterAction.tlaasset255 bytesscripts/test/corpus/CounterAction/chart.mmdasset518 bytesscripts/test/corpus/CounterAction/graph.dotasset798 bytesscripts/test/corpus/CounterAction/report.mddoc436 bytesscripts/test/corpus/CounterAction/sany.outasset43,961 bytesscripts/test/corpus/CounterAction/verdict-1.exitasset3 bytesscripts/test/corpus/CounterAction/verdict-1.outasset2,152 bytesscripts/test/corpus/CounterAction/verdict-2.exitasset3 bytesscripts/test/corpus/CounterAction/verdict-2.outasset3,148 bytesscripts/test/corpus/CounterAction/verdict-3.outasset2,690 bytesscripts/test/corpus/CounterDeadlock/ChartRun.outasset2,752 bytesscripts/test/corpus/CounterDeadlock/CounterDeadlock.cfgasset63 bytesscripts/test/corpus/CounterDeadlock/CounterDeadlock.tlaasset225 bytesscripts/test/corpus/CounterDeadlock/chart.mmdasset462 bytesscripts/test/corpus/CounterDeadlock/graph.dotasset633 bytesscripts/test/corpus/CounterDeadlock/report.mddoc624 bytesscripts/test/corpus/CounterDeadlock/sany.outasset42,836 bytesscripts/test/corpus/CounterDeadlock/verdict-1.exitasset3 bytesscripts/test/corpus/CounterDeadlock/verdict-1.outasset2,160 bytesscripts/test/corpus/CounterDeadlock/verdict-2.exitasset3 bytesscripts/test/corpus/CounterDeadlock/verdict-2.outasset3,024 bytesscripts/test/corpus/CounterFan/ChartRun.outasset3,140 bytesscripts/test/corpus/CounterFan/CounterFan.cfgasset37 bytesscripts/test/corpus/CounterFan/CounterFan.tlaasset338 bytesscripts/test/corpus/CounterFan/chart.mmdasset1,771 bytesscripts/test/corpus/CounterFan/graph.dotasset5,433 bytesscripts/test/corpus/CounterFan/report.mddoc239 bytesscripts/test/corpus/CounterFan/sany.outasset49,584 bytesscripts/test/corpus/CounterFan/verdict-1.exitasset3 bytesscripts/test/corpus/CounterFan/verdict-1.outasset2,497 bytesscripts/test/corpus/CounterFan/verdict-2.outasset2,688 bytesscripts/test/corpus/CounterGuard/ChartRun.exitasset3 bytesscripts/test/corpus/CounterGuard/ChartRun.outasset3,415 bytesscripts/test/corpus/CounterGuard/CounterGuard.cfgasset66 bytesscripts/test/corpus/CounterGuard/CounterGuard.tlaasset192 bytesscripts/test/corpus/CounterGuard/chart.mmdasset63 bytesscripts/test/corpus/CounterGuard/graph.dotasset302 bytesscripts/test/corpus/CounterGuard/report.mddoc954 bytesscripts/test/corpus/CounterGuard/sany.outasset36,948 bytesscripts/test/corpus/CounterGuard/verdict-1.exitasset3 bytesscripts/test/corpus/CounterGuard/verdict-1.outasset2,433 bytesscripts/test/corpus/CounterGuard/verdict-2.exitasset3 bytesscripts/test/corpus/CounterGuard/verdict-2.outasset2,985 bytesscripts/test/corpus/CounterInitPast/ChartRun.outasset2,564 bytesscripts/test/corpus/CounterInitPast/CounterInitPast.cfgasset54 bytesscripts/test/corpus/CounterInitPast/CounterInitPast.tlaasset169 bytesscripts/test/corpus/CounterInitPast/chart.mmdasset282 bytesscripts/test/corpus/CounterInitPast/graph.dotasset84 bytesscripts/test/corpus/CounterInitPast/report.mddoc425 bytesscripts/test/corpus/CounterInitPast/sany.outasset36,125 bytesscripts/test/corpus/CounterInitPast/verdict-1.exitasset3 bytesscripts/test/corpus/CounterInitPast/verdict-1.outasset1,362 bytesscripts/test/corpus/CounterInitPast/verdict-2.outasset2,540 bytesscripts/test/corpus/CounterInitPastHolds/ChartRun.outasset2,547 bytesscripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.cfgasset50 bytesscripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.tlaasset171 bytesscripts/test/corpus/CounterInitPastHolds/chart.mmdasset16 bytesscripts/test/corpus/CounterInitPastHolds/graph.dotasset84 bytesscripts/test/corpus/CounterInitPastHolds/report.mddoc211 bytesscripts/test/corpus/CounterInitPastHolds/sany.outasset35,616 bytesscripts/test/corpus/CounterInitPastHolds/verdict-1.outasset2,089 bytesscripts/test/corpus/CounterInstance/ChartRun.outasset2,833 bytesscripts/test/corpus/CounterInstance/CounterInstance.cfgasset41 bytesscripts/test/corpus/CounterInstance/CounterInstance.tlaasset217 bytesscripts/test/corpus/CounterInstance/CounterSteps.tlaasset113 bytesscripts/test/corpus/CounterInstance/chart.mmdasset326 bytesscripts/test/corpus/CounterInstance/graph.dotasset599 bytesscripts/test/corpus/CounterInstance/report.mddoc295 bytesscripts/test/corpus/CounterInstance/sany.outasset75,094 bytesscripts/test/corpus/CounterInstance/verdict-1.exitasset3 bytesscripts/test/corpus/CounterInstance/verdict-1.outasset3,043 bytesscripts/test/corpus/CounterJump/ChartRun.outasset2,752 bytesscripts/test/corpus/CounterJump/CounterJump.cfgasset57 bytesscripts/test/corpus/CounterJump/CounterJump.tlaasset303 bytesscripts/test/corpus/CounterJump/chart.mmdasset547 bytesscripts/test/corpus/CounterJump/graph.dotasset1,075 bytesscripts/test/corpus/CounterJump/report.mddoc374 bytesscripts/test/corpus/CounterJump/sany.outasset46,017 bytesscripts/test/corpus/CounterJump/verdict-1.exitasset3 bytesscripts/test/corpus/CounterJump/verdict-1.outasset2,178 bytesscripts/test/corpus/CounterJump/verdict-2.outasset2,687 bytesscripts/test/corpus/CounterLoop/ChartRun.outasset2,674 bytesscripts/test/corpus/CounterLoop/CounterLoop.cfgasset41 bytesscripts/test/corpus/CounterLoop/CounterLoop.tlaasset232 bytesscripts/test/corpus/CounterLoop/chart.mmdasset320 bytesscripts/test/corpus/CounterLoop/graph.dotasset593 bytesscripts/test/corpus/CounterLoop/report.mddoc285 bytesscripts/test/corpus/CounterLoop/sany.outasset42,493 bytesscripts/test/corpus/CounterLoop/verdict-1.exitasset3 bytesscripts/test/corpus/CounterLoop/verdict-1.outasset2,866 bytesscripts/test/corpus/CounterOrder/ChartRun.outasset2,734 bytesscripts/test/corpus/CounterOrder/CounterOrder.cfgasset51 bytesscripts/test/corpus/CounterOrder/CounterOrder.tlaasset194 bytesscripts/test/corpus/CounterOrder/chart.mmdasset406 bytesscripts/test/corpus/CounterOrder/graph.dotasset299 bytesscripts/test/corpus/CounterOrder/report.mddoc606 bytesscripts/test/corpus/CounterOrder/sany.outasset39,895 bytesscripts/test/corpus/CounterOrder/verdict-1.exitasset3 bytesscripts/test/corpus/CounterOrder/verdict-1.outasset2,141 bytesscripts/test/corpus/CounterOrder/verdict-2.exitasset3 bytesscripts/test/corpus/CounterOrder/verdict-2.outasset2,762 bytesscripts/test/corpus/CounterRules/ChartRun.outasset2,927 bytesscripts/test/corpus/CounterRules/CounterRules.cfgasset79 bytesscripts/test/corpus/CounterRules/CounterRules.tlaasset265 bytesscripts/test/corpus/CounterRules/Moves.tlaasset70 bytesscripts/test/corpus/CounterRules/chart.mmdasset485 bytesscripts/test/corpus/CounterRules/graph.dotasset302 bytesscripts/test/corpus/CounterRules/report.mddoc509 bytesscripts/test/corpus/CounterRules/sany.outasset62,215 bytesscripts/test/corpus/CounterRules/verdict-1.exitasset3 bytesscripts/test/corpus/CounterRules/verdict-1.outasset2,290 bytesscripts/test/corpus/CounterRules/verdict-2.exitasset3 bytesscripts/test/corpus/CounterRules/verdict-2.outasset2,758 bytesscripts/test/corpus/CounterRules/verdict-3.exitasset3 bytesscripts/test/corpus/CounterRules/verdict-3.outasset3,041 bytesscripts/test/corpus/CounterRules/verdict-4.outasset2,824 bytesscripts/test/corpus/CounterStart/ChartRun.outasset2,725 bytesscripts/test/corpus/CounterStart/CounterStart.cfgasset53 bytesscripts/test/corpus/CounterStart/CounterStart.tlaasset180 bytesscripts/test/corpus/CounterStart/chart.mmdasset351 bytesscripts/test/corpus/CounterStart/graph.dotasset466 bytesscripts/test/corpus/CounterStart/report.mddoc343 bytesscripts/test/corpus/CounterStart/sany.outasset37,436 bytesscripts/test/corpus/CounterStart/verdict-1.exitasset3 bytesscripts/test/corpus/CounterStart/verdict-1.outasset1,353 bytesscripts/test/corpus/CounterStart/verdict-2.outasset2,702 bytesscripts/test/corpus/CounterStop/ChartRun.outasset2,674 bytesscripts/test/corpus/CounterStop/CounterStop.cfgasset53 bytesscripts/test/corpus/CounterStop/CounterStop.tlaasset172 bytesscripts/test/corpus/CounterStop/chart.mmdasset87 bytesscripts/test/corpus/CounterStop/graph.dotasset466 bytesscripts/test/corpus/CounterStop/report.mddoc127 bytesscripts/test/corpus/CounterStop/sany.outasset36,919 bytesscripts/test/corpus/CounterStop/verdict-1.outasset2,217 bytesscripts/test/corpus/CounterTie/ChartRun.outasset2,833 bytesscripts/test/corpus/CounterTie/CounterTie.cfgasset96 bytesscripts/test/corpus/CounterTie/CounterTie.tlaasset263 bytesscripts/test/corpus/CounterTie/chart.mmdasset600 bytesscripts/test/corpus/CounterTie/graph.dotasset798 bytesscripts/test/corpus/CounterTie/report.mddoc675 bytesscripts/test/corpus/CounterTie/sany.outasset45,338 bytesscripts/test/corpus/CounterTie/verdict-1.exitasset3 bytesscripts/test/corpus/CounterTie/verdict-1.outasset2,137 bytesscripts/test/corpus/CounterTie/verdict-2.exitasset3 bytesscripts/test/corpus/CounterTie/verdict-2.outasset2,606 bytesscripts/test/corpus/CounterTie/verdict-3.exitasset3 bytesscripts/test/corpus/CounterTie/verdict-3.outasset3,248 bytesscripts/test/corpus/CounterTie/verdict-4.outasset2,682 bytesscripts/test/corpus/CounterTieInGraph/ChartRun.outasset2,798 bytesscripts/test/corpus/CounterTieInGraph/CounterTieInGraph.cfgasset72 bytesscripts/test/corpus/CounterTieInGraph/CounterTieInGraph.tlaasset283 bytesscripts/test/corpus/CounterTieInGraph/chart.mmdasset455 bytesscripts/test/corpus/CounterTieInGraph/graph.dotasset933 bytesscripts/test/corpus/CounterTieInGraph/report.mddoc192 bytesscripts/test/corpus/CounterTieInGraph/sany.outasset47,544 bytesscripts/test/corpus/CounterTieInGraph/verdict-1.exitasset3 bytesscripts/test/corpus/CounterTieInGraph/verdict-1.outasset2,168 bytesscripts/test/corpus/CounterTieInGraph/verdict-2.outasset2,702 bytesscripts/test/corpus/CounterView/ChartRun.outasset2,836 bytesscripts/test/corpus/CounterView/CounterView.cfgasset96 bytesscripts/test/corpus/CounterView/CounterView.tlaasset264 bytesscripts/test/corpus/CounterView/chart.mmdasset502 bytesscripts/test/corpus/CounterView/graph.dotasset798 bytesscripts/test/corpus/CounterView/report.mddoc686 bytesscripts/test/corpus/CounterView/sany.outasset45,402 bytesscripts/test/corpus/CounterView/verdict-1.exitasset3 bytesscripts/test/corpus/CounterView/verdict-1.outasset2,141 bytesscripts/test/corpus/CounterView/verdict-2.exitasset3 bytesscripts/test/corpus/CounterView/verdict-2.outasset2,610 bytesscripts/test/corpus/CounterView/verdict-3.exitasset3 bytesscripts/test/corpus/CounterView/verdict-3.outasset3,256 bytesscripts/test/corpus/CounterView/verdict-4.outasset2,683 bytesscripts/test/corpus/CounterView/view.mjsruns67 bytesscripts/test/corpus/DieHard/ChartRun.outasset2,746 bytesscripts/test/corpus/DieHard/DieHard.cfgasset51 bytesscripts/test/corpus/DieHard/DieHard.tlaasset900 bytesscripts/test/corpus/DieHard/chart.mmdasset2,098 bytesscripts/test/corpus/DieHard/graph.dotasset10,782 bytesscripts/test/corpus/DieHard/report.mddoc427 bytesscripts/test/corpus/DieHard/sany.outasset67,417 bytesscripts/test/corpus/DieHard/verdict-1.exitasset3 bytesscripts/test/corpus/DieHard/verdict-1.outasset3,059 bytesscripts/test/corpus/DieHard/verdict-2.outasset2,679 bytesscripts/test/corpus/FirstRule/ChartRun.outasset2,773 bytesscripts/test/corpus/FirstRule/FirstRule.cfgasset69 bytesscripts/test/corpus/FirstRule/FirstRule.tlaasset173 bytesscripts/test/corpus/FirstRule/chart.mmdasset523 bytesscripts/test/corpus/FirstRule/graph.dotasset636 bytesscripts/test/corpus/FirstRule/report.mddoc380 bytesscripts/test/corpus/FirstRule/sany.outasset35,468 bytesscripts/test/corpus/FirstRule/verdict-1.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-1.outasset2,134 bytesscripts/test/corpus/FirstRule/verdict-2.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-2.outasset2,607 bytesscripts/test/corpus/FirstRule/verdict-3.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-3.outasset2,604 bytesscripts/test/corpus/FirstRule/verdict-4.exitasset3 bytesscripts/test/corpus/FirstRule/verdict-4.outasset2,991 bytesscripts/test/corpus/HiddenClock/ChartRun.outasset2,675 bytesscripts/test/corpus/HiddenClock/HiddenClock.cfgasset71 bytesscripts/test/corpus/HiddenClock/HiddenClock.tlaasset290 bytesscripts/test/corpus/HiddenClock/chart.mmdasset277 bytesscripts/test/corpus/HiddenClock/graph.dotasset467 bytesscripts/test/corpus/HiddenClock/report.mddoc491 bytesscripts/test/corpus/HiddenClock/sany.outasset44,753 bytesscripts/test/corpus/HiddenClock/verdict-1.exitasset3 bytesscripts/test/corpus/HiddenClock/verdict-1.outasset2,716 bytesscripts/test/corpus/Login/ChartRun.outasset2,662 bytesscripts/test/corpus/Login/Login.cfgasset46 bytesscripts/test/corpus/Login/Login.tlaasset2,804 bytesscripts/test/corpus/Login/chart.mmdasset735 bytesscripts/test/corpus/Login/graph.dotasset2,946 bytesscripts/test/corpus/Login/report.mddoc304 bytesscripts/test/corpus/Login/sany.outasset61,094 bytesscripts/test/corpus/Login/verdict-1.outasset2,084 bytesscripts/test/corpus/Login/view.mjsruns47 bytesscripts/test/corpus/LoginGuarded/ChartRun.outasset2,683 bytesscripts/test/corpus/LoginGuarded/LoginGuarded.cfgasset56 bytesscripts/test/corpus/LoginGuarded/LoginGuarded.tlaasset3,297 bytesscripts/test/corpus/LoginGuarded/chart.mmdasset856 bytesscripts/test/corpus/LoginGuarded/graph.dotasset2,836 bytesscripts/test/corpus/LoginGuarded/report.mddoc295 bytesscripts/test/corpus/LoginGuarded/sany.outasset86,678 bytesscripts/test/corpus/LoginGuarded/verdict-1.outasset2,105 bytesscripts/test/corpus/LoginGuarded/view.mjsruns75 bytesscripts/test/corpus/LoginParallel/ChartRun.outasset2,765 bytesscripts/test/corpus/LoginParallel/LoginParallel.cfgasset76 bytesscripts/test/corpus/LoginParallel/LoginParallel.tlaasset2,619 bytesscripts/test/corpus/LoginParallel/chart.mmdasset1,114 bytesscripts/test/corpus/LoginParallel/graph.dotasset5,138 bytesscripts/test/corpus/LoginParallel/report.mddoc696 bytesscripts/test/corpus/LoginParallel/sany.outasset65,596 bytesscripts/test/corpus/LoginParallel/verdict-1.exitasset3 bytesscripts/test/corpus/LoginParallel/verdict-1.outasset3,109 bytesscripts/test/corpus/LoginParallel/verdict-2.outasset2,697 bytesscripts/test/corpus/LoginParallel/view.mjsruns75 bytesscripts/test/corpus/MediaPlayer/ChartRun.outasset2,747 bytesscripts/test/corpus/MediaPlayer/MediaPlayer.cfgasset77 bytesscripts/test/corpus/MediaPlayer/MediaPlayer.tlaasset3,514 bytesscripts/test/corpus/MediaPlayer/chart.mmdasset1,202 bytesscripts/test/corpus/MediaPlayer/graph.dotasset8,433 bytesscripts/test/corpus/MediaPlayer/report.mddoc506 bytesscripts/test/corpus/MediaPlayer/sany.outasset106,159 bytesscripts/test/corpus/MediaPlayer/verdict-1.exitasset3 bytesscripts/test/corpus/MediaPlayer/verdict-1.outasset2,239 bytesscripts/test/corpus/MediaPlayer/verdict-2.outasset3,573 bytesscripts/test/corpus/MediaPlayer/view.mjsruns195 bytesscripts/test/corpus/MediaPlayerFixed/ChartRun.outasset2,698 bytesscripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.cfgasset52 bytesscripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.tlaasset3,472 bytesscripts/test/corpus/MediaPlayerFixed/chart.mmdasset880 bytesscripts/test/corpus/MediaPlayerFixed/graph.dotasset7,629 bytesscripts/test/corpus/MediaPlayerFixed/report.mddoc363 bytesscripts/test/corpus/MediaPlayerFixed/sany.outasset107,448 bytesscripts/test/corpus/MediaPlayerFixed/verdict-1.outasset2,120 bytesscripts/test/corpus/MediaPlayerFixed/view.mjsruns195 bytesscripts/test/corpus/MediaPlayerProps/ChartRun.outasset2,853 bytesscripts/test/corpus/MediaPlayerProps/MediaPlayer.tlaasset3,514 bytesscripts/test/corpus/MediaPlayerProps/MediaPlayerProps.cfgasset107 bytesscripts/test/corpus/MediaPlayerProps/MediaPlayerProps.tlaasset164 bytesscripts/test/corpus/MediaPlayerProps/chart.mmdasset1,125 bytesscripts/test/corpus/MediaPlayerProps/graph.dotasset8,433 bytesscripts/test/corpus/MediaPlayerProps/report.mddoc766 bytesscripts/test/corpus/MediaPlayerProps/sany.outasset110,999 bytesscripts/test/corpus/MediaPlayerProps/verdict-1.exitasset3 bytesscripts/test/corpus/MediaPlayerProps/verdict-1.outasset2,408 bytesscripts/test/corpus/MediaPlayerProps/verdict-2.outasset2,861 bytesscripts/test/corpus/MediaPlayerProps/verdict-3.outasset2,828 bytesscripts/test/corpus/MediaPlayerProps/verdict-4.exitasset3 bytesscripts/test/corpus/MediaPlayerProps/verdict-4.outasset2,669 bytesscripts/test/corpus/MediaPlayerProps/verdict-5.exitasset3 bytesscripts/test/corpus/MediaPlayerProps/verdict-5.outasset2,292 bytesscripts/test/corpus/MediaPlayerProps/verdict-6.outasset2,274 bytesscripts/test/corpus/MediaPlayerProps/view.mjsruns195 bytesscripts/test/corpus/PickWorker/ChartRun.outasset2,672 bytesscripts/test/corpus/PickWorker/PickWorker.cfgasset125 bytesscripts/test/corpus/PickWorker/PickWorker.tlaasset298 bytesscripts/test/corpus/PickWorker/chart.mmdasset67 bytesscripts/test/corpus/PickWorker/graph.dotasset403 bytesscripts/test/corpus/PickWorker/report.mddoc303 bytesscripts/test/corpus/PickWorker/sany.outasset262,944 bytesscripts/test/corpus/PickWorker/verdict-1.outasset3,349 bytesscripts/test/corpus/Shadow/ChartRun.outasset2,935 bytesscripts/test/corpus/Shadow/Shadow.cfgasset88 bytesscripts/test/corpus/Shadow/Shadow.tlaasset225 bytesscripts/test/corpus/Shadow/ShadowLib.tlaasset146 bytesscripts/test/corpus/Shadow/ShadowSub.tlaasset43 bytesscripts/test/corpus/Shadow/chart.mmdasset115 bytesscripts/test/corpus/Shadow/graph.dotasset636 bytesscripts/test/corpus/Shadow/report.mddoc372 bytesscripts/test/corpus/Shadow/sany.outasset44,875 bytesscripts/test/corpus/Shadow/verdict-1.outasset3,026 bytesscripts/test/corpus/SpacedNames/ChartRun.outasset2,745 bytesscripts/test/corpus/SpacedNames/SpacedNames.cfgasset35 bytesscripts/test/corpus/SpacedNames/SpacedNames.tlaasset268 bytesscripts/test/corpus/SpacedNames/chart.mmdasset513 bytesscripts/test/corpus/SpacedNames/graph.dotasset855 bytesscripts/test/corpus/SpacedNames/report.mddoc297 bytesscripts/test/corpus/SpacedNames/sany.outasset24,142 bytesscripts/test/corpus/SpacedNames/verdict-1.exitasset3 bytesscripts/test/corpus/SpacedNames/verdict-1.outasset2,353 bytesscripts/test/corpus/SpacedNames/verdict-2.exitasset3 bytesscripts/test/corpus/SpacedNames/verdict-2.outasset2,928 bytesscripts/test/corpus/TwoPhase/ChartRun.outasset3,023 bytesscripts/test/corpus/TwoPhase/TwoPhase.cfgasset76 bytesscripts/test/corpus/TwoPhase/TwoPhase.tlaasset2,140 bytesscripts/test/corpus/TwoPhase/chart.mmdasset1,878 bytesscripts/test/corpus/TwoPhase/graph.dotasset38,927 bytesscripts/test/corpus/TwoPhase/report.mddoc818 bytesscripts/test/corpus/TwoPhase/sany.outasset89,545 bytesscripts/test/corpus/TwoPhase/verdict-1.exitasset3 bytesscripts/test/corpus/TwoPhase/verdict-1.outasset3,529 bytesscripts/test/corpus/TwoPhase/verdict-2.outasset2,685 bytesscripts/test/corpus/TwoPhase/view.mjsruns90 bytesscripts/test/corpus/TwoPhaseFixed/ChartRun.outasset2,692 bytesscripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.cfgasset76 bytesscripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tlaasset2,108 bytesscripts/test/corpus/TwoPhaseFixed/chart.mmdasset1,068 bytesscripts/test/corpus/TwoPhaseFixed/graph.dotasset28,548 bytesscripts/test/corpus/TwoPhaseFixed/report.mddoc468 bytesscripts/test/corpus/TwoPhaseFixed/sany.outasset90,332 bytesscripts/test/corpus/TwoPhaseFixed/verdict-1.outasset2,113 bytesscripts/test/corpus/TwoPhaseFixed/view.mjsruns90 bytesscripts/test/corpus/TypeGuard/ChartRun.exitasset3 bytesscripts/test/corpus/TypeGuard/ChartRun.outasset2,966 bytesscripts/test/corpus/TypeGuard/TypeGuard.cfgasset54 bytesscripts/test/corpus/TypeGuard/TypeGuard.tlaasset187 bytesscripts/test/corpus/TypeGuard/chart.mmdasset370 bytesscripts/test/corpus/TypeGuard/graph.dotasset560 bytesscripts/test/corpus/TypeGuard/report.mddoc738 bytesscripts/test/corpus/TypeGuard/sany.outasset37,427 bytesscripts/test/corpus/TypeGuard/verdict-1.exitasset3 bytesscripts/test/corpus/TypeGuard/verdict-1.outasset2,419 bytesscripts/test/corpus/TypeGuard/verdict-2.exitasset3 bytesscripts/test/corpus/TypeGuard/verdict-2.outasset2,975 bytesscripts/test/corpus/UserNoDeadlock/ChartRun.outasset2,713 bytesscripts/test/corpus/UserNoDeadlock/UserNoDeadlock.cfgasset40 bytesscripts/test/corpus/UserNoDeadlock/UserNoDeadlock.tlaasset154 bytesscripts/test/corpus/UserNoDeadlock/chart.mmdasset477 bytesscripts/test/corpus/UserNoDeadlock/graph.dotasset636 bytesscripts/test/corpus/UserNoDeadlock/report.mddoc254 bytesscripts/test/corpus/UserNoDeadlock/sany.outasset35,387 bytesscripts/test/corpus/UserNoDeadlock/verdict-1.exitasset3 bytesscripts/test/corpus/UserNoDeadlock/verdict-1.outasset2,158 bytesscripts/test/corpus/UserNoDeadlock/verdict-2.exitasset3 bytesscripts/test/corpus/UserNoDeadlock/verdict-2.outasset3,022 bytesscripts/test/differential.test.tsruns18,644 bytesscripts/test/grid/Grid.cfgasset40 bytesscripts/test/grid/Grid.tlaasset205 bytesscripts/test/grid/sany.outasset40,105 bytesscripts/test/java.tsruns2,639 bytesscripts/test/labels.tsruns19,769 bytesscripts/test/messages.test.tsruns8,380 bytesscripts/test/pipeline.test.tsruns9,720 bytesscripts/test/plain-tlc.test.tsruns7,180 bytesscripts/test/render.test.tsruns3,257 bytesscripts/test/tlc-out.test.tsruns3,630 bytesscripts/test/tlc.tsruns5,743 bytesscripts/tsconfig.jsonasset225 bytesscripts/worker.tsruns1,095 bytes
Read SKILL.md
# Statechart
The chart shows how a system moves between states, in the words of the person who reads it. That person, the reader, decides whether the behavior is right.
## Run
Work in a scratch folder outside the repo. Write a TLA+ spec and its config. Then run:
```sh
<skill dir>/scripts/statechart SPEC.tla [--config FILE] [--view FILE] [--out DIR]
```
`scripts/statechart.ts` is TypeScript, so run it with a runtime that can execute TypeScript.
View the complete source on GitHubswarm
When your agent uses it
Fan out N parallel workers, drain them, and return one report. Use for /swarm, 'swarm this', or parallel coverage, races, gauntlets, and exploration.
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
1,098 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start
- Phase A: Frame
- Phase B: Fan out
- Phase C: Aggregate
- Phase D: Report
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore4,542 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Swarm
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
## Start
Open a todolist with one entry per phase before launching anything.
View the complete source on GitHubtdd
When your agent uses it
Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
652 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- If a Failing Test Is Impractical
- Guardrails
- Final Response
Files
SKILL.mdcore3,337 bytes
Read SKILL.md
# TDD Bug Fix
When fixing a bug with a clear, cheap test path, make the broken behavior executable before changing production code. The goal is a focused regression test that fails before the fix and passes after it.
Do not force a test when it would be impractical. If the available test would require broad harness setup, brittle mocks, slow end-to-end infrastructure, production-only state, vague reproduction steps, or large unrelated fixture churn, skip adding a new test and use the closest useful verification instead.
## Workflow
1. **Understand the bug.** Identify the intended behavior, current behavior, affected path, and smallest observable reproduction.
2. **Choose the narrowest executable check.** Prefer the closest unit, component, integration, or regression test already used for that codepath. If no practical test path is obvious, do not create one from scratch just to satisfy the workflow.
3. **Write the failing test first.** Add the smallest focused test that would have caught the bug. The test should encode intended behavior, not mirror the current implementation.
4. **Run the new test before fixing.** Confirm it fails for the intended reason. Quote the failure content, not the assertion line: an exception, an empty result against a literal, and the predicted mismatch all print red, and only the last one proves the test measures the bug. If it passes or fails for an unrelated reason, correct the test or reproduction before editing the implementation.
5. **Fix the bug.** Make the smallest production change that satisfies the intended behavior while preserving nearby contracts.
6. **Rerun the regression test.** Confirm the test now passes.View the complete source on GitHubteach
When your agent uses it
Explain a body of work plainly so a person actually understands it. Runs the `how` and `why` skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
1,421 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore6,173 bytesSKILL.mdcore6,173 bytesSKILL.mdcore6,173 bytes
Read SKILL.md
# Teach
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
**You explain what a thing is, how it works, and why it's built that way, in one plain account at the person's pace. The goal is that they understand it, not that you change anything.**
Teach sits on top of `how` and `why`. Get your bearings on what the work is and what it touches, then run `how` for how it works and `why` for why it's that way. Those are real skill invocations that do their own digging. Blend what they find into one plain explanation, lead with what matters to the person, and go deeper when they ask. Reword freely for teaching, with one exception. Keep `why`'s confidence language intact (its hedges are findings, not style).
View the complete source on GitHubtechnical-writing
When your agent uses it
Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for /technical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
2,069 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Vary the rhythm
- Pick the mode first (Diátaxis)
- Write sentences to the reader (Google developer style)
- Make statements load one at a time (STE rules)
- Leave no sentence open to two readings (Global English)
- Voice and repo specifics
- Worked example
Files
SKILL.mdcore9,062 bytes
Read SKILL.md
# Technical writing
Write so a tired engineer understands on the first read. Apply all four layers.
Three rules sit above the layers:
- **Cut every word that does no work.** If the sentence survives without a word, the word goes. "In order to" is "to". "It is important to note that" is nothing.
- **Use the short, everyday word.** "Use", not "utilize". "Help", not "facilitate". "Do", not "perform". A long word has to buy its length with precision.
- **When a rule makes a sentence worse, fix the sentence another way or leave it alone.** A sentence that follows every rule and sounds like a machine wrote it has failed.
The codebase is the word list. Write the real symbol, file, flag, or command name, not a synonym or a description of it.
Don't invent jargon. Use the words a developer would say out loud: "move", "delete", "a budget that only decreases", not "evacuate", "ratchet", or "endgame". A named pattern is fine when the doc says what it means the first time. Propose a new offender and its replacement as an addition to `unslop`'s abstract-metaphor rule in your reply, with the diff. Don't edit that skill.
View the complete source on GitHubthermo-nuclear-code-quality-review
When your agent uses it
Run an extremely strict maintainability review for abstraction quality, giant files, and spaghetti-condition growth. Use for a thermo-nuclear code quality review, thermonuclear review, deep code quality audit, or especially harsh maintainability review.
What it loads into context
Frontmatter
57 tokensAlways available to the agent
SKILL.md
2,716 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core Prompt
- Non-Negotiable Additional Standards
- Primary Review Questions
- What to Flag Aggressively
- Preferred Remedies
- Review Tone
- Output Expectations
- Report Format
- Approval Bar
Files
SKILL.mdcore13,551 bytes
Read SKILL.md
# Thermo-Nuclear Code Quality Review
Use this skill for an unusually strict review focused on implementation quality, maintainability, abstraction quality, and codebase health.
Above all, this skill should push the reviewer to be **ambitious** about code structure. Do not merely identify local cleanup opportunities. Actively search for "code judo" moves: restructurings that preserve behavior while making the implementation dramatically simpler, smaller, more direct, and more elegant.
## Core Prompt
Start from this baseline:
> Perform a deep code quality audit of the current branch's changes.
> Rethink how to structure / implement the changes to meaningfully improve code quality without impacting behavior.
> Work to improve abstractions, modularity, reduce Spaghetti code, improve succinctness and legibility.
> Be ambitious, if there is a clear path to improving the implementation that involves restructuring some of the codebase, go for it.View the complete source on GitHubthermo-nuclear-review
When your agent uses it
Comprehensive security and correctness audit of a branch's changes. Use for thermo nuclear, thermonuclear, or deep review requests, or branch/PR diff audits focused on bugs, breaking changes, security issues, devex regressions, and feature-gate leaks.
What it loads into context
Frontmatter
61 tokensAlways available to the agent
SKILL.md
893 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prompt
- Breaking Functionality Guidelines
- Breaking Devex Guidelines
- Feature Leak Guidelines
- Intended Breakage Guidelines
- Over-reporting Guidelines
Files
SKILL.mdcore4,528 bytes
Read SKILL.md
# Thermo Nuclear Review
Use this skill for a comprehensive security and correctness audit of a checked-out branch.
## Prompt
You are a security expert performing a comprehensive review of a checked out branch. Audit this branch and its changes extremely thoroughly for bugs, changes that break existing features/functionality, and security vulnerabilities. Be EXTREMELY thorough, rigorous, careful, ambitious, and attentive. NOTHING can slip through.
# Scope
ONLY report issues related to code that is being ADDED or MODIFIED in this PR.
Focus on changes in the diff.
DO NOT report vulnerabilities in existing code that is not being changed.
# GuidelinesView the complete source on GitHubthermos
When your agent uses it
Launch both thermo-nuclear review subagents in parallel, then synthesize their findings. Use for thermos, double thermo review, or combined bug/security and code-quality branch audits.
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
872 tokensWhen the skill is activated
Reference documents
13,763 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore3,775 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Thermos
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Run the two thermo review passes as async background subagents in parallel, then synthesize their results.
## Workflow
View the complete source on GitHubtypescript-best-practices
When your agent uses it
TypeScript best practices. Use when reading or editing any .ts or .tsx file.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
699 tokensWhen the skill is activated
Reference documents
5,403 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore2,874 bytesreferences/patterns.mddoc9,287 bytes
Read SKILL.md
# TypeScript best practices
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
Apply the **type-system-discipline** principle skill first.
| Rule | Summary |
|------|---------|
| Discriminated unions | Model variants with a `kind` literal discriminant so impossible states can't be represented. No optional-field bags. |
| Branded types | Brand primitives with `& { readonly __brand: "X" }` so they can't be mixed up. Validate once at the boundary. A brand comes from a verifying type guard (`input is AgentId`), never from `as`. |
| Constructive modeling | Build the shape so the illegal value can't be constructed. `[T, ...T[]]` for non-empty, `[T, T][]` for even length, `start` plus `duration` for a range. Not a runtime guard, not a wish for refinement types. |
| Simplest total type | Keep `T[]` while every operation on it stays total. Strengthen to `NonEmpty<T>` only where the loose type forces `!`, a cast, or a "should never happen" throw. |
| `unknown` over `any` | External data is `unknown`. |
| Schemas before guards | Before hand-writing a property-by-property type guard, use the repository's runtime schema library and infer the type from the schema, such as `z.infer`. |View the complete source on GitHubunslop
When your agent uses it
Cut AI tells from any writing.
What it loads into context
Frontmatter
14 tokensAlways available to the agent
SKILL.md
1,392 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Patterns to detect and fix
Files
SKILL.mdcore5,796 bytesSKILL.mdcore5,796 bytes
Read SKILL.md
# Unslop
Edit text to remove AI patterns. Scan for the patterns below, then rewrite. Preserve meaning and match the intended tone.
## Patterns to detect and fix
Rule numbers are stable ids that other skills cite. A removed rule leaves a gap.
### Content
3. **Superficial -ing phrases.** "highlighting...", "ensuring...", "reflecting...", "showcasing...", "fostering...". Delete or expand with real sources.
5. **Vague attributions.** "Experts believe", "Industry reports suggest", "Some critics argue". Name the source or delete.
### LanguageView the complete source on GitHubwhat-did-i-get-done
When your agent uses it
Summarize authored commits over a user-specified time period into a concise update
What it loads into context
Frontmatter
28 tokensAlways available to the agent
SKILL.md
222 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Trigger
- Workflow
- Guardrails
- Output
Files
SKILL.mdcore1,012 bytes
Read SKILL.md
# What did I get done
## Trigger
Need a short, high-signal summary of work completed in a specific time range (for example: yesterday, last 3 days, or last week).
## Workflow
1. Resolve the requested time window into concrete dates.
2. Read commits authored by the current git user email within that range.
3. Exclude merge commits and uncommitted changes.
4. Synthesize the most important shipped changes into a concise status update.
5. Include the actual date range used in the final summary.
View the complete source on GitHubwhy
When your agent uses it
Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.
What it loads into context
Frontmatter
94 tokensAlways available to the agent
SKILL.md
2,429 tokensWhen the skill is activated
Reference documents
24,024 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Operating Posture
- Step 1. Understand the Target and the Question
- Step 2. Establish the Code Anchor
- Step 3. Spawn Parallel Investigators
- Step 4. Synthesize
- Step 5. Present
- Output Format
- Common Failure Modes to Avoid
- Models
- Reasoning effort
Scripts executed separately
../../../../tools/generate.mjs
Files
../poteto-mode/references/agy-tools.mddoc10,147 bytes../poteto-mode/references/codex-tools.mddoc12,318 bytes../poteto-mode/references/copilot-tools.mddoc20,758 bytes../poteto-mode/references/muse-tools.mddoc12,973 bytesSKILL.mdcore10,728 bytesSKILL.mdcore10,728 bytesSKILL.mdcore10,728 bytesSKILL.mdcore10,728 bytesreferences/epistemics.mddoc7,983 bytesreferences/investigator-prompt.mddoc5,788 bytesreferences/source-playbook.mddoc1,363 bytesreferences/sources/code-archaeology.mddoc1,440 bytesreferences/sources/databricks.mddoc6,994 bytesreferences/sources/datadog.mddoc4,971 bytesreferences/sources/incident-postmortem.mddoc372 bytesreferences/sources/linear.mddoc2,996 bytesreferences/sources/notion.mddoc2,853 bytesreferences/sources/sentry.mddoc2,089 bytesreferences/sources/slack.mddoc1,336 bytesreferences/synthesizer-prompt.mddoc7,451 bytes../../../../tools/generate.mjsruns48,974 bytes
Read SKILL.md
# Why
On Codex, read the [platform mapping](../poteto-mode/references/codex-tools.md), including its per-skill notes, before following this skill.
On GitHub Copilot, read the [platform mapping](../poteto-mode/references/copilot-tools.md), including its per-skill notes, before following this skill.
On Muse, read the [platform mapping](../poteto-mode/references/muse-tools.md), including its per-skill notes, before following this skill.
On Antigravity, read the [platform mapping](../poteto-mode/references/agy-tools.md), including its per-skill notes, before following this skill.
Investigate the motivation and intent behind code. The companion `how` skill answers what the code does and how it works. `why` answers what forces led to its shape.
Each spawn below names a role line in `pstack-models.md` and a default in [Models](#models). Set `model` to that line's value, or to the default if the sheet or the 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.
View the complete source on GitHubSkills 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
- #333 on Nov 1
- #324 on Nov 2
- #320 on Nov 3
- #317 on Nov 4
- #312 on Nov 5
- #309 since Nov 6
75 earlier periods
- #904 on Aug 14
- #875 on Aug 15
- #897 on Aug 16
- #922 on Aug 18
- #920 on Aug 19
- #902 on Aug 20
- #912 on Aug 21
- #858 on Aug 22
- #912 on Aug 23
- #924 on Aug 24
- #933 on Aug 25
- #910 on Aug 26
- #917 on Aug 27
- #952 on Aug 28
- #870 on Aug 29
- #874 on Aug 30
- #922 on Aug 31
- #955 on Sep 1
- #918 on Sep 2
- #925 on Sep 3
- #888 on Sep 4
- #866 on Sep 5
- #902 on Sep 6
- #927 on Sep 7
- #939 on Sep 8
- #924 on Sep 9
- #916 on Sep 10
- #880 on Sep 11
- #876 from Sep 12 to Sep 13
- #911 on Sep 14
- #897 on Sep 15
- #908 on Sep 16
- #902 on Sep 17
- #884 on Sep 18
- #858 on Sep 19
- #876 on Sep 20
- #893 on Sep 21
- #911 on Sep 22
- #902 on Sep 23
- #862 on Sep 24
- #806 on Sep 25
- #812 on Sep 26
- #828 on Sep 27
- #857 on Sep 28
- #871 on Sep 29
- #833 on Sep 30
- #773 on Oct 1
- #758 on Oct 2
- #636 on Oct 3
- #583 on Oct 4
- #520 on Oct 5
- #522 on Oct 6
- #518 on Oct 7
- #524 on Oct 8
- #505 on Oct 9
- #493 on Oct 10
- #490 on Oct 11
- #492 on Oct 12
- #476 on Oct 13
- #466 on Oct 14
- #409 on Oct 15
- #396 on Oct 16
- #375 on Oct 17
- #365 on Oct 18
- #354 on Oct 19
- #346 on Oct 20
- #341 on Oct 21
- #338 on Oct 22
- #334 on Oct 23
- #330 on Oct 24
- #338 on Oct 25
- #329 on Oct 28
- #334 on Oct 29
- #335 on Oct 30
- #334 on Oct 31
Before you install
Network or broad shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/architect/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/skills/arena/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/skills/babysit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/skills/blast-radius/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/skills/correct/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/skills/fix-ci/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/skills/how/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notesplugins/pstack/hooks.json:1Plugin-wide analysis incomplete; see repository notes
- No broad tool permissions
- 14 dangerous shell commandsin 7 files: statechart/scripts/test/corpus/TwoPhase/TwoPhase.tla:9 statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tla:9 statechart/scripts/test/cli.test.ts:1301 and 4 more
- 89 network referencesin 20 files: tools/generate.mjs:734 poteto-mode/scripts/watch-pr/cli.test.ts:152 poteto-mode/scripts/watch-pr/github.ts:218 and 17 more
- No hidden or obfuscated text
- No instruction overrides
- 101 executable scriptsin 91 files: tools/generate.mjs:1 poteto-mode/scripts/.prettierignore:1 poteto-mode/scripts/bootstrap.ts:1 and 88 more
- No access to secrets
- No requests to vote in Hot
Show all 204 signals by file
.claude-plugin/marketplace.json
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
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
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
- Contacts bun.sh, which SKILL.md, the README and the plugin manifest do not mentionpoteto-mode/scripts/bootstrap.ts:9High confidence
Signal confidence: 182 facts
- Network access in prose of the SKILL.mdcreate-verification-skill/SKILL.md:16Low confidence
- Network access in prose of the SKILL.mdplugins/pstack/skills/create-verification-skill/SKILL.md:16Low confidence
- Network access in prose of the SKILL.mdplugins/pstack/skills/create-verification-skill/SKILL.md:16Low confidence
- Network access in prose of documentationcreate-verification-skill/references/feature-map-example/README.md:7Low confidence
- Network access in prose of documentationcreate-verification-skill/references/feature-map-example/create-note.md:22Low confidence
- Network access in prose of documentationcreate-verification-skill/references/feature-map-example/search.md:24Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:12Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:37Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:39Low confidence
- Network access in prose of the SKILL.mdpoteto-help/SKILL.md:41Low confidence
- Network access in prose of the SKILL.mdplugins/pstack/skills/poteto-mode/SKILL.md:14Low confidence
- Network access in prose of the SKILL.mdpoteto-mode/SKILL.md:14Low confidence
- Network access in prose of the SKILL.mdplugins/pstack/skills/poteto-mode/SKILL.md:123Low confidence
- Network access in prose of the SKILL.mdpoteto-mode/SKILL.md:123Low confidence
- Dangerous shell operation in prose of documentationpoteto-mode/playbooks/worktree-cleanup.md:7Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:7Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:8Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:9Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:10Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:11Low confidence
- Network access in prose of documentationpoteto-mode/references/licenses/NOTICE.md:13Low confidence
- Network access in prose of documentationpoteto-mode/references/merge-safety.md:43Low confidence
- Executable script in a comment of a file that runspoteto-mode/scripts/.prettierignore:1Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/bootstrap.ts:1High confidence
- Network access in code of a file that runspoteto-mode/scripts/bootstrap.ts:7High confidence
- Network access in code of a file that runspoteto-mode/scripts/bootstrap.ts:8High confidence
- Network access in code of a file that runspoteto-mode/scripts/bootstrap.ts:9High confidence
- Executable script in code of a file that runspoteto-mode/scripts/check-plan.mjs:1High confidence
- Executable script in code of a testpoteto-mode/scripts/check-plan.test.ts:1Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/check-playbooks.mjs:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/codex-session-effort.mjs:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/package.json:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/resume.mjs:1High confidence
- Executable script in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:1Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:152Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:153Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:154Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:303Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:304Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:305Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:344Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:345Low confidence
- Network access in code of a testpoteto-mode/scripts/watch-pr/cli.test.ts:346Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/cli.ts:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/deadline.ts:1High confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/fakes.test-helper.ts:1High confidence
- Executable script in code of a testpoteto-mode/scripts/watch-pr/fresh-install.test.ts:1Low confidence
- Executable script in code of a testpoteto-mode/scripts/watch-pr/github.test.ts:1Low confidence
- Executable script in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:1High confidence
- Network access in code of a file that runspoteto-mode/scripts/watch-pr/github.ts:218High confidence
and 132 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md plugins/pstack/grok/skills/pstack-routing/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.
[](https://hotskills.dev/skill/michael-denyer-pstack-claude/)