Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aojdevstudio avatar

Bambu Slicer

  • 2 installs
  • 1 repo stars
  • Updated July 30, 2026
  • aojdevstudio/agentic-utilities

bambu-slicer is a skill that provides an end-to-end 3D printing pipeline for Bambu Lab printers, covering design, model browsing, slicing, plate arrangement, and printer control.

About

A unified 3D-printing pipeline skill for Bambu Lab printers. A developer uses it to design custom parts with the OpenSCAD MCP, find models on MakerWorld via a browser, slice STL files to print-ready 3MF using a bundled OrcaSlicer-backed CLI, arrange multi-object plates, and control the printer through the Bambu MCP. It includes a first-run setup check and strict guardrails against writing printer credentials or private data into shared files.

  • End-to-end 3D printing pipeline for Bambu Lab printers: design, browse, slice, arrange, and print
  • Designs parts with the OpenSCAD MCP, browses MakerWorld via agent-browser, and slices STL to 3MF with a bundled OrcaSlic
  • Controls the printer through the Bambu MCP with explicit security and privacy guardrails

Bambu Slicer by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #1,839 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
At a glance

bambu-slicer capabilities & compatibility

Capabilities
3d slicing · cad design · printer control
Use cases
orchestration
Platforms
macOS
Pricing
Free
From the docs

What bambu-slicer says it does

Unified 3D printing pipeline for Bambu Lab printers.
SKILL.md
slicing STL to 3MF with the bundled OrcaSlicer-backed CLI
SKILL.md
Gridfinity standard: 42 mm grid, 7 mm base height.
SKILL.md
npx skills add https://github.com/aojdevstudio/agentic-utilities --skill bambu-slicer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
repo stars1
Last updatedJuly 30, 2026
Repositoryaojdevstudio/agentic-utilities

What it does

Run an end-to-end Bambu Lab 3D printing pipeline: design, browse, slice STL to 3MF, arrange plates, and print.

Who is it for?

Designing functional/geometric parts, slicing STL to 3MF, and controlling Bambu Lab printers end to end.

Skip if: Organic or sculpted shapes, which should be sourced from MakerWorld instead.

When should I use this skill?

When a user wants to print, slice, design a part, browse MakerWorld models, or control a Bambu Lab printer.

What you get

A print-ready 3MF and a controlled Bambu Lab print job produced from a design, photo, STL, or MakerWorld model.

  • A print-ready 3MF file and/or a controlled printer job

By the numbers

  • 6-step first-run setup check
  • 42 mm gridfinity grid, 7 mm base height
  • 1.2 mm minimum wall thickness

Files

SKILL.mdMarkdownGitHub ↗

bambu-slicer — Unified 3D Printing Pipeline

End-to-end workflow for Bambu Lab printers: design custom models, browse MakerWorld for existing ones, slice STLs to print-ready 3MF, arrange multi-object plates, and control the printer — all from Agent Skills plus surrounding MCPs.

Security and privacy guardrails

This skill is intended for public sharing. Keep it clean:

  • Never write printer serial numbers, access codes, Bambu account credentials, cloud tokens, LAN IPs, Wi-Fi details, local usernames, private file paths, or customer/private model names into SKILL.md, references/, package manifests, READMEs, or committed config.
  • Treat .bambu-slicer.local.md, .env, downloaded private STLs, generated 3MF/G-code, printer logs, screenshots, and MakerWorld session data as local/private.
  • If MakerWorld login is required, use an existing browser session or explicit user-approved password-manager flow. Do not ask the user to paste credentials into chat, and do not store credentials in files.
  • Use placeholders in public docs: <printer-lan-ip>, <printer-serial>, <access-code>, <output-dir>.
  • Before publishing changes, run a secret scan over skills/bambu-slicer and confirm only placeholders/defaults are present.

First-run check

Before slicing anything, verify setup once:

1. Locate this skill directory. In this repo it is skills/bambu-slicer; when installed globally it may be ~/.pi/agent/skills/bambu-slicer or another Agent Skills path. If needed, set:

   export BAMBU_SLICER_SKILL_DIR="/path/to/skills/bambu-slicer"
   export BAMBU_SLICER_CLI_DIR="$BAMBU_SLICER_SKILL_DIR/scripts/cli"

2. CLI deps installed: $BAMBU_SLICER_CLI_DIR/node_modules exists. If not:

   cd "$BAMBU_SLICER_CLI_DIR" && bun install

3. OrcaSlicer installed at the configured path. Default: /Applications/OrcaSlicer.app/Contents/MacOS/OrcaSlicer; override with ORCA_CLI_PATH. 4. Bambu Studio installed. The CLI patches its profile JSONs at slice time; Bambu Studio does not need to be running, but profiles must exist on disk. 5. Optional local config exists outside committed files, for example .bambu-slicer.local.md or ~/.config/bambu-slicer/local.md, with placeholders resolved by the user. The CLI itself reads environment variables: ORCA_CLI_PATH, BAMBU_PROFILE_BASE, BAMBU_MACHINE_PROFILE, BAMBU_OUTPUT_DIR, and BAMBU_DEFAULT_FILAMENT. 6. Generated print artifacts default to a temp generated-artifact directory. Set BAMBU_OUTPUT_DIR to the user's preferred generated-artifact directory when needed. Do not save generated STL/3MF/G-code files into ~/Downloads unless the user explicitly asks for a one-off there.

If any step fails, surface a clear error before attempting to slice.

Capabilities and workflows

1. Design custom parts with OpenSCAD MCP

When the user describes something they need or sends a photo, design it with the openscad MCP tools.

Best for: Functional/geometric parts — storage bins, cable organizers, shelf brackets, phone stands, gridfinity inserts, drawer dividers, wall mounts, enclosures, clips, hooks.

Not suited for: Organic/sculpted shapes. Use MakerWorld instead.

Workflow:

1. Understand dimensions and constraints from description/photo. 2. Write OpenSCAD code using openscad MCP → create_scad_script. 3. Render preview images → render_preview. Show the user for approval. 4. Iterate on design based on feedback. 5. Export STL → export_stl. 6. Slice with the bundled CLI.

Design tips:

  • Always ask for or estimate dimensions. A part that does not fit is useless.
  • Use $fn=64 or higher for smooth curves.
  • Add 0.2 mm tolerance for friction-fit joints.
  • Wall thickness minimum: 1.2 mm, equivalent to 3 perimeters at a 0.4 mm nozzle.
  • Gridfinity standard: 42 mm grid, 7 mm base height.

For tested constants on tray/shelf/riser-style parts, read references/gotchas.md.

2. Browse and download from MakerWorld with agent-browser

When the user wants to find existing models, use the agent-browser skill to drive MakerWorld.

Workflow:

1. Navigate to https://makerworld.com/en/search/models?keyword={query}. 2. Screenshot search results and present options with thumbnails. 3. User picks one → navigate to the model page. 4. Click "Download raw model files" to download STL/STEP files, or use the source 3MF if posted. See references/gotchas.md before remixing. 5. Save to a local working directory such as /tmp/makerworld/. 6. Slice with the bundled CLI.

Notes:

  • Login may be required for downloads. Use only existing authenticated sessions or an explicit user-approved password-manager flow.
  • MakerWorld has bot detection. Use realistic browsing patterns.
  • Always show the user a screenshot of the model before downloading.
  • Check whether the model includes a pre-sliced 3MF for the target printer. It may save time.

3. Slice STL to print-ready 3MF with bundled CLI

The core slicing engine takes STL files and produces print-ready 3MF using OrcaSlicer with patched Bambu Studio profiles.

Set the CLI path once per shell/session:

export BAMBU_SLICER_CLI_DIR="${BAMBU_SLICER_CLI_DIR:-$BAMBU_SLICER_SKILL_DIR/scripts/cli}"

CLI usage:

# Single file, default settings: 0.20 mm Standard, Bambu PLA Basic
# Output defaults to a generated-artifact temp directory unless BAMBU_OUTPUT_DIR is set
bun run "$BAMBU_SLICER_CLI_DIR/cli.ts" --input model.stl

# Custom quality
bun run "$BAMBU_SLICER_CLI_DIR/cli.ts" --input model.stl --quality 0.12

# Custom filament
bun run "$BAMBU_SLICER_CLI_DIR/cli.ts" --input model.stl --filament "Bambu PETG Basic"

# Multiple objects on one plate, space-separated
bun run "$BAMBU_SLICER_CLI_DIR/cli.ts" --input "box.stl cylinder.stl hook.stl"

# List available profiles
bun run "$BAMBU_SLICER_CLI_DIR/cli.ts" --list-profiles

For the full quality and filament tables, read references/profiles.md.

Output location: default to a generated-artifact temp directory. Use BAMBU_OUTPUT_DIR when the user explicitly chooses another generated-artifact directory. Do not write generated 3MF/G-code into ~/Downloads or committed skill files.

3a. Filament and AMS selection

Do not treat the slicer profile color as the user's loaded filament color. Bambu/Orca profile JSONs often carry a default display color (for example orange-ish PLA), which is not an AMS inventory check.

Before choosing a filament profile:

1. If bambu-printer MCP AMS tools are available, query the printer/AMS and pick the loaded spool that matches the required material. Prefer exact material + brand (Bambu PLA Basic, Bambu PETG Basic) over color. Report the selected tray/material/color. 2. If AMS tools are unavailable in this Pi session, preserve the source 3MF filament/material when possible. Otherwise ask the user which loaded material/profile to use before slicing multi-material or color-sensitive prints. 3. For separable vertical stacks, require an incompatible release interface: PLA parts → PETG interface; PETG parts → PLA interface. Verify the AMS has both materials before generating a print-ready file.

4. Multi-object plate arrangement and stacking

When the user has multiple parts to print, pick the densest packing the geometry allows before falling back to separate plates. Three patterns, in priority order:

Pattern A — Vertical stack (parts physically on top of each other). Use when parts have flat tops AND flat bottoms AND the upper bottom fits within the lower top. The previous part's top surface acts as the bed for the next. Right answer for repeated drawer/bin/lid/tray geometries.

Bambu Studio workflow (CLI cannot do this today — it is a slicer-UI operation):

1. Drag all stackable parts onto a single plate. 2. Select all → right-click → Merge (formerly "Assemble"). Each object becomes a "part" of one assembly. Bambu Studio only allows Z-axis movement on parts, not standalone objects. 3. Alt+Click (or use the object list) to select each part. 4. Move tool → set Z to part_height × index. Three identical 25 mm drawers stacked: Z = 0, 25, 50. 5. Slice as normal. The slicer treats the assembly as one tall object with correct layer transitions.

Geometric requirements:

  • Flat top on lower part; flat bottom on upper part.
  • Upper part's footprint ⊆ lower part's top (no overhang).
  • Total stacked height ≤ printer Z range (e.g. 256 mm on the P2S).
  • Same filament across the stack.

Pattern B — Sequential print-by-object (parts side-by-side, one finishes before the next starts). Use when parts won't vertically stack but are short enough that the head can clear already-printed neighbours. Failure-isolating: one falls off, the rest continue.

Bambu Studio workflow:

1. Place parts on one plate with ≥ extruder_clearance_max_radius (~67 mm on Bambu) XY spacing. 2. Process settings → Special mode → Print Schedule: By Object. 3. First-printed objects must have height < extruder_clearance_height_to_rod (~25 mm typical) unless they print last.

Pattern C — Multi-object same-layer plate (default, what the CLI does today). All parts print together layer-by-layer with travel between them.

bun run "$BAMBU_SLICER_CLI_DIR/cli.ts" \
  --input "part-a.stl part-b.stl part-c.stl" \
  --output combined-plate.3mf

The slicer auto-arranges and auto-orients all objects. See references/gotchas.md for bed-margin caveats and the identical-plate stacking detection rule.

5. Printer control with Bambu MCP

Use bambu-printer MCP tools for printer interaction when available.

TaskMCP tool
Check printer statusget_printer_status
List printerslist_printers
Pause current printpause_print
Resume paused printresume_print
Stop/cancel printstop_print
Connect via MQTT locallymqtt_connect
Get real-time statusprinter_get_status
Stream cameraCamera tools
Check AMS filamentAMS tools

Developer Mode is required for full local control. If the user enables Developer Mode on the printer touchscreen, local MQTT control is available. Without it, cloud-based status monitoring may still work.

Do not expose or commit printer serial numbers, LAN IPs, access codes, or MQTT credentials.

6. Batch print night workflow

When the user wants to maximize a print session:

1. Collect all STLs, both designed and downloaded. 2. Group by filament type. Do not mix PLA and PETG on one plate. 3. Arrange each group on a plate using multi-object slicing. 4. Slice each plate. 5. Send to printer via approved printer-control flow, or open in Bambu Studio if local Developer Mode is off.

Decision tree

User wants to 3D print something
├── Has specific STL file(s)?            → Slice
├── Wants something custom?              → Design with OpenSCAD
├── Wants to browse for a model?         → MakerWorld with agent-browser
├── Multiple things to print?
│   ├── Repeated flat-topped parts?      → Vertical stack, Pattern A (Section 4)
│   ├── Short parts that won't stack?    → Sequential by-object, Pattern B (Section 4)
│   └── Otherwise                        → Multi-object plate, Pattern C (Section 4)
├── Multi-plate 3MF handed in?           → Identical-plate check (gotchas) → stack if eligible
├── Asking about printer state?          → Bambu MCP printer control
└── "Print night" / batch session?       → Batch workflow

Technical notes

  • Slicer engine: OrcaSlicer. Bambu Studio CLI has a known segfault bug with P2S 0.4 mm nozzle profiles (OrcaSlicer #9636), so this skill uses OrcaSlicer with the bundled profile patcher.
  • Profile patching: machine profiles are auto-patched at slice time. Bambu Studio gcode templates are replaced with OrcaSlicer-compatible versions, and inherits chains are resolved inline so OrcaSlicer can read the profile out-of-tree.
  • Cloud vs. local: cloud-based status may work without printer config. Local MQTT control requires Developer Mode plus a configured bambu-printer MCP.

Gotchas, lessons, and tested constants

Read references/gotchas.md whenever the user asks for a print, especially a MakerWorld remix. It covers:

  • Bed-margin failures with --arrange on near-bed-sized parts.
  • Matching the source 3MF's profile when remixing.
  • Two-up plate offers when geometry permits.
  • Bambu Studio's harmless version-mapping dialog after opening an OrcaSlicer-produced 3MF.
  • Tested fillet/lip/rib constants for tray-style functional parts.

New 3D-printing lessons go in references/gotchas.md. Keep entries tight: failure mode → root cause → fix → why it matters.

Related skills

FAQ

What is it best suited for designing?

Functional/geometric parts like storage bins, brackets, phone stands, gridfinity inserts, and mounts; organic shapes should come from MakerWorld.

What does the slicing engine produce?

Print-ready 3MF from STL files using OrcaSlicer with patched Bambu Studio profiles.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.