Skip to content

chore: sync with cursor/plugins — pstack: parity sweep with the private skill tree (#156) - #3

Merged
SmailG merged 18 commits into
mainfrom
sync/pstack-parity-sweep-with-the-private-skill-tree-156-14-commits
Jul 18, 2026
Merged

chore: sync with cursor/plugins — pstack: parity sweep with the private skill tree (#156)#3
SmailG merged 18 commits into
mainfrom
sync/pstack-parity-sweep-with-the-private-skill-tree-156-14-commits

Conversation

@github-actions

Copy link
Copy Markdown

Upstream changes

3fe2823 pstack: parity sweep with the private skill tree (cursor#156)
f4d9e39 poteto-mode: give the perf playbook its eight strategy families (cursor#155)
a29f5a8 pstack: bump version to 0.11.2 (cursor#154)
8f008c4 pstack: add the teach skill (compose how + why into one explanation) (cursor#153)
20bdb6c pstack: bump version to 0.11.1 (cursor#152)
6714489 maintain-verification-skill: cleanup granularity, re-doctor, evidence checks (cursor#151)
e42d29f pstack: add create-verification-skill and maintain-verification-skill (cursor#150)
9d2a3f2 pstack: give poteto-mode a human display name (cursor#149)
9251b26 pstack: lead the README with the two-step quickstart (cursor#148)
a814542 pstack: add model-the-domain principle; true up README (cursor#147)
0dda29e pstack: make poteto-mode a sticky mode with a conditional reminder (cursor#144)
9b80b53 pstack: route hardest tasks to claude-fable-5-thinking-max (cursor#143)
dc2fae6 pstack: route composer slots to grok-4.5-fast-xhigh (cursor#142)
0452e08 pstack: add Benny issue automation pack (cursor#137)


Automated sync via sync-upstream workflow

poteto and others added 17 commits June 23, 2026 21:43
## Summary
- add a dormant Benny source pack for thread-only issue triage and evidence-backed repro and fix workflows
- copy the pack into target repositories so live automations read committed files directly without exposing Benny as slash skills
- keep pstack enabled only for shared workflow dependencies and preserve user-owned configuration outside pack refreshes

## Test plan
- [x] `node scripts/validate-plugins.mjs`
- [x] validate the manifest exposes only `./skills/`, direct operational paths, Markdown links, JSON and YAML examples, frontmatter, and unique skill names
- [x] scan the branch for discovery contradictions, private names, IDs, credentials, endpoints, and local plugin paths
- [x] run `git diff --check origin/main...HEAD` and review the full branch diff

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation and dormant automation sources only; no runtime code paths in the plugin. Operational risk applies only after users enable automations with Slack, tracker, and repo write access in their own repos.
> 
> **Overview**
> **Bumps pstack to 0.10.0** and documents a new **dormant Benny pack** under `automations/benny/` for Slack-driven issue workflows (not added to the plugin slash-skill manifest).
> 
> The pack defines **two coordinated Cursor automations**: **triage** (classify reports, cause-aware routing, tracker dedupe, single thread reply with `[benny:bug]` / `[benny:performance]` / `[benny:other]`) and **repro/fix** (wait for trusted triage markers, double UI repro via a configured control adapter, verify existing PRs, optional bounded fix with **draft-only** PRs). Operational behavior lives in committed `SKILL.md` files with strict thread-only Slack rules, fail-closed gates, and coordinator-only posting.
> 
> **Setup** is agent-driven via `FOR_AGENTS.md` and `setup-benny`: merge the pack into the target repo at `.cursor/automations/benny/`, enable **pstack** in `.cursor/settings.json` for shared skills (`how`, `why`, `tdd`, `unslop`, principles), keep user config outside the pack, and wire live automations through `/automate` (or editor updates for existing ones). Templates cover configuration, routing, feature maps, control-adapter contract, and prompt shims.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 1028dd3. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
…ursor#144)

* pstack: make poteto-mode a sticky mode with a conditional reminder

* pstack: reference the mode as /poteto-mode in the sticky reminder
* pstack: add model-the-domain principle; true up README

* pstack: index model-the-domain in poteto-mode's architecture principles
* pstack: lead the README with the two-step quickstart

* Keep version at 0.10.4; README-only change

* README: no version bump, reorder for first-time readers, collapse long blocks

make-it-yours and automations move below the reference sections; the
sixteen-playbook table and the examples block collapse behind <details>
so the top of the page is install -> get started -> usage.

* README: collapse the skills table too, keep four examples visible

* README: link every skill, playbook, and principle to its file; split examples by section

* README: visible examples are bare copy-paste prompts

* README: link every prose skill mention and the playbooks dir

* README: visible example prompts wrap at 100 chars and lead their sections

* README: principles as a collapsible table
…cursor#150)

* pstack: add create-verification-skill and maintain-verification-skill

Generalizes the control-glass approach (feature map, doctor, proof
standards, harness-first) for any language or platform. The generator
interviews the repo, writes a project-local verify skill + seeded
feature map, and must prove its own output by running it once. The
maintainer is the upkeep loop: source wave per feature, one live pass,
at most one PR. setup-pstack gains an optional final step offering the
generator. Validated by 4 cloud agents generating against real repos
(go TUI, node CLI, HTTP service, full-stack web app) - all four proof
runs passed, and their friction reports drove 6 revisions.

* Address bugbot: frontmatter spec, teardown, launch-model deference, target discovery

* Rewrite live pass: per-session health checks, doctor-drift retry, per-failure cleanup, teardown after re-proof
… checks (cursor#151)

* maintain-verification-skill: cleanup granularity, re-doctor, evidence checks

Follow-up to the four bugbot comments that landed on cursor#150 seconds
before merge: failed-drive cleanup now matches the granularity of what
failed (never tearing down a shared instance mid-pass), a failed drive
on a long-lived instance triggers re-doctor before the next feature,
the doctor-drift retry includes cleanup and relaunch, and every cleanup
is followed by an evidence-survival check.

* State the live-pass recovery rules as invariants, not enumerated procedures

* Restore the per-session doctor check inside invariant 1
…ursor#153)

* pstack: add the teach skill (compose how + why into one explanation)

* teach: honor why's skip contract and confidence language when weaving
1. hillclimb.md: port steps 1-2 (workload grounding before choosing the
   ruler; harness sensitivity proof before freezing), fold the how-skill
   grounding into step 1 and rewrite step 4 to reference it.
2. refactoring.md: insert missing step 2 (name the structure the code is
   missing per principle-model-the-domain), renumber 3-8, and restore the
   "safety net" framing sentence in the intro.
3. feature.md + poteto-mode SKILL.md: expand the delegation scope and the
   any-code trigger to choose the organizing structure per
   principle-model-the-domain.
4. typescript-best-practices: restore the dropped "Real tests" and
   "Structured telemetry" rules in generic form.
5. poteto-mode Subagents: add the difficulty tiering criteria (judgment vs
   precisely specified vs trivial mechanical) and the setup-pstack rule
   override semantics.
6. One-liner tells ported verbatim into bug-fix, runtime-forensics,
   session-pickup, autonomous-run, and authoring-a-skill.
7. Bug fix: interrogate is "(multi-model adversarial)", not four-model;
   the default panel is three models.
8. Leak fix: drop the dangling databricks-use-dbt-models skill reference
   in why/references/sources/databricks.md.

Plus: arena cross-judge pool role line in setup-pstack, version bump to
0.11.3.
- Added `.claude-plugin/` directory to the repository structure and updated the README to reflect changes for Claude Code compatibility.
- Enhanced validation scripts to check for the presence and correctness of `.claude-plugin/plugin.json` files.
- Updated `.gitignore` to exclude `docs/` and `.specstory/` directories.

This commit ensures that the repository is properly configured for Claude Code integration while maintaining existing functionality.
The workflow's permissions block was missing issues: write, so
`gh label create sync` failed every run (silently, via 2>/dev/null ||
true). That left the `sync` label missing, which made the follow-up
`gh pr create --label sync` fail too (also swallowed by `|| true`).
Net effect: the job reported success every day while never actually
opening a sync PR, so main stayed pinned to upstream commit e46364b
(2026-06-17) even as upstream moved 14 commits ahead.

- Grant issues: write so label creation actually succeeds.
- Use `gh label create --force` instead of swallowing stderr, so the
  step is idempotent without hiding real errors.
- After `gh pr create`, verify a PR actually exists for the branch and
  fail the job loudly if not, instead of silently continuing.
- Surface (rather than swallow) auto-merge failures as a warning, so
  a disabled "Allow auto-merge" repo setting is visible in the logs.
The follow-up workflow_dispatch run after #1 merged failed hard on
`gh label create`:

  HTTP 403: Resource not accessible by integration
  (https://api.github.com/repos/cursor/plugins/labels)

Note the URL: gh was targeting cursor/plugins, not this fork. This job
adds a remote literally named `upstream` pointing at cursor/plugins
(to fetch its history for the rebase), and gh's implicit repo
resolution prefers a remote named "upstream" over "origin" when no
--repo/GH_REPO is given — a classic gotcha for exactly this fork+
upstream-remote layout. So every unscoped `gh label create`/`gh pr
create`/`gh pr list`/`gh pr merge` call in this workflow has actually
been aimed at cursor/plugins the whole time, where this token has no
access whatsoever. That's the real reason label/PR creation always
failed — the previous fix (#1) just stopped hiding it.

Set GH_REPO: ${{ github.repository }} at the job level so every `gh`
call is unambiguously pinned to this fork regardless of which git
remotes exist.
@github-actions github-actions Bot added the sync Automated upstream sync label Jul 18, 2026
@github-actions
github-actions Bot enabled auto-merge (rebase) July 18, 2026 01:13
# Conflicts:
#	.claude-plugin/.upstream-base
@SmailG
SmailG merged commit 5576938 into main Jul 18, 2026
1 check passed
@SmailG
SmailG deleted the sync/pstack-parity-sweep-with-the-private-skill-tree-156-14-commits branch July 18, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sync Automated upstream sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants