mcpbeat

Math Model Selector

vibeeval/math-model-selector

Routes problems to appropriate mathematical frameworks using expert heuristics

871 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
521
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/vibeeval/vibecosystem --skill math-model-selector

The instruction itself

12 sections, as written by the author

Math Model Selector

When to Use

Trigger on phrases like:

  • "what math should I use"
  • "which mathematical framework"
  • "how do I model this"
  • "what kind of problem is this"
  • "formalize this problem"

Use when user has a problem but doesn't know which mathematical domain applies.

Process

Guide user through decision tree using Polya-style questions:

1. Identify the quantity

Ask: "What quantity or phenomenon are you trying to understand?"

  • Physics problem -> conservation laws, differential equations
  • Economics -> equilibrium, optimization
  • Data patterns -> statistics, regression

2. Characterize change

Ask: "What changes, and how does it change?"

  • Discrete steps -> difference equations, recurrences
  • Continuous rate -> ODEs
  • Rate of rate matters -> 2nd order ODEs
  • Spatial variation -> PDEs

3. Check for uncertainty

Ask: "Is there randomness or uncertainty involved?"

  • Deterministic -> standard analysis
  • Epistemic uncertainty -> Bayesian methods
  • Random process -> probability theory, stochastic processes

4. Optimization check

Ask: "Are you optimizing something?"

  • Convex objective -> linear/quadratic programming
  • Non-convex -> gradient descent, evolutionary methods
  • Discrete choices -> combinatorics, integer programming

5. Answer precision

Ask: "What level of answer do you need?"

  • Rough estimate -> dimensional analysis
  • Qualitative behavior -> phase portraits, stability
  • Numerical answer -> simulation
  • Exact closed form -> analytical methods

Key Questions to Ask

  • What changes? (discrete vs continuous)
  • What causes the change? (rate dependencies)
  • What's random? (uncertainty type)
  • What's being optimized? (objective function)
  • How precise? (qualitative vs quantitative)

Output Format

Framework Recommendation:
- Primary: [framework name]
- Why: [one-sentence justification]

Starting Point:
- Key equations: [relevant formulas]
- Initial approach: [first step]

Tools to Use:
- [specific script or computation tool]

Related Skills:
- [domain skill to activate next]

Example Interaction

User: I want to model how a rumor spreads through a population

Claude: Let me help you find the right framework.

Q1: What quantity are we tracking?
> Number of people who heard the rumor over time.

Q2: What causes it to change?
> Spread rate depends on who knows and who doesn't.

Q3: Is there randomness?
> Assume deterministic (average behavior) for now.

Q4: Optimizing anything?
> No, just understanding dynamics.

Q5: What precision?
> Qualitative behavior, maybe predict peak rate.

Framework Recommendation:
- Primary: First-order ODE (logistic growth)
- Why: Rate depends on current state nonlinearly

Starting Point:
- dN/dt = r * N * (1 - N/K)
- N = heard count, K = population, r = spread rate

Tools:
- sympy_compute.py solve (equilibrium)
- Phase line for qualitative behavior

Related Skills:
- math/math-intuition-builder (understand the model)
- odes-pdes/first-order-odes (solve it)

Co-activates

After framework selection, suggest:

  • math-intuition-builder - to understand the framework
  • Relevant domain skill - for actual computation
  • math-mode - for symbolic verification

How to use it

Copy the folder

Take vibeeval/math-model-selector from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.