158 expert AI skills for ROS 2, Nav2, perception, SLAM, localization, URDF, Gazebo, and robotics development with GitHub Copilot.
Overview
A library of 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. Clone directly into the Copilot personal skills directory: Every VS Code workspace you open will have access to all 158 skills. To update: Add as a Git submodule inside your project: Anyone who clones your project (with --recurse-submodules) gets the skills automatically. To update to the latest skills: Copy specific skill folders into your project's .
README
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 forrobot_localizationdecoded element by element.costmap-architecture/— The critical ORDER DEPENDENCY: thepluginslist is order-dependent (layers apply in sequence), butobservation_sourcesis 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) anddescription(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
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add wimblerobotics/ros2-copilot-skills