Back to Skills

bambu-labs

Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain `.gcode`, using Bambu LAN FTPS/MQTT handoffs.

6,935stars822forksUpdated 6/26/2026

Security Assessment

Safe(100/100)
Security Score100/100

About bambu-labs

A skill for local-network handoff of print jobs to Bambu Lab printers over LAN FTPS and MQTT, used after a validated plain .gcode file already exists. It does not slice models; it dry-runs, uploads, and cautiously initiates print jobs, with safety as the central design constraint. By default it produces dry-run plans, and real printer traffic requires an explicit --execute flag. Starting a print requires --execute --confirm-start-print and canceling requires --execute --confirm-cancel-print. An explicit user request to print a specific job is treated as live-start authorization without a second physical-check confirmation, but the skill still validates the G-code, inspects the dry-run payload, reads printer status, prefers upload-only before upload-start, and stops if validation, status, or intent is unsafe or ambiguous.

The workflow generates and validates plain G-code via a companion gcode skill, configures the printer (either by providing the IP and access code in-thread so the agent writes JSON, or by editing a workspace-root bambu-printers.json that should be Git-ignored), reads printer status, dry-runs the exact handoff, runs upload-only, and only then runs upload-start. The printer serial is fetched from the printer TLS certificate rather than requested by default. After creating or modifying a supported artifact such as .gcode or .3mf, it must hand the explicit file path to a cad-viewer skill when installed, starting that viewer if needed and reporting failure rather than silently skipping the handoff.

Several handoff modes are documented: template-project is the validated A1 Mini path, which copies a known-good same-printer .gcode.3mf template, replaces the plate G-code, writes the plate MD5, uploads to the FTPS root, and publishes print.project_file; plain uploads cache/<name>.gcode and publishes print.gcode_file (kept for diagnostics but not the A1 Mini live-start path); and bambox-project packages plain G-code with bambox and is currently enabled only for p1s-0.4 with certain filaments. Dedicated pause and cancel print-control commands publish only a control request and recommend reading status afterward. The doc also covers serial fetching, clearing stale printer errors, MQTT acknowledgement debugging, A1/A1 Mini onboarding (enabling LAN Only and Developer Mode), and a detailed failure-modes section for rejected gcode_file uploads, project errors under cache/, and FTPS login or upload failures.

FAQ

Does this skill slice models or generate G-code?

No. It is for local-network Bambu Lab print handoffs after a plain .gcode file already exists and has been validated. G-code is generated and validated with the companion gcode skill; if no slicer is installed it suggests installing OrcaSlicer.

What is required to actually start or cancel a print?

Starting a print requires --execute --confirm-start-print and canceling requires --execute --confirm-cancel-print. By default all printer traffic is dry-run, and real traffic needs the --execute flag.

Which handoff mode should I use for an A1 Mini live start?

Use template-project, the validated A1 Mini path that copies a known-good same-printer .gcode.3mf template, replaces the plate G-code, writes the plate MD5, uploads to the FTPS root, and publishes print.project_file. The plain mode's gcode_file path is not reliable for A1 Mini live start.

How is the printer configured and authenticated?

Either give the IP and LAN access code in the thread and let the agent write JSON, or edit a workspace-root bambu-printers.json (which should be Git-ignored). The serial is fetched from the printer TLS certificate rather than requested by default.

What happens to the resulting print file after the handoff?

After creating or modifying a supported artifact such as .gcode or .3mf, the skill must hand the explicit file path to the cad-viewer skill when installed, starting it if needed and returning links; if cad-viewer is unavailable or fails to start, it reports that rather than silently skipping the handoff.

All Files

7 files
references/new-printer-onboarding.md5.8 KB
View
scripts/bambu_lan_print.py68.2 KB
View
agents/openai.yaml0.2 KB
View
SKILL.md8.2 KB
View
references/real-printer-checklist.md2.5 KB
View
LICENSE1.0 KB
View
references/local-lan-protocol.md4.3 KB
View

Install bambu-labs

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill