agentsclimarketplace

Opp repl concepts

Skill tabgab/opp_repl-skill/opp-repl-concepts

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-concepts

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

Mental model for opp_repl — the object hierarchy (SimulationWorkspace -> OmnetppProject + SimulationProject -> SimulationConfig -> SimulationTask -> TaskResult/MultipleTaskResults) and how loaded projects become {name}_project REPL variables. Load this before any other opp-repl-* skill that manipulates simulations so API calls make sense.

SKILL.md

3.8 KB, as published. Nobody here has run it

Core concepts

opp_repl's API mirrors the structure of an OMNeT++ workspace. Understand these five layers and everything else falls into place.

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

The five objects

ObjectWhat it represents
SimulationWorkspaceRegistry of all loaded projects + default selection.
OmnetppProjectA specific OMNeT++ installation (binaries, setenv, build).
SimulationProjectA model project (INET, Simu5G, OMNeT++ samples, ...).
SimulationConfigOne [Config ...] section from one .ini file.
SimulationTaskOne concrete run: (config, run number, mode, limits).
TaskResult / MultipleTaskResultsOutcome of a task / a batch of tasks.

The tree

SimulationWorkspace
 |-- OmnetppProject  "omnetpp"              (an OMNeT++ install)
 |-- SimulationProject  "inet"              (a model project)
 |    |-- SimulationConfig  examples/ethernet -c General     (1 run)
 |    |-- SimulationConfig  examples/wireless -c Wifi       (10 runs)
 |    |    |-- SimulationTask run #0
 |    |    |-- SimulationTask run #1
 |    |    \-- ...
 |    \-- ...
 \-- SimulationProject  "simu5g"            (depends on inet)

Convenience variables

Every loaded project appears in the REPL as a variable named {name}_project (hyphens and dots become underscores):

  • inet.opp --> inet_project
  • simu5g.opp --> simu5g_project
  • omnetpp-6.3.0.opp --> omnetpp_6_3_0_project

Use get_simulation_project_variable_names() to list them.

Defaults

opp_repl keeps a default simulation project and a default OMNeT++ project. If you launched the REPL from inside a project directory, the default is auto-set. Otherwise use -p PROJECT on the command line, or set_default_simulation_project(inet_project) at runtime.

When a function omits its simulation_project= argument, the default is used. This means you can write:

run_simulations(sim_time_limit="1s")
run_fingerprint_tests()

rather than always passing the project explicitly.

Tasks and results

  • Every operation (build, run, test, compare) becomes a Task.
  • Tasks always produce a result. Batches produce MultipleTaskResults, which supports filtering, drill-down, counting per code, and .rerun().
  • Result codes depend on the task family:
    • Simulations: DONE / SKIP / CANCEL / ERROR
    • Tests: PASS / FAIL (plus the simulation codes)
    • Updates: KEEP / INSERT / UPDATE (writes a new baseline)
    • Builds: DONE / SKIP (up-to-date) / ERROR
    • Comparisons: IDENTICAL / DIVERGENT / DIFFERENT

Full detail in opp-repl-tasks-and-results.

Filtering

Any function that selects configs or tasks accepts a consistent set of regex and predicate filters. See opp-repl-filtering for the full vocabulary — the rules are shared across run_simulations(), all run_*_tests(), compare_simulations(), and every get_simulation_tasks() call.

See also

  • opp-repl-opp-files — write the .opp files that populate the workspace.
  • opp-repl-running-simulations — call run_simulations() and friends.
  • opp-repl-tasks-and-results — inspect, filter, and rerun results.
  • opp-repl-filtering — the shared filter vocabulary.

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.