What problem does it solve? Writing a new Nav 2 plugin requires wiring together pluginlib registration, lifecycle node parameter declaration, CMake exports, and YAML configuration, and missing any one step causes silent loader failures that are hard to debug. ## Core Features & Use Cases - Complete plugin scaffolding: Generates header, source, plugins.xml manifest, CMakeLists.txt, package.xml, and YAML config stubs for controllers, planners, behaviors, smoothers, goal checkers, progress checkers, costmap layers, and BT nodes. - Correctness guardrails: Enforces critical patterns like nav2_util::declare_parameter_if_not_declared, plugin-name-keyed parameters, and matching PLUGINLIB_EXPORT_CLASS base classes. - Integration testing: Includes a pluginlib ClassLoader-based gtest that verifies the plugin is constructible before deployment. - Use Case: You need a custom path-following controller for your robot. Use this Skill to generate a nav2_core::Controller subclass with all registration boilerplate, then verify it loads with the included test before pointing nav2_bringup at it. ## Quick Start Scaffold a new Nav 2 controller plugin called PurePursuitCustom in a package named my_nav2_controllers with a minimal load test.