---
name: recommend-model
description: Get the best AI model for a task based on complexity, requirements, and budget. Use when the user wants to know which model to use.
argument-hint: "[task description]"
---

# Recommend Model

Get the optimal AI model recommendation for a specific task based on its complexity, requirements, and the project's budget constraints.

## Input

The user provides a task description via $ARGUMENTS. If no arguments provided, ask what task they need a model recommendation for.

## Complexity Guide

- **S**: Quick change, 1-2 files, well-understood pattern
- **M**: Standard feature, 3-5 files, some design decisions
- **L**: Complex feature, 5-10 files, significant design work
- **XL**: Major system change, 10+ files, cross-cutting concerns

## Steps

1. Infer complexity (S/M/L/XL) from the task description
2. Call `fathom_recommend_model` with:
   - `description`: the user's task description
   - `complexity`: the inferred complexity level
   - `budget`: if the user mentions a budget limit (e.g., "under $5"), pass it as a number
3. Present the recommendation clearly

## Output Format

| Detail | Value |
|--------|-------|
| Recommended Model | {model name} |
| Reasoning | {why this model fits the task} |
| Estimated Cost | ${cost} |
| Confidence | {confidence level} |

### Alternatives

If the tool returns alternative models, list them:

| Model | Cost | Tradeoff |
|-------|------|----------|
| {alt1} | ${cost} | {what you gain/lose} |
| {alt2} | ${cost} | {what you gain/lose} |

If the user provided a budget, note how the recommendation accounts for their budget.

## Error Handling

If the `fathom_recommend_model` MCP tool is not available, tell the user to check their MCP configuration. They may need to run `npx fathom-token-mcp` or verify that the Fathom MCP server is configured in their `.mcp.json`.
