Read, write, and merge iterate configuration from global and project files
View on GitHubplugins/superpowers-iterate/skills/configuration/SKILL.md
February 5, 2026
Select agents to install to:
npx add-skill https://github.com/kenkenmain/ken-cc-plugins/blob/main/plugins/superpowers-iterate/skills/configuration/SKILL.md -a claude-code --skill configurationInstallation paths:
.claude/skills/configuration/# Configuration Management
Manage iteration workflow configuration for models and parallel agents.
## Config File Locations
- **Global:** `~/.claude/iterate-config.json`
- **Project:** `.claude/iterate-config.local.json`
Project config overrides global config, which overrides defaults.
## Default Configuration
```json
{
"version": 1,
"blockOnSeverity": "low",
"phases": {
"1": { "model": "inherit", "parallel": true, "parallelModel": "inherit" },
"2": { "model": "inherit", "parallel": true, "parallelModel": "inherit" },
"3": { "tool": "mcp__codex-high__codex" },
"4": {
"model": "inherit",
"parallel": false,
"implementer": "claude",
"bugFixer": "codex-high"
},
"5": { "model": "inherit", "parallel": false, "bugFixer": "codex-high" },
"6": { "model": null },
"7": { "model": "inherit", "parallel": false, "bugFixer": "codex-high" },
"8": { "tool": "mcp__codex-high__codex", "bugFixer": "codex-high" },
"9": { "tool": "mcp__codex-xhigh__codex" }
}
}
```
## Reading Configuration
1. Start with default config (above)
2. Read global config from `~/.claude/iterate-config.json` if exists
3. Deep merge global over defaults (per-phase override)
4. Read project config from `.claude/iterate-config.local.json` if exists
5. Deep merge project over global (per-phase override)
6. Return merged config
## Merge Logic (Per-Phase Deep Merge)
Each phase's config is merged individually:
```
Default: { "phases": { "1": { "model": "inherit", "parallel": true } } }
Global: { "phases": { "1": { "model": "sonnet" } } }
Project: { "phases": { "1": { "parallel": false } } }
Result: { "phases": { "1": { "model": "sonnet", "parallel": false } } }
```
To "unset" a value back to default: delete the key from config file.
## Writing Configuration
1. Determine target file (global or project)
2. If target directory doesn't exist, create with `mkdir -p`
3. If file exists, create backup with `.backup` suffix
4. Write JSON