What are Categories?
A Category is an agent configuration preset optimized for specific domains. Instead of delegating everything to a single AI agent, categories let you invoke specialists tailored to the nature of the task.
Category : “What kind of work is this?” (determines model, temperature, prompt mindset)
Skill : “What tools and knowledge are needed?” (injects specialized knowledge, MCP tools, workflows)Combining these two concepts generates optimal agents through the task() tool.
Built-in Categories
Category Default Model Use Cases visual-engineeringgoogle/gemini-3-proFrontend, UI/UX, design, styling, animation ultrabrainopenai/gpt-5.3-codex (xhigh)Deep logical reasoning, complex architecture decisions deepopenai/gpt-5.3-codex (medium)Goal-oriented autonomous problem-solving, thorough research artistrygoogle/gemini-3-pro (max)Highly creative/artistic tasks, novel ideas quickanthropic/claude-haiku-4-5Trivial tasks - single file changes, typo fixes unspecified-lowanthropic/claude-sonnet-4-6Tasks that don’t fit other categories, low effort unspecified-highanthropic/claude-opus-4-6 (max)Tasks that don’t fit other categories, high effort writingkimi-for-coding/k2p5Documentation, prose, technical writing
Why Use Categories?
Problem: Model Names Create Bias
// OLD: Model name creates distributional bias
task ( agent = "gpt-5.2" , prompt = "..." )
// Model "knows" its limitations, may underperform
task ( agent = "claude-opus-4-6" , prompt = "..." )
// Different self-perception affects behavior
Solution: Semantic Categories
// NEW: Category describes INTENT, not implementation
task ( category = "ultrabrain" , prompt = "..." )
// Agent thinks: "Think strategically"
task ( category = "visual-engineering" , prompt = "..." )
// Agent thinks: "Design beautifully"
task ( category = "quick" , prompt = "..." )
// Agent thinks: "Just get it done fast"
The category name shapes the agent’s approach regardless of underlying model .
Creating Custom Categories
Basic Example
{
"categories" : {
"korean-writer" : {
"model" : "google/gemini-3-flash" ,
"temperature" : 0.5 ,
"description" : "Technical writer for Korean documentation" ,
"prompt_append" : "You are a Korean technical writer. Maintain a friendly and clear tone. Use appropriate honorifics and technical terminology."
}
}
}
Usage
task (
category = "korean-writer" ,
prompt = "Write API documentation for the user authentication endpoints"
)
Configuration Schema
Field Type Description descriptionstring Human-readable description. Shown in task prompt. modelstring AI model ID (e.g., anthropic/claude-opus-4-6) variantstring Model variant: max, xhigh, high, medium, low temperaturenumber Creativity level (0.0 ~ 2.0). Lower is more deterministic. top_pnumber Nucleus sampling parameter (0.0 ~ 1.0) prompt_appendstring Content appended to system prompt for this category thinkingobject Extended thinking config: { type: "enabled", budgetTokens: 16000 } reasoningEffortstring Reasoning effort: low, medium, high, xhigh textVerbositystring Text verbosity: low, medium, high toolsobject Tool control: { "tool_name": false } to disable maxTokensnumber Maximum response token count is_unstable_agentboolean Force background mode with monitoring
Real-World Examples
Example 1: Database Specialist
{
"categories" : {
"database" : {
"model" : "openai/gpt-5.2" ,
"variant" : "high" ,
"temperature" : 0.1 ,
"description" : "Database operations and query optimization specialist" ,
"prompt_append" : "You are a database expert specializing in PostgreSQL. Focus on:
- Query performance and indexing strategies
- Transaction safety and ACID compliance
- Preventing N+1 queries
- Using EXPLAIN ANALYZE before optimizations
- Data migration safety (always test rollback)
NEVER make destructive changes without explicit user approval."
}
}
}
Usage:
task (
category = "database" ,
prompt = "Optimize the slow user query in UserService. Current query takes 2.5s on 100k records."
)
Example 2: Security Auditor
{
"categories" : {
"security-audit" : {
"model" : "openai/gpt-5.3-codex" ,
"variant" : "xhigh" ,
"temperature" : 0.0 ,
"description" : "Security vulnerability scanner and auditor" ,
"prompt_append" : "You are a security auditor. Your job is to find vulnerabilities:
Check for:
- SQL injection risks
- XSS vulnerabilities
- CSRF protection
- Authentication/authorization bugs
- Secrets in code
- Insecure dependencies
Output:
- Severity (CRITICAL/HIGH/MEDIUM/LOW)
- Exploitability assessment
- Remediation steps with code examples
Be thorough. False positives are acceptable; false negatives are not." ,
"tools" : {
"write" : false ,
"edit" : false
}
}
}
}
Usage:
task (
category = "security-audit" ,
prompt = "Audit the authentication system in src/auth/ for vulnerabilities"
)
tools config prevents the security auditor from modifying code—read-only analysis only.
Example 3: Git Operations
{
"categories" : {
"git" : {
"model" : "opencode/gpt-5-nano" ,
"temperature" : 0.0 ,
"description" : "All git operations" ,
"prompt_append" : "Focus on:
- Atomic commits (one logical change per commit)
- Clear, concise commit messages
- Safe operations (never force push to main/master)
- Preserving commit history when possible
Follow the project's commit message style detected from git log."
}
}
}
Usage:
task (
category = "git" ,
load_skills = [ "git-master" ],
prompt = "Create atomic commits for these changes"
)
Example 4: Test Writer
{
"categories" : {
"test-writer" : {
"model" : "anthropic/claude-sonnet-4-6" ,
"temperature" : 0.3 ,
"description" : "Unit and integration test specialist" ,
"prompt_append" : "You are a test-driven development expert.
Test Philosophy:
- Tests should be readable by non-developers
- One assertion per test (focused)
- Test behavior, not implementation
- Use Given/When/Then structure
- Mock external dependencies
Coverage targets:
- Critical paths: 100%
- Business logic: 90%
- Utilities: 80%
- UI components: 70%
Always run tests after writing to verify they pass."
}
}
}
Usage:
task (
category = "test-writer" ,
prompt = "Write comprehensive tests for the payment processing service"
)
Example 5: Code Reviewer
{
"categories" : {
"code-review" : {
"model" : "openai/gpt-5.2" ,
"variant" : "high" ,
"temperature" : 0.2 ,
"description" : "Code review and quality assurance" ,
"prompt_append" : "You are a senior code reviewer. Review for:
**Architecture:**
- Separation of concerns
- SOLID principles
- Design patterns (appropriate vs over-engineered)
**Code Quality:**
- Readability and maintainability
- Performance implications
- Error handling completeness
- Edge case coverage
**Best Practices:**
- Framework/library conventions
- Security considerations
- Accessibility (for UI code)
**Output Format:**
✅ Approved with minor suggestions
⚠️ Needs changes (list specific issues)
❌ Requires major revision (explain why)
Be constructive. Praise good patterns. Explain the 'why' behind suggestions." ,
"tools" : {
"write" : false ,
"edit" : false
}
}
}
}
Usage:
task (
category = "code-review" ,
prompt = "Review the PR changes in src/services/payment/"
)
Advanced: Thinking Models
For categories requiring deep reasoning:
{
"categories" : {
"deep-reasoning" : {
"model" : "anthropic/claude-opus-4-6" ,
"thinking" : {
"type" : "enabled" ,
"budgetTokens" : 32000
},
"description" : "Extended thinking for complex problems" ,
"tools" : {
"websearch_web_search_exa" : false
}
}
}
}
When to use extended thinking:
Architecture decisions
Complex algorithm design
Root cause analysis for obscure bugs
Strategic planning
Extended thinking significantly increases API costs. Use for genuinely complex problems only.
Overriding Built-in Categories
You can override defaults:
{
"categories" : {
"visual-engineering" : {
"model" : "openai/gpt-5.2" ,
"temperature" : 0.8 ,
"prompt_append" : "Emphasize accessibility (WCAG 2.1 AA) and performance (Core Web Vitals)."
},
"quick" : {
"model" : "opencode/gpt-5-nano" ,
"temperature" : 0.0
}
}
}
Disabling Categories
Remove categories from delegation options:
{
"disabled_categories" : [ "ultrabrain" , "artistry" ]
}
Disabled categories won’t appear in the task() tool’s category list.
Combining Categories with Skills
Power combo: Category (model/temperature/mindset) + Skill (knowledge/tools)
The Designer task (
category = "visual-engineering" ,
load_skills = [ "frontend-ui-ux" , "playwright" ],
prompt = "Build responsive dashboard"
)
Effect:
Model: Gemini 3 Pro (visual strength)
Mindset: Design-focused
Knowledge: UI/UX principles
Tools: Browser automation for verification
The Architect task (
category = "ultrabrain" ,
load_skills = [],
prompt = "Design microservices architecture"
)
Effect:
Model: GPT-5.3 Codex (deep reasoning)
Mindset: Strategic thinking
Knowledge: Pure reasoning, no domain bias
The Maintainer task (
category = "quick" ,
load_skills = [ "git-master" ],
prompt = "Fix linting errors and commit"
)
Effect:
Model: Claude Haiku (fast/cheap)
Mindset: Get it done quickly
Knowledge: Git best practices
The QA Engineer task (
category = "test-writer" ,
load_skills = [],
prompt = "Write integration tests"
)
Effect:
Model: Claude Sonnet (balanced)
Mindset: TDD philosophy
Knowledge: Testing patterns
Category Delegation Tips
Clear and Specific Prompts
When delegating, clarity is everything . Include these 7 elements:
TASK : What needs to be done? (single objective)
EXPECTED OUTCOME : What is the deliverable?
REQUIRED SKILLS : Which skills via load_skills?
REQUIRED TOOLS : Which tools must be used?
MUST DO : What must be done (constraints)
MUST NOT DO : What must never be done
CONTEXT : File paths, existing patterns, references
Bad:
task ( category = "deep" , prompt = "Fix this" )
Good:
task (
category = "deep" ,
prompt = `
TASK: Fix mobile layout breaking issue in LoginButton component
CONTEXT:
- File: src/components/LoginButton.tsx
- Using Tailwind CSS
- Breakpoint: md (768px)
MUST DO:
- Change flex-direction at md: breakpoint
- Preserve desktop layout exactly
- Test on mobile viewport
MUST NOT DO:
- Modify existing desktop styles
- Change button colors/fonts
- Add new dependencies
EXPECTED:
- Buttons stack vertically on mobile (<768px)
- Buttons remain horizontal on desktop (≥768px)
- All tests pass
`
)
Background Execution
Category-based tasks work great in background:
// Fire multiple category tasks in parallel
task ( category = "deep" , prompt = "..." , run_in_background = true )
task ( category = "test-writer" , prompt = "..." , run_in_background = true )
task ( category = "code-review" , prompt = "..." , run_in_background = true )
See Background Agents for details.
Sisyphus-Junior as Executor
When you use a category, a special agent called Sisyphus-Junior executes the work.
Characteristics:
Cannot re-delegate tasks (prevents infinite loops)
Focused on assigned task only
Inherits category model/temperature/prompt
Has loaded skills available
Why this design:
Prevents delegation chains like: Sisyphus → Junior → Another Junior → …
Junior is a leaf node in the delegation tree.
Checking Available Categories
The task() tool automatically lists available categories in its description:
// Agent sees this in tool description:
Available categories :
- visual - engineering : Frontend , UI / UX , design ...
- ultrabrain : Deep logical reasoning ...
- deep : Autonomous problem - solving ...
- korean - writer : Technical writer for Korean docs ... // Your custom category
- ...
Best Practices
Match model to task complexity
// ✅ Good: Fast model for simple tasks
{
"categories" : {
"quick" : { "model" : "opencode/gpt-5-nano" }
}
}
// ❌ Bad: Expensive model for simple tasks
{
"categories" : {
"quick" : { "model" : "anthropic/claude-opus-4-6" }
}
}
Use prompt_append for category-specific guidance
// ✅ Good: Clear expectations
{
"categories" : {
"api-design" : {
"prompt_append" : "Follow REST conventions. Use OpenAPI spec. Include error responses."
}
}
}
// ❌ Bad: Generic, no guidance
{
"categories" : {
"api-design" : {}
}
}
Disable dangerous tools for read-only categories
Set appropriate temperature
Task Type Temperature Code generation, database queries 0.0 - 0.1 General development 0.3 - 0.5 Creative work, UI design 0.7 - 1.0 Brainstorming, ideation 1.0 - 1.5
Common Patterns
Pattern 1: Specialist Trio
{
"categories" : {
"backend" : {
"model" : "openai/gpt-5.3-codex" ,
"description" : "Backend API development"
},
"frontend" : {
"model" : "google/gemini-3-pro" ,
"description" : "Frontend UI development"
},
"testing" : {
"model" : "anthropic/claude-sonnet-4-6" ,
"description" : "Test creation and QA"
}
}
}
Usage:
// Parallel execution
task ( category = "backend" , prompt = "..." , run_in_background = true )
task ( category = "frontend" , prompt = "..." , run_in_background = true )
task ( category = "testing" , prompt = "..." , run_in_background = true )
Pattern 2: Cost-Tiered
{
"categories" : {
"premium" : {
"model" : "anthropic/claude-opus-4-6" ,
"variant" : "max" ,
"description" : "For critical, complex work"
},
"standard" : {
"model" : "anthropic/claude-sonnet-4-6" ,
"description" : "For regular development"
},
"economy" : {
"model" : "opencode/gpt-5-nano" ,
"description" : "For simple, repetitive tasks"
}
}
}
Pattern 3: Language-Specific
{
"categories" : {
"korean-docs" : {
"model" : "google/gemini-3-flash" ,
"prompt_append" : "Write in Korean. Use formal register."
},
"japanese-docs" : {
"model" : "google/gemini-3-flash" ,
"prompt_append" : "Write in Japanese. Use desu/masu form."
},
"english-docs" : {
"model" : "kimi-for-coding/k2p5" ,
"prompt_append" : "Write in English. Technical but accessible."
}
}
}
Agent Model Matching Understand model selection principles
Skills Combine categories with domain knowledge
Background Agents Run category tasks in parallel
Configuration Full configuration reference