Agent skills for monitoring and operating an Ocudu 5G RAN stack using AI coding agents.
Built on the open Agent Skills standard.
.agents/
└── skills/
└── ocudu/
├── SKILL.md # Skill instructions (agent reads this)
├── scripts/
│ └── ws_metrics.py # WebSocket metrics collector
└── references/
├── metrics_schema.md # JSON metrics field reference
└── config_params.md # gNB YAML config reference
- Clone this repo into your project or copy the
.agents/directory. - Install the dependency:
pip install websocket-client - Ensure the gNB has
remote_controlandmetrics.enable_jsonenabled in its config.
Example config:
# ---- Add these sections ----
metrics:
enable_json: true # Required: enables JSON metrics for WebSocket
layers:
enable_sched: true # Scheduler per-UE/cell metrics (default: true)
enable_mac: true # MAC latency/CPU metrics
enable_rlc: true # RLC per-bearer stats
enable_ngap: true # AMF connection & PDU session metrics
enable_rrc: true # RRC connection stats
enable_executor: true # Thread/executor load metrics
enable_app_usage: true # CPU/memory/power usage
enable_du_low: true # DU-low processing stats
enable_ru: true # Radio Unit / Open Fronthaul stats
remote_control:
enabled: true
bind_addr: 127.0.0.1 # Use 0.0.0.0 if connecting from another machine
port: 8001Once the skill is in place, ask your AI agent natural language questions. Examples:
> How many UEs are connected and what's their signal quality?
> Are there any scheduling issues or HARQ failures?
> What's the CPU and memory usage of the gNB?
> Collect metrics during a ping test and summarize the results.
> Is the AMF connected? How many PDU sessions are active?
> What MCS and modulation scheme is the UE using?
> Check if the gNB is running.
> Run a ping test from the UE to the core network.
The agent connects to the Ocudu gNB WebSocket interface (default 127.0.0.1:8001), subscribes to JSON metrics, and interprets the data to answer questions. No REST API is involved — Ocudu streams metrics over WebSocket.
- Ocudu gNB with remote control enabled
- Python 3.8+
websocket-clientpackage
- To run and test the metrices collector manually:
pip install websocket-client
python3 .agents/skills/ocudu/scripts/ws_metrics.py --url 127.0.0.1:8001 --count 5 --prettySee LICENSE.