diff --git a/src/tools/delegate-task/anthropic-categories.ts b/src/tools/delegate-task/anthropic-categories.ts
new file mode 100644
index 000000000..e6b0894e3
--- /dev/null
+++ b/src/tools/delegate-task/anthropic-categories.ts
@@ -0,0 +1,54 @@
+import type { BuiltinCategoryDefinition } from "./builtin-category-definition"
+
+const UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `
+You are working on tasks that don't fit specific categories but require moderate effort.
+
+
+BEFORE selecting this category, VERIFY ALL conditions:
+1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
+2. Task requires more than trivial effort but is NOT system-wide
+3. Scope is contained within a few files/modules
+
+If task fits ANY other category, DO NOT select unspecified-low.
+This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
+
+
+
+
+THIS CATEGORY USES A MID-TIER MODEL (claude-sonnet-4-6).
+
+**PROVIDE CLEAR STRUCTURE:**
+1. MUST DO: Enumerate required actions explicitly
+2. MUST NOT DO: State forbidden actions to prevent scope creep
+3. EXPECTED OUTPUT: Define concrete success criteria
+`
+
+const UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `
+You are working on tasks that don't fit specific categories but require substantial effort.
+
+
+BEFORE selecting this category, VERIFY ALL conditions:
+1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
+2. Task requires substantial effort across multiple systems/modules
+3. Changes have broad impact or require careful coordination
+4. NOT just "complex" - must be genuinely unclassifiable AND high-effort
+
+If task fits ANY other category, DO NOT select unspecified-high.
+If task is unclassifiable but moderate-effort, use unspecified-low instead.
+
+`
+
+export const ANTHROPIC_CATEGORIES: BuiltinCategoryDefinition[] = [
+ {
+ name: "unspecified-low",
+ config: { model: "anthropic/claude-sonnet-4-6" },
+ description: "Tasks that don't fit other categories, low effort required",
+ promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND,
+ },
+ {
+ name: "unspecified-high",
+ config: { model: "anthropic/claude-opus-4-6", variant: "max" },
+ description: "Tasks that don't fit other categories, high effort required",
+ promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
+ },
+]
diff --git a/src/tools/delegate-task/builtin-categories.ts b/src/tools/delegate-task/builtin-categories.ts
new file mode 100644
index 000000000..f8da8ecf1
--- /dev/null
+++ b/src/tools/delegate-task/builtin-categories.ts
@@ -0,0 +1,33 @@
+import type { CategoryConfig } from "../../config/schema"
+import { ANTHROPIC_CATEGORIES } from "./anthropic-categories"
+import type { BuiltinCategoryDefinition } from "./builtin-category-definition"
+import { GOOGLE_CATEGORIES } from "./google-categories"
+import { KIMI_CATEGORIES } from "./kimi-categories"
+import { OPENAI_CATEGORIES } from "./openai-categories"
+
+const BUILTIN_CATEGORIES: BuiltinCategoryDefinition[] = [
+ ...GOOGLE_CATEGORIES,
+ ...OPENAI_CATEGORIES,
+ ...ANTHROPIC_CATEGORIES,
+ ...KIMI_CATEGORIES,
+]
+
+function buildCategoryRecord(
+ selector: (definition: BuiltinCategoryDefinition) => TValue
+): Record {
+ return Object.fromEntries(
+ BUILTIN_CATEGORIES.map((definition) => [definition.name, selector(definition)])
+ )
+}
+
+export const DEFAULT_CATEGORIES: Record = buildCategoryRecord(
+ (definition) => definition.config
+)
+
+export const CATEGORY_PROMPT_APPENDS: Record = buildCategoryRecord(
+ (definition) => definition.promptAppend
+)
+
+export const CATEGORY_DESCRIPTIONS: Record = buildCategoryRecord(
+ (definition) => definition.description
+)
diff --git a/src/tools/delegate-task/builtin-category-definition.ts b/src/tools/delegate-task/builtin-category-definition.ts
new file mode 100644
index 000000000..d9c853b63
--- /dev/null
+++ b/src/tools/delegate-task/builtin-category-definition.ts
@@ -0,0 +1,8 @@
+import type { CategoryConfig } from "../../config/schema"
+
+export type BuiltinCategoryDefinition = {
+ name: string
+ config: CategoryConfig
+ description: string
+ promptAppend: string
+}
diff --git a/src/tools/delegate-task/constants.ts b/src/tools/delegate-task/constants.ts
index c0cc9ca42..510bcf80d 100644
--- a/src/tools/delegate-task/constants.ts
+++ b/src/tools/delegate-task/constants.ts
@@ -1,308 +1,13 @@
-import type { CategoryConfig } from "../../config/schema"
import type {
AvailableCategory,
AvailableSkill,
} from "../../agents/dynamic-agent-prompt-builder"
import { truncateDescription } from "../../shared/truncate-description"
-
-export const VISUAL_CATEGORY_PROMPT_APPEND = `
-You are working on VISUAL/UI tasks.
-
-
-## YOU ARE A VISUAL ENGINEER. FOLLOW THIS WORKFLOW OR YOUR OUTPUT IS REJECTED.
-
-**YOUR FAILURE MODE**: You skip design system analysis and jump straight to writing components with hardcoded colors, arbitrary spacing, and ad-hoc font sizes. The result is INCONSISTENT GARBAGE that looks like 5 different people built it. THIS STOPS NOW.
-
-**EVERY visual task follows this EXACT workflow. VIOLATION = BROKEN OUTPUT.**
-
-### PHASE 1: ANALYZE THE DESIGN SYSTEM (MANDATORY FIRST ACTION)
-
-**BEFORE writing a SINGLE line of CSS, HTML, JSX, Svelte, or component code — you MUST:**
-
-1. **SEARCH for the design system.** Use Grep, Glob, Read — actually LOOK:
- - Design tokens: colors, spacing, typography, shadows, border-radii
- - Theme files: CSS variables, Tailwind config, \`theme.ts\`, styled-components theme, design tokens file
- - Shared/base components: Button, Card, Input, Layout primitives
- - Existing UI patterns: How are pages structured? What spacing grid? What color usage?
-
-2. **READ at minimum 5-10 existing UI components.** Understand:
- - Naming conventions (BEM? Atomic? Utility-first? Component-scoped?)
- - Spacing system (4px grid? 8px? Tailwind scale? CSS variables?)
- - Color usage (semantic tokens? Direct hex? Theme references?)
- - Typography scale (heading levels, body, caption — how many? What font stack?)
- - Component composition patterns (slots? children? compound components?)
-
-**DO NOT proceed to Phase 2 until you can answer ALL of these. If you cannot, you have not explored enough. EXPLORE MORE.**
-
-### PHASE 2: NO DESIGN SYSTEM? BUILD ONE. NOW.
-
-If Phase 1 reveals NO coherent design system (or scattered, inconsistent patterns):
-
-1. **STOP. Do NOT build the requested UI yet.**
-2. **Extract what exists** — even inconsistent patterns have salvageable decisions.
-3. **Create a minimal design system FIRST:**
- - Color palette: primary, secondary, neutral, semantic (success/warning/error/info)
- - Typography scale: heading levels (h1-h4 minimum), body, small, caption
- - Spacing scale: consistent increments (4px or 8px base)
- - Border radii, shadows, transitions — systematic, not random
- - Component primitives: the reusable building blocks
-4. **Commit/save the design system, THEN proceed to Phase 3.**
-
-A design system is NOT optional overhead. It is the FOUNDATION. Building UI without one is like building a house on sand. It WILL collapse into inconsistency.
-
-### PHASE 3: BUILD WITH THE SYSTEM. NEVER AROUND IT.
-
-**NOW and ONLY NOW** — implement the requested visual work:
-
-| Element | CORRECT | WRONG (WILL BE REJECTED) |
-|---------|---------|--------------------------|
-| Color | Design token / CSS variable | Hardcoded \`#3b82f6\`, \`rgb(59,130,246)\` |
-| Spacing | System value (\`space-4\`, \`gap-md\`, \`var(--spacing-4)\`) | Arbitrary \`margin: 13px\`, \`padding: 7px\` |
-| Typography | Scale value (\`text-lg\`, \`heading-2\`, token) | Ad-hoc \`font-size: 17px\` |
-| Component | Extend/compose from existing primitives | One-off div soup with inline styles |
-| Border radius | System token | Random \`border-radius: 6px\` |
-
-**IF the design requires something OUTSIDE the current system:**
-- **Extend the system FIRST** — add the new token/primitive
-- **THEN use the new token** in your component
-- **NEVER one-off override.** That is how design systems die.
-
-### PHASE 4: VERIFY BEFORE CLAIMING DONE
-
-BEFORE reporting visual work as complete, answer these:
-
-- [ ] Does EVERY color reference a design token or CSS variable?
-- [ ] Does EVERY spacing use the system scale?
-- [ ] Does EVERY component follow the existing composition pattern?
-- [ ] Would a designer see CONSISTENCY across old and new components?
-- [ ] Are there ZERO hardcoded magic numbers for visual properties?
-
-**If ANY answer is NO — FIX IT. You are NOT done.**
-
-
-
-
-Design-first mindset (AFTER design system is established):
-- Bold aesthetic choices over safe defaults
-- Unexpected layouts, asymmetry, grid-breaking elements
-- Distinctive typography (avoid: Arial, Inter, Roboto, Space Grotesk)
-- Cohesive color palettes with sharp accents
-- High-impact animations with staggered reveals
-- Atmosphere: gradient meshes, noise textures, layered transparencies
-
-AVOID: Generic fonts, purple gradients on white, predictable layouts, cookie-cutter patterns.
-
-`
-
-export const ULTRABRAIN_CATEGORY_PROMPT_APPEND = `
-You are working on DEEP LOGICAL REASONING / COMPLEX ARCHITECTURE tasks.
-
-**CRITICAL - CODE STYLE REQUIREMENTS (NON-NEGOTIABLE)**:
-1. BEFORE writing ANY code, SEARCH the existing codebase to find similar patterns/styles
-2. Your code MUST match the project's existing conventions - blend in seamlessly
-3. Write READABLE code that humans can easily understand - no clever tricks
-4. If unsure about style, explore more files until you find the pattern
-
-Strategic advisor mindset:
-- Bias toward simplicity: least complex solution that fulfills requirements
-- Leverage existing code/patterns over new components
-- Prioritize developer experience and maintainability
-- One clear recommendation with effort estimate (Quick/Short/Medium/Large)
-- Signal when advanced approach warranted
-
-Response format:
-- Bottom line (2-3 sentences)
-- Action plan (numbered steps)
-- Risks and mitigations (if relevant)
-`
-
-export const ARTISTRY_CATEGORY_PROMPT_APPEND = `
-You are working on HIGHLY CREATIVE / ARTISTIC tasks.
-
-Artistic genius mindset:
-- Push far beyond conventional boundaries
-- Explore radical, unconventional directions
-- Surprise and delight: unexpected twists, novel combinations
-- Rich detail and vivid expression
-- Break patterns deliberately when it serves the creative vision
-
-Approach:
-- Generate diverse, bold options first
-- Embrace ambiguity and wild experimentation
-- Balance novelty with coherence
-- This is for tasks requiring exceptional creativity
-`
-
-export const QUICK_CATEGORY_PROMPT_APPEND = `
-You are working on SMALL / QUICK tasks.
-
-Efficient execution mindset:
-- Fast, focused, minimal overhead
-- Get to the point immediately
-- No over-engineering
-- Simple solutions for simple problems
-
-Approach:
-- Minimal viable implementation
-- Skip unnecessary abstractions
-- Direct and concise
-
-
-
-THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.4-mini).
-
-The model executing this task is optimized for speed over depth. Your prompt MUST be:
-
-**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:
-1. MUST DO: List every required action as atomic, numbered steps
-2. MUST NOT DO: Explicitly forbid likely mistakes and deviations
-3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples
-
-**WHY THIS MATTERS:**
-- Smaller models benefit from explicit guardrails
-- Vague instructions may lead to unpredictable results
-- Implicit expectations may be missed
-**PROMPT STRUCTURE (MANDATORY):**
-\`\`\`
-TASK: [One-sentence goal]
-
-MUST DO:
-1. [Specific action with exact details]
-2. [Another specific action]
-...
-
-MUST NOT DO:
-- [Forbidden action + why]
-- [Another forbidden action]
-...
-
-EXPECTED OUTPUT:
-- [Exact deliverable description]
-- [Success criteria / verification method]
-\`\`\`
-
-If your prompt lacks this structure, REWRITE IT before delegating.
-`
-
-export const UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `
-You are working on tasks that don't fit specific categories but require moderate effort.
-
-
-BEFORE selecting this category, VERIFY ALL conditions:
-1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
-2. Task requires more than trivial effort but is NOT system-wide
-3. Scope is contained within a few files/modules
-
-If task fits ANY other category, DO NOT select unspecified-low.
-This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
-
-
-
-
-THIS CATEGORY USES A MID-TIER MODEL (claude-sonnet-4-6).
-
-**PROVIDE CLEAR STRUCTURE:**
-1. MUST DO: Enumerate required actions explicitly
-2. MUST NOT DO: State forbidden actions to prevent scope creep
-3. EXPECTED OUTPUT: Define concrete success criteria
-`
-
-export const UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `
-You are working on tasks that don't fit specific categories but require substantial effort.
-
-
-BEFORE selecting this category, VERIFY ALL conditions:
-1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
-2. Task requires substantial effort across multiple systems/modules
-3. Changes have broad impact or require careful coordination
-4. NOT just "complex" - must be genuinely unclassifiable AND high-effort
-
-If task fits ANY other category, DO NOT select unspecified-high.
-If task is unclassifiable but moderate-effort, use unspecified-low instead.
-
-`
-
-export const WRITING_CATEGORY_PROMPT_APPEND = `
-You are working on WRITING / PROSE tasks.
-
-Wordsmith mindset:
-- Clear, flowing prose
-- Appropriate tone and voice
-- Engaging and readable
-- Proper structure and organization
-
-Approach:
-- Understand the audience
-- Draft with care
-- Polish for clarity and impact
-- Documentation, READMEs, articles, technical writing
-
-ANTI-AI-SLOP RULES (NON-NEGOTIABLE):
-- NEVER use em dashes (—) or en dashes (–). Use commas, periods, ellipses, or line breaks instead. Zero tolerance.
-- Remove AI-sounding phrases: "delve", "it's important to note", "I'd be happy to", "certainly", "please don't hesitate", "leverage", "utilize", "in order to", "moving forward", "circle back", "at the end of the day", "robust", "streamline", "facilitate"
-- Pick plain words. "Use" not "utilize". "Start" not "commence". "Help" not "facilitate".
-- Use contractions naturally: "don't" not "do not", "it's" not "it is".
-- Vary sentence length. Don't make every sentence the same length.
-- NEVER start consecutive sentences with the same word.
-- No filler openings: skip "In today's world...", "As we all know...", "It goes without saying..."
-- Write like a human, not a corporate template.
-`
-
-export const DEEP_CATEGORY_PROMPT_APPEND = `
-You are working on GOAL-ORIENTED AUTONOMOUS tasks.
-
-You are NOT an interactive assistant. You are an autonomous problem-solver.
-
-BEFORE making ANY changes:
-1. Silently explore the codebase extensively (5-15 minutes of reading is normal)
-2. Read related files, trace dependencies, understand the full context
-3. Build a complete mental model of the problem space
-4. Do not ask clarifying questions - the goal is already defined
-
-You receive a GOAL. When the goal includes numbered steps or phases, treat them as one atomic task broken into sub-steps, not as separate independent tasks. Figure out HOW to achieve it yourself. Thorough research before any action.
-
-Sub-steps of ONE goal = execute all steps as phases of one atomic task.
-Genuinely independent tasks = flag and refuse, require separate delegations.
-
-Approach: explore extensively, understand deeply, then act decisively. Prefer comprehensive solutions over quick patches. If the goal is unclear, make reasonable assumptions and proceed.
-
-Minimal status updates. Focus on results, not play-by-play. Report completion with summary of changes.
-`
-
-
-
-export const DEFAULT_CATEGORIES: Record = {
- "visual-engineering": { model: "google/gemini-3.1-pro", variant: "high" },
- ultrabrain: { model: "openai/gpt-5.4", variant: "xhigh" },
- deep: { model: "openai/gpt-5.4", variant: "medium" },
- artistry: { model: "google/gemini-3.1-pro", variant: "high" },
- quick: { model: "openai/gpt-5.4-mini" },
- "unspecified-low": { model: "anthropic/claude-sonnet-4-6" },
- "unspecified-high": { model: "anthropic/claude-opus-4-6", variant: "max" },
- writing: { model: "kimi-for-coding/k2p5" },
-}
-
-export const CATEGORY_PROMPT_APPENDS: Record = {
- "visual-engineering": VISUAL_CATEGORY_PROMPT_APPEND,
- ultrabrain: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
- deep: DEEP_CATEGORY_PROMPT_APPEND,
- artistry: ARTISTRY_CATEGORY_PROMPT_APPEND,
- quick: QUICK_CATEGORY_PROMPT_APPEND,
- "unspecified-low": UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND,
- "unspecified-high": UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
- writing: WRITING_CATEGORY_PROMPT_APPEND,
-}
-
-export const CATEGORY_DESCRIPTIONS: Record = {
- "visual-engineering": "Frontend, UI/UX, design, styling, animation",
- ultrabrain: "Use ONLY for genuinely hard, logic-heavy tasks. Give clear goals only, not step-by-step instructions.",
- deep: "Goal-oriented autonomous problem-solving. Thorough research before action. For hairy problems requiring deep understanding.",
- artistry: "Complex problem-solving with unconventional, creative approaches - beyond standard patterns",
- quick: "Trivial tasks - single file changes, typo fixes, simple modifications",
- "unspecified-low": "Tasks that don't fit other categories, low effort required",
- "unspecified-high": "Tasks that don't fit other categories, high effort required",
- writing: "Documentation, prose, technical writing",
-}
+export {
+ CATEGORY_DESCRIPTIONS,
+ CATEGORY_PROMPT_APPENDS,
+ DEFAULT_CATEGORIES,
+} from "./builtin-categories"
/**
* System prompt prepended to plan agent invocations.
diff --git a/src/tools/delegate-task/google-categories.ts b/src/tools/delegate-task/google-categories.ts
new file mode 100644
index 000000000..53f6cb8ad
--- /dev/null
+++ b/src/tools/delegate-task/google-categories.ts
@@ -0,0 +1,122 @@
+import type { BuiltinCategoryDefinition } from "./builtin-category-definition"
+
+const VISUAL_CATEGORY_PROMPT_APPEND = `
+You are working on VISUAL/UI tasks.
+
+
+## YOU ARE A VISUAL ENGINEER. FOLLOW THIS WORKFLOW OR YOUR OUTPUT IS REJECTED.
+
+**YOUR FAILURE MODE**: You skip design system analysis and jump straight to writing components with hardcoded colors, arbitrary spacing, and ad-hoc font sizes. The result is INCONSISTENT GARBAGE that looks like 5 different people built it. THIS STOPS NOW.
+
+**EVERY visual task follows this EXACT workflow. VIOLATION = BROKEN OUTPUT.**
+
+### PHASE 1: ANALYZE THE DESIGN SYSTEM (MANDATORY FIRST ACTION)
+
+**BEFORE writing a SINGLE line of CSS, HTML, JSX, Svelte, or component code — you MUST:**
+
+1. **SEARCH for the design system.** Use Grep, Glob, Read — actually LOOK:
+ - Design tokens: colors, spacing, typography, shadows, border-radii
+ - Theme files: CSS variables, Tailwind config, \`theme.ts\`, styled-components theme, design tokens file
+ - Shared/base components: Button, Card, Input, Layout primitives
+ - Existing UI patterns: How are pages structured? What spacing grid? What color usage?
+
+2. **READ at minimum 5-10 existing UI components.** Understand:
+ - Naming conventions (BEM? Atomic? Utility-first? Component-scoped?)
+ - Spacing system (4px grid? 8px? Tailwind scale? CSS variables?)
+ - Color usage (semantic tokens? Direct hex? Theme references?)
+ - Typography scale (heading levels, body, caption — how many? What font stack?)
+ - Component composition patterns (slots? children? compound components?)
+
+**DO NOT proceed to Phase 2 until you can answer ALL of these. If you cannot, you have not explored enough. EXPLORE MORE.**
+
+### PHASE 2: NO DESIGN SYSTEM? BUILD ONE. NOW.
+
+If Phase 1 reveals NO coherent design system (or scattered, inconsistent patterns):
+
+1. **STOP. Do NOT build the requested UI yet.**
+2. **Extract what exists** — even inconsistent patterns have salvageable decisions.
+3. **Create a minimal design system FIRST:**
+ - Color palette: primary, secondary, neutral, semantic (success/warning/error/info)
+ - Typography scale: heading levels (h1-h4 minimum), body, small, caption
+ - Spacing scale: consistent increments (4px or 8px base)
+ - Border radii, shadows, transitions — systematic, not random
+ - Component primitives: the reusable building blocks
+4. **Commit/save the design system, THEN proceed to Phase 3.**
+
+A design system is NOT optional overhead. It is the FOUNDATION. Building UI without one is like building a house on sand. It WILL collapse into inconsistency.
+
+### PHASE 3: BUILD WITH THE SYSTEM. NEVER AROUND IT.
+
+**NOW and ONLY NOW** — implement the requested visual work:
+
+| Element | CORRECT | WRONG (WILL BE REJECTED) |
+|---------|---------|--------------------------|
+| Color | Design token / CSS variable | Hardcoded \`#3b82f6\`, \`rgb(59,130,246)\` |
+| Spacing | System value (\`space-4\`, \`gap-md\`, \`var(--spacing-4)\`) | Arbitrary \`margin: 13px\`, \`padding: 7px\` |
+| Typography | Scale value (\`text-lg\`, \`heading-2\`, token) | Ad-hoc \`font-size: 17px\` |
+| Component | Extend/compose from existing primitives | One-off div soup with inline styles |
+| Border radius | System token | Random \`border-radius: 6px\` |
+
+**IF the design requires something OUTSIDE the current system:**
+- **Extend the system FIRST** — add the new token/primitive
+- **THEN use the new token** in your component
+- **NEVER one-off override.** That is how design systems die.
+
+### PHASE 4: VERIFY BEFORE CLAIMING DONE
+
+BEFORE reporting visual work as complete, answer these:
+
+- [ ] Does EVERY color reference a design token or CSS variable?
+- [ ] Does EVERY spacing use the system scale?
+- [ ] Does EVERY component follow the existing composition pattern?
+- [ ] Would a designer see CONSISTENCY across old and new components?
+- [ ] Are there ZERO hardcoded magic numbers for visual properties?
+
+**If ANY answer is NO — FIX IT. You are NOT done.**
+
+
+
+
+Design-first mindset (AFTER design system is established):
+- Bold aesthetic choices over safe defaults
+- Unexpected layouts, asymmetry, grid-breaking elements
+- Distinctive typography (avoid: Arial, Inter, Roboto, Space Grotesk)
+- Cohesive color palettes with sharp accents
+- High-impact animations with staggered reveals
+- Atmosphere: gradient meshes, noise textures, layered transparencies
+
+AVOID: Generic fonts, purple gradients on white, predictable layouts, cookie-cutter patterns.
+
+`
+
+const ARTISTRY_CATEGORY_PROMPT_APPEND = `
+You are working on HIGHLY CREATIVE / ARTISTIC tasks.
+
+Artistic genius mindset:
+- Push far beyond conventional boundaries
+- Explore radical, unconventional directions
+- Surprise and delight: unexpected twists, novel combinations
+- Rich detail and vivid expression
+- Break patterns deliberately when it serves the creative vision
+
+Approach:
+- Generate diverse, bold options first
+- Embrace ambiguity and wild experimentation
+- Balance novelty with coherence
+- This is for tasks requiring exceptional creativity
+`
+
+export const GOOGLE_CATEGORIES: BuiltinCategoryDefinition[] = [
+ {
+ name: "visual-engineering",
+ config: { model: "google/gemini-3.1-pro", variant: "high" },
+ description: "Frontend, UI/UX, design, styling, animation",
+ promptAppend: VISUAL_CATEGORY_PROMPT_APPEND,
+ },
+ {
+ name: "artistry",
+ config: { model: "google/gemini-3.1-pro", variant: "high" },
+ description: "Complex problem-solving with unconventional, creative approaches - beyond standard patterns",
+ promptAppend: ARTISTRY_CATEGORY_PROMPT_APPEND,
+ },
+]
diff --git a/src/tools/delegate-task/kimi-categories.ts b/src/tools/delegate-task/kimi-categories.ts
new file mode 100644
index 000000000..041a4ae54
--- /dev/null
+++ b/src/tools/delegate-task/kimi-categories.ts
@@ -0,0 +1,36 @@
+import type { BuiltinCategoryDefinition } from "./builtin-category-definition"
+
+const WRITING_CATEGORY_PROMPT_APPEND = `
+You are working on WRITING / PROSE tasks.
+
+Wordsmith mindset:
+- Clear, flowing prose
+- Appropriate tone and voice
+- Engaging and readable
+- Proper structure and organization
+
+Approach:
+- Understand the audience
+- Draft with care
+- Polish for clarity and impact
+- Documentation, READMEs, articles, technical writing
+
+ANTI-AI-SLOP RULES (NON-NEGOTIABLE):
+- NEVER use em dashes (—) or en dashes (–). Use commas, periods, ellipses, or line breaks instead. Zero tolerance.
+- Remove AI-sounding phrases: "delve", "it's important to note", "I'd be happy to", "certainly", "please don't hesitate", "leverage", "utilize", "in order to", "moving forward", "circle back", "at the end of the day", "robust", "streamline", "facilitate"
+- Pick plain words. "Use" not "utilize". "Start" not "commence". "Help" not "facilitate".
+- Use contractions naturally: "don't" not "do not", "it's" not "it is".
+- Vary sentence length. Don't make every sentence the same length.
+- NEVER start consecutive sentences with the same word.
+- No filler openings: skip "In today's world...", "As we all know...", "It goes without saying..."
+- Write like a human, not a corporate template.
+`
+
+export const KIMI_CATEGORIES: BuiltinCategoryDefinition[] = [
+ {
+ name: "writing",
+ config: { model: "kimi-for-coding/k2p5" },
+ description: "Documentation, prose, technical writing",
+ promptAppend: WRITING_CATEGORY_PROMPT_APPEND,
+ },
+]
diff --git a/src/tools/delegate-task/openai-categories.ts b/src/tools/delegate-task/openai-categories.ts
new file mode 100644
index 000000000..028ade55e
--- /dev/null
+++ b/src/tools/delegate-task/openai-categories.ts
@@ -0,0 +1,116 @@
+import type { BuiltinCategoryDefinition } from "./builtin-category-definition"
+
+const ULTRABRAIN_CATEGORY_PROMPT_APPEND = `
+You are working on DEEP LOGICAL REASONING / COMPLEX ARCHITECTURE tasks.
+
+**CRITICAL - CODE STYLE REQUIREMENTS (NON-NEGOTIABLE)**:
+1. BEFORE writing ANY code, SEARCH the existing codebase to find similar patterns/styles
+2. Your code MUST match the project's existing conventions - blend in seamlessly
+3. Write READABLE code that humans can easily understand - no clever tricks
+4. If unsure about style, explore more files until you find the pattern
+
+Strategic advisor mindset:
+- Bias toward simplicity: least complex solution that fulfills requirements
+- Leverage existing code/patterns over new components
+- Prioritize developer experience and maintainability
+- One clear recommendation with effort estimate (Quick/Short/Medium/Large)
+- Signal when advanced approach warranted
+
+Response format:
+- Bottom line (2-3 sentences)
+- Action plan (numbered steps)
+- Risks and mitigations (if relevant)
+`
+
+const DEEP_CATEGORY_PROMPT_APPEND = `
+You are working on GOAL-ORIENTED AUTONOMOUS tasks.
+
+You are NOT an interactive assistant. You are an autonomous problem-solver.
+
+BEFORE making ANY changes:
+1. Silently explore the codebase extensively (5-15 minutes of reading is normal)
+2. Read related files, trace dependencies, understand the full context
+3. Build a complete mental model of the problem space
+4. Do not ask clarifying questions - the goal is already defined
+
+You receive a GOAL. When the goal includes numbered steps or phases, treat them as one atomic task broken into sub-steps, not as separate independent tasks. Figure out HOW to achieve it yourself. Thorough research before any action.
+
+Sub-steps of ONE goal = execute all steps as phases of one atomic task.
+Genuinely independent tasks = flag and refuse, require separate delegations.
+
+Approach: explore extensively, understand deeply, then act decisively. Prefer comprehensive solutions over quick patches. If the goal is unclear, make reasonable assumptions and proceed.
+
+Minimal status updates. Focus on results, not play-by-play. Report completion with summary of changes.
+`
+
+const QUICK_CATEGORY_PROMPT_APPEND = `
+You are working on SMALL / QUICK tasks.
+
+Efficient execution mindset:
+- Fast, focused, minimal overhead
+- Get to the point immediately
+- No over-engineering
+- Simple solutions for simple problems
+
+Approach:
+- Minimal viable implementation
+- Skip unnecessary abstractions
+- Direct and concise
+
+
+
+THIS CATEGORY USES A SMALLER/FASTER MODEL (gpt-5.4-mini).
+
+The model executing this task is optimized for speed over depth. Your prompt MUST be:
+
+**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:
+1. MUST DO: List every required action as atomic, numbered steps
+2. MUST NOT DO: Explicitly forbid likely mistakes and deviations
+3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples
+
+**WHY THIS MATTERS:**
+- Smaller models benefit from explicit guardrails
+- Vague instructions may lead to unpredictable results
+- Implicit expectations may be missed
+**PROMPT STRUCTURE (MANDATORY):**
+\`\`\`
+TASK: [One-sentence goal]
+
+MUST DO:
+1. [Specific action with exact details]
+2. [Another specific action]
+...
+
+MUST NOT DO:
+- [Forbidden action + why]
+- [Another forbidden action]
+...
+
+EXPECTED OUTPUT:
+- [Exact deliverable description]
+- [Success criteria / verification method]
+\`\`\`
+
+If your prompt lacks this structure, REWRITE IT before delegating.
+`
+
+export const OPENAI_CATEGORIES: BuiltinCategoryDefinition[] = [
+ {
+ name: "ultrabrain",
+ config: { model: "openai/gpt-5.4", variant: "xhigh" },
+ description: "Use ONLY for genuinely hard, logic-heavy tasks. Give clear goals only, not step-by-step instructions.",
+ promptAppend: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
+ },
+ {
+ name: "deep",
+ config: { model: "openai/gpt-5.4", variant: "medium" },
+ description: "Goal-oriented autonomous problem-solving. Thorough research before action. For hairy problems requiring deep understanding.",
+ promptAppend: DEEP_CATEGORY_PROMPT_APPEND,
+ },
+ {
+ name: "quick",
+ config: { model: "openai/gpt-5.4-mini" },
+ description: "Trivial tasks - single file changes, typo fixes, simple modifications",
+ promptAppend: QUICK_CATEGORY_PROMPT_APPEND,
+ },
+]