Skip to content

Category Settings

Categories are agent execution profiles — each one maps to a model tier and fallback chain. They determine how a task runs. Skills determine what the agent knows.

For the full explanation of how categories work, how Sisyphus routes to them, and the composition matrix, see Category System.


Quick Reference

CategoryDomainModel TierCost
visual-engineeringUI, styling, animation, designPremium$$$
ultrabrainHard logic, architecture, deep reasoningPremium$$$
deepThorough autonomous research + executionPremium$$$
artistryCreative problem-solving, explorationMedium$$
quickSingle-file fixes, typos, small editsFree$
unspecified-highComplex misc tasksPremium$$$
unspecified-lowSimple misc tasksFree$
writingDocumentation, prose, copyFree$

Configuration

Categories are configured in oh-my-openagent.json under the categories key. Each entry has a primary model and an ordered fallback chain:

json
{
  "categories": {
    "visual-engineering": {
      "model": "opencode-go/deepseek-v4-pro",
      "fallback_models": [
        {"model": "opencode-go/glm-5.1"},
        {"model": "opencode-go/minimax-m2.7"},
        {"model": "opencode-go/minimax-m2.5-free"}
      ]
    },
    "deep": {
      "model": "opencode-go/deepseek-v4-pro",
      "fallback_models": [
        {"model": "opencode-go/glm-5.1"},
        {"model": "opencode-go/minimax-m2.7"}
      ]
    },
    "quick": {
      "model": "opencode-go/minimax-m2.5-free",
      "fallback_models": [
        {"model": "opencode-go/big-pickle"}
      ]
    },
    "writing": {
      "model": "opencode-go/minimax-m2.5-free",
      "fallback_models": [
        {"model": "opencode-go/big-pickle"}
      ]
    }
  }
}

If the primary model is unavailable or rate-limited, the harness falls through the chain automatically. You don't intervene.


Custom Categories

You can define categories beyond the defaults. A custom category is a named profile with a model and fallback chain:

json
{
  "categories": {
    "security-audit": {
      "model": "opencode-go/deepseek-v4-pro",
      "fallback_models": [
        {"model": "opencode-go/glm-5.1"}
      ]
    }
  }
}

Use it by specifying it in task delegation:

task(category="security-audit", load_skills=[], prompt="Audit the auth module for vulnerabilities")

See Also

Built with VitePress. Contribute on GitHub.