ROS 2 Engineering Skills
> Single responsibility: This skill is an API reference & code template guide
> for ROS 2 development. It tells you how to use ROS 2 APIs correctly and
> what mistakes to avoid. It does NOT do CI/CD orchestration, incident response,
> data analysis, or deployment automation — those are separate skill categories.
A progressive-disclosure skill for ROS 2 development — from first workspace to
production fleet deployment. Detailed patterns and code templates live in
references/; read the relevant file before writing code.
How to use this skill
Progressive disclosure — do NOT read everything at once. This always-loaded
file carries routing, core principles, pitfalls, and anti-patterns; that is
enough for quick questions and architectural decisions. references/*.md load
on demand — use the Decision Router to pick the 1–2 files matching the task,
never all of them. scripts/ are tools to run (scaffolding, QoS checking,
launch validation), not reading material.
Steps:
- Identify what the user is building (see Decision Router below).
- Read only the matching
references/*.mdfile(s) for detailed guidance. - Check the AI pitfalls table before generating any code.
- Apply the Core Engineering Principles in every artifact you produce.
- When multiple domains intersect (e.g. Nav2 + ros2_control), read both files
but favor safety > determinism > simplicity when recommendations conflict.
Execution log (opt-in): When the Stop hook runs (Claude Code only) and
the SKILL_RUNS_LOG environment variable is set, a session summary is
appended to .skill-runs.log. If that file exists in the workspace, read the
last few lines to avoid repeating past mistakes. Without the opt-in — and on
platforms without hooks — the file is never created, so a read-only session
leaves the working tree untouched.
Platform support: SKILL.md and references/ are platform-neutral
knowledge documents. scripts/ can be run manually on any platform whose
environment has Python and the repository dependencies. The hook wiring
(automatic execution) and .skill-runs.log are Claude Code-specific; on
other platforms run the validators manually from the skill root:
SKILL_WORKSPACE=<dir> python3 scripts/skill_stop_hook.py and
python3 scripts/skill_validate_hook.py --file <src> / --command '<cmd>'
(the command string is inspected only, never executed; without those flags
the validate hook expects a Claude Cod
(截断)