If you're maintaining legacy ROS1 systems or haven't migrated to ROS2 yet, this gives you the architectural patterns that prevent common disasters. It walks through node decomposition (avoiding monolithic "do-everything" nodes), proper queue sizing to prevent memory leaks, tf tree management, and actionlib patterns with preemption handling. The launch file examples show conditional loading and proper namespacing. Most valuable for the specific footguns it warns against: queue_size=0 on high-frequency topics, timestamp comparison bugs, and transform lookup without exception handling. Covers the full catkin workspace ecosystem including nodelets and the ROS1-to-ROS2 migration path when you're finally ready to jump ship.

GitHub stars
265
last updated
May 25, 2026

Install

$ npx -y skills add arpitg1304/robotics-agent-skills --skill ros1-development --agent claude-code

Installs into .claude/skills of the current project.

Files

ROS1 Development Skill

When to Use This Skill

  • Building or maintaining ROS1 packages and nodes
  • Writing launch files, message types, or services
  • Debugging ROS1 communication (topics, services, actions)
  • Configuring catkin workspaces and build systems
  • Working with tf/tf2 transforms, URDF, or robot models
  • Using actionlib for long-running tasks
  • Optimizing nodelets for zero-copy transport
  • Planning ROS1 → ROS2 migration

Core Architecture Principles

1. Node Design

Single Responsibility Nodes: Each node should do ONE thing well. Resist the temptation to build monolithic "do-everything" nodes.

# BAD: Monolithic node
class RobotNode:
    def __init__(self):
        self.sub_camera = rospy.Subscriber('/camera/image', Image, self.camera_cb)
        self.sub_lidar = rospy.Subscriber('/lidar/points', PointCloud2, self.lidar_cb)
        self.pub_cmd = rospy.Publisher('/cmd_vel', Twist, queue_size=10)
        self.pub_map = rospy.Publisher('/map', OccupancyGrid, queue_size=1)
        # This node does perception, planning, AND control

Sponsors

Details

Repository
github.com/arpitg1304/robotics-agent-skills
Category
AI & Agent Building
License
Apache-2.0
First seen
Jun 11, 2026

More from arpitg1304/robotics-agent-skills

All 11
1awslabs avataramazon-location-serviceawslabs/agent-pluginsIntegrates Amazon Location Service APIs for AWS applications. Use this skill when users want to add maps (interactive MapLibre or static images); geocode addres0skills.sh installs
2awslabs avatarapi-gatewayawslabs/agent-plugins>0skills.sh installs
3awslabs avataraws-lambda-durable-functionsawslabs/agent-plugins>0skills.sh installs
4awslabs avataraws-lambda-managed-instancesawslabs/agent-plugins>0skills.sh installs
5awslabs avatardocument-serviceawslabs/agent-pluginsActivate this when you inherit an undocumented codebase and need to understand what it actually does.0skills.sh installs
6awslabs avatarelastic-beanstalkawslabs/agent-pluginsDeploy to AWS Elastic Beanstalk. Triggers on: elastic beanstalk, EB, managed EC2 platform, web app with managed patching, worker on EC2, Heroku alternative, don0skills.sh installs