Skip to content

Map the budget ladder onto grok-4.6 and grok-4.5 effort - #24

Merged
caelaxie merged 1 commit into
mainfrom
cursor/grok-effort-ladder-87ed
Oct 21, 2026
Merged

caelaxie merged 1 commit into
mainfrom
cursor/grok-effort-ladder-87ed

Conversation

@caelaxie

Copy link
Copy Markdown
Contributor

Closes #13

Keep upstream's budget ladder (max > xhigh > high > medium > low). Write effort as a separate field after the model ids grok models lists on grok 1.0.62, grok-4.6 and grok-4.5. Drop the effort-suffix ban. Code and judgment seats are grok-4.6 xhigh. Panels stay two models: grok-4.6 xhigh, grok-4.5 high.

Open in Web Open in Cursor 

Keep upstream's max > xhigh > high > medium > low ladder, write effort after the real grok 1.0.62 model ids, and drop the effort-suffix ban.

Co-authored-by: Kaitian Xie <[email protected]>

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

portreview verdict: approve, merging.

  • minimum changes: matches the revised smallest fix on #13 line for line. upstream 88d4751 budget labels and ladder restored, effort written as a separate field after the id, "Match the model to the job" restored with only the fast/speed sentences dropped and Task → spawn_subagent, every "use the role slug ... do not invent an effort suffix" swapped for upstream's sentence minus "fast or standard speed". how L11 repair in.
  • grep of all 162 text files at 3e131d4: zero hits for grok-4.7, build-fast, effort suffix, role slug.
  • layout/target: no cursor paths or shims added.
  • parity: no version change needed, upstream unchanged.
  • proof: Validate plugin green at 3e131d4 (grok plugin validate + install --trust + list --json + installed validate + inspect, skill/agent counts match). text-only skill change, accepted per prior precedent.
  • linkage: Closes #13.

@caelaxie
caelaxie merged commit e76b7fa into main Oct 21, 2026
1 check passed
@caelaxie
caelaxie deleted the cursor/grok-effort-ladder-87ed branch October 21, 2026 02:32
@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Harness proof for head 3e131d43220c25d580e43b8f3811565fe8be0c38 on cursor/grok-effort-ladder-87ed. Checked out at that sha. Fresh HOME=/tmp/proof-13/home. Installed copies of all 28 changed files match this checkout byte for byte.

Commands

$ grok --version
grok 1.0.62 (1474f9cbdd91)

$ git rev-parse HEAD
3e131d43220c25d580e43b8f3811565fe8be0c38

$ grok plugin validate .
Plugin manifest is valid.
  name: pstack
  version: 0.15.29
  description: if you want to go fast, go deep first. pstack helps you write less, but higher quality code. rigorous agent workflows you can parallelize with confidence.
  components: 1 skill dir(s), 0 command dir(s), 1 agent dir(s)

$ grok plugin install https://github.com/pstack-ports/grok-pstack@cursor/grok-effort-ladder-87ed --trust
Installed 1 plugin(s) from https://github.com/pstack-ports/grok-pstack@cursor/grok-effort-ladder-87ed: pstack

$ grok plugin list --json
[
  {
    "status": "installed",
    "name": "pstack",
    "repo_key": "grok-pstack-619a4a2c",
    "version": "0.15.29",
    "path": "/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c",
    "source": "https://github.com/pstack-ports/grok-pstack",
    "marketplace": null
  }
]

$ grok models
You are not authenticated.

Default model: grok-4.6

Available models:
  * grok-4.6 (default)
  - grok-4.5

grok inspect --json

grok inspect --json is 35073 bytes. grokVersion is 1.0.62. plugins is [{"name": "pstack", "scope": "user", "path": "/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c", "enabled": true, "provides": {"skills": 59, "agents": 1, "hooks": false, "mcpServers": 0}}]. All 59 skills entries have source.type plugin, plugin_name pstack, and a path under that installed plugin. Full output:

The raw JSON is posted in the following comment because this comment also carries every installed changed section.

Installed text of each changed section

Paths are under /tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c.

docs/guide/01-setup.md

30|The budgets are `unlimited — max reasoning`, `large — xhigh reasoning`, `medium — high reasoning`, and `small — medium reasoning`. `unlimited`, `large`, `medium`, and `small` set the effort of every real model entry, panel entries included, to `max`, `xhigh`, `high`, or `medium`, on the ladder `max` > `xhigh` > `high` > `medium` > `low`. Effort is a separate field, written after the model id (`grok-4.6 xhigh`). If the model does not offer that effort, use its highest offered effort at or below the target, else mark the role as needing a choice. On grok 1.0.62, `unlimited` keeps `grok-4.6` at `xhigh`, `large` keeps the defaults, and `small` turns them into `grok-4.6 medium` and `grok-4.5 medium`. If `spawn_subagent` has no `model` argument, `/setup-pstack` sets `[features] subagent_model_inheritance = false` in `~/.grok/config.toml` when no requirements pin or `GROK_SUBAGENT_MODEL_INHERITANCE` blocks it. Role models start in the next session. This session still inherits the parent.

skills/architect/SKILL.md

31|Take the runners from the `architect runners` line in the `pstack-models.md` rule, in place of the `arena runners` line. If the rule or that line is missing, use `grok-4.6 xhigh` and `grok-4.5 high`. Alias and rejected entries follow the runner rules in the **arena** skill's Phase A.

skills/arena/SKILL.md

17|3. Pick the runners. Use the `arena runners` line in `~/.grok/rules/pstack-models.md`. If the rule or that line is missing, default to one each on `grok-4.6 xhigh` and `grok-4.5 high`. An `auto` or `inherit-parent` entry in this line or the cross-judge line means the parent model, so omit `model` for it. If `spawn_subagent` has no `model` argument, omit it for this session so the child inherits the parent, and apply step 1 of **setup-pstack** so the next session can pass `model`. If it rejects a slug, use the closest slug from `grok models` and say so. Diversity is a different detected slug, not a different vendor. Spawn more runners when the arena covers multiple design directions. Use the same model N times when the work is generation-bound rather than judgment-sensitive. Pick each subagent's reasoning effort for the job, per the Subagents section.
28|After all Phase B candidates complete, choose one model from the `arena cross-judge pool` line in `~/.grok/rules/pstack-models.md`. If the rule or that line is missing, choose from `grok-4.6 xhigh` and `grok-4.5 high`. Prefer a detected slug different from the parent's when one exists. Spawn one judge subagent on that model. There is no readonly flag. The prompt forbids file edits. It sees the rubric and the candidates by path label, scores each criterion, and recommends a base with rationale. It runs in parallel with your reading in Phase D. Don't spawn it while candidates are still writing.

skills/automate-me/SKILL.md

31|Survey recent agent conversations within that scope for recurring patterns. Run multiple parallel subagents across slices of history (e.g. last 2-4 weeks, split into 3 slices so each has enough material). Pick each subagent's reasoning effort for the job, per the Subagents section. Each slice mining subagent reads transcripts from the workspace-scoped path the parent provides, looks for the signals below, and returns a short structured list of patterns it saw with evidence pointers. Default signals worth hunting:

skills/figure-it-out/SKILL.md

31|- Decide what fans out. Parallelize only across seams, and give each worker its own worktree or branch (the **separate-before-serializing-shared-state** principle skill). Don't over-fan. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/how/SKILL.md

11|Every spawn is a `spawn_subagent` call with no `subagent_type` and a prompt that forbids file edits (there is no readonly flag). Explorers use the `how explorer` line in the `pstack-models.md` rule (default `grok-4.6` at `xhigh`), and every explainer uses the `how explainer` line (default `grok-4.6` at `xhigh`). Set `model` to that line's value, or to the default if the rule or the line is missing. Leave `model` unset when the value is `auto` or `inherit-parent`. If `spawn_subagent` has no `model` argument, omit it for this session so the child inherits the parent, and apply step 1 of **setup-pstack** so the next session can pass `model`. If it rejects a slug, use the closest slug from `grok models` and say so. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/interrogate/SKILL.md

31|| Reviewer A | `grok-4.6 xhigh` |
32|| Reviewer B | `grok-4.5 high` |
38|Read `references/reviewer-prompt.md` and fill in the same template for every reviewer with the stated intent, the diff or file contents, the rubric from `references/rubric.md`, and the code-quality lens from `references/code-quality-review.md`. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/no-comments/SKILL.md

19|1. Spawn `spawn_subagent` with `subagent_type: "pstack:comment-sicko"`. Pass the scope. Pick each subagent's reasoning effort for the job, per the Subagents section. Do not restate its rules.

skills/poteto-mode/SKILL.md

95|**Defaults for every `spawn_subagent` call.** `background: true`. There is no readonly flag. When a child must not edit files, say so in the prompt. MCP stays available through `search_tool` and `use_tool`. Pass file pointers, not inlined context. Pass `model` only when the tool schema includes it. Otherwise omit `model` so the child inherits the parent. If it rejects a slug, use the closest slug from `grok models` and say so. Defaults are `grok-4.6` at `xhigh` for code and for prose and judgment. Code delegates tier by difficulty. The hardest changes (cross-cutting design, gnarly concurrency, subtle algorithms) go to your strongest judgment model (`grok-4.6` at `xhigh`), whether the task needs judgment on vague intent or is a precisely specified sequence of steps to execute to the letter. Trivial mechanical edits go to your fast code model. Per-role lines in `~/.grok/rules/pstack-models.md` (written by `/setup-pstack`) override these defaults and the model choices in the routed skills (`how`, `why`, `arena`, `swarm`, `architect`, `interrogate`, `reflect`). A role with no line keeps its default, and a role line of `inherit-parent` or `auto` runs that role on the parent chat model (omit `model`). Each code playbook's configured model comes from its line (`feature, refactoring`, `bug-fix`, `perf-issue`, or `hillclimb`), and the hardest changes read `hardest tasks`. Prose and judgment read `judgment and prose`. When `spawn_subagent` has no `model` argument, omit `model` for this session so every role inherits the parent, and apply step 1 of **setup-pstack** so the next session can pass `model`.
97|**Match the model to the job.** Before each spawn, start from the role's line or default and pick the reasoning level the job needs. The `/setup-pstack` budget sets each role's starting level, xhigh by default. Raise it one step, up to max, for the hardest or subtlest work. Lower it one step for judgment and two or more steps for routine work. Verification is the exception and stays on the `swarm workers` model (`grok-4.6 xhigh` by default). Change only the effort and keep the model the role names, so a diverse panel stays diverse. If the model does not offer that effort, use its nearest offered effort. A role on `auto` or `inherit-parent` stays on the parent model. Set the effort only when `spawn_subagent` lists an effort argument. If the `spawn_subagent` tool rejects the adjusted slug, do not try another adjusted slug. Use the role's line or default and say so.

skills/poteto-mode/playbooks/autonomous-run.md

6|2. Pick the wake mechanism using `/loop` (a Grok Build built-in, not a pstack skill). Each fire is a fresh agent that cannot see this chat, so the stored prompt must stand alone. An event to watch (CI, a merge, a ref advancing) gets a watcher subagent that wakes you on the event, with a long time-based heartbeat as fallback. No event gets a fixed-interval heartbeat sized to when the result is worth re-checking. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/poteto-mode/playbooks/bug-fix.md

3|**You own this task. Plan, review, verify.** Delegate investigation and the fix to subagents, stay in the lead. Pick each subagent's reasoning effort for the job, per the Subagents section.
9|3. Plan the fix. If it crosses a function boundary, `architect` first. Delegate implementation to a subagent using your configured bug-fix model (default `grok-4.6` at `xhigh`) with a specific scope.

skills/poteto-mode/playbooks/eval.md

20|4. **Spawn N parallel candidates** on different models per the **arena** skill's Phase B. Each works in its own sanitized dir. Same prompt to each. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/poteto-mode/playbooks/feature.md

12|4. Delegate code-writing to a subagent using your configured feature model (default `grok-4.6` at `xhigh`) with a specific scope (file paths, named data shape and its organizing structure per **principle-model-the-domain**, a state machine over scattered booleans, a table/registry over branching, a typed model over repeated shape assumptions, chosen before the delegate writes logic, and success criteria). Pick each subagent's reasoning effort for the job, per the Subagents section. When the implementation admits multiple valid shapes (error handling, abstraction layer, test structure), delegate via the **arena** skill instead so the runners surface the alternatives and the cross-judge guards the pick. Mandatory: no skip-with-reason escape, and Laziness Protocol does not override it (the gain is review separation, not lines saved). A subagent forbidden to spawn satisfies this by owning the diff directly with the same review separation. No "standing by" reply that waits on a nested agent. Comments per **Comments**. Surgical edits, re-ground against the source for upstream-derived files. Port shared-primitive improvements to all consumers and verify each. Commit liberally.

skills/poteto-mode/playbooks/hillclimb.md

12|   - Hand the change to a subagent using your configured hillclimb model (default `grok-4.6` at `xhigh`) with a tight scope. Pick each subagent's reasoning effort for the job, per the Subagents section. Supervise and review the diff rather than typing it (the **guard-the-context-window** principle skill). When several independent hypotheses are live, fan them to parallel subagents, each in its own worktree (the **separate-before-serializing-shared-state** principle skill).

skills/poteto-mode/playbooks/multi-phase-plan.md

7|3. Explore in subagents with `subagent_type: "pstack:poteto-agent"` and an explicit model per the Subagents section (the **guard-the-context-window** principle skill). Pick each subagent's reasoning effort for the job, per the Subagents section. Each returns file pointers, conventions, test commands, and entry points. No inlined dumps.
13|**Verification.** Tests alone are not sufficient verification. A PR is verified only when its unit, live, and perf boxes are all checked (the **prove-it-works** principle skill). That sentence is the verification rule. Every verification block opens with it. The live block is mandatory. Ten lanes at the PR head drive the real surface through its control skill, per the **swarm** skill, on the `swarm workers` model (default `grok-4.6` at `xhigh`). Each lane is one box with a concrete scenario, the screenshot it saves, and its pass predicate. One lane is the **Regression lane against trunk.** It runs the same load-bearing scenario on trunk and head. If trunk does not have the feature, the lane records that fact and gates the behavior the diff adds plus the end state the user waits for instead of inventing a trunk result. The perf gate is dual-sided. Trunk and head must both produce the named metric. If trunk lacks the feature, also isolate the work the diff adds and set an absolute budget for that work plus the end-to-end state the user waits for. Do not claim a ratio between unlike scenarios. The perf block names the metric, the interleaved probe, the trunk baseline measured first, and the rule with the number that fails. A PR that changes an interaction is review-gated. The operator reviews it in chat with screenshots and a video before merge. A PR that changes no interaction writes `**Review gate.** None. <PR id> is not review-gated.` and no boxes under it.

skills/poteto-mode/playbooks/orchestrate.md

15|- **Coordinator (this chat).** Local. Frames, authors briefs, drains the inbox, owns the human report, makes judgment calls. It never authors or edits code. Conflicted merges, chain rebases, and code changes are always tasks. Mechanically landing a verified unit (fast-forward or clean cherry-pick of a worker's commit, then push) is bookkeeping the coordinator may do itself on repos where local git is cheap. Queueing finished work behind an idle stacker is how a deadline harvests nothing. The loop is agentic end to end. This chat is the only spawner. Agents are spawned, resumed, and drained only through `spawn_subagent`. A child must not spawn. Resume a completed child with `resume_from`. Pick each subagent's reasoning effort for the job, per the Subagents section. State reads and writes go through `scripts/orch/orch.ts` at drain points, one command in and one line out. The CLI never spawns, waits, or wakes anything.

skills/poteto-mode/playbooks/perf-issue.md

17|3. Plan the fix from the trace. If it crosses a function boundary, `architect` first. Delegate implementation to a subagent using your configured perf-issue model (default `grok-4.6` at `xhigh`). Pick each subagent's reasoning effort for the job, per the Subagents section. Review the diff. Capture a post-fix trace.

skills/poteto-mode/playbooks/refactoring.md

11|5. Move in small behavior-preserving steps, each keeping the pin green. For API reshapes, migrate every caller and delete the old API in the same wave (**principle-migrate-callers-then-delete-legacy-apis**). No compatibility shims, no parallel old-and-new paths. Spot-check every rename against the actual files. Renames silently miss usages in strings, prose, and back-references. Delegate the mechanical edits to a subagent using your configured refactoring model (default `grok-4.6` at `xhigh`) with a specific scope (file paths, the names being moved, the behavior to hold). Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/poteto-mode/playbooks/runtime-forensics.md

6|2. Reduce the artifact to the smoking gun: the function on the hot path, the retainer chain from the leaked object to a GC root, the loop firing without input. Parse large artifacts in a subagent (the **guard-the-context-window** principle skill), keep the reduced finding in the main thread. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/poteto-mode/playbooks/session-pickup.md

5|1. Locate the prior trail. A local transcript at `~/.grok/sessions/<percent-encoded absolute cwd>/<session-id>/chat_history.jsonl` (`GROK_HOME` overrides `~/.grok`. Do not glob across `~/.grok/sessions/*/`, that crosses workspace boundaries and reads private chats from unrelated projects), or a pushed branch. Read the metadata overview and last messages first, then scan back for the decision points. Parse a long transcript in a subagent and keep the reduced timeline in the main thread (the **principle-guard-the-context-window** skill). Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/poteto-mode/playbooks/trace-forensics.md

7|1. Identify the format and load it with the right tool. Parse large artifacts in a subagent (the **principle-guard-the-context-window** skill) and keep the reduced finding in the main thread. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/poteto-mode/playbooks/worktree-cleanup.md

5|3. Verify usage before deleting. For every `verify-recent-chat` row, or anything you doubt, fan subagents out to read the transcripts and report whether the chat is pinned or ongoing and which worktrees it touches (principle-guard-the-context-window, transcripts are bulk). A pinned chat spawns arena and repro trees into sibling worktrees via background subagents, and those are in use even when their names never hit the sidebar. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/recall/SKILL.md

19|3. Fan out across your chat history. Spawn parallel subagents on a fast, cheap model, each taking a slice of the corpus. Tell every subagent to order candidates by real modification time (`ls -t`) and never by UUID name, grep the topic first and then read only the matching chats and only their relevant regions, and skip the current chat plus obvious noise (subagent, eval, and test chats). Each returns the same schema, one block per chat: topic, the user's goal, decisions, open threads, struggles and corrections, and artifacts (PRs, tickets, branches), each citing the chat UUID. For one or two chats, skip the fan-out and search directly. The raw transcripts stay in the subagents. The main thread gets only their findings. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/reflect/SKILL.md

28|Each reviewer and the synthesizer name a role line in the `pstack-models.md` rule and a default. Set `model` to that line's value, or to the default if the rule or the line is missing. Leave `model` unset when the value is `auto` or `inherit-parent`. If `spawn_subagent` has no `model` argument, omit it for this session so the child inherits the parent, and apply step 1 of **setup-pstack** so the next session can pass `model`. If it rejects a slug, use the closest slug from `grok models` and say so. Pick each subagent's reasoning effort for the job, per the Subagents section.
32|| Judgment | `reflect judgment, divergent, synthesizer` | `grok-4.6` at `xhigh` | `references/judgment-reviewer.md` |
33|| Tooling | `reflect tooling` | `grok-4.6` at `xhigh` | `references/tooling-reviewer.md` |
34|| Divergent | `reflect judgment, divergent, synthesizer` | `grok-4.6` at `xhigh` | `references/divergent-reviewer.md` |
40|One `spawn_subagent` call, omit `subagent_type`, `model` from the `reflect judgment, divergent, synthesizer` line (default `grok-4.6` at `xhigh`), the default tool set. Do not pass a readonly flag. It spot-verifies citations through MCP via `search_tool` and `use_tool`. Pass `references/synthesizer.md` verbatim, with each reviewer's full output inlined where marked. It returns an Accepted / Rejected / Backlog list.

skills/setup-pstack/SKILL.md

14|Run `grok models` and read the `spawn_subagent` schema. The slugs `grok models` lists are the only real slugs you may write. Read each model's effort levels from `grok models` / `/model`. If you cannot detect any slug, ask the user to paste the slugs they have access to. Never write a real slug you have not confirmed. The aliases `inherit-parent` and `auto` are always valid even though they are not detected slugs. Both mean omit `model`.
21|Pass `model` only in a session whose schema includes it. Pass the effort only when `spawn_subagent` lists an effort argument. Otherwise the child inherits the parent's effort.
31|- `unlimited — max reasoning`
32|- `large — xhigh reasoning`
33|- `medium — high reasoning`
34|- `small — medium reasoning`
36|**(b) Apply it.** Build the working table from the skill defaults, and on a re-run keep any role you changed by slug, list, or alias (`inherit-parent`, `auto`). `unlimited`, `large`, `medium`, and `small` set the effort of every real model entry, panel entries included, to `max`, `xhigh`, `high`, or `medium`, on the ladder `max` > `xhigh` > `high` > `medium` > `low`. Effort is a separate field, written after the model id (`grok-4.6 xhigh`). If the model does not offer that effort, use its highest offered effort at or below the target, else mark the role as needing a choice. `inherit-parent` and `auto` do not change. So on grok 1.0.62, `unlimited` keeps `grok-4.6` at `xhigh`, `large` keeps the defaults, and `small` turns them into `grok-4.6 medium` and `grok-4.5 medium`. A panel list stays two entries when two different detected slugs exist. When the budget collapses a panel onto one slug, write that slug twice and tell the user the panel has no second model. If `spawn_subagent` has no `model` argument, still write the intended slugs. They take effect in the next session, after step 1 exposes `model`.
46|Write `~/.grok/rules/pstack-models.md` as plain Markdown. No YAML frontmatter. Include a `# budget` line and one line per role, using the same labels poteto-mode uses. Overwrite the whole file so re-runs stay idempotent. Shape for `large` when `grok-4.6` and `grok-4.5` are detected:
52|# budget: large (xhigh)
53|feature, refactoring: grok-4.6 xhigh
54|bug-fix: grok-4.6 xhigh
55|perf-issue: grok-4.6 xhigh
56|hillclimb: grok-4.6 xhigh
57|judgment and prose: grok-4.6 xhigh
58|hardest tasks: grok-4.6 xhigh
59|how explorer: grok-4.6 xhigh
60|how explainer: grok-4.6 xhigh
61|why investigators: grok-4.6 xhigh
62|why synthesizer: grok-4.6 xhigh
63|reflect tooling: grok-4.6 xhigh
64|reflect judgment, divergent, synthesizer: grok-4.6 xhigh
65|arena runners: grok-4.6 xhigh, grok-4.5 high
66|arena cross-judge pool: grok-4.6 xhigh, grok-4.5 high
67|swarm workers: grok-4.6 xhigh
68|architect runners: grok-4.6 xhigh, grok-4.5 high
69|interrogate reviewers: grok-4.6 xhigh, grok-4.5 high

skills/show-me-your-work/SKILL.md

67|Before handing back, spawn a subagent on a different detected model slug from the one that did the work, when one exists. Self-review is not a substitute. The subagent reads the audit trail and the run's transcript, then flags what the user should pay attention to. Not a redo of the work, a scan for what's suboptimal or risky. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/swarm/SKILL.md

22|4. Pick the worker model from the `swarm workers` line in `~/.grok/rules/pstack-models.md`. If the rule or that line is missing, use `grok-4.6` at `xhigh`. For `auto` or `inherit-parent`, omit `model` so the workers run on the parent model. If `spawn_subagent` has no `model` argument, omit it for this session so the child inherits the parent, and apply step 1 of **setup-pstack** so the next session can pass `model`. If it rejects a slug, use the closest slug from `grok models` and say so. For a model race, name each arm's model up front. Pick each subagent's reasoning effort for the job, per the Subagents section.

skills/why/SKILL.md

11|Each spawn below names a role line in the `pstack-models.md` rule and a default. Set `model` to that line's value, or to the default if the rule or the line is missing. Leave `model` unset when the value is `auto` or `inherit-parent`. If `spawn_subagent` has no `model` argument, omit it for this session so the child inherits the parent, and apply step 1 of **setup-pstack** so the next session can pass `model`. If it rejects a slug, use the closest slug from `grok models` and say so. Pick each subagent's reasoning effort for the job, per the Subagents section.
49|Spawn one investigator per category that has a matching MCP, all in a single message so they run concurrently, each owning exactly one tool or MCP. Don't ask one agent to cover multiple MCPs. `model`: the `why investigators` line, default `grok-4.6` at `xhigh`.
79|Spawn one synthesizer. `model`: the `why synthesizer` line, default `grok-4.6` at `xhigh`. It gets:

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Skills array from the grok inspect --json in the proof comment above (35073 bytes, grokVersion 1.0.62, head 3e131d43220c25d580e43b8f3811565fe8be0c38). Every entry is source.type plugin, plugin_name pstack.

architect	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/architect/SKILL.md
arena	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/arena/SKILL.md
automate-me	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/automate-me/SKILL.md
benchmark-checklist	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/benchmark-checklist/SKILL.md
blast-radius	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/blast-radius/SKILL.md
bro	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/bro/SKILL.md
control-cli	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/control-cli/SKILL.md
control-ui	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/control-ui/SKILL.md
correct	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/correct/SKILL.md
create-formal-verification-skill	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/create-formal-verification-skill/SKILL.md
create-verification-skill	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/create-verification-skill/SKILL.md
deslop	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/deslop/SKILL.md
figure-it-out	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/figure-it-out/SKILL.md
how	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/how/SKILL.md
in-your-own-words	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/in-your-own-words/SKILL.md
interrogate	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/interrogate/SKILL.md
ketchup	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/ketchup/SKILL.md
maintain-formal-verification-skill	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/maintain-formal-verification-skill/SKILL.md
maintain-verification-skill	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/maintain-verification-skill/SKILL.md
make-bot-ui	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/make-bot-ui/SKILL.md
no-comments	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/no-comments/SKILL.md
poteto-help	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/poteto-help/SKILL.md
poteto-mode	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/poteto-mode/SKILL.md
principle-attack-the-premise	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-attack-the-premise/SKILL.md
principle-boundary-discipline	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-boundary-discipline/SKILL.md
principle-build-the-lever	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-build-the-lever/SKILL.md
principle-encode-lessons-in-structure	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-encode-lessons-in-structure/SKILL.md
principle-exhaust-the-design-space	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-exhaust-the-design-space/SKILL.md
principle-experience-first	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-experience-first/SKILL.md
principle-explain-the-number	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-explain-the-number/SKILL.md
principle-fix-root-causes	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-fix-root-causes/SKILL.md
principle-foundational-thinking	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-foundational-thinking/SKILL.md
principle-guard-the-context-window	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-guard-the-context-window/SKILL.md
principle-laziness-protocol	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-laziness-protocol/SKILL.md
principle-make-operations-idempotent	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-make-operations-idempotent/SKILL.md
principle-migrate-callers-then-delete-legacy-apis	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md
principle-minimize-reader-load	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-minimize-reader-load/SKILL.md
principle-model-the-domain	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-model-the-domain/SKILL.md
principle-never-block-on-the-human	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-never-block-on-the-human/SKILL.md
principle-outcome-oriented-execution	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-outcome-oriented-execution/SKILL.md
principle-prove-it-works	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-prove-it-works/SKILL.md
principle-redesign-from-first-principles	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-redesign-from-first-principles/SKILL.md
principle-separate-before-serializing-shared-state	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-separate-before-serializing-shared-state/SKILL.md
principle-sequence-verifiable-units	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-sequence-verifiable-units/SKILL.md
principle-subtract-before-you-add	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-subtract-before-you-add/SKILL.md
principle-test-behavior-not-implementation	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-test-behavior-not-implementation/SKILL.md
principle-type-system-discipline	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/principle-type-system-discipline/SKILL.md
recall	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/recall/SKILL.md
reflect	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/reflect/SKILL.md
setup-pstack	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/setup-pstack/SKILL.md
sharpen	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/sharpen/SKILL.md
show-me-your-work	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/show-me-your-work/SKILL.md
swarm	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/swarm/SKILL.md
tdd	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/tdd/SKILL.md
teach	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/teach/SKILL.md
technical-writing	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/technical-writing/SKILL.md
typescript-best-practices	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/typescript-best-practices/SKILL.md
unslop	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/unslop/SKILL.md
why	userInvocable=true	plugin	pstack	/tmp/proof-13/home/.grok/installed-plugins/grok-pstack-619a4a2c/skills/why/SKILL.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

audit: effort budget replaced with grok-4.7-build-fast and an effort-suffix ban

2 participants