Computes standard control system metrics from simulation data.

Install

mkdir -p .claude/skills/simulation-metrics && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2579" && unzip -o skill.zip -d .claude/skills/simulation-metrics && rm skill.zip

Installs to .claude/skills/simulation-metrics

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use this skill when calculating control system performance metrics such as rise time, overshoot percentage, steady-state error, or settling time for evaluating simulation results.
179 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Calculate rise time from 10% to 90% of target
  • Compute overshoot percentage relative to target
  • Determine steady-state error using final data fraction
  • Calculate settling time within a specified tolerance band

How it works

The skill iterates through time-series data arrays to identify threshold crossings or final state averages based on specific control system formulas. It uses standard Python loops and math operations to derive performance indicators from simulation logs.

Inputs & outputs

You give it
List of timestamps, list of values, and target value
You get back
Calculated performance metric value

When to use simulation-metrics

  • Calculating settling time for a system response
  • Determining overshoot percentage from simulation logs

About this skill

Control System Performance Metrics

Rise Time

Time for system to go from 10% to 90% of target value.

def rise_time(times, values, target):
    """Calculate rise time (10% to 90% of target)."""
    t10 = t90 = None

    for t, v in zip(times, values):
        if t10 is None and v >= 0.1 * target:
            t10 = t
        if t90 is None and v >= 0.9 * target:
            t90 = t
            break

    if t10 is not None and t90 is not None:
        return t90 - t10
    return None

Overshoot

How much response exceeds target, as percentage.

def overshoot_percent(values, target):
    """Calculate overshoot percentage."""
    max_val = max(values)
    if max_val <= target:
        return 0.0
    return ((max_val - target) / target) * 100

Steady-State Error

Difference between target and final settled value.

def steady_state_error(values, target, final_fraction=0.1):
    """Calculate steady-state error using final portion of data."""
    n = len(values)
    start = int(n * (1 - final_fraction))
    final_avg = sum(values[start:]) / len(values[start:])
    return abs(target - final_avg)

Settling Time

Time to stay within tolerance band of target.

def settling_time(times, values, target, tolerance=0.02):
    """Time to settle within tolerance of target."""
    band = target * tolerance
    lower, upper = target - band, target + band

    settled_at = None
    for t, v in zip(times, values):
        if v < lower or v > upper:
            settled_at = None
        elif settled_at is None:
            settled_at = t

    return settled_at

Usage

times = [row['time'] for row in results]
values = [row['value'] for row in results]
target = 30.0

print(f"Rise time: {rise_time(times, values, target)}")
print(f"Overshoot: {overshoot_percent(values, target)}%")
print(f"SS Error: {steady_state_error(values, target)}")

When not to use it

  • Processing non-time-series data
  • Analyzing systems without a defined target value

Limitations

  • Requires data to be provided as lists of times and values
  • Steady-state error calculation assumes the final 10% of data represents the settled state

How it compares

It provides pre-defined, reusable functions for specific control metrics instead of manually writing custom logic for each simulation run.

Compared to similar skills

simulation-metrics side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
simulation-metrics (this skill)36moNo flagsBeginner
quant-analyst1032moNo flagsAdvanced
umap-learn62moReviewIntermediate
embedding-strategies82moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

quant-analyst

zenobi-us

Expert quantitative analyst specializing in financial modeling, algorithmic trading, and risk analytics. Masters statistical methods, derivatives pricing, and high-frequency trading with focus on mathematical rigor, performance optimization, and profitable strategy development.

103355

umap-learn

K-Dense-AI

UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.

6100

embedding-strategies

wshobson

Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.

890

building-automl-pipelines

jeremylongshore

Build automated machine learning pipelines, including feature engineering, model selection, and performance evaluation.

688

model-compare

rawwerks

Compare 3D CAD models using boolean operations (IoU, Dice, precision/recall). Use when evaluating generated models against gold references, diffing CAD revisions, or computing similarity metrics for ML training. Triggers on: model diff, compare models, IoU, intersection over union, model similarity, CAD comparison, STEP diff, 3D evaluation, gold reference, generated model, precision recall 3D.

783

matchms

davila7

Mass spectrometry analysis. Process mzML/MGF/MSP, spectral similarity (cosine, modified cosine), metadata harmonization, compound ID, for metabolomics and MS data processing.

674

Search skills

Search the agent skills registry