Skip to content

feat(spawn): per-task crewmate model selection for cost control #146

Description

@JYoussouf

Problem

bin/fm-spawn.sh launches every crewmate as plain claude --dangerously-skip-permissions with no --model flag, so all crewmates inherit the CLI default (Opus). Trivial, mechanical tasks (em-dash sweeps, file gathering, simple find-and-replace) run on the most expensive model with no way to downshift.

Proposal

Add per-task model selection to fm-spawn:

  • Accept an optional --model <name> (e.g. haiku|sonnet|opus, or any value the harness accepts).
  • For the claude harness, thread it into the launch as --model <name>; keep other harnesses working (default/ignore if no per-harness flag yet).
  • Record model= in state/<id>.meta; omitting --model preserves today's exact behavior (inherit CLI default).
  • Document a tier policy in AGENTS.md: Haiku = trivial mechanical work; Sonnet = straightforward edits/scouts/integration; Opus = complex/judgment-heavy/integrator.

Why

Lets firstmate route work to the cheapest capable model per dispatch, cutting cost on the long tail of simple tasks while reserving Opus for hard work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions