setup-pstack
Skill9 starsChanged 13 days agoMITView on GitHub
Configure which models pstack uses per role and at what reasoning budget. Detects your available models and writes an always-loaded memory file that overrides the skill defaults. Use for /setup-pstack, "configure pstack models", "pstack budget", or changing pstack's model choices.
25 other projects use a version of this, 13 of them edited.
Adopted by
Most recently taken up by
- paramcodes/skillsedited, first seen Nov 8, 2026
- creedants/pstack-t3their own version, first seen Nov 3, 2026
- dsebban/skillsedited, first seen Nov 1, 2026
- DarthJonathan/guac-skillstheir own version, first seen Nov 1, 2026
- anhermon/pstack-claudeedited, first seen Nov 1, 2026
- lengjingxu/pstack-for-codexedited, first seen Oct 25, 2026
Used with
Projects with it also use make-bot-ui.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
eryzerzSkillmake-bot-ui
Use when building a custom UI (page, dashboard, buttons) that should wake a Grok Bot over a webhook, when the user must provide a webhook sender key, or when exposing that UI on Tailscale.
Also in 15 projects that use this
Other versions25 projects use a version of this.
Word for word · 0
None found.
Edited · 13
- backnotprop/pstack★ 3.8k49% same
- dsebban/skills★ 7111% same
- mariusflorescu/pstack-t3★ 1345% same
- dhanji4U/skills★ 252% same
- EvanBatten/pstack-for-cc★ 222% same
- JoshueOsuna/pstack★ 254% same
- lengjingxu/pstack-for-codex★ 152% same
- ngcto/oh-my-pstack★ 119% same
- ahmedbenaw/pstack★ 049% same
- ahmedgcompany-cyber/pstack-claude★ 052% same
3 more not listed
Wrote their own version · 12
- TheOnlyFusionCube/potetos-for-everyone★ 21same name
- creedants/pstack-t3★ 18same name
- kkgogogo17/pi-pstack★ 9same name
- 0xrsydn/pstack-pi★ 6same name
- bnema/pi-pstack★ 2same name
- jmporchet/pstack-hermes★ 2same name
- iancleary/skills★ 1same name
- azzz9/pi-pstack★ 0same name
- DarthJonathan/guac-skills★ 0same name
- DBULL7/pstack-pi★ 0same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository56 other files it gives its agents.
- architectSkill
- arenaSkill
- automate-meSkill
- benchmark-checklistSkill
- blast-radiusSkill
- broSkill
- correctSkill
- create-formal-verification-skillSkill
- create-verification-skillSkill
- figure-it-outSkill
- howSkill
- interrogateSkill
- in-your-own-wordsSkill
- ketchupSkill
- ketchup-videoSkill
- maintain-formal-verification-skillSkill
- maintain-verification-skillSkill
- no-commentsSkill
- poteto-helpSkill
- poteto-modeSkill
- principle-attack-the-premiseSkill
- principle-boundary-disciplineSkill
- principle-build-the-leverSkill
- principle-encode-lessons-in-structureSkill
- principle-exhaust-the-design-spaceSkill
- principle-experience-firstSkill
- principle-explain-the-numberSkill
- principle-fix-root-causesSkill
- principle-foundational-thinkingSkill
- principle-guard-the-context-windowSkill
- principle-laziness-protocolSkill
- principle-make-operations-idempotentSkill
- principle-migrate-callers-then-delete-legacy-apisSkill
- principle-minimize-reader-loadSkill
- principle-model-the-domainSkill
- principle-never-block-on-the-humanSkill
- principle-outcome-oriented-executionSkill
- principle-prove-it-worksSkill
- principle-redesign-from-first-principlesSkill
- principle-separate-before-serializing-shared-stateSkill
- principle-sequence-verifiable-unitsSkill
- principle-subtract-before-you-addSkill
- principle-test-behavior-not-implementationSkill
- principle-type-system-disciplineSkill
- recallSkill
- reflectSkill
- sharpenSkill
- show-me-your-workSkill
- statechartSkill
- swarmSkill
- tddSkill
- teachSkill
- technical-writingSkill
- typescript-best-practicesSkill
- unslopSkill
- whySkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 25 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Write ~/.claude/pstack-models.md, an always-loaded override file that sets pstack's model per role, imported into every session from …
- Distinctive: line 22
(a) Ask for a budget: Prefer AskUserQuestion over free text.
- Very specific: line 35
Every real slug written must be in the detected set.
- Very specific: line 39
Write ~/.claude/pstack-models.md with a # budget line with the chosen label and its target effort, and one line per role, using the same …
“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Setup pstack
Write ~/.claude/pstack-models.md, an always-loaded override file that sets pstack's model per role, imported into every session from ~/.claude/CLAUDE.md. The skills read it and fall back to their inline defaults when a line is absent, so this is an override layer, not a requirement.
Steps
1. Detect available models
Start from the documented model aliases as candidates: haiku, sonnet, opus, and fable. Full model IDs also work when the user's account exposes them. There is no in-session API that lists the user's entitled models, so where availability is uncertain (fable, full model IDs), either test-spawn a one-line background subagent per candidate and treat a slug-rejection error as unavailable, or ask the user which models their account has. If you cannot confirm 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. Load current state
The default role-to-model mapping is the file shape shown in step 5 below. If ~/.claude/pstack-models.md already exists, read it and treat its # budget line and its role values as the current choices. Otherwise start from those defaults. A line whose role is not in step 5, such as how critics, is from a retired role. Drop it.
3. Budget, map, and confirm
(a) Ask for a budget. Prefer AskUserQuestion over free text. Offer these four options with these exact labels, and name the current budget when the file records one.
unlimited (model default, max per session)large (xhigh reasoning)medium (high reasoning)small (medium reasoning)
(b) Apply it. Claude Code model tiers carry no effort token, so the budget is one session-wide effort level, and it is every role's starting level: poteto-mode steps a spawn's effort up or down from it for the job. large, medium, and small set effortLevel in ~/.claude/settings.json to xhigh, high, or medium. Read the JSON, set that one key, write it back, and leave every other key as it was. unlimited removes the key, so each model runs at its own default. max cannot be persisted, so on unlimited tell the user that /effort max or CLAUDE_CODE_EFFORT_LEVEL=max reaches it per session. A saved per-model level under modelSettings outranks effortLevel, so name any such entry you find and ask before touching it. Role models do not change with the budget. Build the working table from the skill defaults, and on a re-run keep any role you changed by tier, list, or alias (inherit-parent, auto).
(c) Show the roles and confirm. Show every role with its model, marking any real slug not in the detected set as needing a choice. Also list each line step 2 dropped. 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 users on the default model setting stay on it) as the options. Prefer AskUserQuestion over free text. 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 is also a list, but Arena runs one judge. It tries only values on a tier other than the parent's, in list order, so order it by preference. An inherit-parent or auto value never judges. swarm workers is the default model for every worker unless a race or comparison assigns another model per arm.
4. Validate
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. An override file pointing at a model the user cannot use breaks every delegation that reads it.
5. Write the override file
Write ~/.claude/pstack-models.md with a # budget line with the chosen label and its target effort, and one line per role, using the same labels poteto-mode uses. Overwrite the whole file so re-runs stay idempotent. Shape:
# pstack model configuration. One line per role. Delete a line to fall back to the skill default.
# `inherit-parent` or `auto` as a value: the role runs on the parent chat model (omit the Agent `model`). Alias entries in a panel list still count toward its fan-out.
# budget: unlimited (model default, max per session)
feature, refactoring: haiku
bug-fix: haiku
perf-issue: haiku
hillclimb: haiku
judgment and prose: opus
hardest tasks: opus
how explorer: haiku
how explainer: opus
why investigators: haiku
why synthesizer: opus
reflect tooling: haiku
reflect judgment, divergent, synthesizer: opus
arena runners: opus, haiku
arena cross-judge pool: opus, haiku
swarm workers: haiku
architect runners: opus, haiku
interrogate reviewers: opus, haikuThen make it always loaded: read ~/.claude/CLAUDE.md (create it if it does not exist) and add the line @~/.claude/pstack-models.md if it is not already present. That memory import pulls the file into every session. Adding the line is idempotent: skip it when it is already there, and never duplicate it.
6. Confirm
Tell the user the override file was written, that ~/.claude/CLAUDE.md imports it, what effortLevel now holds in ~/.claude/settings.json, and that it applies to new sessions. Re-running this skill updates it.
7. Offer a verification skill (optional)
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.
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 proof, or another verifier against the code). If not, offer once: "want a formal verification skill, so agents can prove a key property of your code holds in every case in scope, not only the cases tests reach? I can generate one with /create-formal-verification-skill." On yes, invoke /create-formal-verification-skill (resolves wherever pstack is installed: workspace, user, or plugin). On no, move on without pushing.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

