Skip to content
Back to skills

GEO INFER SIM

ASecurity

Agent-based and multi-paradigm simulation for geospatial workflows. Use when building agent-based models, cellular automata, or system-dynamics simulations, or running and comparing spatial planning scenarios.

  • 17 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 1, 2026
ai-agentspython

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add ActiveInferenceInstitute/GEO-INFER --skill GEO-INFER-SIM --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of GEO INFER SIM?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for GEO INFER SIM
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/activeinferenceinstitute-geo-infer-sim/badge)](https://www.skillsdirectory.com/skills/activeinferenceinstitute-geo-infer-sim)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: geo-infer-sim
description: Agent-based and multi-paradigm simulation for geospatial workflows. Use when building agent-based models, cellular automata, or system-dynamics simulations, or running and comparing spatial planning scenarios.
prerequisites:
  required:
    - geo-infer-space
    - geo-infer-time
  recommended:
    - geo-infer-bayes
    - geo-infer-act
difficulty: advanced
estimated_time: 60min
examples_dir: ../GEO-INFER-EXAMPLES/examples/
---

# GEO-INFER-SIM

## Instructions

### Core Capabilities

- **Simulation engine**: `SimulationEngine` with a validated `SimulationConfig`, explicit state machine (INITIALIZED/RUNNING/PAUSED/COMPLETED/FAILED/CANCELLED), pause/resume/cancel, metrics, state history, and JSON checkpoints that restore both configuration and the exact RNG stream
- **Paradigms**: agent-based models (`AgentBasedModel`, `Agent`), system dynamics (`SystemDynamicsModel`), cellular automata (`CellularAutomata`)
- **Mesa bridge** (optional): `MesaModelBridge` wraps any `mesa.Model` with snapshot/metric collection; install with the `mesa` extra — everything else works without it
- **Scenario analysis**: `ScenarioManager` for scenario storage, comparison, and sequential or parallel batch execution with per-scenario error reporting
- **Module simulations**: `ModuleSimulations` runs toy numeric engine smoke-test models named after GEO-INFER modules

### Key Imports

```python
from geo_infer_sim import (
    SimulationEngine, SimulationConfig, AgentBasedModel, Agent,
    SystemDynamicsModel, CellularAutomata, ScenarioManager,
    ModuleSimulations, ModuleSimulationConfig,
)
from geo_infer_sim.core.mesa_bridge import MesaModelBridge
from geo_infer_sim.scenarios.scenario_manager import Scenario
```

### Examples

Run a deterministic engine simulation:

```python
from geo_infer_sim import SimulationEngine, SimulationConfig

engine = SimulationEngine(SimulationConfig(time_step=1.0, max_time=10.0, random_seed=42))
engine.initialize({"population": 100})
engine.run(lambda t, state: {"population": state["population"] + 1})
engine.record_metric("population", 101.0)
stats = engine.get_metric_statistics("population")
```

Run and compare scenarios:

```python
from geo_infer_sim import ScenarioManager

manager = ScenarioManager()
baseline = manager.create_scenario(
    name="baseline", initial_conditions={"population": 100}, parameters={"seed": 1}
)
policy = manager.create_scenario(
    name="policy", initial_conditions={"population": 100}, parameters={"seed": 1}
)

def my_simulation_func(scenario):
    engine = SimulationEngine(SimulationConfig(max_time=5.0, random_seed=scenario.parameters["seed"]))
    engine.initialize(scenario.initial_conditions)
    engine.run(lambda t, state: {"population": state["population"] * 1.01})
    return engine.get_state()

results = manager.run_scenarios(
    [baseline.scenario_id, policy.scenario_id], my_simulation_func, parallel=False
)
```

## Guidelines

- Deterministic-by-default: pass `random_seed` to `SimulationConfig`; use `np.random.default_rng(seed)` for your own stochastic functions rather than global NumPy seeding
- Mesa is optional (`pip install geo-infer-sim[mesa]`); `MesaModelBridge` raises a clear ImportError on construction without it
- ABM `spatial_bounds` is advisory metadata — agent positions are not clamped; `AgentBasedModel(neighbor_radius=...)` controls step() neighbor search
- Test: `uv run python GEO-INFER-TEST/run_unified_tests.py --module SIM`

### Integrations

- None: this module has no runtime imports of other GEO-INFER modules.
- Test: `uv run python GEO-INFER-TEST/run_unified_tests.py --module SIM`

Files in this skill

  • AGENTS.md1.3 KB
  • README.md948 B
  • SKILL.md1.7 KB
  • docs/AGENTS.md1.1 KB
  • docs/README.md745 B
  • docs/api_schema.yaml41.6 KB
  • examples/AGENTS.md1.2 KB
  • examples/README.md878 B
  • examples/basic_abm.py1.5 KB
  • examples/module_simulations_example.py4.9 KB
  • examples/urban_growth_simulation.py7.8 KB
  • pyproject.toml3.5 KB
  • requirements.txt82 B
  • setup.py1.5 KB
  • src/AGENTS.md1.1 KB
  • src/README.md742 B
  • src/geo_infer_sim/AGENTS.md1.3 KB
  • src/geo_infer_sim/README.md916 B
  • src/geo_infer_sim/__init__.py1 KB
  • src/geo_infer_sim/analysis/AGENTS.md1.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.