/ Directory / Playground / robotics-agent-skills
● Community arpitg1304 ⚡ Instant

robotics-agent-skills

by arpitg1304 · arpitg1304/robotics-agent-skills

Skills that make AI coding assistants write production-grade ROS1/ROS2 code — SOLID principles, design patterns, and real tests.

Robotics Agent Skills teaches Claude Code and Cursor the idioms of production robotics: ROS1/ROS2 nodes, topics, services, actions, launch files, testing patterns, and the SOLID principles applied to robotics. Ship code that reviewers won't red-pen because it has proper lifecycle management, logging, and tests.

Why use it

Key features

Live Demo

What it looks like in practice

robotics-agent-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "robotics-agent-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/arpitg1304/robotics-agent-skills",
        "~/.claude/skills/robotics-agent-skills"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "robotics-agent-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/arpitg1304/robotics-agent-skills",
        "~/.claude/skills/robotics-agent-skills"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "robotics-agent-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/arpitg1304/robotics-agent-skills",
        "~/.claude/skills/robotics-agent-skills"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "robotics-agent-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/arpitg1304/robotics-agent-skills",
        "~/.claude/skills/robotics-agent-skills"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "robotics-agent-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/arpitg1304/robotics-agent-skills",
        "~/.claude/skills/robotics-agent-skills"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "robotics-agent-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/arpitg1304/robotics-agent-skills",
          "~/.claude/skills/robotics-agent-skills"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add robotics-agent-skill -- git clone https://github.com/arpitg1304/robotics-agent-skills ~/.claude/skills/robotics-agent-skills

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use robotics-agent-skills

How to generate a production-ready ROS2 node from a spec

👤 Robotics engineers and students avoiding toy-example code ⏱ ~45 min intermediate

When to use: You're about to write a new node and want clean lifecycle + tests from the start.

Prerequisites
  • Skill installed — git clone https://github.com/arpitg1304/robotics-agent-skills ~/.claude/skills/robotics-agent-skills
  • ROS2 Humble+ on PATH — Follow docs.ros.org install
Flow
  1. Describe the node
    Create a ROS2 Humble node that subscribes to /scan (LaserScan), filters obstacles, and publishes /cmd_vel using a state machine.✓ Copied
    → Node with clear class separation, lifecycle hooks, param declarations
  2. Ask for tests
    Write pytest unit tests for the filter logic and a launch_test for the integration.✓ Copied
    → Tests runnable via colcon test
  3. Package
    Produce package.xml and CMakeLists.txt with correct dependencies.✓ Copied
    → colcon build succeeds

Outcome: A ROS2 package that passes colcon build + test with meaningful coverage.

Pitfalls
  • Claude mixes ROS1 and ROS2 APIs — State version explicitly in the prompt every time — 'ROS2 Humble'
  • Node lacks shutdown handling — Ask for on_shutdown hooks and SIGTERM cleanup specifically

Migrate a ROS1 package to ROS2

👤 Teams on end-of-life ROS1 Noetic ⏱ ~120 min advanced

When to use: You need to port a working ROS1 package and want more than a mechanical search-replace.

Flow
  1. Audit the ROS1 package
    Read this package and list every API we need to remap for ROS2 (params, timers, services, actions).✓ Copied
    → Per-file remap table
  2. Generate ROS2 equivalents
    Produce the ROS2 versions of each file, preserving behavior. Flag anything without a 1:1 mapping.✓ Copied
    → New files + flagged items for human review

Outcome: A ROS2 branch of the package that compiles and passes smoke tests.

Pitfalls
  • callback_groups and executors missing — Ask Claude to add a MultiThreadedExecutor and assign callback groups based on the old threading model

Add tests to a legacy ROS node without rewriting it

👤 Engineers inheriting an untested node ⏱ ~60 min intermediate

When to use: The node works in the field and you want a safety net before refactoring.

Flow
  1. Identify seams
    Look at this node and find the seams where we could inject fakes without changing production behavior.✓ Copied
    → Specific lines/functions to seam
  2. Generate tests at seams
    Write pytest tests using those seams. Don't change the node.✓ Copied
    → Tests that run in isolation and pass

Outcome: A characterization test suite that catches regressions.

Combinations

Pair with other MCPs for X10 leverage

robotics-agent-skill + claude-code-owasp-skill

Security-review ROS networking (rosbridge, Zenoh) using OWASP guidance

Robotics skill produced a rosbridge integration — run OWASP skill against the WebSocket layer.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
ROS2 node generation - New node from scratch 0
ROS1-to-ROS2 migration - Noetic → Humble/Jazzy 0
Launch file authoring - Multi-node orchestration 0
Test scaffolds - Coverage work 0
SOLID + design patterns - Code review and refactor 0

Cost & Limits

What this costs to run

API quota
None
Tokens per call
Varies
Monetary
Free
Tip
Keep prompts focused on one node at a time; full-package generation balloons tokens fast.

Security

Permissions, secrets, blast radius

Credential storage: No credentials
Data egress: No outbound calls from the skill itself

Troubleshooting

Common errors and fixes

Generated package fails colcon build with include errors

Claude often forgets to add ament_target_dependencies. Ask to regenerate CMakeLists.txt explicitly.

Verify: colcon build --packages-select <pkg>
Tests pass in isolation, fail when run together

Shared ROS context. Ask for per-test rclpy.init() and shutdown().

Verify: colcon test

Alternatives

robotics-agent-skills vs others

AlternativeWhen to use it insteadTradeoff
ROS2 official docsYou want canonical patterns not LLM-derivedNo codegen, slower

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills