setup-pstack
Configure which models pstack uses per role and at what reasoning budget on OMP.
Skill by dsebban
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dsebban-setup-pstack
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity, finance
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/setup-pstack
What's inside
- Skill name
setup-pstack- Description
- Configure which models pstack uses per role and at what reasoning budget on OMP. Detects the available model catalog and writes modelRoles and task.agentModelOverrides into the active profile's config.yml. Use for /setup-pstack, "configure pstack models", "pstack budget", "which model do subagents use", or changing pstack's model choices.
- License
- MIT
- Instructions
- 139 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- apply-models.mjs · scripts/
- apply-models.test.mjs · scripts/
SKILL.md (first lines)
# Setup pstack Upstream pstack picks a model per call. OMP does not work that way: a `task` item carries no model, so the model follows the **role** and the **agent**. Two settings decide everything. - `modelRoles` maps each role (`slow`, `plan`, `advisor`, `judge`, `task`, `designer`, `vision`, `smol`, `tiny`, `commit`) to a `provider/model[:effort]` selector. - `task.agentModelOverrides` maps each spawnable agent to a selector or an `@role` alias. Configuring pstack on OMP means setting those two records coherently. `scripts/apply-models.mjs` does the arithmetic; this skill runs it and owns the conversation around it. ## Steps ### 0. Locate the script `skill://` paths are readable but not executable, so resolve the real path once and reuse it. `realpath` prints the physical location under any install root: ```bash APPLY=$(realpath skill://setup-pstack)/scripts/apply-models.mjs ``` ### 1. Show the current state ```bash "$APPLY" --show ``` It prints every role with its model and every agent with the model it resolves to. `unset` means the role falls back to OMP's default, which is the session model. ### 2. Ask for a budget Use the `ask` tool, not free text. Offer exactly these four labels, and name the current budget when the config already reflects one: - `unlimited — max reasoning` - `large — xhigh reasoning` - `medium — high reasoning` - `small — medium reasoning` The budget sets the effort token per tier, not per model: | tier | roles | unlimited | large | medium | small | |---|---|---|---|---|---| | strong | `slow`, `plan`, `advisor`, `judge` | max | xhigh | high | medium | | mid | `task`, `designer`, `vision` | xhigh | high | medium | low | | small | `smol` | high | high | medium | low | | pinned | `tiny`, `commit` | low | low | low | low | `tiny` and `commit` stay at `low` under every budget. They exist to be cheap. ### 3. Preview ```bash "$APPLY" --budget <label> --dry-run ``` The preview keeps any model the user already chose for a role and only rescales its effort. It fills unset roles from the detected catalog, preferring the newest generation in the right family. A model that cannot reach the budget's effort gets the highest level it supports, and the run says so. Agent mappings work the same way: an agent the user already pointed at a role or a model keeps that mapping, and the pstack default only fills an agent that was never set. Read the `notes:` block out loud to the user. It reports four things that matter: - a configured model that is no longer in the catalog, which the run replaced - a role whose model tops out below the budget - `reviewer` and `security-reviewer` resolving to the same model, which means panel skills (`skill://interrogate`, `skill://arena`, `skill://reflect`) have no real second opinion - an agent kept on the user's mapping where pstack would have defaulted elsewhere ### 4. Let the user change roles Offer the detected models as options through `ask`, not free text. Apply a change by passing it through: ```bash "$APPLY" --budget large --role judge=<provider>/<model>:high --agent sonic=@smol ``` An explicit `--role` with an effort token wins over the budget. An agent value is either a selector or an `@role` alias; a direct selector must also use an effort its model supports. Unknown roles, malformed `key=value` arguments, and models that are not in the catalog are refused rather than substituted, since OMP's own `omp config set` does not validate them and a bad selector only surfaces when a spawn fails. ### 5. Apply and confirm Drop `--dry-run`. The script merges onto the current records and writes them with `omp config set`, so roles and agent mappings the user set for reasons outside pstack survive, including roles pstack does not own. A failed read of the current config aborts before anything is written. Re-running with the same budget changes nothing. The two writes, `modelRoles` then `task.agentModelOverrides`, are not atomic: if the second fails the first has already landed, and re-running finishes the job. Tell the user where it was written (the script prints the path) and that it is the **active profile's** config: `omp --profile <name>` has its own. New sessions and new subagent spawns resolve the new roles. ### 6. Check the panel If step 3 warned that `reviewer` and `security-reviewer` collapse onto one model, say plainly what is lost: cross-model review degenerates into self-review, and the independence that `skill://arena`'s cross-judge and `skill://interrogate`'s reviewer panel depend on is gone. A fresh run already puts `judge` on a different family from `advisor` when the catalog has one. If the warning remains, either only one family passes `enabledModels`, so admit a second and re-run, or `judge` was set earlier to the same model, so name another with `--role judge=<provider>/<model>`. Do not fake diversity by giving the same model two role names. ### 7. Offer a verification skill (optional) Check whether the project can 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 `/skill:create-verification-skill`." On no, move on without pushing. ### 8. Offer a formal verification skill (optional) Check whether the project already has a formal verification skill: a project skill that runs a model checker, a prover, or another verifier against named code. If not, offer once: "want a formal verification skill, so agents can prove a key property holds in every case in scope, not only the cases tests reach? I can generate one with `/skill:create-formal-verification-skill`." On no, move on without pushing.
From dsebban/skills, MIT.
More from dsebban/skills
- 0.673score
fable-deslop
dsebban
Deletion-first patch minimization.
SkillAFreshness: A★ 68Claude Code +9 - 0.670score
poteto-help
dsebban
Guides users through pstack setup on OMP, /skill:poteto-mode, and picking the skill, playbook, or principle for a task.
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
recall
dsebban
Reconstruct your recent working context from your own session history, live state, and the shared record (user reports, prior fixes, incidents), then hand…
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
maintain-formal-verification-skill
dsebban
Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model…
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
orchestrate-omp
dsebban
Coordinate OMP subagents on substantial work.
SkillAFreshness: A★ 68Claude Code +9 - 0.665score
pstack-omp
dsebban
OMP adapter for poteto-mode.
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
create-verification-skill
dsebban
Generate a project-local verification skill that drives your app the way a user does — any language, framework, or platform.
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
interrogate
dsebban
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
poteto-mode
dsebban
poteto's agent style for concise, detailed responses, deliberate subagents, unslopped prose, simple code, and verified work.
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
how
dsebban
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillAFreshness: A★ 68Claude Code +9 - 0.645score
architect
dsebban
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillAFreshness: A★ 68Claude Code +9 - 0.643score
correct
dsebban
Find the mistakes agents keep repeating in this repo and make each one impossible.
SkillAFreshness: A★ 68Claude Code +9
Signals
- Stars
- 68
- Forks
- 6
- Open issues
- 1
- Last commit (this folder)
- Oct 20, 2026 (8 days ago)
- Last release
- Oct 20, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/dsebban/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from dsebban
- 0.673score
fable-deslop
dsebban
Deletion-first patch minimization.
SkillAFreshness: A★ 68Claude Code +9 - 0.670score
poteto-help
dsebban
Guides users through pstack setup on OMP, /skill:poteto-mode, and picking the skill, playbook, or principle for a task.
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
recall
dsebban
Reconstruct your recent working context from your own session history, live state, and the shared record (user reports, prior fixes, incidents), then hand…
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
orchestrate-omp
dsebban
Coordinate OMP subagents on substantial work.
SkillAFreshness: A★ 68Claude Code +9 - 0.668score
maintain-formal-verification-skill
dsebban
Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model…
SkillAFreshness: A★ 68Claude Code +9 - 0.665score
pstack-omp
dsebban
OMP adapter for poteto-mode.
SkillAFreshness: A★ 68Claude Code +9
Cite this page
setup-pstack skill. Agent Mart. https://agentmart.dev/skills/dsebban-setup-pstack (last updated 2026-10-24)