Home / All Skills / Workflow & Core Tools / setup-pstack
Workflow & Core Tools · cursor/plugins

setup-pstack

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

L2 Local · Restricted workspaceV1 Commit-PinnedWrite FileDual-pass Audit
Author cursorGitHub cursor/plugins ↗Stars 7799License MIT(pstack 插件自带 LICENSE,'Copyright (c) 2026 Lauren Tan';pstack/.cursor-plugin/plugin.json 声明 "license": "MIT")。cursor/plugins 仓库根目录无 LICENSE,GitHub API license 字段为 null。Commit df3fb154fb
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

The sole artifact produced is a user-level rule file: ~/.cursor/rules/pstack-models.mdc, with alwaysApply: true, declaring 'role → model' line-by-line.

pstack/skills/setup-pstack/SKILL.md
Write `~/.cursor/rules/pstack-models.mdc`, an always-applied rule that sets pstack's model per role.
What it does: Extracts 'which role uses which model' from the hardcoded default tables in each skill into a machine-readable, always-active Cursor rule. This allows users to change their model preferences once, applying across all pstack sub-workflows (interrogate/arena/swarm/how/why/reflect...) without modifying skill source code.

Model discovery relies on 'which slugs the Task tool in this session accepts' as the single source of truth; if undetectable, it prompts the user to paste them, strictly prohibiting unconfirmed slugs from being written.

pstack/skills/setup-pstack/SKILL.md
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.
Key gate against hallucinations: Slugs cannot be made up from memory. `inherit-parent` and `auto` are declared as 'always valid' aliases, semantically omitting the Task's model field so child agents inherit the parent session model (ensuring Auto tier users are not forced to pick specific models).

The second-level validation is independent of the discovery phase: Before writing, it double-checks that 'every real slug is within the detected set', halting and re-asking if not.

pstack/skills/setup-pstack/SKILL.md
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.
Discovery (Step 1) and validation (Step 4) are separated by loading the current state (Step 2) and confirming mappings (Step 3). This intentional double-check prevents unusable slugs resulting from manual user edits or model speculation.

Interactions prioritize structured choices (AskQuestion) over free text, presenting existing configurations as 'current selections' for role-by-role confirmation.

pstack/skills/setup-pstack/SKILL.md
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.
Step 2 dictates: Read the file as current state if it exists, otherwise start with default structures. Step 3 explicitly flags 'real slugs not in the detected set' as requiring selection, making configuration drift visible.

Full-file overwrite ensures idempotency: Re-running will not accumulate duplicate or contradictory role lines.

pstack/skills/setup-pstack/SKILL.md
Overwrite the whole file so re-runs stay idempotent. Shape:
The written rule has a fixed structure of 18 role lines (feature/refactoring, bug-fix, perf-issue, hillclimb, judgment and prose, hardest tasks, how explorer/explainer, why investigators/synthesizer, reflect tooling, reflect judgment+divergent+synthesizer, arena runners, arena cross-judge pool, swarm workers, architect runners, interrogate reviewers), including comments explaining that 'deleting a line falls back to the skill default'.

The values for panel-style roles are **lists**, and list length directly dictates child agent fan-out quantity—this is the skill's most substantial semantic (configuration equals concurrency).

pstack/skills/setup-pstack/SKILL.md
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` carries different semantics: picking one from the list, preferably from a different model family than the parent session. `swarm workers` is the default model for each worker (unless specified per arm in a race). These semantic nuances are defined in prose; the rule file itself simply consists of `role: model` lines.

An optional final step laterally triggers another skill: When detecting that the project lacks the capability to 'drive real apps for verification', it asks once whether to generate an in-project verification skill.

pstack/skills/setup-pstack/SKILL.md
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.
Notice 'offer once ... On no, move on without pushing': ask only once, do not nag. Saying yes delegates to /create-verification-skill, which writes .cursor/skills/verify-<app>/ (per docs/guide/01-setup.md).

The activation timing is explicitly stated: Rules take effect on new sessions, requiring a new chat to be opened.

pstack/docs/guide/01-setup.md
After setup, start a new chat. The model rule applies to new sessions.
SKILL.md Step 6 synchronously requires informing the user that 'the rule was written and that it applies to new sessions. Re-running this skill updates it.'

2Core Capabilities

01Detect available model slugs in the current session (using Task child agents as source of truth, falling back to manual paste if needed)
02Map models role-by-role (18 role lines), supporting inherit-parent / auto aliases to inherit the parent session model
03Define panel-style role list lengths as child agent fan-out counts (configuration equals concurrency)
04Double-validate slug usability before writing, halting and re-asking if invalid (no silent writes)
05Idempotently overwrite the user-level rule file (updates on rerun without accumulation)
06Structured interaction (AskQuestion preferred), clearly presenting 'current state → pending changes'
07Optional: Guide the generation of an in-project verification skill (/create-verification-skill), proposed only once

3External Dependencies

KindDependency / Endpoint
apiCursor Task 子代理的模型枚举(作为可用 slug 的探测源)
network用户级规则文件 ~/.cursor/rules/pstack-models.mdc(读+写)
packageAskQuestion(宿主交互工具,用于结构化询问而非自由文本)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Restrict working directory
For Administrators
Retain operation logs
Evidence & Triggers (File Paths & Excerpts)
  • 本地工作目录: File I/O and artifact output: ~/.cursor/rules/pstack-models.mdc (full-file overwrite, alwaysApply: true, user home directory-level persistent configuration; sole file produced
Audit Notes: . Reason: Pure prompt-based skill with no script execution, no native network requests, and no credential/environment variable reads. The only tangible side effect is writing the user-level Cursor rule file ~/.cursor/rules/pstack-models.mdc (idempotent, full-file overwrite). Note: The file has alwaysApply: true, representing a cross-project persistent configuration that alters the models and fan-out scale of pstack child agents in all subsequent sessions; errors manifest as child agent call failures/downgrades rather than arbitrary code execution. The optional final step delegates control to /create-verification-skill (which writes files inside the project) only upon explicit user consent. Trigger condition: Runs only when the user explicitly triggers /setup-pstack or asks to configure pstack models.

5Second-Pass Verification

  • [ok] 「写一个 always-applied 规则」是否属实 — SKILL.md Step 5 原文给出 `alwaysApply: true`,且位于规则文件 frontmatter 形状中;docs/guide/01-setup.md 复述 'It writes `~/.cursor/rules/pstack-models.mdc`, a small rule every pstack skill reads.'。
  • [ok] 「每个真实 slug 必须已被确认可用」的双重校验 — Step 1 'Never write a real slug you have not confirmed is available.' 与 Step 4 '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.' 两处独立存在,非同一句的重复表述。
  • [ok] 本 skill 是否读取凭证或环境变量 — 全文无 API_KEY/token/secret/env 命中;模型可用性靠「本会话能否 spawn」这一运行时事实,不需读凭证。第一遍的 blue 档依据成立。
  • [ok] 首遍写入的「18 行角色」计数 — 逐行数 Step 5 模板:feature, refactoring / bug-fix / perf-issue / hillclimb / judgment and prose / hardest tasks / how explorer / how explainer / why investigators / why synthesizer / reflect tooling / reflect judgment, divergent, synthesizer / arena runners / arena cross-judge pool / swarm workers / architect runners / interrogate reviewers = 17 行(另有 2 行注释说明)。首遍写「18 行」为计数偏差,实际 17 行;已在此更正,不影响其他结论。
  • [ok] 「配置即扇出规模」的说法 — SKILL.md Step 3 明写面板角色(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';interrogate 的 SKILL.md 亦复述同一语义('one reviewer per entry, extending or shrinking the Reviewer A/B/C/D labels'),两端一致。
  • [ok] 尾步是否可能未经同意就动手 — 原文 'offer once ... On yes, invoke /create-verification-skill ... On no, move on without pushing',明确单次提议 + 需 yes;docs/guide 亦写 'Say yes and it writes … Say no and setup moves on.'。
  • [ok] 是否存在未披露的文件写入 — 全文写入指令只有一处(规则文件);写规则时 'Overwrite the whole file' 明确是覆写而非追加,故不会形成多处散落写入。间接写入(.cursor/skills/verify-<app>/)发生在另一个 skill 内,已单列并标注归属。
  • [ok] 元数据(license/stars/install) — license MIT 来自 pstack/LICENSE 与 plugin.json;stars 7799 / last_push 2026-09-15T03:14:54Z 来自 gh api repos/cursor/plugins(仓库根无 LICENSE,故 gh license 为 null);installs=3 取自 pool.json 的 skills.sh-hot 计数,明显为低值采样,不据此下任何结论。

6Verdict & Scenarios

  • Centralizes model preferences into a single user-level config, eliminating drift from multiple skills hardcoding models.
  • Harder anti-hallucination guardrails than most config skills: writes only verified slugs, double-checks, and halts to ask users if invalid.
  • User-friendly for Auto tier users: inherit-parent / auto serve as permanent aliases that omit the model field to inherit the parent model.
  • Idempotent and reversible: full-file overwrite, line deletion falls back to default, rerunning updates clean without legacy bloat.
  • Hands cost control to the user: panel role list length dictates parallel child agent counts, allowing users to reduce items to save costs.
  • Best for: Ideal for teams or individuals using the pstack plugin (/add-plugin pstack in Cursor) who want to tune role models to their specific model access permissions and budget: one interaction configures models across 17 roles, after which interrogate/arena/swarm/how/why/reflect all adhere to it; Auto tier users can use inherit-parent/auto for zero overhead. Also serves as a reference implementation for 'configuration skills'—writing only a declarative rule without altering any runtime execution code.
    Not for: Not suitable for: 1) Environments not using pstack-family skills (written rules will not be read); 2) Scenarios requiring project-level instead of user-level model configuration (it strictly writes to ~/.cursor/rules/); 3) Users who rely entirely on manually maintained rule files (full overwrite replaces manual edits); 4) Environments without Task child agent capabilities unable to enumerate models (degrades to manual pasting). Note: Only run when explicitly invoking /setup-pstack.
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload setup-pstack.tar.gz
    sha256: 21a003c19c3e95ac…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit df3fb154fb.