WR

wimblerobotics/ros2-copilot-skills

Developer tools
23 stars Quality 40 Trend 31

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 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:

  1. Create a folder: my-skill-name/SKILL.md
  2. Add YAML frontmatter with name (matching folder) and description (keyword-rich, max 1024 chars)
  3. Add the SPDX license header after the frontmatter
  4. Write deep, opinionated content — not just API docs. Include parameter interactions, failure modes, working examples, and tuning strategies.
  5. 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
View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add wimblerobotics/ros2-copilot-skills
New to MCP? Start with the mcpskill.org guide →