/ 目录 / 演练场 / robotics-agent-skills
● 社区 arpitg1304 ⚡ 即开即用

robotics-agent-skills

作者 arpitg1304 · arpitg1304/robotics-agent-skills

让 AI 编程助手能写出生产级 ROS1/ROS2 代码的技能 — SOLID 原则、设计模式和真实的测试框架。

Robotics Agent Skills 教会 Claude Code 和 Cursor 生产级机器人编程的习惯用法:ROS1/ROS2 节点、话题、服务、动作、启动文件、测试模式,以及应用到机器人代码中的 SOLID 原则。让你写出来的代码不会被 Code Review 打回,因为它有完善的生命周期管理、日志记录和测试。

为什么要用

核心特性

实时演示

实际使用效果

robotics-agent-skill.replay ▶ 就绪
0/0

安装

选择你的客户端

~/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
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.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 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

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

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "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
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.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 使用服务器对象数组,而非映射。

~/.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"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

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

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: robotics-agent-skills

如何从规范生成生产就绪的 ROS2 节点

👤 想避免玩具代码的机器人工程师和学生 ⏱ ~45 min intermediate

何时使用: 当你准备写新节点,并想从一开始就有清洁的生命周期 + 测试时。

前置条件
  • 安装 Skill — git clone https://github.com/arpitg1304/robotics-agent-skills ~/.claude/skills/robotics-agent-skills
  • ROS2 Humble+ 在 PATH 上 — 参考 docs.ros.org 的安装说明
步骤
  1. 描述节点
    创建一个 ROS2 Humble 节点,订阅 /scan(LaserScan),过滤障碍物,并使用状态机发布 /cmd_vel。✓ 已复制
    → 节点具有清晰的类分离、生命周期钩子、参数声明
  2. 要求测试
    为过滤逻辑编写 pytest 单元测试,为集成部分编写 launch_test。✓ 已复制
    → 测试可以通过 colcon test 运行
  3. 打包
    生成具有正确依赖的 package.xml 和 CMakeLists.txt。✓ 已复制
    → colcon build 成功

结果: 一个通过 colcon build + test 且有有意义的覆盖率的 ROS2 package。

注意事项
  • Claude 混淆了 ROS1 和 ROS2 API — 每次在 prompt 中明确说明版本 — 'ROS2 Humble'
  • 节点缺少关闭处理 — 明确要求 on_shutdown 钩子和 SIGTERM 清理

将 ROS1 package 迁移到 ROS2

👤 使用生命周期末期 ROS1 Noetic 的团队 ⏱ ~120 min advanced

何时使用: 当你需要移植一个可工作的 ROS1 package,并希望做的不仅仅是机械的搜索替换时。

步骤
  1. 审计 ROS1 package
    读这个 package 并列出所有需要为 ROS2 重新映射的 API(参数、计时器、服务、动作)。✓ 已复制
    → 按文件的重映射表
  2. 生成 ROS2 等价物
    生成每个文件的 ROS2 版本,保持行为不变。标记任何没有 1:1 映射的东西。✓ 已复制
    → 新文件 + 标记的项目供人工审查

结果: 一个可编译且通过冒烟测试的 package 的 ROS2 分支。

注意事项
  • 缺少 callback_groups 和执行器 — 要求 Claude 添加 MultiThreadedExecutor 并根据旧线程模型分配回调组

在不重写的情况下为遗留 ROS 节点添加测试

👤 继承未测试节点的工程师 ⏱ ~60 min intermediate

何时使用: 节点在实际环境中可工作,你想在重构前有个安全网。

步骤
  1. 识别接缝
    看这个节点并找到我们可以注入假对象而不改变生产行为的接缝。✓ 已复制
    → 特定的行/函数用于接缝
  2. 在接缝处生成测试
    使用这些接缝编写 pytest 测试。不要更改节点。✓ 已复制
    → 能够隔离运行且通过的测试

结果: 一个可以捕获回归的特征化测试套件。

组合

与其他 MCP 搭配,撬动十倍杠杆

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

使用 OWASP 指南安全审查 ROS 网络(rosbridge、Zenoh)

Robotics skill 生成了 rosbridge 集成 — 对 WebSocket 层运行 OWASP skill。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
ROS2 node generation - 从零开始新建节点 0
ROS1-to-ROS2 migration - Noetic → Humble/Jazzy 0
Launch file authoring - 多节点编排 0
Test scaffolds - 覆盖率工作 0
SOLID + design patterns - 代码审查和重构 0

成本与限制

运行它的成本

API 配额
每次调用 Token 数
变动
费用
免费
提示
保持 prompt 专注于一次一个节点;完整 package 生成会快速增加 token。

安全

权限、密钥、影响范围

凭据存储: 无凭据
数据出站: skill 本身没有出站调用

故障排查

常见错误与修复

生成的 package 因包含错误而 colcon build 失败

Claude 经常忘记添加 ament_target_dependencies。要求明确重新生成 CMakeLists.txt。

验证: colcon build --packages-select <pkg>
测试单独运行时通过,一起运行时失败

共享 ROS 上下文。要求每个测试的 rclpy.init() 和 shutdown()。

验证: colcon test

替代方案

robotics-agent-skills 对比其他方案

替代方案何时用它替代权衡
ROS2 官方文档你想要规范的模式而不是 LLM 派生的无代码生成,更慢

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills