Skip to content

Port upstream pstack #729 - #21

Merged
caelaxie merged 1 commit into
mainfrom
cursor/port-pstack-729-34d9
Oct 21, 2026
Merged

caelaxie merged 1 commit into
mainfrom
cursor/port-pstack-729-34d9

Conversation

@caelaxie

@caelaxie caelaxie commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

summary

ports upstream cursor/plugins 88d4751 (#729) onto 0.15.28. bumps the pin to 0.15.29. cursor-team-kit stays 1.2.0. git log d45756733..origin/main -- pstack/ is exactly this one commit. nothing else under pstack/ after 0.15.28 is missing.

ported

  • #729 88d47514b restore /sharpen to the original prompt, return only the rewrite, bump to 0.15.29

skills/sharpen/SKILL.md, the guide paragraphs, the poteto-help row, and the recipe line are the upstream text. files this port already adapts keep those adaptations (install paths, model tiers, invoke_subagent workspaces, bundled /deslop, /goal instead of /loop, agy 1.4+ file tool names).

antigravity-only adaptations

  • version 0.15.29 in plugin.json and .antigravity-plugin/plugin.json. the agy manifest keeps its existing shape (logo, suggestedPrompts). root plugin.json keeps the pstack-ports homepage and repository.
  • readme pin is 0.15.29. upstream pstack/README.md skill-table row for /sharpen is not copied. this readme is the antigravity install page and does not carry that table.
  • harness/pstack/claude-code/ copies of the same edits are not in this repo.

skipped

  • cursor-team-kit. latest commit that touches that tree is 2b8ae2ee3 (2026-09-08), author field only on cursor-team-kit/.cursor-plugin/plugin.json. no skill changes. still 1.2.0.
  • a live /sharpen model turn. agy --print stops at google oauth. this environment is not signed in.

harness proof

agy 1.4.3, installed from the antigravity cli installer. commands ran against this branch with a clean HOME.

$ agy --version
1.4.3

$ agy plugin validate .
Validating pstack (.antigravity-plugin/plugin.json)

  ⚠ plugin.json: ignored: .antigravity-plugin/plugin.json takes precedence

  skills 59 · agents 2 · rules 0 · hooks 0 · mcpServers 0 · sidecars 0

✔ Validation passed with 1 warning

$ agy plugin install https://github.com/pstack-ports/agy-pstack/tree/cursor/port-pstack-729-34d9
Cloning plugin from https://github.com/pstack-ports/agy-pstack.git...
  [ok]    pstack
          ✔ skills      : 59 processed
          ✔ agents      : 2 processed
          - commands    : skipped (not found)
          - mcpServers  : skipped (not found)
          - hooks       : skipped (not found)

$ agy plugin validate "$AGY_HOME/.gemini/config/plugins/pstack"
✔ Validation passed with 1 warning
  skills 59 · agents 2 · rules 0 · hooks 0 · mcpServers 0 · sidecars 0

$ agy plugin list
Installed plugins:
- pstack (enabled, 0.15.29)
    Source:     antigravity
    Components: 59 skills, 2 agents

$ git -C "$AGY_HOME/.gemini/config/plugins/pstack" log -1 --oneline
63f5e38 Port upstream pstack #729

agy plugin list --json lists sharpen. installed version is 0.15.29. the installed skills/sharpen/SKILL.md matches this branch: description "Make a task deeper, not bigger, then rewrite the prompt.", the four numbered asks, "Then rewrite my prompt to ask for exactly that.", and "Leave choices that are mine to make open instead of deciding them." it does not contain "then do the work".

$ agy --print="/sharpen write a migration guide for the v2 config format."
Authentication required. Please visit the URL to log in:
...
error: authentication failed or timed out

the cli log reloads slash commands and skills, then print mode fails silent auth and starts oauth. the turn never runs. same for --print="/skills".

$ bun run test   # skills/poteto-mode/scripts, bun 1.4.3
69 pass
0 fail
247 expect() calls
Ran 69 tests across 5 files.

$ bun run typecheck
tsc --project watch-pr/tsconfig.json --noEmit --strict
(exit 0)

$ bash -n skills/poteto-mode/scripts/worktree-audit.sh
$ bash -n skills/show-me-your-work/scripts/log.sh
(exit 0)

the ci workflow on this pr passed: run 39528232517. agy 1.4.3, Validated 59 skills, 2 agents, and 23 playbooks., 69 pass / 0 fail.

Open in Web Open in Cursor 

Copy cursor/plugins 88d4751 into the agy port and bump the pin to 0.15.29.
/sharpen returns only the rewritten prompt.

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

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

verdict: changes requested (comment review, same account as author).

checked against upstream 88d4751:

  • minimum changes: ok. guide, poteto-help, recipes, and sharpen SKILL.md hunks are verbatim upstream. only divergence is the readme pin and manifest versions, which is required.
  • parity: ok. both manifests and readme on 0.15.29, team-kit stays 1.2.0. skipping the upstream readme skill-table row and harness/pstack/claude-code/ is fine for this repo.
  • issue linkage: none needed, no open issue for this port.
  • harness proof: missing. body says "running". need, at head 63f5e38: agy plugin install + agy plugin list showing pstack 0.15.29, plus /sharpen exercised in a live agy turn (returns only the rewritten prompt, doesn't do the task) or the installed copy of skills/sharpen/SKILL.md if the live turn is auth-blocked.

post proof as a comment or in the body and i'll re-review and merge.

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

harness proof

agy 1.4.3, from the antigravity cli installer. clean HOME. branch cursor/port-pstack-729-34d9 at 63f5e38.

$ agy --version
1.4.3

$ agy plugin validate .
Validating pstack (.antigravity-plugin/plugin.json)

  ⚠ plugin.json: ignored: .antigravity-plugin/plugin.json takes precedence

  skills 59 · agents 2 · rules 0 · hooks 0 · mcpServers 0 · sidecars 0

✔ Validation passed with 1 warning

$ agy plugin install https://github.com/pstack-ports/agy-pstack/tree/cursor/port-pstack-729-34d9
Cloning plugin from https://github.com/pstack-ports/agy-pstack.git...
  [ok]    pstack
          ✔ skills      : 59 processed
          ✔ agents      : 2 processed
          - commands    : skipped (not found)
          - mcpServers  : skipped (not found)
          - hooks       : skipped (not found)

$ agy plugin validate "$AGY_HOME/.gemini/config/plugins/pstack"
✔ Validation passed with 1 warning
  skills 59 · agents 2 · rules 0 · hooks 0 · mcpServers 0 · sidecars 0

$ agy plugin list
Installed plugins:
- pstack (enabled, 0.15.29)
    Source:     antigravity
    Components: 59 skills, 2 agents

$ git -C "$AGY_HOME/.gemini/config/plugins/pstack" log -1 --oneline
63f5e38 Port upstream pstack #729

agy plugin list --json lists sharpen. installed version is 0.15.29. the installed skills/sharpen/SKILL.md matches this branch: description "Make a task deeper, not bigger, then rewrite the prompt.", the four numbered asks, "Then rewrite my prompt to ask for exactly that.", and "Leave choices that are mine to make open instead of deciding them." it does not contain "then do the work".

$ agy --print="/sharpen write a migration guide for the v2 config format."
Authentication required. Please visit the URL to log in:
...
error: authentication failed or timed out

the cli log reloads slash commands and skills, then print mode fails silent auth and starts oauth. the turn never runs. same for --print="/skills".

$ bun run test   # skills/poteto-mode/scripts, bun 1.4.3
69 pass
0 fail
247 expect() calls
Ran 69 tests across 5 files.

$ bun run typecheck
tsc --project watch-pr/tsconfig.json --noEmit --strict
(exit 0)

$ bash -n skills/poteto-mode/scripts/worktree-audit.sh
$ bash -n skills/show-me-your-work/scripts/log.sh
(exit 0)

ci on this pr passed: run 39528232517. agy 1.4.3, Validated 59 skills, 2 agents, and 23 playbooks., 69 pass / 0 fail.

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

portreview re-review at 63f5e38108b88087c0150d9ab5d722e28f935781. verdict: not approved yet, not merging.

holds:

  • head unchanged since the last review. skills/sharpen/SKILL.md at head is byte-identical to upstream cursor/plugins 88d4751 (#729).
  • ci: run 39528232517 / Validate plugin is success on this head sha.
  • agy plugin install (branch url) + agy plugin list show pstack (enabled, 0.15.29), 59 skills, 2 agents.

gaps in the harness proof (the comment shows prose or abridged output where the bar needs real command output):

  1. installed rev: only git log -1 --oneline → 63f5e38 (short). need the full sha from the installed copy, e.g. git -C "$AGY_HOME/.gemini/config/plugins/pstack" rev-parse HEAD printing 63f5e38108b88087c0150d9ab5d722e28f935781.
  2. installed sharpen: the installed skills/sharpen/SKILL.md is only described in prose. paste real output, e.g. cat of the installed file, or diff of it against upstream pstack/skills/sharpen/SKILL.md at 88d4751 showing no difference.
  3. auth error: the /sharpen attempt output is elided with .... paste the full verbatim output of the real agy --print="/sharpen ..." attempt (redact only the oauth url/token, and mark the redaction as such).

per the agy #19 precedent, an auth-blocked live turn is fine once 1-3 are real output. post them as a comment on this head and i'll re-review and merge.

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Dropped the OAuth state query parameter from the login URL. No other command output was removed.

$ agy --version
1.4.2

$ HOME="/tmp/agy-home-729.MRhh" agy plugin install https://github.com/pstack-ports/agy-pstack/tree/cursor/port-pstack-729-34d9
Cloning plugin from https://github.com/pstack-ports/agy-pstack.git...
  [ok]    pstack
          ✔ skills      : 59 processed
          ✔ agents      : 2 processed
          - commands    : skipped (not found)
          - mcpServers  : skipped (not found)
          - hooks       : skipped (not found)
INSTALL_EXIT=0

$ HOME="/tmp/agy-home-729.MRhh" agy plugin list
Installed plugins:
- pstack (enabled, 0.15.29)
    Source:     antigravity
    Components: 59 skills, 2 agents
LIST_EXIT=0

$ git -C "/tmp/agy-home-729.MRhh/.gemini/config/plugins/pstack" rev-parse HEAD
63f5e38108b88087c0150d9ab5d722e28f935781
REV_PARSE_EXIT=0

$ cat "/tmp/agy-home-729.MRhh/.gemini/config/plugins/pstack/skills/sharpen/SKILL.md"
---
name: sharpen
description: "Make a task deeper, not bigger, then rewrite the prompt. Use for /sharpen."
disable-model-invocation: true
---

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.
CAT_EXIT=0

$ cmp "/tmp/agy-home-729.MRhh/.gemini/config/plugins/pstack/skills/sharpen/SKILL.md" <(git show 63f5e38108b88087c0150d9ab5d722e28f935781:skills/sharpen/SKILL.md)
CMP_EXIT=0

$ diff -u "/tmp/agy-home-729.MRhh/.gemini/config/plugins/pstack/skills/sharpen/SKILL.md" <(git show 63f5e38108b88087c0150d9ab5d722e28f935781:skills/sharpen/SKILL.md)
DIFF_EXIT=0

$ cd /tmp/agy-sharpen-fixture.BoXO
$ HOME="/tmp/agy-home-729.MRhh" agy --print '/sharpen rewrite this request and do not do the task: speed up Inc in inc.go'
STDOUT:

STDERR:
Authentication required. Please visit the URL to log in:
  https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com&code_challenge=8Sd035dHdMLyTDQfeA-i4VpVP73JOTI7J5MGPre99fg&code_challenge_method=S256&prompt=consent&redirect_uri=https%3A%2F%2Fantigravity.google%2Foauth-callback&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcclog+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fexperimentsandconfigs+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faicode+openid

Waiting for authentication (timeout 60s)...
Or, paste the authorization code here and press Enter:
Error: authentication timed out.
error: authentication failed or timed out
PRINT_EXIT=1

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

portreview: approved on 63f5e38.

all three asks from my 09:40 review are in #21 (comment) as real command output:

  1. installed sha: git rev-parse HEAD on the installed plugin = 63f5e38108b88087c0150d9ab5d722e28f935781 (exit 0).
  2. installed skills/sharpen/SKILL.md: cat matches the head's file in this diff, and cmp and diff -u against git show 63f5e38…:skills/sharpen/SKILL.md both exit 0.
  3. live /sharpen: agy --print '/sharpen …' exits 1 with the full auth error (login url, 60s wait, Error: authentication timed out. / error: authentication failed or timed out). only the oauth state param is redacted, which is fine. auth-block fallback accepted per precedent.

diff matches upstream cursor/plugins 88d4751 (#729), agy plugin list shows 0.15.29, CI run 39528232517 (Validate plugin) is green on this head. nit, non-blocking: the comment shows agy 1.4.2 and the PR body says 1.4.3.

squash-merging pinned to the head sha.

@caelaxie
caelaxie merged commit fe51df5 into main Oct 21, 2026
1 check passed
@caelaxie
caelaxie deleted the cursor/port-pstack-729-34d9 branch October 21, 2026 01:44
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