agentsclimarketplace

Opp repl chart tests

Skill tabgab/opp_repl-skill/opp-repl-chart-tests

Composable Anthropic-format Agent Skills for driving OMNeT++ simulations via opp_repl. Works in Claude, Windsurf, and any SKILL.md-aware agent.

Install
npx -y skills add tabgab/opp_repl-skill --skill opp-repl-chart-tests

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Detect visual regressions in result-analysis charts. run_chart_tests renders charts from current results and compares them pixel-wise against baseline images stored in the project's media_folder. Requires the `chart` extra (matplotlib + numpy). Load when analysis plots are part of your deliverable and must stay stable.

SKILL.md

2.6 KB, as published. Nobody here has run it

Chart tests

Chart tests render each analysis chart and compare the resulting image against a baseline stored in the project's media_folder. A visual diff catches regressions in analysis pipelines, not in the simulation itself — e.g. a buggy pandas aggregation or a changed axis label.

Upstream reference: https://github.com/omnetpp/opp_repl/blob/main/doc/chart_tests.md

Requirements

  • chart extra installed: pip install "opp_repl[chart]".
  • media_folder set on the SimulationProject (INET convention: doc/media).

Python API

# Seed baselines (first time, or after intentional chart changes)
update_chart_test_results(simulation_project=inet_project)

# Run tests
run_chart_tests(simulation_project=inet_project)

# Scoped
run_chart_tests(simulation_project=inet_project,
                working_directory_filter="showcases")

Result codes: PASS / FAIL (INSERT/UPDATE/KEEP on updates).

Command line

opp_update_chart_test_results --load inet.opp -p inet
opp_run_chart_tests           --load inet.opp -p inet

When chart tests catch what fingerprint tests miss

  • The numerical results are correct but the plotting code regressed.
  • A new matplotlib/seaborn release changed default styles.
  • An analysis notebook's filter criteria drifted.

Pitfalls

  • Matplotlib backends, fonts, and DPI all affect pixel output. Pin the stack (matplotlib==X.Y, optionally MPLBACKEND=Agg) across CI to avoid spurious diffs.
  • Anti-aliasing quirks between Linux distros can cause flapping. For reproducible CI, run chart tests inside a fixed container.
  • Tolerance is pixel-wise, not structural; a one-pixel shift may show as FAIL. Consult the live docstring for tolerance knobs.
  • When a chart test reports FAIL, inspect the pixel diff with compare_charts() in the REPL or the opp_diff_charts GUI (requires the diffcharts extra: pip install "opp_repl[diffcharts]").

See also

  • opp-repl-running-simulations — produces the scalars charts read.
  • opp-repl-tasks-and-results — inspect FAILed chart tests.
  • opp-repl-module-image-tests — sibling suite for module/network rendering regressions (visual regression of how modules and networks are drawn), as opposed to the analysis-plot regressions caught here.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.