bambu-labs
An agent skill by earthtojake, from earthtojake/text-to-cad. Tags: automation, cli, devops, local-workflow.
What it does
Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain `.gcode`, using Bambu LAN FTPS/MQTT handoffs.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add earthtojake/text-to-cad --skill bambu-labs
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/earthtojake/text-to-cad
cp -r text-to-cad/skills/bambu-labs ~/.claude/skills/bambu-labs
Safety box score
Grade D, elevated risk: 63 of 100 risk points, rated 2026-09-25. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill controls a local Bambu printer over FTPS/MQTT, can upload G-code, start/pause/cancel jobs, and clear errors. The main risks are live physical actions on the printer, printer access codes being stored in workspace config, and optional execution of external CLI/package-manager commands.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 2 (moderate) | `scripts/bambu_lan_print.py` runs external commands with `subprocess.run(...)` for `bambox pack` and `bambox validate`, so it can execute installed CLIs, though it does not `eval` arbitrary code. |
| Network access | 2 (moderate) | The skill talks to the printer over FTPS/MQTT (`ports 990` and `8883`) and can fetch status/serial from the local TLS endpoint; `SKILL.md` also suggests `brew install --cask orcaslicer` if the slicer is missing. |
| Filesystem reach | 2 (moderate) | It reads and writes workspace-root `bambu-printers.json`, creates temporary project files, and uploads local `.gcode`/`.gcode.3mf` artifacts; the config is explicitly meant to hold printer settings. |
| Secrets & credentials | 2 (moderate) | Printer LAN access codes are stored in `bambu-printers.json` (`entry["access_code"] = args.access_code`) and used for FTPS/MQTT login with username `bblp`, so secret persistence is part of the workflow. |
| Privilege & persistence | 2 (moderate) | The workflow recommends `brew install --cask orcaslicer` on macOS, which changes the local machine outside the project, but it does not require sudo or install services. |
| Instruction hijack surface | 2 (moderate) | `SKILL.md` tells the agent to treat an explicit print request as live-start authorization and to `do not pause for a second confirmation solely for physical checks`, which pressures it to skip an extra confirmation step. |
| Irreversible actions | 3 (high) | The skill can upload files, publish start requests, and issue live `pause`, `cancel`, and `clear-error` commands to a physical printer; those are inherently high-blast-radius actions. |
| Transparency | 0 (none) | All shipped files are readable Markdown/Python; there are no binaries, base64 blobs, decoded-at-runtime code, or unpinned remote installers in the skill itself. |
Before installing
- Read `SKILL.md` and `references/real-printer-checklist.md` to confirm you want live printer control, not just planning.
- Make sure `bambu-printers.json` is ignored by Git before using `config set` with any access code.
- If you want to avoid host changes, preinstall the slicer yourself instead of relying on the `brew install --cask orcaslicer` path.
- Run a dry-run `status --push-all` against the intended printer first and verify it is the one on your trusted local network.
Rated 2026-09-25 by an automated review of 6 files from the skill's repository.
Source
- Repository
- earthtojake/text-to-cad (all skills from this repository)
- Path
- skills/bambu-labs/SKILL.md
- Branch
- main
- Updated
- 2026-09-19
Related skills
- gcode — Generate, inspect, dry-run, and statically validate plain FDM `.gcode` from 3D mesh files by orchestrating real slicer CLIs. Use when Codex needs to slice.
- devcontainer-setup — Creates devcontainers with Claude Code, language-specific tooling (Python/Node/Rust/Go), and persistent volumes.
- dxf — Generate, regenerate, and validate 2D DXF drawings from Python build123d sources.
- devops-engineer — Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates.
- E2E Testing Nori Skillsets Subcommands — Use when you need to interactively test a nori-skillsets CLI subcommand end-to-end via tmux, with full filesystem isolation
- filesystem-context — This skill should be used when agent work needs file-backed context: durable scratchpads, tool-output offloading, just-in-time discovery.