ROS 2 Copilot Skills
A library of 158 deep-knowledge AI skills for ROS 2 robotics development with
GitHub Copilot,
Claude, and other AI coding assistants that support the
VS Code skills / instructions format.
Each skill encodes expert-level knowledge — parameter interactions, tuning
strategies, common failure modes, and working code examples — for a specific
ROS 2 domain. Skills are loaded on-demand by the AI agent only when relevant
to your current task.
For search and discoverability, this repository also publishes a standard
Markdown index at docs/SKILLS-CATALOG.md so GitHub
search can match ROS 2 skill names and descriptions from normal indexable
paths.
Target distributions: ROS 2 Jazzy and Rolling
Skill Categories
| Category |
Skills |
Topics |
ros2-core/ |
20 |
Nodes, launch, lifecycle, QoS, TF2, parameters, actions, testing |
nav2-general/ |
10 |
Architecture, lifecycle, params structure, simple commander |
nav2-costmaps/ |
12 |
Layer configuration, inflation math, voxel/obstacle/range layers |
nav2-planners/ |
8 |
NavFn, SMAC 2D/Hybrid-A*/Lattice, Theta*, benchmarking |
nav2-controllers/ |
12 |
MPPI (with all critics), DWB, RPP, Rotation Shim, tuning |
nav2-behaviors/ |
5 |
Spin, backup, wait, assisted teleop, custom plugins |
behavior-trees/ |
15 |
XML format, all node types, custom C++/Python, Groot2, patrol BTs |
slam-mapping/ |
10 |
Cartographer, SLAM Toolbox, map server, loop closure |
localization/ |
10 |
AMCL, EKF/UKF sensor fusion, IMU, wheel odometry, frames |
perception/ |
12 |
Laser/pointcloud processing, YOLO, depth cameras, DepthAI |
hardware/ |
15 |
Teensy/PlatformIO, serial protocols, motor drivers, udev, e-stop |
simulation/ |
8 |
Gazebo Harmonic, SDF worlds, physics, ros_gz_bridge |
urdf/ |
8 |
URDF/Xacro, inertia, joints, differential drive, sensor frames |
devops/ |
8 |
colcon, Docker, systemd, GitHub Actions, rosdep |
data-visualization/ |
5 |
rosbag2 analysis, RViz2 config, overlays, performance profiling |
Installation
Option A — Personal (all workspaces on your machine)
Clone directly into the Copilot personal skills directory:
git clone https://github.com/wimblerobotics/ros2-copilot-skills.git ~/.copilot/skills
Every VS Code workspace you open will have access to all 158 skills. To update:
cd ~/.copilot/skills && git pull
Option B — Per-project (shared with collaborators via Git)
Add as a Git submodule inside your project:
cd ~/my_robot_ws
git submodule add https://github.com/wimblerobotics/ros2-copilot-skills.git .github/skills
git commit -m "Add ROS 2 Copilot skills"
Anyone who clones your project (with --recurse-submodules) gets the skills
automatically. To update to the latest skills:
git submodule update --remote .github/skills
git commit -m "Update ROS 2 Copilot skills"
Option C — Cherry-pick individual skills
Copy specific skill folders into your project’s .github/skills/ or your
personal ~/.copilot/skills/:
# Copy just the MPPI controller skill
cp -r ros2-copilot-skills/mppi-controller ~/.copilot/skills/
How It Works
Each skill is a folder containing a SKILL.md file with YAML frontmatter:
mppi-controller/
└── SKILL.md
---
name: mppi-controller
description: >-
Tune MPPI controller for Nav2. Use when configuring
model_predictive_path_integral, trajectory rollouts, critics,
batch_size, time_steps, or velocity limits.
---
# MPPI Controller — Model Predictive Path Integral Control
...
The AI agent reads only the name and description (~100 tokens) during
discovery. When a skill matches your current task, the full SKILL.md body
is loaded into context. This keeps token usage efficient — you can have
hundreds of skills installed without impacting unrelated conversations.
Skill Highlights
Some of the deepest skills in this library:
mppi-critics/ — Exhaustive documentation of every MPPI critic plugin
(ConstraintCritic, CostCritic, GoalCritic, PathAlignCritic, etc.) with
parameter interactions and three weight profiles (conservative, balanced,
aggressive).
amcl-tuning/ — The alpha1–alpha5 motion model parameters explained
with physical meaning, not just numbers.
ekf-sensor-fusion/ — The 15-element boolean vectors for
robot_localization decoded element by element.
costmap-architecture/ — The critical ORDER DEPENDENCY: the plugins
list is order-dependent (layers apply in sequence), but observation_sources
is NOT.
inflation-layer/ — The actual cost formula:
cost = 253 × exp(-cost_scaling_factor × (distance - inscribed_radius))
GitHub Search Discoverability
Some AI skill loaders read from special directories that may not surface well
in GitHub search. To make these skills easy to find with queries like
“ROS2 skills”, “ROS 2 Copilot skills”, “Nav2 tuning”, and specific skill
topics, this repository includes an indexable catalog:
- Search catalog: docs/SKILLS-CATALOG.md
- Scope: one searchable entry per skill (name, aliases, description, link)
- Update flow: regenerate the catalog whenever skills are added or renamed
Regenerate the catalog:
./scripts/generate-skills-catalog.sh
Requirements
- VS Code with GitHub Copilot (Chat) extension, or any AI assistant that
supports the
.github/skills/ or ~/.copilot/skills/ convention.
- ROS 2 Jazzy or Rolling — parameter names and APIs target these distributions.
Most concepts apply to Humble/Iron as well, but some parameter names may differ.
Contributing
Contributions are welcome! To add a new skill:
- Create a folder:
my-skill-name/SKILL.md
- Add YAML frontmatter with
name (matching folder) and description
(keyword-rich, max 1024 chars)
- Add the SPDX license header after the frontmatter
- Write deep, opinionated content — not just API docs. Include parameter
interactions, failure modes, working examples, and tuning strategies.
- Open a pull request.
License
This project is licensed under the Apache License 2.0 — see LICENSE
for details.
SPDX-FileCopyrightText: 2026 Michael Wimble
SPDX-License-Identifier: Apache-2.0
评论