Agent skill

Scipy Curve Fit

by benchflow-ai in benchflow-ai/skillsbench

Use scipy.optimize.curvefit for nonlinear least squares parameter estimation from experimental data.

Apache-2.0Auto-check passed

Install Scipy Curve Fit

skills CLI
$ npx skills add benchflow-ai/skillsbench --skill scipy-curve-fit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benchflow-ai/skillsbench scipy-curve-fit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benchflow-ai/skillsbench.git skills-src && mkdir -p .claude/skills && cp -r skills-src/tasks/hvac-control/environment/skills/scipy-curve-fit .claude/skills/scipy-curve-fit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scipy-curve-fit
GitHub stars
1.8k
Token cost
~1k tokens
SKILL.md length
116 words
Files
1
Skills in repo
189
Repo updated
First seen
Licence
Apache-2.0

At a glance

Use scipy.optimize.curvefit for nonlinear least squares parameter estimation from experimental data.

  • Works in 3 steps: RuntimeError: Optimal parameters not found → Poor fit (low R^2) → Unrealistic parameters
  • SKILL.md covers Overview, Basic Usage, Fitting a First-Order Step… and Setting Initial Guesses (p0), plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Scipy Curve Fit is an agent skill from benchflow-ai/skillsbench. Use scipy.optimize.curvefit for nonlinear least squares parameter estimation from experimental data.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: SkillsBench evaluates how well skills work and how effective agents are at using them. The licence is Apache-2.0.

Example prompts

  • “/scipy-curve-fit”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. RuntimeError: Optimal parameters not found
  2. Poor fit (low R^2)
  3. Unrealistic parameters

What it can do on your machine

Read from SKILL.md and the folder at commit 9a1f4dd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scipy Curve Fit loads about 1k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 116 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~29
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from benchflow-ai/skillsbench at commit 9a1f4dd, republished under its Apache-2.0 licence (© benchflow-ai). 116 words, ~1,024 tokens.

Download SKILL.mdSave it as .claude/skills/scipy-curve-fit/SKILL.md (or your agent's skills folder).
name
scipy-curve-fit
description
Use scipy.optimize.curve_fit for nonlinear least squares parameter estimation from experimental data.

Using scipy.optimize.curve_fit for Parameter Estimation

Overview

scipy.optimize.curve_fit is a tool for fitting models to experimental data using nonlinear least squares optimization.

Basic Usage

python
from scipy.optimize import curve_fit
import numpy as np

# Define your model function
def model(x, param1, param2):
    return param1 * (1 - np.exp(-x / param2))

# Fit to data
popt, pcov = curve_fit(model, x_data, y_data)

# popt contains the optimal parameters [param1, param2]
# pcov contains the covariance matrix

Fitting a First-Order Step Response

python
import numpy as np
from scipy.optimize import curve_fit

# Known values from experiment
y_initial = ...  # Initial output value
u = ...          # Input magnitude during step test

# Define the step response model
def step_response(t, K, tau):
    """First-order step response with fixed initial value and input."""
    return y_initial + K * u * (1 - np.exp(-t / tau))

# Your experimental data
t_data = np.array([...])  # Time points
y_data = np.array([...])  # Output readings

# Perform the fit
popt, pcov = curve_fit(
    step_response,
    t_data,
    y_data,
    p0=[K_guess, tau_guess],      # Initial guesses
    bounds=([K_min, tau_min], [K_max, tau_max])  # Parameter bounds
)

K_estimated, tau_estimated = popt

Setting Initial Guesses (p0)

Good initial guesses speed up convergence:

python
# Estimate K from steady-state data
K_guess = (y_data[-1] - y_initial) / u

# Estimate tau from 63.2% rise time
y_63 = y_initial + 0.632 * (y_data[-1] - y_initial)
idx_63 = np.argmin(np.abs(y_data - y_63))
tau_guess = t_data[idx_63]

p0 = [K_guess, tau_guess]

Setting Parameter Bounds

Bounds prevent physically impossible solutions:

python
bounds = (
    [lower_K, lower_tau],    # Lower bounds
    [upper_K, upper_tau]     # Upper bounds
)

Calculating Fit Quality

R-squared (Coefficient of Determination)
python
# Predicted values from fitted model
y_predicted = step_response(t_data, K_estimated, tau_estimated)

# Calculate R-squared
ss_residuals = np.sum((y_data - y_predicted) ** 2)
ss_total = np.sum((y_data - np.mean(y_data)) ** 2)
r_squared = 1 - (ss_residuals / ss_total)
Root Mean Square Error (RMSE)
python
residuals = y_data - y_predicted
rmse = np.sqrt(np.mean(residuals ** 2))

Complete Example

python
import numpy as np
from scipy.optimize import curve_fit

def fit_first_order_model(data, y_initial, input_value):
    """
    Fit first-order model to step response data.

    Returns dict with K, tau, r_squared, fitting_error
    """
    t_data = np.array([d["time"] for d in data])
    y_data = np.array([d["output"] for d in data])

    def model(t, K, tau):
        return y_initial + K * input_value * (1 - np.exp(-t / tau))

    # Initial guesses
    K_guess = (y_data[-1] - y_initial) / input_value
    tau_guess = t_data[len(t_data)//3]  # Rough guess

    # Fit with bounds
    popt, _ = curve_fit(
        model, t_data, y_data,
        p0=[K_guess, tau_guess],
        bounds=([0, 0], [np.inf, np.inf])
    )

    K, tau = popt

    # Calculate quality metrics
    y_pred = model(t_data, K, tau)
    ss_res = np.sum((y_data - y_pred) ** 2)
    ss_tot = np.sum((y_data - np.mean(y_data)) ** 2)
    r_squared = 1 - (ss_res / ss_tot)
    fitting_error = np.sqrt(np.mean((y_data - y_pred) ** 2))

    return {
        "K": float(K),
        "tau": float(tau),
        "r_squared": float(r_squared),
        "fitting_error": float(fitting_error)
    }

Common Issues

  1. RuntimeError: Optimal parameters not found

    • Try better initial guesses
    • Check that data is valid (no NaN, reasonable range)
  2. Poor fit (low R^2):

    • Data might not be from step response phase
    • System might not be first-order
    • Too much noise in measurements
  3. Unrealistic parameters:

    • Add bounds to constrain solution
    • Check units are consistent

© benchflow-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in tasks/hvac-control/environment/skills/scipy-curve-fit of benchflow-ai/skillsbench.

Open the folder on GitHubat commit 9a1f4dd

Compare with similar skills

Scipy Curve Fit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scipy Curve Fit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scipy Curve Fit this skillbenchflow-ai/skillsbench1.8k—~1kAutomated safety check: PassApache-2.0
Parameter OptimizationFreedomIntelligence/OpenClaw-Medical-Skills3.1k1 repos~1.3kAutomated safety check: NotesNone
SQL Optimizationgithub/awesome-copilot40k2 repos~2.3kAutomated safety check: PassMIT
Matlab Fit Curvematlab/matlab-agentic-toolkit1.1k—~6.8kAutomated safety check: PassCustom licence
Agent Performance Optimizerruvnet/ruflo74k2 repos~3.6kAutomated safety check: PassMIT
Database Optimizerdavila7/claude-code-templates33k8 repos~2.5kAutomated safety check: PassMIT

Similar skills

  • Parameter Optimization

    FreedomIntelligence/OpenClaw-Medical-Skills

    Explore and optimize simulation parameters via design of experiments (DOE), sensitivity analysis, and optimizer selection.

    3.1k GitHub starsUsed in 1 repo~1.3k tokens
    Business, Finance & HRAuto-check: notes
  • SQL Optimization

    github/awesome-copilot

    Official

    Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL, PostgreSQL, SQL Server…

    40k GitHub starsUsed in 2 repos~2.3k tokens
    DatabasesAuto-check passed
  • Matlab Fit Curve

    matlab/matlab-agentic-toolkit

    Fit curves and surfaces interactively with the Curve Fitter app for a complete no-code fitting workflow.

    1.1k GitHub stars~6.8k tokensUpdated 2 days ago
    Data & AnalyticsAuto-check passed
  • Agent skill for performance-optimizer - invoke with $agent-performance-optimizer

    74k GitHub starsUsed in 2 repos~3.6k tokens
    Auto-check passed
  • Database Optimizer

    davila7/claude-code-templates

    Expert database optimizer specializing in modern performance tuning, query optimization, and scalable architectures.

    33k GitHub starsUsed in 8 repos~2.5k tokens
    DatabasesAuto-check passed
  • Prompt Optimizer

    affaan-m/ECC

    分析原始提示,识别意图和差距,匹配ECC组件(技能/命令/代理/钩子),并输出一个可直接粘贴的优化提示。仅提供咨询角色——绝不自行执行任务。触发时机:当用户说“优化提示”、“改进我的提示”、“如何编写提示”、“帮我优化这个指令”或明确要求提高提示质量时。中文等效表达同样触发:“优化prompt”、“改进prompt”、“怎么写prompt”、“帮我优化这个指令”。不触发时机:当用户希望直接执行任…

    277k GitHub starsUsed in 2 repos~2.4k tokens
    DevelopmentAuto-check passed

More from benchflow-ai/skillsbench

All 189 skills in this repo
  • Lean4 Memories

    benchflow-ai/skillsbench

    This skill should be used when working on Lean 4 formalization projects to maintain persistent memory of successful proof patterns, failed approaches, project conventions, and user preferences…

    1.8k GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Senior Data Engineer

    benchflow-ai/skillsbench

    World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, real-time streaming, and data infrastructure.

    1.8k GitHub stars~5.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Ac Branch Pi Model

    benchflow-ai/skillsbench

    AC branch pi-model power flow equations (P/Q and |S|) with transformer tap ratio and phase shift, matching acopf-math-model.md and MATPOWER branch fields.

    1.8k GitHub stars~1.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Civ6lib

    benchflow-ai/skillsbench

    Civilization 6 district mechanics library. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • D3 Visualization

    benchflow-ai/skillsbench

    Build deterministic, verifiable data visualizations with D3.js (v6).

    1.8k GitHub stars~1.5k tokensUpdated 2 mo ago
    Auto-check passed
  • Dc Power Flow

    benchflow-ai/skillsbench

    DC power flow analysis for power systems. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~717 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Scipy Curve Fit

What does Scipy Curve Fit do?

Use scipy.optimize.curvefit for nonlinear least squares parameter estimation from experimental data. Scipy Curve Fit is an agent skill from benchflow-ai/skillsbench.curvefit for nonlinear least squares parameter estimation from experimental data.

How do I install Scipy Curve Fit in Claude Code?

Run `npx skills add benchflow-ai/skillsbench --skill scipy-curve-fit -a claude-code`. Or copy the skill folder (tasks/hvac-control/environment/skills/scipy-curve-fit in benchflow-ai/skillsbench) into .claude/skills/scipy-curve-fit in your project. Claude Code loads it when a task matches its description.

How do I install Scipy Curve Fit in Codex?

Run `npx skills add benchflow-ai/skillsbench --skill scipy-curve-fit -a codex`. Or copy the skill folder (tasks/hvac-control/environment/skills/scipy-curve-fit in benchflow-ai/skillsbench) into .agents/skills/scipy-curve-fit in your project. Codex loads it when a task matches its description.

Can I use Scipy Curve Fit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benchflow-ai/skillsbench --skill scipy-curve-fit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scipy-curve-fit, .gemini/skills/scipy-curve-fit, .github/skills/scipy-curve-fit and .opencode/skills/scipy-curve-fit in your project.

What does Scipy Curve Fit need to run?

SKILL.md names no scripts, command-line tools or credentials: Scipy Curve Fit is instructions for the agent only. Our summary lists: Python 3.

Does Scipy Curve Fit access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Scipy Curve Fit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Scipy Curve Fit use?

Scipy Curve Fit is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scipy Curve Fit use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Scipy Curve Fit?

Skills that share tags, products or a category with Scipy Curve Fit: Parameter Optimization (FreedomIntelligence/OpenClaw-Medical-Skills, 3.1k stars), SQL Optimization (github/awesome-copilot, 40k stars), Matlab Fit Curve (matlab/matlab-agentic-toolkit, 1.1k stars) and Agent Performance Optimizer (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scipy Curve Fit?

benchflow-ai (a GitHub organization) maintains it in benchflow-ai/skillsbench, which has 1,835 GitHub stars. The repository holds 189 skills in this directory. The repository was last updated on July 23, 2026.

Source: benchflow-ai/skillsbench on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.