ros2-package

Solid

Package & build wiring: ros2 pkg create, package.xml, ament_cmake CMakeLists, ament_python setup.py, colcon build/source, installing launch & config, custom .msg/.srv interface packages.

AI & Automation 18 stars 3 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 81/100

Stars 20%
43
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# ROS 2 Package Creation & Build Wiring (Ubuntu 24.04 LTS & ROS 2 Jazzy) Most "it built fine but doesn't run" bugs are wiring, not code. This skill covers the seams between a source file and a runnable node. ## 1. Documentation Entry Points | For | Entry point | | :--- | :--- | | ament_cmake reference (install, exports, testing hooks) | `https://docs.ros.org/en/jazzy/How-To-Guides/Ament-CMake-Documentation.html` | | Package creation, custom interfaces, colcon tutorials | `https://docs.ros.org/en/jazzy/Tutorials/` | Ground truth beats both: read a working installed package under `/opt/ros/jazzy/share/<pkg>/` and copy its structure. ## 2. The Wiring That Makes a Node Runnable **`ament_cmake`**: executables must install to `lib/${PROJECT_NAME}` exactly — that is the only place `ros2 run` looks. `launch/` and `params/` are not installed by default and need their own `install(DIRECTORY ...)` into `share/${PROJECT_NAME}`. `ament_package()` comes last, exactly once. **`ament_python`**: `package.xml` needs `<export><build_type>ament_python</build_type></export>`, or colcon configures the package as `ament_cmake` and fails looking for a `CMakeLists.txt` that was never meant to exist. `setup.cfg` needs the ROS-specific install location, not just `[metadata]`: ```ini [develop] script_dir=$base/lib/my_package [install] install_scripts=$base/lib/my_package ``` Without it, `console_scripts` still builds and installs, just not to `lib/${PROJECT_NAME}` — the same place `ros2 run` loo...

Details

Author
Leehyunbin0131
Repository
Leehyunbin0131/claude-ros2-skills
Created
5 days ago
Last Updated
today
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

ros2-core

ROS 2 Jazzy core: rclcpp/rclpy, TF2 transforms, odometry/EKF fusion, node parameters, launch, QoS.

18 Updated today
Leehyunbin0131
AI & Automation Solid

ros2-development

Comprehensive best practices, design patterns, and common pitfalls for ROS2 (Robot Operating System 2) development. Use this skill when building ROS2 nodes, packages, launch files, components, or debugging ROS2 systems. Trigger whenever the user mentions ROS2, colcon, rclpy, rclcpp, DDS, QoS, lifecycle nodes, managed nodes, ROS2 launch, ROS2 parameters, ROS2 actions, nav2, MoveIt2, micro-ROS, or any ROS2-era robotics middleware. Also trigger for ROS2 workspace setup, DDS tuning, intra-process communication, ROS2 security, or deploying ROS2 in production. Also trigger for colcon build issues, ament_cmake, ament_python, CMakeLists.txt for ROS2, package.xml dependencies, rosdep, workspace overlays, custom message generation, or ROS2 build troubleshooting. Covers Humble, Iron, Jazzy, and Rolling distributions.

325 Updated 6 days ago
arpitg1304
AI & Automation Listed

ros2

Core ROS 2 usage: workspaces, colcon builds, packages (ament_python/ament_cmake), nodes, topics/services/actions, QoS, launch files, parameters, TF2, rosdep, and gluing third-party packages together. Use when: any ROS 2 development or debugging; 'ros2', 'colcon', 'launch file', 'package.xml', 'QoS mismatch', 'TF', 'node not receiving messages', 'rosdep'. Foundation skill for the ROS vertical — load alongside nav2, gazebo, rviz2. ROS 2 only; ROS 1 is EOL and out of scope. Not for: navigation specifics (nav2), simulation (gazebo), or visualization (rviz2/foxglove).

0 Updated yesterday
robium-ai