← fstackCONTENT HISTORY

Update to fstack

Snapshot Sep 30, 2026 · 23:16 UTC · version 1.1.2

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "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.",
  "included_files": [],
  "name": "setup-fstack",
  "skill_md_contents": "---\r\nname: setup-fstack\r\ndescription: 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.\r\nmenu-description: configure fstack per-role model choices\r\n---\r\n\r\n# Setup fstack\r\n\r\nWrite 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.\r\n\r\n| Harness | Override file | How it loads |\r\n|---|---|---|\r\n| Cursor | `~/.cursor/rules/fstack-models.mdc` | `alwaysApply: true` rule |\r\n| Claude Code | `~/.claude/fstack-models.md` | `@~/.claude/fstack-models.md` in `CLAUDE.md` |\r\n| Codex | `~/.codex/fstack-models.md` | paste into `~/.codex/AGENTS.md` |\r\n\r\nOn 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).\r\n\r\n## Steps\r\n\r\n### 1. Detect available models\r\n\r\nEnumerate 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).\r\n\r\n### 2. Load current state\r\n\r\nIf 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`.\r\n\r\n### 3. Budget, map, and confirm\r\n\r\n**(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.\r\n\r\n- `unlimited - keep max`\r\n- `large - xhigh reasoning`\r\n- `medium - high reasoning`\r\n- `small - medium reasoning`\r\n\r\n**(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.\r\n\r\n**(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.\r\n\r\nPanel 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.\r\n\r\n### 4. Validate\r\n\r\nEvery 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.\r\n\r\n### 5. Write the override\r\n\r\nOverwrite the whole file so re-runs stay idempotent. Include a `# budget` line with the chosen label and its target effort.\r\n\r\n**Cursor** (`~/.cursor/rules/fstack-models.mdc`):\r\n\r\n```markdown\r\n---\r\ndescription: fstack per-role model choices (overrides models.json)\r\nalwaysApply: true\r\n---\r\n# fstack model configuration. One line per role. Delete a line to fall back to models.json.\r\n# inherit-parent or auto: the role runs on the parent chat model (omit Task `model`).\r\n# budget: unlimited (max)\r\nfeature, refactoring: composer-2.5\r\nbug-fix: gpt-5.6-sol-high\r\nperf-issue: gpt-5.6-sol-high\r\nhillclimb: gpt-5.6-sol-high\r\njudgment and prose: claude-opus-5-thinking-high\r\nhardest tasks: gpt-5.6-sol-high\r\nhow explorer: composer-2.5-fast\r\nhow explainer: composer-2.5\r\nhow critics: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high\r\nwhy investigators: composer-2.5-fast\r\nwhy synthesizer: composer-2.5\r\nreflect tooling: composer-2.5-fast\r\nreflect judgment, divergent, synthesizer: gpt-5.6-sol-high\r\narena runners: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high\r\narena cross-judge pool: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high\r\nswarm workers: composer-2.5-fast\r\narchitect runners: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high\r\ninterrogate reviewers: composer-2.5, gpt-5.6-sol-high, cursor-grok-4.6-high\r\n```\r\n\r\n**Claude Code / Codex** use the same role rows and the same `# budget` line. Change only the slugs and the file path.\r\n\r\n### 6. Wire it in\r\n\r\nCursor: the `.mdc` rule applies to new sessions automatically.\r\n\r\nClaude Code: if `~/.claude/CLAUDE.md` does not already include `~/.claude/fstack-models.md`, append `@~/.claude/fstack-models.md`.\r\n\r\nCodex: append the sheet's contents to `~/.codex/AGENTS.md`.\r\n\r\n### 7. Confirm\r\n\r\nTell the user where the override was written and that re-running this skill updates it.\r\n"
}

SHA-256 of public snapshot: 19a3ac10c98a9c61048953fd1b0f96b54467621eb4c4ea9ac57bde44d720c072