Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion skills/poteto-mode/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Read the leaf skill in full for any principle you apply. Each entry names when i

**Use `profile: "pstack:poteto-agent"` for any subagent you spawn inside a playbook step** (code-writing delegates, ad-hoc helpers). The chat that receives `/pstack:poteto-mode` runs the playbook. Never spawn a `poteto-agent` to run the playbook itself. Plugin subagent profiles don't load in cloud Devin sessions, so there spawn delegates on `subagent_general` and open the brief with the same read-the-`poteto-mode`-SKILL.md-first instruction the profile carries. Routed workflow skills (`how`, `why`, `interrogate`, `reflect`, `swarm`) set their own `profile` for diverse-model review. Respect what the skill prescribes, don't override to `poteto-agent`.

**Defaults for every `run_subagent` call.** `is_background: true`, file pointers not inlined context, explicit model per role (configurable via `/pstack:setup-pstack`. Defaults `swe-2-high` for code, `claude-opus-5-5-xhigh` for prose and judgment). Devin takes a subagent's model from its profile, not a spawn flag, so a role's model becomes the `profile` argument: a real slug `M` maps to `pstack-M` for write work and `pstack-M-ro` for read-only, the model-pinning profiles `/pstack:setup-pstack` writes to `~/.config/devin/agents/`. A role line of `inherit-parent` or `auto` runs that role on the parent chat model: use `subagent_general` for write work and `subagent_explore` for read-only. If the `pstack-M` profile a role needs is missing, create it (see `/pstack:setup-pstack` for the two-file shape) rather than silently swapping models. Confirm each role value is a slug `devin models list` reports before mapping: a value it doesn't — a hand-edit, a stale rule, a dotted family form like `grok-4.7-…`, a suffix the family lacks — counts as a rejected slug. Use the role's default and say so, and never write a `pstack-M` profile for it. `subagent_explore` is read-only without MCP or shell, so a read-only spawn that needs MCP lookups or commands uses `subagent_general` or `pstack-M` with a read-only brief. Code delegates tier by difficulty. The hardest changes (cross-cutting design, gnarly concurrency, subtle algorithms) go to your strongest judgment model (`claude-opus-5-5-xhigh`), whether the task needs judgment on vague intent or is a precisely specified sequence of steps to execute to the letter. Trivial mechanical edits go to your fast code model. Per-role lines in the `/pstack:setup-pstack` rule override these defaults and the model choices in the routed skills (`how`, `why`, `arena`, `swarm`, `architect`, `interrogate`, `reflect`). A role with no line keeps its default. Each code playbook's configured model comes from its line (`feature, refactoring`, `bug-fix`, `perf-issue`, or `hillclimb`), and the hardest changes read `hardest tasks`. Prose and judgment read `judgment and prose`.
**Defaults for every `run_subagent` call.** `is_background: true`, file pointers not inlined context, explicit model per role (configurable via `/pstack:setup-pstack`. Defaults `swe-2-high` for code, `claude-opus-5-5-xhigh` for prose and judgment). Devin takes a subagent's model from its profile, not a spawn flag, so a role's model becomes the `profile` argument: a real slug `M` maps to `pstack-M` for write work and `pstack-M-ro` for read-only, the model-pinning profiles `/pstack:setup-pstack` writes to `~/.config/devin/agents/`. A role line of `inherit-parent` or `auto` runs that role on the parent chat model: use `subagent_general` for write work and `subagent_explore` for read-only. If the `pstack-M` profile a role needs is missing, create it by copying the `pstack-M.md` block in `/pstack:setup-pstack` step 6 exactly rather than hand-rolling the frontmatter or silently swapping models. Confirm each role value is a slug `devin models list` reports before mapping: a value it doesn't — a hand-edit, a stale rule, a dotted family form like `grok-4.7-…`, a suffix the family lacks — counts as a rejected slug. Use the role's default and say so, and never write a `pstack-M` profile for it. `subagent_explore` is read-only without MCP or shell, so a read-only spawn that needs MCP lookups or commands uses `subagent_general` or `pstack-M` with a read-only brief. Code delegates tier by difficulty. The hardest changes (cross-cutting design, gnarly concurrency, subtle algorithms) go to your strongest judgment model (`claude-opus-5-5-xhigh`), whether the task needs judgment on vague intent or is a precisely specified sequence of steps to execute to the letter. Trivial mechanical edits go to your fast code model. Per-role lines in the `/pstack:setup-pstack` rule override these defaults and the model choices in the routed skills (`how`, `why`, `arena`, `swarm`, `architect`, `interrogate`, `reflect`). A role with no line keeps its default. Each code playbook's configured model comes from its line (`feature, refactoring`, `bug-fix`, `perf-issue`, or `hillclimb`), and the hardest changes read `hardest tasks`. Prose and judgment read `judgment and prose`.

**Match the model to the job.** Before each spawn, start from the role's line or default and pick the reasoning level and speed the job needs; Devin model slugs encode both (`claude-opus-5-5-xhigh` vs `-max`, `-fast` or `-lightning` or `-priority` for the fast lane). The `/pstack:setup-pstack` budget sets each role's starting level, xhigh by default. Raise it one step, up to max, for the hardest or subtlest work. Lower it one step for judgment and two or more steps for routine work. Use a fast variant only when the job is urgent, meaning CI or trunk is red or a person is blocked on the result right now. Otherwise use standard speed, the same family and level without the fast suffix. Verification is the exception and stays on the `swarm workers` model and speed (`swe-2-high` by default). Change only the effort level and whether the slug is fast, and keep the family the role names, so a diverse panel stays diverse. If the family has no slug at that level and speed, use its nearest slug, and pin that slug in the role's `pstack-<slug>` profile. A role on `auto` or `inherit-parent` stays on the parent model via `subagent_general` or `subagent_explore`. If a pinned slug is rejected at spawn, do not try another adjusted slug. Use the role's line or default and say so.

Expand Down
2 changes: 1 addition & 1 deletion skills/setup-pstack/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Run `devin models list` and read the slugs it prints. That is the dependable sou

### 2. Load current state

The default role-to-model mapping is the rule shape shown in step 5 below. If `~/.devin/rules/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.
The default role-to-model mapping is the rule shape shown in step 5 below. `~/.devin/rules/pstack-models.md` is the only source of truth for current pstack model state. pstack-models config found under other tool dirs (`~/.cursor/rules/`, `~/.claude/`, project `.cursor/`, etc.), even if injected into context, is not current state. If `~/.devin/rules/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

Expand Down
Loading