ros2-robotics-navigation

ros2-robotics-navigation is a skill for Claude Code, Codex from hamzabellouch/agent-skills. It costs 76 tokens per session (1,960 once invoked), scanned A, original, MIT.

Guidance for building autonomous robot software with ROS 2, a framework for connecting robot components, and Nav2, its navigation stack. It covers robot nodes, sensor data, coordinate transforms, path planning, and safe real-time operation.

In plain words
What is it for?
Use it to build ROS 2 nodes, configure mobile-robot navigation, combine sensor data, manage robot lifecycle states, and tune communication settings.
Why use it?
It helps keep sensors, motion controllers, and navigation behaviour coordinated and predictable as the robot moves through its environment.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to build ROS 2 nodes, configure mobile-robot navigation, combine sensor data, manage robot lifecycle states, and tune communication settings.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/hamzabellouch/agent-skills/ros2-robotics-navigation
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add hamzabellouch/agent-skills --skill ros2-robotics-navigation
Clone the repo
git clone --depth 1 https://github.com/hamzabellouch/agent-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ros2-robotics-navigation

README.md
[![agentmods](https://agentmods.dev/badge/skills/hamzabellouch/agent-skills/ros2-robotics-navigation/github.svg)](https://agentmods.dev/skills/hamzabellouch/agent-skills/ros2-robotics-navigation)
Your own site
<a href="https://agentmods.dev/skills/hamzabellouch/agent-skills/ros2-robotics-navigation"><img src="https://agentmods.dev/badge/skills/hamzabellouch/agent-skills/ros2-robotics-navigation/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ros2-robotics-navigation

Your own site · 80×15
<a href="https://agentmods.dev/skills/hamzabellouch/agent-skills/ros2-robotics-navigation"><img src="https://agentmods.dev/badge/skills/hamzabellouch/agent-skills/ros2-robotics-navigation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 76 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,960 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00076 $0.01960
Opus 5 $0.00038 $0.00980
Sonnet 5 $0.00015 $0.00392
Haiku 4.5 $0.00008 $0.00196

Measured 8d ago against content hash ddbdaf680d37, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

ros2-robotics-navigation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Autonomous Systems and Robotics/ros2-robotics-navigation/SKILL.md · 211 lines

How it starts

The opening of the file, as written. The whole thing — 211 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ROS 2 Robotics & Nav2 Autonomous Navigation Guidelines

This skill details node design, DDS Quality of Service (QoS) tuning, coordinate transformation frame trees (tf2), Nav2 architecture configuration, and real-time execution safety for ROS 2 autonomous mobile robots (AMR).


1. ROS 2 Architecture & Node Design

1.1 Lifecycle Node Management (C++)

Managed Lifecycle Nodes transition explicitly through states (Unconfigured, Inactive, Active, Finalized), ensuring hardware drivers and controllers initialize predictably:

#include "rclcpp/rclcpp.hpp"
#include "rclcpp_lifecycle/lifecycle_node.hpp"
#include "sensor_msgs/msg/laser_scan.hpp"
#include "nav_msgs/msg/odometry.hpp"

using CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn;

class AutonomousSafetyNode : public rclcpp_lifecycle::LifecycleNode {
public:
  explicit AutonomousSafetyNode(const rclcpp::NodeOptions & options)
  : rclcpp_lifecycle::LifecycleNode("safety_monitor_node", options) {}

  CallbackReturn on_configure(const rclcpp_lifecycle::State &) override {
    RCLCPP_INFO(get_logger(), "Configuring Safety Monitor Node...");
    
    // Configure QoS for High Frequency Sensor Data
    rclcpp::QoS sensor_qos(rclcpp::KeepLast(5));
    sensor_qos.reliability(RCLCPP_RELIABILITY_BEST_EFFORT);
    sensor_qos.durability(RCLCPP_DURABILITY_VOLATILE);

    scan_sub_ = create_subscription<sensor_msgs::msg::LaserScan>(
      "/scan", sensor_qos,
      std::bind(&AutonomousSafetyNode::scan_callback, this, std::placeholders::_1));

    cmd_vel_pub_ = create_publisher<geometry_msgs::msg::Twist>("/cmd_vel", rclcpp::SystemDefaultsQoS());

    return CallbackReturn::SUCCESS;
  }

  CallbackReturn on_activate(const rclcpp_lifecycle::State & state) override {
    LifecycleNode::on_activate(state);
    cmd_vel_pub_->on_activate();
    RCLCPP_INFO(get_logger(), "Safety Monitor Activated.");
    return CallbackReturn::SUCCESS;
  }

  CallbackReturn on_deactivate(const rclcpp_lifecycle::State & state) override {
    LifecycleNode::on_deactivate(state);
    cmd_vel_pub_->on_deactivate();
    RCLCPP_INFO(get_logger(), "Safety Monitor Deactivated.");
    return CallbackReturn::SUCCESS;
  }

private:
  void scan_callback(const sensor_msgs::msg::LaserScan::SharedPtr msg) {
    if (!get_current_state().label().compare("active")) {
      // Emergency Brake logic if obstacle closer than threshold
      for (const auto & range : msg->ranges) {
        if (range < 0.35f && range > msg->range_min) {
          RCLCPP_WARN(get_logger(), "EMERGENCY STOP TRIGGERED! Obstacle detected at %.2fm", range);
          auto stop_msg = std::make_unique<geometry_msgs::msg::Twist>();
          stop_msg->linear.x = 0.0;
          stop_msg->angular.z = 0.0;
          cmd_vel_pub_->publish(std::move(stop_msg));
          break;
        }
      }
    }
  }

  rclcpp::Subscription<sensor_msgs::msg::LaserScan>::SharedPtr scan_sub_;
  rclcpp_lifecycle::LifecyclePublisher<geometry_msgs::msg::Twist>::SharedPtr cmd_vel_pub_;
};

Read the full file on GitHub · 211 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 211 lines · 76 tokens per session scan A ddbdaf680d37

Subscribe to this mod's changes

ros2-robotics-navigation is a skill published in the GitHub repository hamzabellouch/agent-skills (4 stars, last pushed 1mo ago), licensed MIT. It adds 76 tokens to every session and 1,960 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

native-modules

When integrating device APIs, bridging to native SDKs, or debugging platform-specific behavior.

sawrus/agent-guides · 0 tokens

aerospace-engineering-technician

Use when a task needs the judgment of an Aerospace Engineering and Operations Technologist/Technician — verifying an installed fastener's preload against a drawing's torque callout via the T=K·D·F relationship, reducing strain-gauge data from a structural proof-load test into stress and checking it against an…

wonsukchoi/domain-experts · 169 tokens

audiovisual-equipment-installer

Use when a task needs the judgment of an audiovisual equipment installer/repairer — diagnosing an EDID or HDCP handshake failure between a source and a display, sizing a display's screen size and brightness for a room's viewing distance and ambient light, specifying an HDMI/HDBaseT/AVoIP signal run against its rated…

wonsukchoi/domain-experts · 114 tokens

auto-glass-installer-repairer

Use when a task needs the judgment of an auto-glass installer/repairer — deciding whether a chip or crack qualifies for resin repair versus full replacement, calculating a safe drive-away time for the adhesive and conditions on a job, determining whether a windshield replacement triggers ADAS camera recalibration, or…

wonsukchoi/domain-experts · 86 tokens

automotive-engineer

Use when a task needs the judgment of an Automotive Engineer — computing weight transfer and tire friction-circle limits for a braking-while-cornering maneuver to set brake-force distribution, sizing a powertrain and gear ratio against a 0-60 mph acceleration target while checking traction versus power limits, sizing…

wonsukchoi/domain-experts · 160 tokens

automotive-engineering-technician

Use when a task needs the judgment of an Automotive Engineering Technician — setting up and instrumenting test equipment (strain-gauge bridges, thermocouples, load/torque sensors) to an engineer's written test plan, selecting DAQ sample rate and an SAE J211 CFC filter class for a vehicle test channel, verifying…

wonsukchoi/domain-experts · 207 tokens