Skip to content

chore(upstream): merge cursor/plugins - #32

Open
mstephenholl wants to merge 33 commits into
mainfrom
upstream-sync
Open

mstephenholl wants to merge 33 commits into
mainfrom
upstream-sync

Conversation

@mstephenholl

Copy link
Copy Markdown
Owner

Upstream: cursor/plugins@eb4db2b55b2b

Dropped 67 upstream paths outside the port.

Needs porting

  • new upstream skill statechart: no Cursor terms, likely installable as-is. Port it and add it to SKILLS in port/install.sh, or remove it with git rm -r pstack/skills/statechart.

Merging records upstream progress, so the next sync only sees newer changes. Run pstack/port/smoke/smoke.py before merging if a ported skill changed.

vaulpannx and others added 30 commits October 20, 2026 11:21
X tools are included in Grok Bot, so cost estimates, credit checks, and budget tiers only apply to webhooks and X Activity API subscriptions now. The guide is rewritten from scratch at about half the length, and the pricing reference is removed.

Co-authored-by: Cursor <[email protected]>
Unlocking as soon as the PIN arrives meant a later Yes never saved the key.

Co-authored-by: Cursor <[email protected]>
Every X tool is treated as free, so a credits error is an unexpected X error rather than a prompt to buy credits.

Co-authored-by: Cursor <[email protected]>
Search points at search_posts_all with start_time, the reading table names actual tools and adds trends, missing public-read tools on the user's connection aren't an error, and unlock checks the saved key and stored PIN before asking.

Co-authored-by: Cursor <[email protected]>
Rebuild the X MCP guide around free X tools
Adds the 23 new reads and list writes to the connect message, reading table, and a Lists section, and notes there's no list delete or community-posts read.

Co-authored-by: Cursor <[email protected]>
Frontmatter reconnect hint names Spaces and Lists, the built-in reads paragraph says they need the user's connection, plugin.json describes them, and small wording nits.

Co-authored-by: Cursor <[email protected]>
…es-lists

X guide: Spaces, Communities, and Lists
[databricks-genie-one] Add Databricks Genie One plugin
…logo

[databricks-genie-one] Use the Genie icon as the logo
feat(quickbooks-online): add Intuit QuickBooks skills
…s-skills

Revert "feat(quickbooks-online): add Intuit QuickBooks skills"
…client-d351

google-cloud-bigquery: add team OAuth client variables
Add Lark and Feishu official remote MCP plugins
djiang-jq and others added 3 commits October 21, 2026 20:27
…ursor#741)

* Add the statechart skill to pstack

Draws what a user sees as a Mermaid statechart generated from a TLA+
model. TLC checks the reader's rules as invariants. Each state is marked
works, still wrong, or fixed by an open change, and each counterexample
class is drawn as a numbered path. The skill also turns an agreed chart
into a TLA+ skeleton and compares the drawn chart with the agreed one.

Bumps pstack to 0.15.30 and regenerates the Claude Code harness tree.

* Fix the review findings in the statechart skill

- Check each rule in its own TLC run. The generated cfg names no rule,
  and a comment in it lists the rules.
- Refuse TLC output from a run that failed or stopped early, and read
  counterexamples that a start state breaks.
- Count steps that change nothing when a state is settled, number bugs
  that only the fixed model has after the current bugs, and escape
  quotes in captions.
- Compare parallel regions as one machine, and refuse charts that were
  not drawn for comparison.
- Refuse final states and duplicate captions, read class shorthand and
  states first named inside a composite, and match a never line to an
  exact state.
- Rewrite SKILL.md to match, and run the skill script tests in CI.

* Refuse a -- outside a composite in statechart charts

A -- at the top level of a chart opened a second root part that the
parser never read, so every region after it was dropped. chart-to-tla
wrote a one-region skeleton, and compare-charts could print "same".
parseMermaid now refuses the chart. A unit test covers parseMermaid,
chart-to-tla, and compare-charts.

Co-authored-by: lauren <[email protected]>

* Exit 2 when compare-charts cannot read a chart

compare-charts let a read or parse error escape, so a chart it could
not read exited 1, the code for charts that differ. It now prints the
file and the reason to stderr and exits 2, as SKILL.md says for a
refused chart. Exit 1 now means only that the charts differ.

Co-authored-by: lauren <[email protected]>

* Update the statechart skill to its current version

Replace the skill, its scripts, and its tests with the current version.
statechart.mjs runs the whole flow with from-spec and from-chart, and its
--help replaces the old Setup section. New features are a code-against-spec
audit (--against), nested state boxes, parallel regions, guards, scoped
charts, timer labels, and legend groups and colors chosen in the mapping.

TLC comes from TLA2TOOLS and JAVA only. Without TLA2TOOLS, the scripts point
to the TLA+ releases page and exit 2.

Co-authored-by: lauren <[email protected]>

* Exit 2 when --png cannot render a chart

A failed mermaid-cli render printed "could not render" but still exited 0,
or 0 with --expect-broken, so callers reported PNGs that did not exist.
finish() now exits 2 whenever --png renders fewer PNGs than charts, and
keeps the files it wrote. The --help exit codes say so, and a new test
covers it with an npx that cannot launch a browser.

Co-authored-by: lauren <[email protected]>

* Update the statechart skill to its latest version

Rendered charts keep their full width. An edge label writes the opening
words that its choices share once, instead of cutting the label with "…".
--full-labels replaces --all-labels, and compare-charts refuses a chart
drawn without it.

The fix replay matches each bug step by the screens and step words that
the reader sees, and two states get at most one arrow. Each rule also runs
as a TLC CONSTRAINT, so a rule that stays broken stops at its first bad
state instead of flooding TLC with counterexamples.

statechart.mjs passes its arguments and models through functions instead
of module globals. The --png exit code from the previous commit is now
part of the source.

Co-authored-by: lauren <[email protected]>

* Update the statechart skill: safe output folder, its TLA+ model, and the comment and assignment cleanups

Co-authored-by: lauren <[email protected]>

* Drop a comment in the public findTlc that only describes the code

Co-authored-by: lauren <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
@mstephenholl mstephenholl added the needs-porting Upstream changes that need porting label Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-porting Upstream changes that need porting

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants