---
name: math-router
description: Deterministic router for math cognitive stack - maps user intent to exact CLI commands
triggers: ["math", "calculate", "compute", "solve", "integrate", "derivative", "plot", "convert", "prove"]
priority: high
user-invocable: false
---

# Math Router

**ALWAYS use this router first for math requests.**

Instead of reading individual skill documentation, call the router to get the exact command:

## Usage

```bash
# Route any math intent to get the CLI command
uv run python scripts/cc_math/math_router.py route "<user's math request>"
```

## Example Workflow

1. User says: "integrate sin(x) from 0 to pi"
2. You run: `uv run python scripts/cc_math/math_router.py route "integrate sin(x) from 0 to pi"`
3. Router returns:
   ```json
   {
     "command": "uv run python scripts/cc_math/sympy_compute.py integrate \"sin(x)\" --var x --lower 0 --upper pi",
     "confidence": 0.95
   }
   ```
4. You execute the returned command
5. Return result to user

## Why Use The Router

- **Faster**: No need to read skill docs
- **Deterministic**: Pattern-based, not LLM inference
- **Accurate**: Extracts arguments correctly
- **Complete**: Covers 32 routes across 7 scripts

## Available Routes

| Category | Commands |
|----------|----------|
| sympy | integrate, diff, solve, simplify, limit, det, eigenvalues, inv, expand, factor, series, laplace, fourier |
| pint | convert, check |
| shapely | create, measure, pred, op |
| z3 | prove, sat, optimize |
| scratchpad | verify, explain |
| tutor | hint, steps, generate |
| plot | plot2d, plot3d, latex |

## List All Commands

```bash
# List all available routes
uv run python scripts/cc_math/math_router.py list

# List routes by category
uv run python scripts/cc_math/math_router.py list --category sympy
```

## Fallback

If the router returns `{"command": null}`, the intent wasn't recognized. Then:
1. Ask user to clarify
2. Or use individual skills: /sympy-compute, /z3-solve, /pint-compute, etc.
