Setup Pstack

by cursorccb5507cec15No license10K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

Configure which models pstack uses per role and at what reasoning budget. Detects your available models and writes an always-applied rule that overrides the skill defaults. Use for /setup-pstack, "configure pstack models", "pstack budget", or changing pstack's model choices.

Instructions onlyAI & Agents
AI-generated overview

Writes a Cursor rule that sets pstack's model per role and reasoning budget.

What it does
Detects the model slugs available in the session, loads any existing pstack model rule, and asks the user to pick a reasoning budget and per-role models. It then writes ~/.cursor/rules/pstack-models.mdc as an always-applied rule overriding the skill defaults, overwriting the file so re-runs stay idempotent. It validates that every real slug written is in the detected set and reports the result.
When to use it
Use when configuring which models pstack uses per role, changing pstack's reasoning budget, or re-running the setup to update an existing rule. Triggered by /setup-pstack, "configure pstack models", or "pstack budget".
Requirements
Runs in Cursor with access to the user's session model list and the ability to write ~/.cursor/rules/pstack-models.mdc. No scripts ship with the skill; it is instructions only. It may optionally invoke /create-verification-skill if the user accepts.

Setup pstack

Write ~/.cursor/rules/pstack-models.mdc, an always-applied rule that sets pstack's model per role.

Steps

1. Detect available models

Enumerate the model slugs you can pass to a Task subagent in this session. That is the dependable source. If Cursor also exposes a models API or CLI that lists the user's entitled models, prefer it for completeness. If you cannot detect any, ask the user to paste the slugs they have access to. Never write a real slug you have not confirmed is available. The aliases inherit-parent and auto are always valid even though they are not detected slugs.

2. Load current state

The default role-to-model mapping is the rule shape shown in step 5 below. If ~/.cursor/rules/pstack-models.mdc already exists, read it and treat its # budget line and its role values as the current choices. Otherwise start from those defaults. A line whose role is not in step 5, such as how critics, is from a retired role. Drop it.

3. Budget, map, and confirm

(a) Ask for a budget. Prefer AskQuestion over free text. Offer these four options with these exact labels, and name the current budget when the rule records one. With no rule, say that large matches the skill defaults.

  • unlimited — max reasoning
  • large — xhigh reasoning
  • medium — high reasoning
  • small — medium reasoning

(b) Apply it. Build the working table from the skill defaults, and on a re-run keep any role you changed by family, list, or alias (inherit-parent, auto). unlimited, large, medium, and small set the effort token of every real slug, panel entries included, to max, xhigh, high, or medium. The effort token is the last token, or the one before a trailing fast, on the ladder max > xhigh > high > medium > low. If the result is not a detected slug, use the same family's detected slug with the highest effort at or below the target, else mark the role as needing a choice. inherit-parent and auto do not change. So unlimited turns claude-opus-5-5-xhigh into claude-opus-5-5-max. Grok slugs top out at xhigh, so under unlimited the fallback puts Grok at xhigh and keeps grok-4.7-xhigh-fast as it is. large keeps both defaults. small turns them into claude-opus-5-5-medium and grok-4.7-medium-fast.

(c) Show the roles and confirm. Show every role with its model, marking any real slug not in the detected set as needing a choice. Also list each line step 2 dropped. Ask whether to accept as-is or change specific roles, offering the detected models plus inherit-parent and auto (both mean: this role runs on the parent chat model, which is how Auto users stay on Auto) as the options. Prefer AskQuestion over free text. For panel roles (arena runners, architect runners, interrogate reviewers) the value is a list, and one subagent runs per entry, alias entries included, so the list length sets the count. arena cross-judge pool is also a list, but Arena selects one value from it whose model family differs from the parent's when possible. swarm workers is the default model for every worker unless a race or comparison assigns another model per arm.

4. Validate

Every real slug written must be in the detected set. inherit-parent and auto always pass. If a chosen real slug is not available, stop and ask again.

5. Write the rule

Write ~/.cursor/rules/pstack-models.mdc with alwaysApply: true, a # budget line with the chosen label and its target effort, and one line per role, using the same labels poteto-mode uses. Overwrite the whole file so re-runs stay idempotent. Shape:

---description: pstack per-role model choices (overrides skill defaults)alwaysApply: true---# pstack model configuration. One line per role. Delete a line to fall back to the skill default.# `inherit-parent` or `auto` as a value: the role runs on the parent chat model (omit Task `model`). Alias entries in a panel list still count toward its fan-out.# budget: large (xhigh)feature, refactoring: grok-4.7-xhigh-fastbug-fix: grok-4.7-xhigh-fastperf-issue: grok-4.7-xhigh-fasthillclimb: grok-4.7-xhigh-fastjudgment and prose: claude-opus-5-5-xhighhardest tasks: claude-opus-5-5-xhighhow explorer: grok-4.7-xhigh-fasthow explainer: claude-opus-5-5-xhighwhy investigators: grok-4.7-xhigh-fastwhy synthesizer: claude-opus-5-5-xhighreflect tooling: grok-4.7-xhigh-fastreflect judgment, divergent, synthesizer: claude-opus-5-5-xhigharena runners: claude-opus-5-5-xhigh, grok-4.7-xhigh-fastarena cross-judge pool: claude-opus-5-5-xhigh, grok-4.7-xhigh-fastswarm workers: grok-4.7-xhigh-fastarchitect runners: claude-opus-5-5-xhigh, grok-4.7-xhigh-fastinterrogate reviewers: claude-opus-5-5-xhigh, grok-4.7-xhigh-fast

6. Confirm

Tell the user the rule was written and that it applies to new sessions. Re-running this skill updates it.

7. Offer a verification skill (optional)

Check whether the project has a way to drive the real app for proof (a verify-* skill, or an existing harness). If not, offer once: "want a project-local verification skill, so agents can drive the app the way a user does and prove changes work? I can generate one with /create-verification-skill." On yes, invoke /create-verification-skill (resolves wherever pstack is installed: workspace, user, or plugin). On no, move on without pushing.

Source and attribution

Source:cursor/pluginsinpstack/skills/setup-pstackat commitccb5507

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

Setup Pstack Agent Skill | SourceWeft