Use this agent for CAD part generation, STEP file creation, and 3D visualization tasks using build123d. This agent is a pure CAD executor — it reads a component tree produced by a design-for-X skill and turns it into STEP files. It does not make design decisions. Examples include: <example> Context: User wants STEP files from a confirmed OpenRocket design. user: 'Generate the STEP files for my rocket' assistant: 'I'll use the cadsmith agent. It will ensure a component tree exists (creating one via the design-for-additive-manufacturing skill if needed), run Pass 1 (generate-structures) to produce base STEP files, and optionally run Pass 2 (modify-structures) for any parts with detail modifications.' <commentary>STEP file generation is the cadsmith agent's core job, delegated to generate-structures for base geometry, modify-structures for detail features, and the DFx skill for design decisions.</commentary> </example> <example> Context: User wants to inspect an existing STEP file visually. user: 'Show me the nose cone geometry' assistant: 'I'll use the cadsmith agent to render the STEP file and verify the shape.' <commentary>Visual inspection uses cadsmith_generate_assets (outputs=["thumbnail"] for the isometric PNG, or outputs=["ascii"] for the text animation). No design decisions required.</commentary> </example> <example> Context: User changed the OpenRocket design and wants the CAD regenerated. user: 'I shortened the body tube, regenerate the parts' assistant: 'I'll use the cadsmith agent to regenerate the component tree via design-for-additive-manufacturing, then re-run generate-structures and modify-structures for any changed parts.' <commentary>Design changes invalidate the manifest; the pipeline must regenerate the manifest before generating CAD.</commentary> </example>
Use this agent for managing the RocketSmith GUI — starting/stopping the server, navigating to pages, and verifying that project data is visible in the dashboard. This agent owns the GUI lifecycle and navigation. It does NOT generate data (that's openrocket, cadsmith, manufacturing, prusaslicer). Examples include: <example> Context: User wants to see the rocket design in the GUI. user: 'Show me the component tree' assistant: 'I'll use the gui agent to ensure the server is running and navigate to the component tree page.' <commentary>Navigation requires the GUI server to be running first.</commentary> </example> <example> Context: The pipeline has finished generating parts and the user wants to see them. user: 'Show me the nose cone' assistant: 'I'll use the gui agent to navigate to the nose cone part page.' <commentary>Part pages show the 3D model viewer and source code.</commentary> </example> <example> Context: User wants to launch the GUI for a project. user: 'Open the GUI for this project' assistant: 'I'll use the gui agent to start the GUI server and open it in the browser.' <commentary>The gui agent handles server lifecycle.</commentary> </example>
Use this agent for manufacturing decisions — translating an OpenRocket logical design into a physical parts plan. This agent owns the component tree annotations: which components get printed, fused, purchased, or skipped, and what AM-specific dimension adjustments are needed. It does NOT generate CAD (that's cadsmith) or run simulations (that's openrocket). Examples include: <example> Context: User has a finalized OpenRocket design and wants to start manufacturing. user: 'Prepare this design for 3D printing' assistant: 'I'll use the manufacturing agent to annotate the component tree with DFAM decisions — fin integration, coupler fusion, wall thickness adjustments — then hand off to cadsmith for CAD generation.' <commentary>Manufacturing decisions are separate from CAD execution. The manufacturing agent decides what to build; cadsmith decides how to build it.</commentary> </example> <example> Context: User wants to change how components are manufactured. user: 'Make the motor mount a separate part instead of fusing it' assistant: 'I'll use the manufacturing agent to re-annotate the component tree with motor_mount_fate="separate", then re-run cadsmith for the affected parts.' <commentary>Fusion overrides are manufacturing decisions, not CAD decisions.</commentary> </example> <example> Context: User wants to use a mix of printed and purchased parts. user: 'I want to use a fiberglass body tube but print the nose cone and fin can' assistant: 'I'll use the manufacturing agent to annotate the body tube as purchased and the nose cone and lower airframe as printed.' <commentary>Hybrid manufacturing is a manufacturing decision that affects what cadsmith needs to generate.</commentary> </example>
Use this agent for OpenRocket rocket design and flight tasks. Examples include: <example> Context: User wants to design a rocket from scratch. user: 'Design me a stable rocket for a D12 motor' assistant: 'I'll use the openrocket agent to query the motor database, build the component tree, assign the motor, and run a flight.' <commentary>Rocket design requires orchestrating openrocket_database, openrocket_component, and openrocket_flight (create → run) in sequence.</commentary> </example> <example> Context: User needs motor selection help. user: 'What motor should I use to reach 300m apogee with my 500g rocket?' assistant: 'I'll use the openrocket agent to query the motor database and run flight candidates.' <commentary>Motor selection requires database queries and flight runs.</commentary> </example> <example> Context: User has a stability problem. user: 'My flight shows 0.8 calibers of stability — how do I fix it?' assistant: 'I'll use the openrocket agent to inspect the design and recommend component adjustments.' <commentary>Stability analysis requires reading and iterating on the current design.</commentary> </example>
Use this agent for slicing 3D model files (STL, STEP, OBJ) for FDM printing using PrusaSlicer, managing printer/filament/print configuration profiles, and searching the PrusaSlicer vendor preset database. Examples include: <example> Context: User wants to slice a rocket part for printing. user: 'Slice the lower airframe for printing' assistant: 'I'll use the prusaslicer agent to slice the STEP file using the configured print profile and generate a gcode file ready to send to the printer.' <commentary>Slicing requires the prusaslicer_slice tool with the model file path and an optional config_path from prusaslicer_config.</commentary> </example> <example> Context: User wants to slice all rocket parts in one go. user: 'Slice all the parts' assistant: 'I'll use the prusaslicer agent to slice each STEP file in the cadsmith/step/ directory and write gcode to prusaslicer/gcode/.' <commentary>Batch slicing requires calling prusaslicer_slice once per part file.</commentary> </example> <example> Context: User wants to set up a Voron printer profile. user: 'Set up a Voron 2.4 350mm printer config' assistant: 'I'll search the PrusaSlicer database for the Voron 2.4 350mm preset and save it to the project config directory.' <commentary>Use prusaslicer_database(action="printer", vendor="Voron", name="350") to find the preset, then prusaslicer_config(action="create") to save it locally.</commentary> </example> <example> Context: User wants to adjust infill on an existing print profile. user: 'Change the infill to gyroid at 40%' assistant: 'I'll update the active print config with gyroid infill at 40% using prusaslicer_config.' <commentary>Use prusaslicer_config(action="set", config_type="print", config_name="...", settings={"infill_pattern": "gyroid", "infill_density": "40%"}).</commentary> </example>
Use when translating an OpenRocket logical design into a physical component tree for FDM/SLA 3D printing. Decides per-component fate (print, fuse, purchase, skip), applies AM-specific geometry patterns, and emits component_tree.json.
Use when producing base geometry (tubes, cones, integrated fins, integral shoulders, motor mount wall thickening, full assembly) from a component tree via build123d. Pass 1 of the CAD pipeline — no holes, no pockets, no detail features (those are Pass 2, see modify-structures).
Use after slicing printed parts to feed measured filament weights back into the OpenRocket design as mass overrides, then re-verify stability
Use when applying detail features (holes, pockets, vents, mounts) to base STEP files already produced by generate-structures. Pass 2 of the CAD pipeline — reads modifications from the component tree, imports existing base STEPs, and writes modified STEPs back.
Use when choosing a motor for a rocket design, or when the user asks what motor to use to reach a target apogee
Admin access level
Server config contains admin-level keywords
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Let agents design, simulate, and build your rocket.
RocketSmith is an end-to-end model-rocket toolchain exposed as an MCP extension. It orchestrates OpenRocket (flight simulation), build123d (parametric CAD), and PrusaSlicer (FDM slicing) behind a single agent, and closes the loop by feeding real printed-part weights back into the simulation for post-build stability verification.
Prerequisites (all platforms):
uv to manage its Python environment. Install it before proceeding.Inside a Claude Code session, add the marketplace and install the plugin at user scope:
/plugin marketplace add ppak10/RocketSmith
/plugin install rocketsmith@rocketsmith --scope user
After installing, reload plugins and verify the MCP server is connected with /reload-plugins and /mcp
Updating to a new version: Uninstall the existing plugin first, then reinstall:
/plugin uninstall rocketsmith@rocketsmith
/plugin install rocketsmith@rocketsmith --scope user
gemini extensions install https://github.com/ppak10/RocketSmith
net.sf.openrocket package in OpenRocket 23.09 and earlier. OpenRocket 24+ is not supported.See Installation for platform-specific setup and troubleshooting.
OpenRocket runs on a JVM. On Windows, the first openrocket_* call in a session pays a JVM cold-start cost of 67 seconds to 6 minutes. This is normal — the tool will eventually return. Do not cancel the call or retry early; let it finish. Subsequent calls in the same session are faster once the JVM is warm.
rocketsmith_setup fails with [WinError 87] The parameter is incorrectThis was a bug in path resolution on Windows where Path.resolve() raised OSError for certain path types. It is fixed in the current version. If you hit it on an older version, call rocketsmith_setup(action="check") first (no project_dir), confirm ready: true, then call again with project_dir.
Claude Code requires v2.1.77 or later for inter-agent SendMessage to work. On older versions, attempting to continue a spawned subagent by agentId will fail because the tool doesn't exist yet. Update Claude Code to the latest release to resolve this.
Rejecting a pending rocketsmith tool call can cause the MCP server to disconnect, disabling all rocketsmith tools for the rest of the session. If this happens, restart the MCP server: in Claude Code run /mcp, find the rocketsmith server, and reconnect. In Gemini CLI, restart the session.
npx claudepluginhub ppak10/rocketsmith --plugin rocketsmithAgentic process optimization for selective laser sintering (SLS) additive manufacturing.
12-skill space engineering pack: propulsion, orbital mechanics, structures, thermal, satellite comms, power systems, GNC, payloads, mission architecture, ground systems, launch operations, and space environment. Synthetic NASA for Claude Code.
CAD, robotics, fabrication, and local review skills.
Plan and design gridfinity baseplates for 3D printing with optimal grid layouts and print bed slicing
Mission Planner, Agent Creator, Skill Creator, and Librarian — the complete Forge suite for science-backed AI team assembly
AI-powered hardware development platform — design, verify, synthesize, and deploy working RTL with natural language. 18 agents, 25 skills, 8 IP blocks.
Build s&box games by talking to Claude. Bundles the Claude Bridge MCP server, a screenshot-driven game-dev workflow skill, and an optional sbox-game-dev specialist agent. The s&box editor addon must be installed separately (see README).