What problem does it solve? Testing robot navigation on real hardware is slow, non-repeatable, and risky. This Skill provides a complete pattern for writing automated integration tests that launch Gazebo simulation, Nav2, and ROS 2 nodes together, then assert navigation outcomes programmatically. ## Core Features & Use Cases - launch_testing Integration Tests: Complete pytest/unittest template that launches Gazebo headless, the ros_gz bridge, and Nav2, then sends NavigateToPose action goals and asserts success status. - CI Pipeline Configuration: Ready-to-adapt GitHub Actions workflow with software rendering (Mesa) for GPU-less runners, plus colcon test invocation and result reporting. - Robustness Patterns: Covers waiting for /clock, AMCL initial pose convergence, rosbag recording during tests, deterministic seeds, and common CI failure modes like zombie Gazebo processes. - Use Case: A robotics team wants every pull request to verify that their robot can still navigate to a goal in simulation. Use this Skill to scaffold the test file, CMakeLists/package.xml test dependencies, and CI job. ## Quick Start Write a launch_testing integration test that starts Gazebo headless with Nav2 and asserts the robot reaches a NavigateToPose goal.