ros2-troubleshooting

ros2-troubleshooting is a skill for Claude Code from Leehyunbin0131/claude-ros2-skills. It costs 57 tokens per session (607 once invoked), scanned A, original, Apache-2.0.

A set of runnable checks for troubleshooting ROS 2 Jazzy robots. ROS 2 is software used to build robot applications; the checks cover message settings, sensor frames, IMU mounting and odometry direction.

In plain words
What is it for?
Investigating a topic that publishes but reaches no subscriber, broken coordinate-frame links, incorrectly mounted IMUs and odometry that reports movement in the wrong direction.
Why use it?
Some robot faults cannot be settled by reading code alone. Pass/fail checks provide evidence from the running robot and distinguish a failure from missing data.

Skill for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: mentions CLAUDE.md.

Runs only inside a plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else, and the catalogue could not identify which plugin ships it.

Good fit Investigating a topic that publishes but reaches no subscriber, broken coordinate-frame links, incorrectly mounted IMUs and odometry that reports movement in the wrong direction.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.

Made for: Claude Code.

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-troubleshooting

README.md
[![agentmods](https://agentmods.dev/badge/skills/leehyunbin0131/claude-ros2-skills/ros2-troubleshooting/github.svg)](https://agentmods.dev/skills/leehyunbin0131/claude-ros2-skills/ros2-troubleshooting)
Your own site
<a href="https://agentmods.dev/skills/leehyunbin0131/claude-ros2-skills/ros2-troubleshooting"><img src="https://agentmods.dev/badge/skills/leehyunbin0131/claude-ros2-skills/ros2-troubleshooting/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-troubleshooting

Your own site · 80×15
<a href="https://agentmods.dev/skills/leehyunbin0131/claude-ros2-skills/ros2-troubleshooting"><img src="https://agentmods.dev/badge/skills/leehyunbin0131/claude-ros2-skills/ros2-troubleshooting.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 607 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.00057 $0.00607
Opus 5 $0.00028 $0.00303
Sonnet 5 $0.00011 $0.00121
Haiku 4.5 $0.00006 $0.00061

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

Security

Grade A, and why

ros2-troubleshooting 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 12d ago.

The scan reads SKILL.md. This mod also ships 5 executable files (scripts/check_imu_gravity.py, scripts/check_odom_direction.py, scripts/check_qos_compat.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/ros2-troubleshooting/SKILL.md · 50 lines

How it starts

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

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
Script Answers
check_qos_compat.py --topic /scan Why a healthy publisher delivers nothing to this subscriber
check_tf_tree.py --sensors laser_frame,imu_link Does 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.

Read the full file on GitHub · 50 lines

Files

What ships with it

8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 12d ago First seen · 50 lines · 57 tokens per session scan A e0b7839313e3

Subscribe to this mod's changes

ros2-troubleshooting is a skill published in the GitHub repository Leehyunbin0131/claude-ros2-skills (19 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 57 tokens to every session and 607 once invoked, about $0.0003 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-08-30.

Related

Other skills, from other repositories

issue-debugging

Systematic methodology for issue debugging including root cause analysis, impact mapping, tiered validation plans, and confidence assessment. Use when analyzing bugs, fixing issues, or validating fixes.

QBall-Inc/the-bulwark · 39 tokens

fix-bug

Run the Fix Validation pipeline to investigate, fix, and validate a bug. Ensures deterministic pipeline execution with IssueAnalyzer, FixWriter, TestWriter (conditional), TestAudit (conditional), and FixValidator stages.

QBall-Inc/the-bulwark · 46 tokens

esp32-expert

This skill should be used for ESP32-specific hardware and runtime work in ESP-IDF, Arduino-ESP32, or PlatformIO projects: target/build detection, FreeRTOS tasks and ISRs, memory/DMA, peripherals, power, networking/security, OTA, crash diagnosis, and unattended reliability. Trigger on "debug this ESP32 crash", "review…

johnkozaris/jko-claude-plugins · 137 tokens

debug-extension

Diagnose and fix failures in a built third-party .ppmplugin control: crashes, silent no-ops, PCF error outputs, or incorrect behavior. Uses the reported symptom, shared/error-codes.md, and file-level evidence to trace the manifest, Android/iOS modules, PCF dispatch, and build configuration. Produces a ranked…

microsoft/power-platform-skills · 108 tokens

audit-ppmplugin

Statically audit a built .ppmplugin before wrap testing. Checks archive layout, manifest compatibility, bundle consistency, Android DEX integrity and SDK leakage, iOS framework structure, native source-to-receiver alignment, and the PCF composite-key/sendAsync transport contract. Reports CRITICAL, WARNING, and INFO…

microsoft/power-platform-skills · 112 tokens

generate-ppmplugin-manifest

Validate, reconcile to the chosen target(s), and stage the manifest.json for a .ppmplugin bundle. In the normal flow the committed ./manifest.json already exists (authored by /generate-native-extension), so this stage reads it, runs the plugin's upload-compatibility checks locally as a pre-flight gate (name regex…

microsoft/power-platform-skills · 194 tokens