원클릭으로
mode-router
Administer the per-prompt caveman/ponytail router — show status, force a mode, or turn routing off.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Administer the per-prompt caveman/ponytail router — show status, force a mode, or turn routing off.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | mode-router |
| disable-model-invocation | true |
| description | Administer the per-prompt caveman/ponytail router — show status, force a mode, or turn routing off. |
A UserPromptSubmit hook (hooks/route.js) fires on every prompt. In auto
mode it makes the model classify the request and invoke exactly one mode skill:
coding task → ponytail (minimal code), everything else → caveman
(terse output). The mode applies on top of any other skill the turn
dispatches — never instead of it. The hook only routes; the two skills own their
behavior. This skill reads and flips the control file that picks the mode.
$XDG_CONFIG_HOME/mode-router/state.json (or ~/.config/mode-router/state.json):
{ "mode": "auto" }
mode is one of: auto (default — model routes per request), caveman (force
terse everywhere, regardless of request type), ponytail (force minimal-code
everywhere), off (inject nothing). Missing or invalid → auto.
auto if absent) and state the
active mode plus the auto routing rule. Done when the user knows which mode
is in force.{ "mode": "<value>" } to the control file, creating the
directory if needed. Reject any value outside the four above. Done when the
file holds the requested value.Changes take effect on the next prompt — the hook re-reads the file every turn.
route.js is the single source of truth for the exact routing and precedence
rules, and injects them into every turn. For how slash commands, precedence over
hard constraints, and multi-turn spec-driven workflows are handled, see
ROUTING.md.