← Files fstackARCHIVED FILE
skills/setup-fstack/SKILL.md
5.3 KB · Oct 3, 2026 · 06:36 UTC
--- name: setup-fstack description: Configure which models fstack uses per role and at what reasoning budget. Detects available models and writes a per-harness override sheet. Use for /setup-fstack, "configure fstack models", "fstack budget", or changing model choices. menu-description: configure fstack per-role model choices --- # Setup fstack Write a per-harness override sheet so `/engineer-mode` delegations use the models you actually have. Repo-root `models.json` is the default map. The override sheet wins when present. | Harness | Override file | How it loads | |---|---|---| | Cursor | `~/.cursor/rules/fstack-models.mdc` | `alwaysApply: true` rule | | Claude Code | `~/.claude/fstack-models.md` | `@~/.claude/fstack-models.md` in `CLAUDE.md` | | Codex | `~/.codex/fstack-models.md` | paste into `~/.codex/AGENTS.md` | On Codex, slugs are Codex models (for example `gpt-5.5`), not `claude-*`. Detect them from `~/.codex/config.toml` plus what the user confirms. See [`codex-tools.md`](../engineer-mode/references/codex-tools.md). ## Steps ### 1. Detect available models Enumerate the model slugs you can pass to a subagent in this session. That is the dependable source. Never write a real slug you have not confirmed is available. `inherit-parent` and `auto` are always valid. Both mean the role runs on the parent session's model (omit `model` on the subagent call). ### 2. Load current state If the override file for this harness already exists, read it and treat its `# budget` line and its role values as current. Otherwise start from `models.json` for this harness, falling back to `universal`. ### 3. Budget, map, and confirm **(a) Ask for a budget.** Prefer a structured question over free text. Offer these four options with these exact labels, and name the current budget when the sheet records one. - `unlimited - keep max` - `large - xhigh reasoning` - `medium - high reasoning` - `small - medium reasoning` **(b) Apply it.** Build the working table from the loaded state. On a re-run keep any role you changed by family, list, or alias (`inherit-parent`, `auto`). `unlimited` leaves every effort as in that table. `large`, `medium`, and `small` set the effort token of every real slug, panel entries included, to `xhigh`, `high`, or `medium`. The effort token is the last token, or the one before a trailing `fast`, on the ladder `max` > `xhigh` > `high` > `medium` > `low`. If the result is not a detected slug, use the same family's detected slug with the highest effort at or below the target, else mark the role as needing a choice. `inherit-parent` and `auto` do not change. Do not invent vendor slugs. Rewrite effort tokens on whatever `models.json` or the existing override already has. **(c) Show the roles and confirm.** Show every role with its model. Mark any real slug not in the detected set as needing a choice. Ask whether to accept as-is or change specific roles. Prefer a structured question over free text. Panel roles (`how critics`, `arena runners`, `architect runners`, `interrogate reviewers`) are lists. One subagent runs per entry. `arena cross-judge pool` is also a list. Arena picks one value whose model family differs from the parent when possible. `swarm workers` is the default worker model unless a race assigns another model per arm. ### 4. Validate Every real slug written must be in the detected set. `inherit-parent` and `auto` always pass. An override pointing at a model the user cannot use breaks every delegation that reads it. ### 5. Write the override Overwrite the whole file so re-runs stay idempotent. Include a `# budget` line with the chosen label and its target effort. **Cursor** (`~/.cursor/rules/fstack-models.mdc`): ```markdown --- description: fstack per-role model choices (overrides models.json) alwaysApply: true --- # fstack model configuration. One line per role. Delete a line to fall back to models.json. # inherit-parent or auto: the role runs on the parent chat model (omit Task `model`). # budget: unlimited (max) feature, refactoring: composer-2.5 bug-fix: gpt-5.6-sol-high perf-issue: gpt-5.6-sol-high hillclimb: gpt-5.6-sol-high judgment and prose: claude-opus-5-thinking-high hardest tasks: gpt-5.6-sol-high how explorer: composer-2.5-fast how explainer: composer-2.5 how critics: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high why investigators: composer-2.5-fast why synthesizer: composer-2.5 reflect tooling: composer-2.5-fast reflect judgment, divergent, synthesizer: gpt-5.6-sol-high arena runners: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high arena cross-judge pool: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high swarm workers: composer-2.5-fast architect runners: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high interrogate reviewers: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high ``` **Claude Code / Codex** use the same role rows and the same `# budget` line. Change only the slugs and the file path. ### 6. Wire it in Cursor: the `.mdc` rule applies to new sessions automatically. Claude Code: if `~/.claude/CLAUDE.md` does not already include `~/.claude/fstack-models.md`, append `@~/.claude/fstack-models.md`. Codex: append the sheet's contents to `~/.codex/AGENTS.md`. ### 7. Confirm Tell the user where the override was written and that re-running this skill updates it.
SHA-256: 1884fb3ada1c30767fa207b877e34ff4795204e0d3d9a7c867d850cb47462dd6