ros2-engineering-skills plugin

A ROS 2 skill: the agent inspects the live graph, types and QoS before editing code and checks results with validators

  • 241 ★ on the repository
  • Last commit
  • Apache-2.0
Plugin

Extended access

Why this level

  • Hooks run Python scripts on each tool call and the skill steers the agent toward `ros2` commands that can move hardware.
All reasons and checks

dbwls99706/ros2-engineering-skills

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add plugins/ros2-engineering-skills

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Hooks run Python scripts on each tool call and the skill steers the agent toward `ros2` commands that can move hardware.

This is third-party code. Review the repository files before installing.

What it does

The package combines a root `SKILL.md`, per-topic ROS 2 references and static-check scripts. The skill guides the agent through robotics tasks: workspaces and packages, executors, DDS QoS, node lifecycle, tf2, ros2_control, Nav2, MoveIt 2, perception, safety, tests and deployment. Detailed tables and 22 recurring pitfalls live in `references/engineering-principles.md` and load only when relevant. The core habit it teaches the agent is to separate a plausible explanation from observed behavior. Before touching QoS the agent runs `ros2 topic info -v` and lists nodes instead of guessing the cause. For a new driver it builds a package with a launch file, parameters, tests and declared contracts for frames, timestamps and limits. The Claude Code plugin ships hooks. PreToolUse warns about `ros2` commands that can move hardware, such as `ros2 topic pub /cmd_vel`, a navigation goal, a controller switch or an e-stop reset. The Stop hook prints a closing report with advice.

Who it is for. Robotics engineers on ROS 2 who hand drivers, launch files, Nav2 and ros2_control to an agent and want fewer blind edits.

Good fit when

  • A subscriber receives nothing and the cause has to be found from the graph, types and QoS instead of guessing.
  • A new C++ or Python LiDAR driver package is needed, with tests and a launch file.
  • Nav2 or ros2_control configuration is edited and the agent must verify which YAML is actually loaded.
  • A project moves between ROS 2 distributions and needs the API of the right version.

Not a fit when

  • A ROS 1 project with no migration plan: the skill targets ROS 2.
  • You need robot safety certification: the authors rule out that use.
  • The agent must drive real hardware without an operator: the hook only warns and does not replace an emergency stop.

Example request

The subscriber on `/camera/image_raw` receives nothing. Inspect the graph, type and publisher QoS before proposing a fix.

Limitations

The PreToolUse hook only reminds the model by default and blocks nothing. The `ROS2_SKILL_ACTUATION=ask` mode is marked experimental and prompts before a dangerous command, `off` disables the check. The hook matches names in POSIX shell commands and is not a safety function: an operator and an independent stop path are always required. Hooks and the installer need `python3` 3.10 or newer, and building or running checks needs the target ROS stack. The installed copy is recorded in `INSTALL_PROVENANCE.json` with file hashes, but this is not a signed attestation.

How to disable. For the plugin run `/plugin uninstall ros2-engineering@ros2-engineering-skills`. Remove a skill copy made by the installer from the agent skills directory.

FAQ

How do I install ros2-engineering-skills in Claude Code?

Run `claude plugin marketplace add dbwls99706/ros2-engineering-skills`, then `claude plugin install ros2-engineering@ros2-engineering-skills`.

How do I install the skill for Codex, Cursor or Gemini CLI?

Clone the repository, install `requirements.txt` and run `python3 scripts/install_skill.py --client codex`. Use `cursor`, `gemini` or `claude` instead of `codex`.

Does the hook block dangerous `ros2` commands?

Not by default; it only adds a note for the model. The `ROS2_SKILL_ACTUATION=ask` mode prompts before a command runs.

How do I check that the installation is intact?

`python3 scripts/install_skill.py --verify --client codex` compares files with the manifest and exits 0 only for a clean install.

Which Python versions are required?

Python 3.10 or newer; CI covers 3.10 through 3.14.

Discussion

No questions or reviews yet.

Plugins

Ten robotics skills: ROS 1 and ROS 2, QoS, tests, Docker, robot bringup, perception and security for coding agents

SkillMinimal access401Repository stars
Official

An MCP server for ROS 2: the agent inspects robot topics, services and actions, reads maps and point clouds and can drive it

MCP serverBroad access99Repository stars
Official

A Grid Dynamics plugin that loads a team's shared engineering standards, architecture and workflows into a coding agent session

PluginExtended access375Repository stars

Robotics skills for Claude Code, Codex, Gemini CLI and Cursor: ROS 2, simulators, navigation and runnable demos.

SkillExtended access108Repository stars

A set of independent skills against drift in large codebases: hard-cut, root-cause tracing, lean testing and CI right-sizing.

SkillMinimal access140Repository stars

A set of 29 skills that make an agent think like a senior engineer before writing code: plans, failure causes and review

SkillExtended access89Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
ros2-engineering-skills (this card)no241
Robotics Agent Skillsno401Robotics Agent Skills covers robotics broadly, while this set is entirely about ROS 2 and ships validators and hooks.
ROS2 MCPyesnot required99ROS2 MCP gives the agent access to a live robot through MCP, while here it is knowledge, code checks and warnings only.

README in short

A ROS 2 guide for agents with a task router in `SKILL.md`, references, static validators and regression tests. The source is version 1.8.0 and CI runs on several distributions.

README badge

Report a problem