model-profile-resolution — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited model-profile-resolution (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
The original GSD system provides three model profiles that control which AI model is used for each agent:
The active profile is stored in .planning/config.json under the profile field, or can be overridden with the --profile flag.
Load the current profile from configuration:
// .planning/config.json
{
"profile": "balanced",
...
}If no profile is set, default to balanced.
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-4Note: Budget profile uses Sonnet for research and debugging where quality matters most.
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" }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.
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 profileEstimate 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.12Note: Cost estimates are approximate and based on typical token usage patterns.
Read to load .planning/config.jsonprofile field (default to balanced if not set)Read to load current configprofile fieldnew-project.js - Resolve models for 4+ parallel researchersplan-phase.js - Resolve model for planner, plan-checkerexecute-phase.js - Resolve model for executor, verifierquick.js - Resolve model for planner, executordebug.js - Resolve model for debuggermap-codebase.js - Resolve model for 4 parallel mappersiterative-convergence.js - Resolve model per iteration{
"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"
}
}
}| Setting | Default | Description |
|---|---|---|
profile | balanced | Active model profile |
customMappings | {} | Override specific agent-model mappings |
costWarningThreshold | 10.00 | Warn if estimated workflow cost exceeds this |
| Error | Cause | Resolution |
|---|---|---|
Unknown profile | Profile name not quality/balanced/budget | Use one of the three valid profiles |
Unknown agent | Agent name not in profile mapping | Use profile default model |
Config not found | .planning/config.json missing | Use default profile (balanced) |
Model deprecated | Mapped model no longer available | Update profile mapping to current model |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.