Skip to content

port pstack 0.15.27 (#692, #708, #709, #710, #712, #713, #715) - #6

Merged
caelaxie merged 1 commit into
mainfrom
cursor/port-pstack-0.15.27-d8db
Oct 19, 2026
Merged

caelaxie merged 1 commit into
mainfrom
cursor/port-pstack-0.15.27-d8db

Conversation

@caelaxie

@caelaxie caelaxie commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Port upstream pstack/ from 019a6a20 (#704) through f9be7aa0 (#715). Version goes from 0.15.25 to 0.15.27. cursor-team-kit stays 1.2.0. The short port README only changes the version.

Upstream commits

  • 16541c6b / #692 — list every waiting item so each ketchup call is decidable
  • bc144379 / #708 — say outright that ketchup never cuts items to stay under a word count
  • 4382e687 / #709 — add /create-formal-verification-skill
  • 0b8e9520 / #710 — bump to 0.15.26
  • 75fabace / #712 — drop the rewritten-prompt ban from sharpen
  • 0148b78c / #713 — bump to 0.15.27
  • f9be7aa0 / #715 — offer formal verification in setup, sync help and guide

cursor-team-kit/ has no commits after 019a6a20. No .cursor-plugin/plugin.json (same as earlier port PRs). README skill-table lines from upstream are not applied.

Grok adaptations

New upstream text is copied verbatim, except:

  • docs/guide/06-verify-and-ship.md keeps .grok/skills/verify-<app>/ where upstream says .cursor/skills/verify-<app>/.
  • skills/poteto-help/SKILL.md keeps the existing Grok Build paragraph in place of upstream's "Other tools can read the skills… spawn Cursor subagents…" paragraph. The new Claude Code install paragraph is included verbatim, because docs/harness/claude-code.md is already in this port.
  • Root plugin.json is bumped to 0.15.27. Upstream's .cursor-plugin/plugin.json bump is not copied. This port has no Cursor plugin manifest.

Existing spawn and skill wording in the touched files stays: spawn_subagent, subagent_type: "pstack:poteto-agent", isolation: "worktree", .grok paths, bundled deslop / control-cli / control-ui, no custom mode, and the Grok model slugs in /setup-pstack.

CI

Validate plugin succeeded on 32fd02c. It reported Validated 58 skills, 2 agents, and 23 playbooks and Ran 68 tests across 5 files.

Harness proof

grok 1.0.62, on cursor/port-pstack-0.15.27-d8db at 32fd02cdbdcb5e4cdc9cd9e8b8f7d9441dc4c748.

$ grok plugin validate /workspace
Plugin manifest is valid.
  name: pstack
  version: 0.15.27
  description: if you want to go fast, go deep first. pstack helps you write less, but higher quality code. rigorous agent workflows you can parallelize with confidence.
  components: 1 skill dir(s), 0 command dir(s), 1 agent dir(s)

$ grok plugin install https://github.com/pstack-ports/grok-pstack@cursor/port-pstack-0.15.27-d8db --trust
Installed 1 plugin(s) from https://github.com/pstack-ports/grok-pstack@cursor/port-pstack-0.15.27-d8db: pstack

$ grok plugin list
  grok-pstack-619a4a2c: pstack [git: https://github.com/pstack-ports/grok-pstack]

$ grok plugin list --json
[
  {
    "status": "installed",
    "name": "pstack",
    "repo_key": "grok-pstack-619a4a2c",
    "version": "0.15.27",
    "path": "/home/ubuntu/.grok/installed-plugins/grok-pstack-619a4a2c",
    "source": "https://github.com/pstack-ports/grok-pstack",
    "marketplace": null
  }
]

$ grok plugin details pstack
grok-pstack-619a4a2c
  path: /home/ubuntu/.grok/installed-plugins/grok-pstack-619a4a2c
  kind: git: https://github.com/pstack-ports/grok-pstack
  installed: 2026-10-19T01:25:57.372408525+00:00
  updated: 2026-10-19T01:25:57.372408525+00:00
  plugins (1):
    pstack v0.15.27
  description: if you want to go fast, go deep first. pstack helps you write less, but higher quality code. rigorous agent workflows you can parallelize with confidence.
  components: 1 skill dir(s), 0 command dir(s), 1 agent dir(s)

$ git -C ~/.grok/installed-plugins/grok-pstack-619a4a2c rev-parse HEAD
32fd02cdbdcb5e4cdc9cd9e8b8f7d9441dc4c748

$ grok inspect --json | jq -r '.skills[] | select(.name=="ketchup" or .name=="sharpen" or .name=="create-formal-verification-skill" or .name=="setup-pstack" or .name=="poteto-help") | "\(.name)\tplugin=\(.source.plugin_name)\tuserInvocable=\(.userInvocable)\t\(.description)"'
create-formal-verification-skill	plugin=pstack	userInvocable=true	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.
ketchup	plugin=pstack	userInvocable=true	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.
poteto-help	plugin=pstack	userInvocable=true	Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.
setup-pstack	plugin=pstack	userInvocable=true	Configure which models pstack uses per role and at what budget. Detects your available models and writes a user rule that overrides the skill defaults. Use for /setup-pstack, "configure pstack models", "pstack budget", or changing pstack's model choices.
sharpen	plugin=pstack	userInvocable=true	Sharpen a task before starting: the expert approach, what the user is really after, and the right level of specification. Use for /sharpen.

grok inspect loads 58 skills from plugin pstack (57 before this port, plus create-formal-verification-skill). ketchup, sharpen, setup-pstack, and poteto-help resolve under those names with the new descriptions. The installed tree has ketchup's "Never cut items" line, no "rewritten prompt" ban in sharpen, and setup-pstack step 8.

A model turn did not run. grok -p '/ketchup' --max-turns 1 exited 1: not signed in, and XAI_API_KEY is unset.

Open in Web Open in Cursor 

Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verdict: changes requested (posted as comment, same account authored this).

content is clean. diffed every file against upstream 019a6a20...f9be7aa0 (pstack/):

  • 13 of 15 files match upstream's diff line for line.
  • docs/guide/06-verify-and-ship.md differs only in .grok/skills/verify-<app>/, same adaptation as before.
  • skills/poteto-help/SKILL.md drops upstream's "Other tools can read the skills…" paragraph in favor of the existing grok build paragraph; claude code paragraph is verbatim. ok.
  • README only bumps 0.15.25 -> 0.15.27; skipping the skill-table rows matches the short port readme. plugin.json 0.15.27 matches upstream. cursor-team-kit has no commits in range, stays 1.2.0.
  • ci green, no issue to link.

blocking: harness proof is still "Pending". need on this head:

  1. grok plugin install <branch checkout> --trust and grok plugin list output showing pstack 0.15.27.
  2. changed skills exercised in grok: at least /create-formal-verification-skill loads (it's new and disable-model-invocation: true), and /ketchup, /sharpen, /setup-pstack step 8 render the new text from the installed copy.

add it to the body or a comment and i'll re-review and merge.

@@ -0,0 +1,41 @@
---

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new skill: show it loading from the installed plugin in grok (invoked by /create-formal-verification-skill, since model invocation is off). part of the harness proof.

@cursor

cursor Bot commented Oct 19, 2026

Copy link
Copy Markdown

Harness proof. grok 1.0.62, branch cursor/port-pstack-0.15.27-d8db at 32fd02cdbdcb5e4cdc9cd9e8b8f7d9441dc4c748.

$ grok --version
grok 1.0.62 (1474f9cbdd91)

$ grok plugin validate /workspace
Plugin manifest is valid.
  name: pstack
  version: 0.15.27
  description: if you want to go fast, go deep first. pstack helps you write less, but higher quality code. rigorous agent workflows you can parallelize with confidence.
  components: 1 skill dir(s), 0 command dir(s), 1 agent dir(s)

$ grok plugin install https://github.com/pstack-ports/grok-pstack@cursor/port-pstack-0.15.27-d8db --trust
Installed 1 plugin(s) from https://github.com/pstack-ports/grok-pstack@cursor/port-pstack-0.15.27-d8db: pstack

$ grok plugin list
  grok-pstack-619a4a2c: pstack [git: https://github.com/pstack-ports/grok-pstack]

$ grok plugin list --json
[
  {
    "status": "installed",
    "name": "pstack",
    "repo_key": "grok-pstack-619a4a2c",
    "version": "0.15.27",
    "path": "/home/ubuntu/.grok/installed-plugins/grok-pstack-619a4a2c",
    "source": "https://github.com/pstack-ports/grok-pstack",
    "marketplace": null
  }
]

$ grok plugin details pstack
grok-pstack-619a4a2c
  path: /home/ubuntu/.grok/installed-plugins/grok-pstack-619a4a2c
  kind: git: https://github.com/pstack-ports/grok-pstack
  installed: 2026-10-19T01:25:57.372408525+00:00
  updated: 2026-10-19T01:25:57.372408525+00:00
  plugins (1):
    pstack v0.15.27
  description: if you want to go fast, go deep first. pstack helps you write less, but higher quality code. rigorous agent workflows you can parallelize with confidence.
  components: 1 skill dir(s), 0 command dir(s), 1 agent dir(s)

$ git -C ~/.grok/installed-plugins/grok-pstack-619a4a2c rev-parse HEAD
32fd02cdbdcb5e4cdc9cd9e8b8f7d9441dc4c748

$ grok plugin validate ~/.grok/installed-plugins/grok-pstack-619a4a2c
Plugin manifest is valid.
  name: pstack
  version: 0.15.27
  description: if you want to go fast, go deep first. pstack helps you write less, but higher quality code. rigorous agent workflows you can parallelize with confidence.
  components: 1 skill dir(s), 0 command dir(s), 1 agent dir(s)

$ grok inspect --json | jq -r '.skills[] | select(.name=="ketchup" or .name=="sharpen" or .name=="create-formal-verification-skill" or .name=="setup-pstack" or .name=="poteto-help") | "\(.name)\tplugin=\(.source.plugin_name)\tuserInvocable=\(.userInvocable)\t\(.description)"'
create-formal-verification-skill	plugin=pstack	userInvocable=true	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.
ketchup	plugin=pstack	userInvocable=true	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.
poteto-help	plugin=pstack	userInvocable=true	Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.
setup-pstack	plugin=pstack	userInvocable=true	Configure which models pstack uses per role and at what budget. Detects your available models and writes a user rule that overrides the skill defaults. Use for /setup-pstack, "configure pstack models", "pstack budget", or changing pstack's model choices.
sharpen	plugin=pstack	userInvocable=true	Sharpen a task before starting: the expert approach, what the user is really after, and the right level of specification. Use for /sharpen.

grok inspect loads 58 skills from plugin pstack. The installed copies contain ketchup's "Never cut items or shrink them to stay under a word count" line, no "rewritten prompt" ban in sharpen, setup-pstack step 8 ("Offer a formal verification skill"), and poteto-help routes to /create-formal-verification-skill.

A model turn did not run. grok -p '/ketchup' --max-turns 1 exited 1: not signed in, and XAI_API_KEY is unset.

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verdict: approved (posted as comment, same account authored this).

harness proof checks out on head 32fd02c (comment, mirrored in the body):

  • grok 1.0.62, grok plugin install https://github.com/pstack-ports/grok-pstack@cursor/port-pstack-0.15.27-d8db --trust installed pstack.
  • grok plugin list --json / plugin details show pstack 0.15.27, and git rev-parse HEAD in the installed checkout is 32fd02cdbdcb5e4cdc9cd9e8b8f7d9441dc4c748, the PR head.
  • grok inspect resolves create-formal-verification-skill, ketchup, sharpen, setup-pstack, poteto-help from plugin=pstack with the new descriptions; installed copies carry the ketchup "never cut items" line, no rewritten-prompt ban in sharpen, setup-pstack step 8.
  • no live model turn: CLI not signed in. per grok-pstack #5, inspect loading the changed skills counts as exercise when auth is the only blocker.

content was already verified (13/15 verbatim, 2 declared grok adaptations), Validate plugin still green on 32fd02c, no issue to link. squash-merging pinned to 32fd02c.

@caelaxie
caelaxie merged commit 1cd9648 into main Oct 19, 2026
1 check passed
@caelaxie
caelaxie deleted the cursor/port-pstack-0.15.27-d8db branch October 19, 2026 01:28
@caelaxie

Copy link
Copy Markdown
Contributor Author

Harness proof for head 32fd02cdbdcb5e4cdc9cd9e8b8f7d9441dc4c748 on cursor/port-pstack-0.15.27-d8db. grok 1.0.62, installed the same way as .github/workflows/ci.yml (https://x.ai/cli/stable resolved to 1.0.62, then curl -fsSL https://x.ai/cli/install.sh | bash -s 1.0.62).

$ grok --version
grok 1.0.62 (1474f9cbdd91)

$ grok plugin install https://github.com/pstack-ports/grok-pstack@cursor/port-pstack-0.15.27-d8db --trust
Installed 1 plugin(s) from https://github.com/pstack-ports/grok-pstack@cursor/port-pstack-0.15.27-d8db: pstack

$ grok plugin list
  grok-pstack-619a4a2c: pstack [git: https://github.com/pstack-ports/grok-pstack]

$ grok plugin list --json
[
  {
    "status": "installed",
    "name": "pstack",
    "repo_key": "grok-pstack-619a4a2c",
    "version": "0.15.27",
    "path": "/home/ubuntu/.grok/installed-plugins/grok-pstack-619a4a2c",
    "source": "https://github.com/pstack-ports/grok-pstack",
    "marketplace": null
  }
]

$ grok plugin details pstack
grok-pstack-619a4a2c
  path: /home/ubuntu/.grok/installed-plugins/grok-pstack-619a4a2c
  kind: git: https://github.com/pstack-ports/grok-pstack
  installed: 2026-10-19T01:27:54.485992176+00:00
  updated: 2026-10-19T01:27:54.485992176+00:00
  plugins (1):
    pstack v0.15.27

$ git -C ~/.grok/installed-plugins/grok-pstack-619a4a2c rev-parse HEAD
32fd02cdbdcb5e4cdc9cd9e8b8f7d9441dc4c748

grok plugin list --json and grok plugin details show pstack 0.15.27. The plain grok plugin list line does not print the version.

grok inspect loads /create-formal-verification-skill from that plugin (userInvocable: true). The installed frontmatter sets disable-model-invocation: true.

  Skills (58)
  └ create-formal-verification-skill                    plugin: pstack
$ grok inspect --json | jq -r '.skills[] | select(.name=="create-formal-verification-skill") | "\(.name)\tplugin=\(.source.plugin_name)\tuserInvocable=\(.userInvocable)\t\(.description)"'
create-formal-verification-skill	plugin=pstack	userInvocable=true	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.

Installed path: /home/ubuntu/.grok/installed-plugins/grok-pstack-619a4a2c (HEAD 32fd02c).

ketchup (skills/ketchup/SKILL.md):

description: "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."

Spend words on the calls, not on the story. Keep what happened under 100 words, not counting pictures, and shorter when less happened. Leave out work that changed nothing for the user. Give each item about 30 words. The reply grows with the number of items: two items need well under 150 words in all, not counting pictures, and thirty need far more. Never cut items or shrink them to stay under a word count: no count in place of a list, and no link in place of an item. A link can add depth, but the reply alone must be enough to decide.

sharpen (skills/sharpen/SKILL.md), full installed file:

---
name: sharpen
description: "Sharpen a task before starting: the expert approach, what the user is really after, and the right level of specification. Use for /sharpen."
disable-model-invocation: true
---

Before starting, ask how a top expert would approach this task (their raw sources, their real methods, an outside check that the result is right), what the user is really after, and whether the task is over- or underspecified. Loosen constraints that don't serve the goal as readily as you add ones that do, and leave choices that are the user's to make open instead of deciding them. Fold in only what makes the work better, not bigger, but always keep one outside check that the result is right, without narrating the framing, then do the work.

setup-pstack step 8 (skills/setup-pstack/SKILL.md):

### 8. Offer a formal verification skill (optional)

Check whether the project already has a formal verification skill (a project skill that runs a model checker, a proof, or another verifier against the code). If not, offer once: "want a formal verification skill, so agents can prove a key property of your code holds in every case in scope, not only the cases tests reach? I can generate one with /create-formal-verification-skill." On yes, invoke `/create-formal-verification-skill` (resolves wherever pstack is installed: workspace, user, or plugin). On no, move on without pushing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants