Drop the three Workspace MCP plugins from the marketplace and delete their plugin directories. Gmail, Drive, and Calendar stay.
Co-authored-by: Alex Vandak Maloney <maloney.a12@gmail.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
All six Google plugin logos (Gmail, Calendar, Docs, Drive, Sheets, Slides) were transparent-background SVGs whose artwork ran to within 8px of the 192px canvas edge. Against Cursor's dark UI chrome that reads as loose colored marks with no tile, and the glyphs crowd whatever container the client draws around them.
Each logo now gets:
- a full-bleed white `<rect>` behind the artwork, so the icon reads as an app tile in both light and dark themes;
- the original Google artwork inset by 12px — a `translate(12 12) scale(0.875)` group around the existing content — which leaves roughly 19px (10%) of white between the glyph and the tile edge;
- a `viewBox="0 0 192 192"` on the four logos that previously declared only `width`/`height`, so they scale cleanly at any render size.
The artwork itself is untouched: same paths, gradients, masks, and filters from the official 2026 product logos, just uniformly scaled. Applying one scale factor to all six preserves the relative optical sizing Google designed into the family rather than normalizing each glyph's bounding box independently.
READMEs and changelog entries note that the shipped asset is the official icon on a padded white tile.
Rendered with headless Chrome at 24/32/48/96px on a dark background, with rounded-corner masking to approximate how the client is likely to clip them:

`node scripts/validate-plugins.mjs` passes.
<!-- CURSOR_AGENT_PR_BODY_END -->
<div><a href="https://cursor.com/agents/bc-cc691b8a-1190-47ae-a8e4-58fa8e2fcb7b?cursor_ref=pr_footer&cursor_cta=open_in_web"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a> <a href="https://cursor.com/background-agent?bcId=bc-cc691b8a-1190-47ae-a8e4-58fa8e2fcb7b&cursor_ref=pr_footer&cursor_cta=open_in_cursor"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a> </div>
Each of the six Google plugin logos was a transparent-background SVG whose
artwork ran to within 8px of the 192px canvas, which reads poorly against
Cursor's dark UI chrome. Add a full-bleed white backdrop, inset the artwork
by 12px (0.875 scale about center), and add the missing viewBox to the four
logos that only declared width/height.
Co-authored-by: Alex Vandak Maloney <maloney.a12@gmail.com>
* docs(pstack): complete the poteto-mode route map
The guide's route paragraph predates the autopilot playbooks, so a
reader browsing routes never learns a PR queue can run on autopilot.
Add that route, and give worktree cleanup a prompt in the section
that tells readers to fan out worktrees in the first place.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): teach /no-comments and Comment Sicko in the cleanup chapter
The cleanup habit covered /deslop and /unslop but not the comment
pass, so readers never met Comment Sicko or the constraint-encoding
offer. Add the before-review step and state the deslop / unslop /
no-comments division of labor.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): cover Babysit and Shipping after the PR opens
The chapter ended at opening the PR and a note claiming pstack
bundles no PR monitoring. That note is stale: Babysit ships with the
watch-pr watcher and Shipping lands verified stacks through Graphite
merge-when-ready. Replace it with the two playbooks, their prompts,
and the merge-ready versus land distinction.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): teach the autopilots and orchestrate in the overnight chapter
The chapter covered one task per night and nothing bigger, so the
queue and program playbooks had no home in the guide. Add
autopilot-full, autopilot-stack, and orchestrate with prompts and
the rule for choosing between them.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): introduce /technical-writing and /bro in the later chapters
Both skills shipped without a guide mention. /technical-writing sits
with skill authoring, where readers already write prose that agents
and humans consume. /bro joins the recipes as the one-word prompt for
a jargon-free restatement.
Co-authored-by: lauren <poteto@users.noreply.github.com>
* docs(pstack): technical-writing pass over the new guide prose
Fixes traced to the skill's rules. Split sentences carrying two or
three thoughts (STE). Moved 'only' next to what it changes and gave
the merge-ready heading a real subject instead of 'it' (Global
English). One name per thing: uncommitted work, Autopilot-full,
verdict instead of say-so. Replaced unglossed jargon with plain
words: 'drains completions' and 'merge frontier' now say what the
coordinator does, 'the real surface' is now 'proves the behavior
live'.
Co-authored-by: lauren <poteto@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* pstack: add /bro, restate the last message in plain language
* poteto-mode: add babysit, shipping, orchestrate, and worktree-cleanup playbooks
Ships the watch-pr status watcher, the orch coordinator CLI, and
worktree-audit.sh under scripts/, plus a Bugbot triage rubric under
references/. Wires the new playbooks into the mode's triggers and
catalog, and repoints autopilot babysit references at the bundled
playbooks.
* pstack: catch-up edits to unslop, automate-me, type-system-discipline, poteto-agent
unslop gains the cross-project swap test, more banned metaphor nouns,
and plainer rule titles. automate-me learns nested personal-category
mode skills. principle-type-system-discipline states the define-errors-
out-of-existence rule. poteto-agent defaults to background execution.
* pstack 0.14.0: README and guide updates for the new skill and playbooks
* fix(pstack): queued babysit stops on WAITING/merge-queue, not READY
Queued watch-pr never emits READY; a green frontier is non-terminal
WAITING with reason merge-queue. The playbook wrongly told agents to
wait for READY, which hangs drive with the default timeout.
* Port Comment Sicko foreign-gotcha tip and no-comments step 5
Catch up to the merged tip: our-code surprises die with MUST KILL
reshape, foreign/unowned keeps survive, step 5 simplified. Sanitize
how/why and principle paths for the public plugin.
* Fix capitalization after principle path sanitize
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* pstack: add autopilot and writing workflows
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: tighten autopilot handoff rules
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: restore tip-faithful Sicko/no-comments and full autopilot ports
Prior commit reconstructed these from secondary metadata. Restore from
the real tip/main sources with only public-path edits.
* pstack: fix Comment Sicko spawn path and add /no-comments to Opening a PR
Spawn Comment Sicko by subagent_type alone; the hardcoded
.cursor/agents/ path does not exist on plugin installs. Add the
/no-comments pass to the Opening a PR playbook so the Before review
trigger holds outside the autopilot playbooks.
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Set displayName to Gmail / Google Drive / Calendar / Docs / Sheets /
Slides and replace placeholder icons with Google's productlogos SVGs
from gstatic.
Co-authored-by: Cursor <cursoragent@cursor.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## What
Model routing behavior is unchanged; the prose shrinks to the places that define it.
- `setup-pstack` keeps the `inherit-parent` / `auto` definition (steps 1, 3, 4) and writes it into the generated rule's header comment; the five-line resolution block collapses to one definition line.
- `poteto-mode` keeps one alias clause at the end of the Task-call defaults paragraph.
- `how`, `why`, `arena`, `architect`, `reflect`, and `interrogate` drop their per-call-site resolution instructions ("pass a real slug / omit `model` for `inherit-parent`/`auto` / if the role line is absent...") and return to compact configured-role pointers. All current model defaults stay exactly as they are.
- `interrogate` gains configurable reviewer counts: the `interrogate reviewers` list sets the panel size, the Reviewer A/B/C labels extend or shrink to the configured entry count, and a default table keeps the current panel.
## Why
Call-mechanics instructions in skill prose do not change agent behavior; the subagent tool schema (model optional, omitted inherits the parent) governs. Prose that defines what a config value means is what earns its place. Verified with blinded behavioral runs on this tree: a mixed config planted (aliases on panel roles, real slugs elsewhere, one role line deleted), multiple parent model families, spawn calls graded mechanically from transcripts. One blinded run showed a config-misread unrelated to this change (that agent never opened the skill file this change edits for that path); the fan-out and alias invariants held across all runs.
## Version
0.11.7 -> 0.11.8 (skill-content change, per repo convention).
<!-- CURSOR_AGENT_PR_BODY_END -->
<div><a href="https://cursor.com/agents/bc-12823923-1f75-47d8-81ba-e78099b4add8"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a> <a href="https://cursor.com/background-agent?bcId=bc-12823923-1f75-47d8-81ba-e78099b4add8"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a> </div>
* pstack: add public usage tutorial
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: document verification skill workflows
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: mention verification setup offer
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: clarify optional verification setup
Co-authored-by: lauren <poteto@users.noreply.github.com>
* pstack: rewrite tutorial prompts to match real usage
The example prompts read like specs. Real prompts are short, informal,
and goal-first, so every example now uses that register. The prose
reshapes around them: friendly second-person tutorial voice, goals
before mechanics, pitfalls where readers actually trip, and the
playbook reference table replaced with prompts in context. Every
skill claim re-checked against the skill files at this commit.
* pstack: make the README guide link an invitation
Point new readers at what the guide walks them through instead of
listing its topics.
* pstack: drop the version bump
This PR only adds documentation, so the plugin manifest stays at
main's 0.11.7.
* pstack: add illustrations to the guide
One hero image per major guide page (routing, understanding, design,
verification, overnight runs, recipes), 1200px JPEGs under
docs/guide/images/.
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
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.
* maintain-verification-skill: cleanup granularity, re-doctor, evidence checks
Follow-up to the four bugbot comments that landed on #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
* 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
* 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
## 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 1028dd3a69. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
two new skills, a version bump, and README rows.
**`/recall`** rebuilds your recent working context on a topic from two records: your own chat history (mined in parallel by subagents) and the shared record the `why` skill searches (source control, issue tracker, chat, error tracking). hands back a tight current-state brief: a capsule, status-tagged threads, recurring problems, and the next move. explicit-invoke; composes `why` and `automate-me`.
**`/blast-radius`** maps what a change could break beyond the diff (consumers, dependency contracts, lifecycle and timing, serialized boundaries), then proves the one fact it's safe because of by running code instead of asserting it. includes a "how sure are you" trust ladder; any load-bearing safety claim that doesn't reach "ran it" is labeled unproven. explicit-invoke; composes `how`, `why`, `arena`, and `unslop`.
bumped to 0.9.2 and added both to the skills table.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Documentation and agent workflow definitions only; no application runtime or security-sensitive code paths change.
>
> **Overview**
> Ships **two new explicit-invoke skills** and bumps the plugin to **0.9.2**, with README table rows for when to use each.
>
> **`/recall`** adds a playbook for resuming work: scope a time window and topic, mine recent agent transcripts in parallel (with routing away from `session-pickup` / `automate-me`), optionally sweep the same shared evidence sources as **`why`** (rephrased toward current state and recurring failures), verify PRs/branches with `git`/`gh`, and return a fixed brief (capsule, status-tagged threads, problems, next move).
>
> **`/blast-radius`** adds a change-risk workflow beyond caller grep: identify the single load-bearing safety fact, hunt cross-boundary breakage (deps, lifecycle, wire formats), rate risks honestly, and **prove** safety via a trust ladder that requires runnable checks—unproven claims stay labeled; wide changes can use **`arena`**.
>
> Both skills set `disable-model-invocation: true` and compose existing skills (`why`, `how`, `unslop`, etc.); discovery is unchanged via `skills: "./skills/"`.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit d7f9a4db02. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
* poteto-mode: add the Hillclimb playbook
A generic, metric-agnostic scientific hill-climb loop. Fix a metric and a
stop predicate, freeze a measurement harness, keep a decision.tsv, and loop
one hypothesis at a time with before/after measurement, a regression gate,
and one commit per accepted win. The agent supervises and delegates the
attempts. Registered in the playbook list; perf-issue points here for
sustained work.
* setup-pstack: add the hillclimb model role
The Hillclimb playbook reads a configured hillclimb model. Group it with
bug-fix and perf-issue on the gpt-5.5-high-fast default so /setup-pstack
offers the choice and the playbook reference is not dangling.
* setup-pstack: split bug-fix, perf-issue, hillclimb into separate model lines
* hillclimb: scope the autonomous-run deferral to the wake mechanism, not its stop rule
* poteto-mode: drop the two-no-progress stop from Autonomous run; keep going past plateaus
The README fell behind recent merges. Add sequence-verifiable-units to the
principle index (nineteen to twenty), add the pause-safely playbook to the
table (fourteen to fifteen), and broaden the prototype one-liner to match
its empirical-fork scope.
The sequence-verifiable-units continuation landed after "Run Opening a PR",
which read as open-then-shape. Fold it into the rebase sentence so commit
shaping comes before the PR step. Bugbot flagged this after the original
change had merged.
* poteto-mode: extend Prototype playbook to empirical forks
Prototype was UI-only (layout/interaction, the eye is the test). Broaden
the trigger and steps 1/5 so a throwaway sketch can settle a behavioral
or timing fork by observation (which behavior, which timing, which
approach), not just a visual one. This is the destination the new
self-unblock trigger routes to.
* poteto-mode: route the AskQuestion reflex to a sketch
Before asking the human a which-approach / how-should-I / what-should-this-do
question, classify it. If the answer is empirical (observable by running
something), sketch it via the Prototype playbook and let the result decide;
reserve the ask for a genuine product or preference call. Wires Never Block
on the Human to Prototype, and broadens the Prototype catalog entry to match.
* poteto-mode: finish the Prototype empirical-fork broadening
Three gaps in the partial broadening. Step 3 still assumed a UI build, so
it now names the script path for a behavioral or timing decision. The Reply
still demanded screenshots, so it asks for the matching evidence instead.
The AskQuestion trigger had no read-only carve-out, so a cited-answer
Investigation no longer routes to a build.
* poteto-mode: add "sequence work into verifiable units" principle
New principle leaf plus its index entry in the Verification group. Break
multi-step work into small units that each end in a check, verify each
before the next, and stack commits and PRs so the sequence proves itself
to a reviewer (the failing test first, then the fix).
* poteto-mode: thread sequence-verifiable-units into playbooks
Reference the principle where it applies: the iterate-and-verify steps of
perf-issue and autonomous-run, the commit-staging steps of bug-fix,
feature, and refactoring, and the figure-it-out loop.
* pstack: per-role model configuration via /setup-pstack, drop codex
Makes pstack's model choices configurable per role instead of hardcoded.
- New /setup-pstack skill detects your available models and writes
~/.cursor/rules/pstack-models.mdc, an always-applied rule with one
line per role.
- poteto-mode gains a Model configuration section (default table and
precedence). Skills read the configured model per role and fall back
to the inline default when the rule is absent, so nothing breaks
with no setup.
- Review panels (arena, architect, interrogate, how critics) are now
config-driven and count-agnostic. One subagent runs per configured
model, with no fixed count or A/B/C/D labels.
- Dropped gpt-5.3-codex-high-fast. bug-fix and perf-issue default to
gpt-5.5-high-fast; feature and refactoring stay composer-2.5-fast.
Version bump to 0.8.0.
* pstack: keep model config out of poteto-mode
Drop the Model configuration section and table from poteto-mode. The
canonical defaults live in the setup-pstack rule shape, and each skill
already carries its inline default, so poteto-mode only needs a one-line
pointer in its Task defaults. Fixes the plan.md and setup-pstack
back-references to the removed section.