Hi ROS community,
I'd like to share a project I've been building for my own ROS 2 work that I think others will find useful: ros2-copilot-skills, a library of 158 expert-level AI skill files for GitHub Copilot, Claude, and any other AI coding assistant that supports the VS Code skills/instructions format.
What are "skills"?
If
you use GitHub Copilot Chat today, you've probably noticed that it
knows a lot about Python, C++, and software engineering in general
— but it has no persistent memory of your domain.
Every conversation starts from scratch, and the AI has to re-learn
the context of your project from whatever you paste in. Skills are
a way to fix that. A skill is simply a Markdown file that sits in
a special directory (~/.copilot/skills/)
that VS Code automatically makes available to Copilot at the start
of every conversation. When you ask Copilot to help with something
that matches a skill — tuning the MPPI controller, writing a
launch file, configuring AMCL — Copilot reads the relevant skill
file first, so its answer is grounded in expert-level,
domain-specific knowledge rather than general internet training
data. Think of it as a permanently open reference book that
Copilot consults before answering you. You don't have to do
anything differently: just keep using Copilot Chat the way you
always have, and the skills load silently in the background when
they're relevant.
What it is
Each skill is a single SKILL.md file that teaches the AI assistant deep, opinionated knowledge about a specific ROS 2 topic — not surface-level API documentation, but the things that take weeks to learn from painful experience: parameter interactions, tuning strategies, common failure modes, and working code examples.
The AI agent reads only a short description (~100 tokens) during discovery. When a skill is relevant to your current task, the full file is loaded automatically. This means you can have all 158 skills installed without any token overhead on unrelated conversations.
What's covered
The library spans 15 categories:
A few highlights from the deeper skills:
mppi-critics/ —
Every MPPI critic plugin documented with parameter interactions
and three weight profiles (conservative, balanced, aggressive).amcl-tuning/ —
The alpha1–alpha5 odometry noise model parameters explained with
physical meaning, not just "set these numbers."ekf-sensor-fusion/ —
The 15-element boolean state vector for robot_localization decoded
element by element, with worked examples for common sensor
combinations.costmap-architecture/ —
Includes the critical gotcha that the plugins list
is order-dependent (layers apply in sequence) but observation_sources is
not.inflation-layer/ —
The actual exponential cost formula, explained so you can reason
about clearance distances and footprint inflation before you
touch a parameter.Why it matters
If
you use GitHub Copilot or Claude to help write ROS 2 code, you've
probably noticed that AI assistants are good at Python and C++ in
general but often produce subtly wrong ROS 2 — wrong QoS profiles
for sensor topics, broken PythonExpression boolean
conditions in launch files, Nav2 parameters that exist in Humble
but were renamed in Jazzy, and so on. These skills give the AI the
grounding it needs to produce correct, idiomatic ROS 2 code on the
first try.
Installation — one command
That's it. Reopen VS Code and every future Copilot/Claude conversation in any workspace will have access to the full library. To stay current:
Target distributions: ROS 2 Jazzy and Rolling. Most content applies equally well to Humble and Iron, though some parameter names differ.
License: Apache 2.0
Contributions are very welcome — if you have deep knowledge in an area that isn't covered, or want to improve an existing skill, please open a pull request.
https://github.com/wimblerobotics/ros2-copilot-skills
Michael
Wimble
Wimble Robotics
Michael,
Fantastic! Can't wait to try it.
Where do I install this? In Github? How to I clone into GitHub? Or do I fork your repo? Create a new repository for skillz?
James
James H Phelan "Nihil est sine ratione cur potius sit quam non sit" Leibniz
--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/hbrobotics/bda7cb99-f308-4441-a79f-46ce8c27c1db%40gmail.com.
git clone https://github.com/wimblerobotics/ros2-copilot-skills.git ~/.copilot/skills
I'm running VSCode on a Windows laptop but SSHing to the Raspberry Pi / Ubuntu 24.04 so I'd install it on the robot & on my other LinuxLaptop.
James H Phelan "Nihil est sine ratione cur potius sit quam non sit" Leibniz
--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/hbrobotics/8F6C5B28-296E-4DA9-AC7F-C50643F1E1D7%40gmail.com.
On Windows, the idea is the same as on Linux—you just need to map ~/.github to the Windows equivalent of your home directory.
~/.github lives on WindowsIn Windows, ~ points to your user profile folder, usually:
C:\Users\<YourUsername>\
So the equivalent path becomes:
C:\Users\<YourUsername>\.github
Navigate to your home directory (optional, you’re usually already there):
cd $HOME
Clone into .github:
git clone <repo-url> .github
Or, if .github already exists:
git clone <repo-url> $HOME\.github
$HOME works in PowerShell; in Command Prompt you’d use %USERPROFILE%..github folder may be hidden by default—this is normal.~/.github on Linux or macOS.If your friend is using something like GitHub Copilot “skills” or extensions that expect a Unix-style path, make sure:
To view this discussion visit https://groups.google.com/d/msgid/hbrobotics/1A404E86-C019-42C0-BB71-33C7B023FAB8%40gmail.com.