agent-doc-discipline
Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and…
Interactive setup for role-based model routing: edit team.roleRouting (provider, tier, per-provider reasoning effort; orchestrator model-only), check panel diversity, warn on missing provider CLIs.
Claude Code
$ npx -y skills add Yeachan-Heo/oh-my-claudecode --skill models --agent claude-code
Codex
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill models -a codex -y
Cursor
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill models -a cursor -y
Gemini CLI
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill models -a gemini-cli -y
GitHub Copilot
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill models -a github-copilot -y
OpenCode
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill models -a opencode -y
Windsurf
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill models -a windsurf -y
name: models
description: "Interactive setup for role-based model routing: edit team.roleRouting (provider, tier, per-provider reasoning effort; orchestrator model-only), check panel diversity, warn on missing provider CLIs."
aliases: []
metadata:
credits:
role-model-sheet: pstack
author: Lauren Tan
url: "https://github.com/cursor/plugins/tree/main/pstack"
port: pstack-claude
port-author: Michael Denyer
port-url: "https://github.com/michael-denyer/pstack-claude"Setup wizard for role-based model routing. OMC resolves each agent role to a provider, model, and reasoning effort through `team.roleRouting` in the project config (`.claude/omc.jsonc`) or the user config at `claude-omc/config.jsonc` under OMC's platform config dir — `$XDG_CONFIG_HOME` (default `~/.config`) on POSIX, `%APPDATA%` on Windows, the same resolver `getConfigPaths()` uses — never a hard-coded `~/.config` path. Run `omc config` to see the effective values before editing. This skill reads the current routing, walks the user through changes, writes the block, and checks panel diversity. It never edits config silently.
Per role (canonical names: `orchestrator`, `planner`, `analyst`, `architect`, `executor`, `debugger`, `critic`, `code-reviewer`, `security-reviewer`, `test-engineer`, `designer`, `writer`, `code-simplifier`, `explore`, `document-specialist`):
{
"team": {
"roleRouting": {
"executor": { "provider": "claude", "model": "MEDIUM", "reasoningEffort": "high" },
"code-reviewer": { "provider": "codex" }
}
}
}— except `orchestrator`, which is pinned to Claude
— the **only** key `orchestrator` accepts; provider and reasoningEffort are rejected for it (config validation fails closed at team start), so the wizard offers model-only for that role
Codex `low|medium|high|xhigh|max|ultra`, Antigravity `low|medium|high|max`; Gemini, Grok, and Cursor accept no effort field. Offer only the seated provider's set — an off-list value is rejected at config load by `validateTeamConfig`, before any team starts
frozen for that run
1. Show current resolution: read the active config file(s) and print each configured role with provider/model/effort, marking defaults. 2. Ask what to change — one role at a time, offering the tiers and, when the user has provider CLIs installed, cross-provider options. Confirm each choice before writing. 3. Write the block with a single atomic edit to the project config unless the user asks for user scope. Preserve every other key and all comments where the format allows. 4. Re-read the file and print the resulting resolution for confirmation. 5. Warn on provider CLIs that are not installed (`codex`, `gemini`, `grok`, `cursor-agent`, `agy`) — routing to a missing CLI fails closed at team start.
Multi-model panel runs work best when the panel spans model families. Before such a run, check the seated panel: if every seat is the same provider and the same model family, recommend diversifying one seat to a different family. Two seats on one family plus one on another is acceptable; three identical seats defeats the mechanism and should be called out before the run starts.
agents, or changes model routing for an already-running team.
external Codex/Gemini providers should migrate into `team.roleRouting`; valid Claude Task routes (including `agentType` and fallback settings) are a separate subsystem and must stay where they are — `team.roleRouting` governs `/team` only, Task delegation is not moved by this skill.
For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI. Liked OmC but found it a bit overkill? Try gajae-code.
Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and…
Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode
Settle types and module shape before cross-boundary code — competing designs explored in parallel, compared on API surface and…
Periodic architecture survey — walks the module graph and reports ranked deepening candidates (shallow modules, hypothetical…
Run N parallel candidates at one brief and synthesize: rubric-first framing, isolated fan-out, a cross-judge on a different…
Shipyard's navigator — chart a foggy effort (destination unclear, questions not yet stateable) into a map of decision tickets on…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration