- name
- setup-pstack
- description
- Configure pstack’s optional per-role Codex model preferences and offer project verification skills. Use for pstack setup or role choices, not to alter Codex’s global model settings.
# Setup pstack
Read [Codex runtime mapping](../../references/codex-runtime.md).
Resolve Codex home from `CODEX_HOME`, otherwise `~/.codex`.
The optional `pstack-models.md` is read by pstack workflows, not automatically
loaded by Codex. Preserve unrelated user configuration.
1. Inspect the current subagent tool schema or an available first-party model
listing. Do not invent model IDs. When no listing exists, use `auto`.
2. Read an existing `pstack-models.md` and preserve its valid role choices. A role name outside the example shape below is retired; drop it and list each dropped line when you show the proposal.
3. Show proposed role preferences. Set explicit model IDs only when the user
chose them and the current host permits them. `auto` and `inherit-parent`
mean no override. Panel lists determine worker count, not model availability.
4. Write the confirmed preferences. Ask for normal filesystem approval if Codex
home is outside the writable scope; do not move the file to bypass approval.
Example:
```markdown
# pstack model preferences
feature, refactoring: auto
bug-fix: auto
perf-issue: auto
hillclimb: auto
judgment and prose: auto
hardest tasks: auto
how explorer: auto
how explainer: auto
why investigators: auto
why synthesizer: auto
reflect tooling: auto
reflect judgment, divergent, synthesizer: auto
arena runners: auto, auto, auto
arena cross-judge pool: auto
swarm workers: auto
architect runners: auto, auto, auto
interrogate reviewers: auto, auto, auto
```
Report the path and explicit choices. Explain that only pstack workflows read
this file and that subagents inherit the parent unless an allowed override is
chosen. Do not add always-applied Copilot instructions or edit Codex config.
Discuss effort separately from model identity. Preserve inherited host settings unless the user chooses supported overrides. Use **poteto-mode**'s job-matched effort guidance only through controls the current host actually exposes; do not invent speed suffixes, model slugs or preference fields the runtime does not consume.
Panel lists set their seat counts. Arena runs one cross-judge from its configured pool, preferring a genuinely different available family. Aliases preserve inheritance, not diversity. When a seat or judge cannot run, report it and follow Arena's dropout guidance rather than inventing a supported model or an independent verdict.
## Optional project verification
Check whether the project already has a skill or harness for driving the real app. If none exists, offer once to generate one with [create-verification-skill](../create-verification-skill/SKILL.md). Invoke it only if the user accepts; otherwise move on without pushing.
Then check for a project skill that runs a model checker, proof, or other verifier against named code. If none exists, offer once to generate one with [create-formal-verification-skill](../create-formal-verification-skill/SKILL.md), explaining that it checks one property within stated bounds rather than proving the whole system. Invoke it only if the user accepts. Generated project skills belong under `.agents/skills/`, not in Codex home or the installed plugin.
View on GitHub