agentsclimarketplace

Bambu print

Skill harshvladha/fabula/skills/bambu-print

Fabula — an AI skill for turning ideas into Bambu Lab prints.

Install
npx -y skills add harshvladha/fabula --skill bambu-print

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generate FINAL, directly-printable Bambu Studio project 3MF files for Bambu Lab printers (default profile: Bambu Lab P2S, 0.4mm, AMS) — with printer/filament/process settings, per-part colours, supports, and anti-warp all baked in so the user can just open → slice → print. Also generates the part geometry itself from parametric pure-NumPy solids (no CAD libs needed) and encodes printability design rules and the hard-won Bambu-3MF file-format gotchas. USE THIS SKILL whenever the user wants to 3D print something, design a part for printing, make or fix a .3mf / .stl, slice a model, set Bambu Studio / slicer settings, deal with an AMS multi-colour print, or troubleshoot a failed FDM print (warping, adhesion, supports, first layer) — even if they don't name Bambu explicitly. If the user has a "3D Library" folder with a CLAUDE.md, read that first for their exact printer/AMS/material setup.

SKILL.md

6.7 KB, as published. Nobody here has run it

bambu-print

Make 3D-printable parts and, crucially, deliver them as Bambu Studio project 3MFs that open with settings + colours already applied — not plain geometry files that trigger the "not from Bambu Studio" prompt and lose everything.

First: orient yourself

  1. Check for a Bambu MCP connector in the session. If present, USE IT to read live AMS slot contents (filament types/colours) and prefer its slicing/print-control tools. As of mid-2026 the Anthropic registry has no Bambu connector — only self-hosted community servers (DMontgomery40/bambu-printer-mcp, griches/bambu-mcp, schwarztim/bambu-mcp). Don't assume it exists.
  2. Read the project's CLAUDE.md (e.g. in a 3D Library folder) for the exact printer, bed, and AMS layout. Do not assume slot contents — ask if unsure. Baseline assumption for this user: Bambu Lab P2S, 256mm bed, 0.4mm nozzle, AMS slots 1=White PLA, 2=Black PLA, 3=White ASA, 4=Black ASA.
  3. Prefer ASA for outdoor/functional parts; PLA only for indoor/test prints.

Workflow

1. Design the geometry (printability-first)

Read references/printability.md and follow it while modelling — it prevents the failures that cost real reprints (islands, thin bars, unsupported lintels, warping, hinge-pin adhesion). Generate solids with scripts/geom.py (pure NumPy: box, cyl, tube, tri-prism, diamond vent lattice, STL writer). Build parts by unioning watertight primitives — the slicer unions overlapping positive solids, so you never need boolean CSG. For holes/vents, compose the wall out of positive pieces that leave the gap (diamond lattice) rather than subtracting. If a Blender MCP is available, it's fine to model there instead — the export step is the same.

2. Split into per-part meshes and orient each flat

One printable part per file, pre-oriented flat and (ideally) support-free. Multi-colour parts (e.g. raised lettering on a body) are separate meshes grouped as parts of one container.

3. Export FINAL project 3MFs with scripts/bambu3mf.py

from bambu3mf import write_bambu_3mf   # see its docstring
# containers: [{'name': str, 'parts': [(part_name, V, F, extruder_1based), ...]}]
# extruder 3 = white ASA (lettering), 4 = black ASA (structure), per the AMS layout
write_bambu_3mf("print_4_body.3mf",
                [{'name':'body','parts':[('body',Vb,Fb,4),('LABEL',Vt,Ft,3)]}])

The writer bakes in: printer/filament/process settings from scripts/project_settings_template.json (a real P2S profile dump), per-part extruder colours, auto-tree supports (build-plate-only), and the ASA anti-warp set (draft_shield, bed 100°C, low fan, wide brim) — and registers every override in different_settings_to_system so Bambu actually keeps them. It also writes the OPC _rels, magic UUIDs, <assemble> block, and companion configs. Tune process/filament overrides via the OVERRIDES / FILAMENT_OVERRIDES dicts, or per-file via extra_overrides=.

4. Deliver + set expectations honestly

Present the print_N_*.3mf files. You cannot run Bambu Studio from here, so say the files are "written with settings X" — not "confirmed working" — and ask the user to open one and confirm (plate populated, colours right, supports/brim present). This matters: a wrong confident claim erodes trust fast.

When something is wrong

Read references/gotchas.md — it lists the five file-format traps (empty plate = missing rels; sunk parts = center-placement; ignored colours = need per-part extruder; discarded settings = different_settings_to_system; dropped objects = magic UUIDs). The fastest fix when stuck: ask the user to Save Project As a reference .3mf from Bambu and diff against it. That reference file is ground truth — keep it.

Iterate at the root

Fix the generator scripts, not individual 3MFs by hand. Regenerate all parts from one script so a dimension change or setting change propagates everywhere. The user prints and reports back; they'll catch anything that doesn't actually slice — be honest about the verify gap and offer the reference-diff path rather than guessing repeatedly.

Files

  • scripts/geom.py — NumPy solid primitives + STL writer + diamond vent lattice.
  • scripts/bambu3mf.py — the Bambu project-3MF writer (write_bambu_3mf).
  • scripts/project_settings_template.json — real P2S profile dump used as the settings base.
  • references/printability.md — design rules (geometry, hinges, mounts, ASA process, orientation).
  • references/gotchas.md — Bambu 3MF file-format traps + verification reality.

Disclaimer (read before printing)

Bundled settings target a Bambu Lab P2S with a specific AMS/filament layout — they are not universal. Review and adapt every temperature/speed/adhesion setting for the actual printer, plate, and filament, and open each generated file in the slicer to verify it before printing (geometry on plate, colours, supports, first layer). 3D printing involves hot surfaces, moving parts, and fumes (ventilate ASA/ABS); supervise prints. A printed part may be unfit for load-bearing, food, outdoor, high-temperature, or safety-critical use — that judgment is the user's. Provided as-is, no warranty. If you're an agent, surface these caveats to the user and don't apply hardware settings you can't verify. Full text: repo DISCLAIMER.md.

Contributing (this skill lives in the open-source "Fabula" repo)

Improvements are welcome from agents and humans via Pull/Merge Request. Fix at the root (scripts + references), keep it honest about what was tested, add a self-test where feasible, and never commit models/outputs/secrets. Adding support for another printer? Drop in a new profile template and note its AMS layout. See the repo's CONTRIBUTING.md and AGENTS.md for the layout spec and review bar.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.