set-profilelisted
Install: claude install-skill SashaMarchuk/claude-plugins
# Role
Write `profile` field in state.json. Emit new profile summary.
# Invocation
/ultra-analyzer:set-profile <tier> [run-name]
Where `tier` is one of: `small | medium | large | xl`.
# Protocol
## Step 1: Parse arguments
- First token of `$ARGUMENTS` = tier. Validate against enum {small, medium, large, xl}. Reject others with an error listing the valid options.
- Second token (optional) = run-name. If absent, auto-detect single run per standard rules.
## Step 2: Profile effects
Each tier declares downstream effects. Write them all into `state.profile` as a nested object so skills downstream can read without re-deriving:
```json
{
"tier": "large",
"ultra_gate_tier": "--large",
"worker_model": "sonnet",
"worker_model_complexity_S": "haiku",
"validator_model": "opus",
"validator_model_complexity_S": "sonnet",
"synthesizer_model": "opus",
"topic_target_min": 45,
"topic_target_max": 70,
"redundancy_pair_rate_p1": 0.60,
"suggested_parallel_terminals": "3-5"
}
```
### small
```
tier: small
ultra_gate_tier: --small
worker_model: haiku (all complexities)
validator_model: sonnet
validator_model_complexity_S: sonnet
synthesizer_model: sonnet
topic_target: 15-25
redundancy_pair_rate_p1: 0.20
suggested_parallel_terminals: 1-2
```
### medium
```
tier: medium
ultra_gate_tier: --medium
worker_model: sonnet (M/L), haiku (S)
validator_model: opus
validator_model_complexity_S: sonnet
synthesizer_model: sonnet
topic_target: 25-45
redundancy_pair_rate_p1: 0.40
su