1仕組みと動作原理
唯一の成果物はユーザーレベルのルールファイル(~/.cursor/rules/pstack-models.mdc、alwaysApply: true 付き)であり、「ロール → モデル」を行単位で宣言します。
Write `~/.cursor/rules/pstack-models.mdc`, an always-applied rule that sets pstack's model per role.
モデルの検出は「現在のセッションの Task ツールが受け入れ可能な slug」を唯一の信頼できる情報源とし、検出できない場合はユーザーに入力を求め、未確認の slug の書き込みを明示的に禁止します。
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 段階の検証は検出フェーズから独立しており、書き込み直前に「すべての実在 slug が検出セットに含まれているか」を再度照合し、含まれていなければ処理を中断して再確認します。
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.
自由テキストではなく構造化された選択肢(AskQuestion)を中心に対話し、既存設定を「現在の選択」として提示してロールごとに確認します。
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.
ファイル全体の完全上書きにより冪等性を保証: 再実行しても重複や矛盾する role 行が蓄積されることはありません。
Overwrite the whole file so re-runs stay idempotent. Shape:
パネル系ロールの値は**リスト**形式であり、リストの長さが子エージェントのファンアウト数を直接決定します(設定=並行度という本スキルの本質的セマンティクス)。
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.
オプションの最終ステップでは別のスキルを横断的にトリガー: プロジェクトに「実際のアプリを駆動して検証する」能力が不足していることを検出した場合、プロジェクト内検証スキルを生成するか一度だけ確認します。
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.
有効化されるタイミングを明記: ルールは新規セッションに対して有効になるため、新しいチャットを開始する必要があります。
After setup, start a new chat. The model rule applies to new sessions.
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| api | Cursor Task 子代理的模型枚举(作为可用 slug 的探测源) |
| network | 用户级规则文件 ~/.cursor/rules/pstack-models.mdc(读+写) |
| package | AskQuestion(宿主交互工具,用于结构化询问而非自由文本) |
4推奨統制措置と判定根拠
- 本地工作目录: ファイルの読み書きおよび成果物の出力: ~/.cursor/rules/pstack-models.mdc(ファイル全体の上書き、alwaysApply: true、ユーザーホームディレクトリ配下の永続設定。本ファイルが唯一の成果物)
5二重目の独立検証
- [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 计数,明显为低值采样,不据此下任何结论。
6結論
21a003c19c3e95ac…