agentsclimarketplace

Opp repl cli tools

Skill tabgab/opp_repl-skill/opp-repl-cli-tools

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-cli-tools

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

Use the opp_repl shell wrappers (opp_build_project, opp_run_simulations, opp_run_*_tests, opp_update_*_test_results) from scripts and CI pipelines instead of the IPython REPL. Load for non-interactive workflows — covers shared flags, project auto-detection from CWD, filtering, build modes, and exit codes.

SKILL.md

7.2 KB, as published. Nobody here has run it

Command-line tools (shell wrappers)

Every long-running opp_repl operation has a matching shell wrapper. Use them in scripts, Makefiles, CI jobs, and any context where starting IPython is overkill.

Upstream reference (bundled in the overview): https://github.com/omnetpp/opp_repl/blob/main/doc/overview.md

Tool inventory

BinaryPurpose
opp_replIPython REPL (see opp-repl-repl-usage)
opp_build_projectBuild a project (and its dependencies)
opp_build_omnetppBuild the OMNeT++ installation itself
opp_clean_projectClean a project's build output
opp_clean_omnetppClean the OMNeT++ build output
opp_run_simulationsRun simulations (with filters, time limits)
opp_run_all_testsRun every test type sequentially
opp_run_smoke_testsStart-and-terminate checks
opp_run_fingerprint_testsBehavioral regression (event fingerprints)
opp_run_statistical_testsScalar-result regression
opp_run_speed_testsCPU instruction-count regression
opp_run_chart_testsAnalysis-chart image regression
opp_run_module_image_testsModule/network rendering regression
opp_run_sanitizer_testsAddressSanitizer / UBSan runs
opp_run_feature_testsPer-feature build + setup checks
opp_run_release_testsComprehensive release-validation suite
opp_update_fingerprint_test_resultsRefresh fingerprint baseline
opp_update_speed_test_resultsRefresh speed baseline
opp_update_statistical_test_resultsRefresh scalar baseline
opp_update_chart_test_resultsRefresh chart-image baseline
opp_capture_module_imagesRender module images to a directory
opp_update_module_image_test_resultsRefresh module-image baseline
opp_diff_chartsGUI to browse chart / module-image diffs (PyQt6)
opp_mount / opp_unmountMount / unmount overlay filesystems
opp_sandboxRun a command under bubblewrap isolation (Linux)
opp_repl_mcp_bridgestdio↔Unix-socket bridge for MCP clients
opp_repl_self_testVerify the opp_repl install's dependencies

The opp_run_*/opp_update_*/build/clean tools accept -h / --help and share a common flag set; the utility tools above (opp_diff_charts, opp_mount, opp_sandbox, opp_repl_mcp_bridge, opp_repl_self_test) have their own options — run them with --help.

Project loading

  • No --load flag? -> every *.opp in the current working directory is auto-loaded. The typical pattern is cd into the project and run:

    cd ~/workspace/inet && opp_run_simulations -p inet -t 1s
    
  • One or more --load flags:

    opp_run_simulations --load ~/ws/omnetpp/omnetpp.opp \
                        --load ~/ws/inet/inet.opp \
                        -p inet -t 1s
    

Globs are accepted:

  opp_run_simulations --load "~/workspace/**/*.opp" -p fifo

OMNeT++ project descriptors are always loaded before simulation projects so dependencies resolve automatically.

Common flags

FlagMeaning
-p NAMEDefault simulation project
--load FILE_OR_GLOBLoad .opp descriptor (repeatable)
-t DURATIONsim_time_limit (1s, 10min, ...)
--filter REGEXFull-string filter
--working-directory-filter REGEXFilter by working directory
--ini-file-filter REGEXFilter by INI filename
--config-filter REGEXFilter by [Config X] name
--run-number-filter REGEXFilter by run number
--exclude-* variantsSame semantics, inverted
-m MODErelease / debug only on the CLI (sanitize / coverage / profile are REPL-API-only)
--no-buildSkip build step (use existing binary)
--no-concurrentSequential execution
--hosts H1,H2,...SSH cluster hosts (requires cluster extra)

See opp-repl-filtering for the complete filter vocabulary — the include/exclude rules are identical to the REPL functions.

Exit codes

The wrappers exit 0 when the overall result is expected (all DONE for simulations, all PASS for tests) and non-zero otherwise. In CI pipelines, rely on the exit code rather than parsing stdout.

Examples

Run PureAloha1 once, short duration, no rebuild:

cd $__omnetpp_root_dir/samples/aloha
opp_run_simulations -c PureAloha1 -t 0.3s --no-build --no-concurrent

Smoke-test the whole fifo sample:

cd $__omnetpp_root_dir/samples/fifo
opp_run_smoke_tests

Fingerprint-test INET under examples/ethernet:

opp_run_fingerprint_tests --load ~/ws/inet/inet.opp -p inet \
                          --working-directory-filter examples/ethernet \
                          -t 10s

Run distributed on a 2-node cluster in debug mode:

opp_run_simulations -m debug -t 1s \
                    --filter PureAlohaExperiment \
                    --hosts node1.local,node2.local

Pitfalls

  • --no-build with a stale binary silently runs the old code. Prefer omitting the flag unless you are certain the binary is current.
  • The wrappers do NOT start an MCP server. If an AI agent needs access, start the REPL with opp_repl --mcp-socket (clients connect via opp_repl_mcp_bridge) — see opp-repl-mcp-server.
  • -t overrides any sim-time-limit in the INI file — including longer limits that the config deliberately needed.

See also

  • opp-repl-repl-usage — equivalent interactive interface.
  • opp-repl-running-simulations — full semantics of the run step.
  • opp-repl-filtering — complete filter reference.
  • Each opp-repl-*-tests skill — test-specific flags.

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.