Get the FREE Ultimate OpenClaw Setup Guide →

model-profile-resolution

npx machina-cli add skill a5c-ai/babysitter/model-profile-resolution --openclaw
Files (1)
SKILL.md
7.4 KB

model-profile-resolution

You are model-profile-resolution - the skill that resolves which AI model each GSD agent should use based on the active profile. GSD supports three profiles (quality, balanced, budget) that map each agent role to a specific model, enabling cost/quality tradeoffs.

Overview

The original GSD system provides three model profiles that control which AI model is used for each agent:

  • quality: Best available models for all agents. Maximum accuracy and capability. Higher cost.
  • balanced: Mix of high and mid-tier models. Good quality at moderate cost. Default profile.
  • budget: Cheapest viable models for all agents. Acceptable quality at minimum cost.

The active profile is stored in .planning/config.json under the profile field, or can be overridden with the --profile flag.

Capabilities

1. Read Active Profile

Load the current profile from configuration:

// .planning/config.json
{
  "profile": "balanced",
  ...
}

If no profile is set, default to balanced.

2. Profile Definitions

Each profile maps agent roles to specific models:

quality:
  orchestrator: claude-opus-4-6
  gsd-planner: claude-opus-4-6
  gsd-executor: claude-opus-4-6
  gsd-verifier: claude-opus-4-6
  gsd-plan-checker: claude-opus-4-6
  gsd-phase-researcher: claude-opus-4-6
  gsd-project-researcher: claude-opus-4-6
  gsd-research-synthesizer: claude-opus-4-6
  gsd-roadmapper: claude-opus-4-6
  gsd-codebase-mapper: claude-opus-4-6
  gsd-debugger: claude-opus-4-6
  gsd-integration-checker: claude-opus-4-6

balanced:
  orchestrator: claude-opus-4-6
  gsd-planner: claude-sonnet-4
  gsd-executor: claude-sonnet-4
  gsd-verifier: claude-sonnet-4
  gsd-plan-checker: claude-sonnet-4
  gsd-phase-researcher: claude-sonnet-4
  gsd-project-researcher: claude-sonnet-4
  gsd-research-synthesizer: claude-sonnet-4
  gsd-roadmapper: claude-sonnet-4
  gsd-codebase-mapper: claude-sonnet-4
  gsd-debugger: claude-sonnet-4
  gsd-integration-checker: claude-sonnet-4

budget:
  orchestrator: claude-sonnet-4
  gsd-planner: claude-haiku-4
  gsd-executor: claude-haiku-4
  gsd-verifier: claude-haiku-4
  gsd-plan-checker: claude-haiku-4
  gsd-phase-researcher: claude-sonnet-4
  gsd-project-researcher: claude-haiku-4
  gsd-research-synthesizer: claude-haiku-4
  gsd-roadmapper: claude-haiku-4
  gsd-codebase-mapper: claude-haiku-4
  gsd-debugger: claude-sonnet-4
  gsd-integration-checker: claude-haiku-4

Note: Budget profile uses Sonnet for research and debugging where quality matters most.

3. Per-Agent Model Mapping

Resolve the model for a specific agent:

resolve(agent: "gsd-executor", profile: "balanced")
-> { model: "claude-sonnet-4", profile: "balanced" }

resolve(agent: "gsd-planner", profile: "quality")
-> { model: "claude-opus-4-6", profile: "quality" }

4. Profile Switching

Switch profiles at runtime:

// Before
{ "profile": "balanced" }

// After set-profile quality
{ "profile": "quality" }

Profile switches take effect on the next agent spawn. Already-running agents are not affected.

5. Model Capability Validation

Ensure selected model supports required agent features:

Validate gsd-executor needs:
  [PASS] Code generation: all models support
  [PASS] Tool use: all models support
  [PASS] Long context: all models support 200k
  [PASS] Structured output: all models support

Validate gsd-debugger needs:
  [PASS] Code analysis: all models support
  [PASS] Reasoning: opus-4-6 > sonnet-4 > haiku-4
  [WARN] Complex debugging may benefit from quality profile

6. Cost Estimation

Estimate cost per profile for a workflow:

Workflow: execute-phase (Phase 72, 2 plans, 7 tasks)
  Agent spawns: 2 executor + 1 verifier = 3 agents
  Estimated tokens per agent: ~50,000 input + ~20,000 output

  quality (opus-4-6 for all):
    Input:  3 * 50k * $0.015/1k = $2.25
    Output: 3 * 20k * $0.075/1k = $4.50
    Total: ~$6.75

  balanced (sonnet-4 for agents):
    Input:  3 * 50k * $0.003/1k = $0.45
    Output: 3 * 20k * $0.015/1k = $0.90
    Total: ~$1.35

  budget (haiku-4 for agents):
    Input:  3 * 50k * $0.00025/1k = $0.04
    Output: 3 * 20k * $0.00125/1k = $0.08
    Total: ~$0.12

Note: Cost estimates are approximate and based on typical token usage patterns.

Tool Use Instructions

Resolving Profile

  1. Use Read to load .planning/config.json
  2. Extract profile field (default to balanced if not set)
  3. Return profile name

Mapping Agent to Model

  1. Resolve active profile
  2. Look up agent name in profile mapping
  3. Return model identifier
  4. If agent not in mapping, use profile default

Switching Profile

  1. Use Read to load current config
  2. Validate new profile name (quality/balanced/budget)
  3. Update profile field
  4. Write updated config (handled by gsd-tools or direct edit)

Cost Estimation

  1. Accept workflow description (agent types and counts)
  2. Map agents to models via active profile
  3. Estimate token usage per agent
  4. Calculate cost based on model pricing
  5. Return cost breakdown

Process Integration

  • All agent-spawning processes call this skill at initialization:
    • new-project.js - Resolve models for 4+ parallel researchers
    • plan-phase.js - Resolve model for planner, plan-checker
    • execute-phase.js - Resolve model for executor, verifier
    • quick.js - Resolve model for planner, executor
    • debug.js - Resolve model for debugger
    • map-codebase.js - Resolve model for 4 parallel mappers
    • iterative-convergence.js - Resolve model per iteration

Output Format

{
  "operation": "resolve|switch|validate|estimate",
  "status": "success|error",
  "profile": "balanced",
  "mapping": {
    "agent": "gsd-executor",
    "model": "claude-sonnet-4"
  },
  "costEstimate": {
    "profile": "balanced",
    "agentCount": 3,
    "estimatedCost": "$1.35",
    "breakdown": {
      "input": "$0.45",
      "output": "$0.90"
    }
  }
}

Configuration

SettingDefaultDescription
profilebalancedActive model profile
customMappings{}Override specific agent-model mappings
costWarningThreshold10.00Warn if estimated workflow cost exceeds this

Error Handling

ErrorCauseResolution
Unknown profileProfile name not quality/balanced/budgetUse one of the three valid profiles
Unknown agentAgent name not in profile mappingUse profile default model
Config not found.planning/config.json missingUse default profile (balanced)
Model deprecatedMapped model no longer availableUpdate profile mapping to current model

Constraints

  • Only three built-in profiles: quality, balanced, budget
  • Profile changes take effect on next agent spawn only
  • Cost estimates are approximate (actual costs depend on token usage)
  • Custom agent-model overrides in config take precedence over profile defaults
  • Model availability depends on the runtime environment (Claude Code, OpenCode, etc.)
  • Budget profile still uses capable models for critical tasks (research, debugging)

Source

git clone https://github.com/a5c-ai/babysitter/blob/main/plugins/babysitter/skills/babysit/process/methodologies/gsd/skills/model-profile-resolution/SKILL.mdView on GitHub

Overview

This skill resolves which AI model each GSD agent should use based on the active profile (quality, balanced, budget) at orchestration start. It maps agent roles to specific models to enable cost/quality tradeoffs.

How This Skill Works

The skill reads the current profile from .planning/config.json (defaulting to balanced if unset) and applies per-role mappings defined for quality, balanced, and budget. It then assigns a concrete model to each agent, with changes taking effect on the next agent spawn during orchestration.

When to Use It

  • You want to optimize cost versus quality by predefining a profile for all agents.
  • You need to map each agent role to a specific model (e.g., orchestrator, gsd-executor) according to a profile.
  • Starting orchestration and requiring consistent, profile-driven model choices across agents.
  • Switching profiles at runtime so future agents use new model mappings.
  • Validating that the chosen models meet the required capabilities for each agent role.

Quick Start

  1. Step 1: Read the active profile from .planning/config.json (default to balanced if missing).
  2. Step 2: Load the per-profile agent-to-model mappings (quality, balanced, budget) and select models per agent.
  3. Step 3: Resolve models for all agents at orchestration start; note that runtime switches affect only future spawns.

Best Practices

  • Store and read the active profile from .planning/config.json, defaulting to balanced if not set.
  • Keep per-profile mappings updated whenever agent roles change or new models are introduced.
  • Use quality for critical agents and budget for non-critical roles to control cost/quality balance.
  • Validate each selected model's capabilities (code generation, tool use, context length, etc.) before applying.
  • Test profile switches to ensure that new mappings apply to agents spawned after the switch.

Example Use Cases

  • With the quality profile, map all roles (orchestrator, gsd-planner, gsd-executor, etc.) to claude-opus-4-6 for maximum accuracy.
  • Using balanced: orchestrator -> claude-opus-4-6, gsd-planner -> claude-sonnet-4, gsd-executor -> claude-sonnet-4, etc.
  • Adopting budget: orchestrator -> claude-sonnet-4, most agents -> claude-haiku-4 to minimize cost.
  • Resolve gsd-executor under balanced to claude-sonnet-4 while other roles follow their balanced mappings.
  • Switch profile at orchestration start to quality and observe that next-agent-spawn mappings reflect the new definitions.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers