chore: sync port with upstream pstack 0.15.0 - #3
Open
adjohn wants to merge 3 commits into
Open
Conversation
Merges the upstream-vendor branch (cursor/plugins@df3fb15, pstack 0.15.0) into the Claude Code port. Every conflict region was resolved to upstream's text, then scripts/port-from-cursor.sh re-applied the Cursor-to-Claude Code substitutions the original port made by hand. Upstream changes carried in: - Prose density pass across every skill and playbook (#329, #331). - Two new principle leaves: attack-the-premise, test-behavior-not-implementation. - Forge-neutral shipping, babysit, and autopilot playbooks (gh by default, Origin when available, Graphite no longer required). - Fable 5.1 defaults: bug-fix, perf-issue, and hillclimb now default to fable. - The how skill loses critique mode; the "how critics" role is gone. Port decisions: - scripts/port-from-cursor.sh is the checked-in lever for the next sync; the README's "syncing with upstream" section describes the recipe. - make-bot-ui is not ported: it drives Cursor webhook routines and a Grok Bot, with no Claude Code counterpart. - The upstream logo asset is left out; the Claude Code manifest has no consumer for it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X8ENwh7GfaGvuwDRykTGxx
adjohn
marked this pull request as ready for review
September 9, 2026 19:09
Upstream's babysit step 8 now posts review replies with gh api --input <payload.json>, which supersedes the -F @file fix from PR #2. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X8ENwh7GfaGvuwDRykTGxx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Upstream pstack moved from 0.14.3 to 0.15.0 (cursor/plugins main, df3fb15, 2026-09-07). This brings the Claude Code port up to that snapshot without redoing the port by hand.
Scope
Two commits.
e865e30on theupstream-vendorbranch is the pure upstream snapshot ofpstack/, parented on the original import commitd66f80f, so git knows the port's base.abd0404merges it into the port.Upstream changes carried in:
principle-attack-the-premise,principle-test-behavior-not-implementation.bug-fix,perf-issue, andhillclimbnow default tofableinstead ofsonnet.howskill loses critique mode. Thehow criticsrole and its two reference files are gone.Port-side changes:
scripts/port-from-cursor.shis new. It holds every Cursor-to-Claude Code substitution the original port made by hand (model slugs,AskQuestion,Task, transcript paths,cursor-team-kitcontrol skills,/deslop,/goal,create-skill, pinned-chat wording). It is idempotent and scoped toskills/,agents/, anddocs/.make-bot-ui..claude-plugin/plugin.jsonversion is 0.15.0.Left out on purpose:
skills/make-bot-ui. It drives Cursor webhook routines and a Grok Bot. No Claude Code counterpart.assets/logo.png. The Claude Code manifest has no field that consumes it.Tradeoffs
Conflicts were resolved by taking upstream's text and re-running the substitution script, rather than hand-merging each hunk. That keeps future syncs mechanical, at the cost of one pass of manual review for phrases the script does not know yet. The three files the original port rewrote wholesale (
README.md,plugin.json,setup-pstack/SKILL.md) were reconciled by hand.Blast Radius
Every skill and playbook text changes, mostly punctuation and trimming from upstream. Behavioral changes for users of this plugin: three role defaults move to
fable, thehow criticsrole no longer exists, and shipping playbooks stop assuming Graphite. A personal~/.claude/pstack-models.mdthat still listshow criticsorbug-fix: sonnetkeeps working; the former is ignored and the latter overrides the new default as before.Verification
scripts/port-from-cursor.shleaves an identical checksum over all skill, playbook, and guide files.skills/,agents/,docs/for Cursor slugs, tool names, paths, andcursor-team-kitterms returns only the deliberate mentions (the Bugbot triage reference, the poteto-mode review-bot trigger, and the word "precursor").SKILL.mdand agent file carries onlyname,description,disable-model-invocation, and onepaths. No Cursor-only keys.references/,playbooks/, andscripts/path cited from the routed skills exists on disk.claude plugin validate .passes.bun testinskills/poteto-mode/scriptspasses 53 of 53 on two of three runs. One run had a single timing flake. Neither this merge nor upstream touched that directory.🤖 Generated with Claude Code
https://claude.ai/code/session_01X8ENwh7GfaGvuwDRykTGxx