gazebo-operator

Convert natural-language commands into verified Gazebo simulation operations.

8|Updated Mar 18, 2026
One-click install
npx skills add https://github.com/XINJIANGMO/gazebo-codex-operator --skill gazebo-operator
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gazebo-operator
Source: https://github.com/XINJIANGMO/gazebo-codex-operator/tree/main
Command: npx skills add https://github.com/XINJIANGMO/gazebo-codex-operator --skill gazebo-operator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Turning natural-language requests into safe, correct Gazebo actions without manually figuring out the right gz topic/service endpoints, message types, or payload structure.

Core Features & Use Cases

  • Runtime inspection & capability discovery: Inspects active world(s), services, topics, entities, and available interfaces before acting.
  • Target and interface resolution: Resolves ambiguous natural-language targets via ranked candidate matching and selects the best transport interface card.
  • Schema-aware payload generation: Generates gz.msgs.* payloads using the local references/gz_msg_registry.json registry, with fallbacks to field-path matching.
  • Safe execution with verification: Executes actions through bundled scripts and verifies outcomes (pose, velocity effect heuristics, pause/step state, and transport acknowledgements).
  • Optional extension via adapters: Supports custom actions through Python adapters under adapters/ for world/topic patterns not covered by the core set.

Quick Start

Ask the AI to move a model in the running simulation by describing which entity and motion fields you want, for example:

  • "Move vehicle_blue by setting linear x to 0.5 and angular z to 0.05."

Frequently Asked Questions about gazebo-operator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control a running Gazebo simulation using natural language commands?

Controlling a running Gazebo simulation via natural language involves inspecting the active world to resolve target entities, selecting the correct topic or service interface, generating schema-correct gz.msgs payloads, and executing the action with post-execution verification.

How do I set the pose or velocity of a specific model in Gazebo without writing raw commands?

Setting a model's pose or velocity in Gazebo without raw commands requires a schema-aware system to match your intent to the target entity, select the relevant transport interface, generate the correct gz.msgs payload, and verify the resulting state change.

What is the safest way to pause, resume, or step a Gazebo simulation programmatically?

The safest way to pause, resume, or step a Gazebo simulation is by routing intent through bundled scripts that enforce safety rules, preventing direct raw gz command composition and verifying the transport acknowledgements and simulation state after execution.

How can I discover available topics, services, and entities in an active Gazebo world?

Discovering available topics, services, and entities in an active Gazebo world requires runtime inspection and capability discovery, which queries the running simulation to map available interfaces and entities before resolving the target for any action.

Can I extend Gazebo control actions for custom world or topic patterns not covered by default?

You can extend Gazebo control actions for custom world or topic patterns by adding Python adapters under the adapters directory, allowing custom action routing when fixed actions like pausing, stepping, or setting pose are insufficient.

Why should I avoid composing raw gz commands for Gazebo simulation operations?

Composing raw gz commands for Gazebo simulation operations is unsafe because it bypasses schema-aware payload generation and interface resolution, risking incorrect message structures and unverified execution outcomes that bundled safety scripts are designed to prevent.