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
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.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/ros2-engineering-skillsDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended 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.
Related
PluginsTen robotics skills: ROS 1 and ROS 2, QoS, tests, Docker, robot bringup, perception and security for coding agents
An MCP server for ROS 2: the agent inspects robot topics, services and actions, reads maps and point clouds and can drive it
A Grid Dynamics plugin that loads a team's shared engineering standards, architecture and workflows into a coding agent session
Robotics skills for Claude Code, Codex, Gemini CLI and Cursor: ROS 2, simulators, navigation and runnable demos.
A set of independent skills against drift in large codebases: hard-cut, root-cause tracing, lean testing and CI right-sizing.
A set of 29 skills that make an agent think like a senior engineer before writing code: plans, failure causes and review
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| ros2-engineering-skills (this card) | no | 241 | ||
| Robotics Agent Skills | no | 401 | Robotics Agent Skills covers robotics broadly, while this set is entirely about ROS 2 and ships validators and hooks. | |
| ROS2 MCP | yes | not required | 99 | ROS2 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.