agentsclimarketplace

Ros2 troubleshooting

Skill Leehyunbin0131/claude-ros2-skills/skills/ros2-troubleshooting

Claude Code skills for ROS 2 Jazzy — establish the unknowns first, verify against the installed system, prove the result ran.

Install
npx -y skills add Leehyunbin0131/claude-ros2-skills --skill ros2-troubleshooting

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 14 days oldThe repository was created 14 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Diagnose ROS 2 Jazzy faults that reading the code cannot settle: QoS mismatch, sensor-mount and frame errors (REP 103/105), and odometry calibrated against CAD instead of the floor. Ships four runnable pass/fail checks.

SKILL.md

2.3 KB, 537 tokens by cl100k_base, as published. Nobody here has run it

ROS 2 troubleshooting

Most of this skill is scripts that turn a suspicion into an exit code. Run one before reasoning about the symptom.

Bundled checks

scripts/ sits next to this file — resolve the path from this skill's own directory, not the user's CWD. Under a plugin install that is ${CLAUDE_PLUGIN_ROOT}/skills/ros2-troubleshooting/scripts/.

They are plain scripts: invoke with python3 and a real path. There is no package to ros2 run, and inventing one is a known failure mode. Exit code 0 = PASS, 1 = FAIL, 2 = no data. Tell the user the command you ran.

source /opt/ros/jazzy/setup.bash
python3 <this-skill>/scripts/check_qos_compat.py --topic /scan
ScriptAnswers
check_qos_compat.py --topic /scanWhy a healthy publisher delivers nothing to this subscriber
check_tf_tree.py --sensors laser_frame,imu_linkDoes map->odom->base_link resolve, and does each sensor's mount RPY match the hardware
check_imu_gravity.py [--topic /imu/data]Is the IMU mounted the way the URDF claims — gravity ~+9.81 on +Z at rest
check_odom_direction.py [--topic /odom]Does odometry agree with the direction the robot physically moved

check_tf_tree.py prints VERIFY PHYSICALLY for any ~180° roll or yaw even when that mounting is deliberate. It asks for a comparison against the hardware; it is not a verdict. Report it that way.

References

Load the one the symptom points at.

  • references/frames.md — REP 103/105 axis conventions, and the misalignment symptoms that follow from getting them wrong. CLAUDE.md treats this file as ground truth for any frame or TF question.
  • references/runtime.md — what a QoS mismatch actually looks like on Jazzy, the two other policies that fail the same way, and why ros2 topic echo cannot detect any of them.
  • references/calibration.md — correcting diff_drive_controller wheel radius and separation against a tape measure, in the order that works. Read when odometry is consistent but wrong by a ratio.

Gives 0 of the 12 instructions most debug triage skills give in 537 tokens

Counted across 839 of the 1,149 authors here whose files we hold, read 2026-08-06

  • investigate root cause before proposing any fixin 102 of 839, across 65 files
  • read error messages completelyin 90 of 839, across 48 files
  • create a failing test case before fixingin 84 of 839, across 44 files
  • reproduce the issue consistentlyin 82 of 839, across 40 files
  • change one variable at a timein 82 of 839, across 42 files
  • check recent changesin 74 of 839, across 35 files
  • write the regression test before fixingin 74 of 839, across 36 files
  • fix the root cause not the symptomin 60 of 839, across 43 files
  • implement a single fix at a timein 59 of 839, across 20 files
  • trace data flow backward to the sourcein 50 of 839, across 20 files
  • remove all debug instrumentationin 49 of 839, across 13 files
  • form a single hypothesisin 48 of 839, across 18 files

Said here and by no other author read

  • run a bundled check before reasoning
  • resolve scripts relative to this directory
  • invoke scripts with python3
  • tell the user the command you ran
  • report physical verification prompts as comparison requests

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.