What does this skill do, and when should you use it?
This is one of 13 skills bundled in the earthtojake/text-to-cad repository (at skills/gcode). It teaches an agent to slice .stl, .3mf and .obj models into plain .gcode or a sliced .gcode.3mf, either headless via OrcaSlicer's command line or by opening the model in the OrcaSlicer app. Slicing always uses the user's own printer, process and filament presets — the skill explicitly forbids inventing presets, since a wrong bed size or temperature can damage a printer. It never contacts a printer: for Bambu Lab it hands off to the sibling bambu-labs skill, otherwise it returns the G-code to the user. The skill is MIT-licensed and installs as part of the text-to-cad collection.
- Uses scripts/orca_presets.py (Python 3, no dependencies) to list and write complete presets from the user's own presets and OrcaSlicer's built-in profiles (the CLI requires complete presets and does not inherit parent settings).
- Runs the OrcaSlicer command line to slice .stl, .3mf, .obj and .amf files headless, producing plate_1.gcode and model.gcode.3mf.
- Overrides single settings, e.g. --layer-height=0.16.
- Optionally opens the model in the OrcaSlicer app so the user can pick presets and slice themselves (the app also reads STEP).
- Pre-print checks: --info to confirm the model fits the bed, and grep of the settings OrcaSlicer writes at the end of the G-code (printer model, nozzle, filament, temperatures, print time).
- Hand-off: to $bambu-labs for Bambu Lab printers, otherwise gives the .gcode to the user.
- An FDM printer owner (Prusa, Bambu Lab, Creality, Voron and more) who wants the agent to slice a freshly generated or downloaded STL straight to G-code.
- A user with tuned printer/process/filament presets who wants slicing to follow exactly those parameters instead of defaults.
- A Bambu Lab user: slice first, then hand the .gcode.3mf to the sibling bambu-labs skill to send via Bambu Connect.
- A cautious user who wants the agent to read back the recorded printer model, nozzle diameter, filament type and bed temperature from the G-code before anyone prints.
- A less technical user who prefers the agent to open the model in the OrcaSlicer app so they can pick presets in the GUI.
- Users who want the agent to start the print: the skill never contacts a printer; for anything other than Bambu Lab the user must print the G-code themselves via PrusaLink, OctoPrint, Mainsail, Fluidd or an SD card.
- Users without OrcaSlicer who don't want to install it: slicing depends entirely on a local OrcaSlicer install (Homebrew cask on macOS; release download, AppImage or Flatpak on Windows/Linux).
- Users whose source is a STEP file: the CLI does not read STEP; it must first be exported to STL or 3MF with the sibling $cad skill.
How do you install this skill?
- This review is a static source read; no slicing or scripts were executed and actual output quality is unreproduced.
- Wrong printer presets can damage hardware: always confirm printer model, nozzle, and filament with the user; never let the agent guess presets.
- orca_presets.py depends on OrcaSlicer's local preset directory layout and inherits format; OrcaSlicer updates may break it, and no tests for this script appear in the repository material.
- A successful slice is not a safe print: follow the SKILL.md grep step to verify printer and filament settings at the end of the G-code before printing.
- Publisher is unverified by the FollowSkills registry; attribution rests on repository self-description. The repo overall ships telemetry (cadgen), though this gcode skill itself makes no network calls.
- Shell / CLI
- Local filesystem
OrcaSlicer (brew cask on macOS, release binary/AppImage/Flatpak elsewhere)Python 3 (for scripts/orca_presets.py, no third-party dependencies)
Installed as part of the text-to-cad collection into any agent that supports plugins or the skills framework (Claude Code, Codex, Cursor, Gemini, Grok); the collection includes this gcode skill:
Claude Code
claude plugin marketplace add earthtojake/text-to-cad#latest
claude plugin install text-to-cad@earthtojakeOther agents / skills only
npx skills add earthtojake/text-to-cad#latestNote: slicing itself also requires a local OrcaSlicer install:
brew install --cask orcaslicer(Windows/Linux: install a release from https://github.com/OrcaSlicer/OrcaSlicer/releases.)
How do you use this skill?
Triggered when the user wants an .stl/.3mf/.obj model sliced. Typical flow: use scripts/orca_presets.py to list and match the user's existing printer, process and filament presets (prefer what the user actually prints with; never invent one), write the complete presets, then run the OrcaSlicer CLI. Example:
python scripts/orca_presets.py --list machine --match "MK4S"
python scripts/orca_presets.py --printer "Prusa MK4S 0.4 nozzle" --process "0.20mm SPEED @MK4S 0.4" --filament "Prusa Generic PLA @MK4S" --out presets
orca-slicer model.stl --load-settings "presets/process.;presets/printer." --load-filaments presets/filament-1. --arrange 1 --slice 0 --outputdir /absolute/path/to/out --export-3mf model.gcode.3mfOptions: override a single setting with --<setting>=<value> (hyphens for underscores, e.g. --layer-height=0.16); --info to check model size; grep the end of the G-code to verify settings before printing; or open the model in the app instead (macOS: open -a OrcaSlicer model.stl).
What are this skill's strengths and limitations?
- Builds on OrcaSlicer, an open-source slicer with built-in profiles for most FDM printers (Prusa, Bambu Lab, Creality, Voron and more).
- The preset script needs only Python 3 with no dependencies, and prefers the user's own presets, explicitly guarding against invented parameters that could damage a printer.
- Two slicing paths — headless CLI and opening the app — with output as either plain .gcode or sliced .gcode.3mf.
- Includes concrete pre-print safety checks (bed fit and G-code settings verification), and slicing is fully local.
- Requires a local OrcaSlicer install, and the CLI only accepts complete presets without inheriting parent settings; when no suitable preset exists the fallback is opening the app.
- STEP files cannot be sliced directly — they must first be exported to STL or 3MF via the sibling $cad skill.
- Does not handle print delivery: only Bambu Lab has a hand-off path ($bambu-labs); for other printers the user manages the G-code themselves.
How does this skill compare with similar options?
Side by side with related skills; every score comes from the same FSRS standard.
| Skill | FS score | Stars | Last updated | License |
|---|---|---|---|---|
| G-code Slicing Skill (text-to-cad) this page | 60 · Recommended | ★ 19k | 1d ago | MIT |
| Bambu Labs Print Handoff Skill | 60 · Recommended | ★ 19k | 1d ago | MIT |
| Engineering Drawing (Text-to-CAD) | 59 · Recommended | ★ 19k | 1d ago | MIT |
| DXF Generation & Validation Skill | 57 · Use with care | ★ 19k | 1d ago | MIT |
| SendCutSend Upload Preflight | 57 · Use with care | ★ 19k | 1d ago | MIT |
The repository makes the adjacent choice explicit: the sibling bambu-labs skill sends prints to Bambu Lab printers, while this gcode skill only slices and never contacts a printer — they are sequential partners, not competitors.
How did FollowSkills review this skill?
The skill only reads/writes local files and invokes a locally installed OrcaSlicer; it explicitly states the agent never contacts a printer, warns against inventing presets (wrong bed size or temperature can damage the printer), and includes a post-slice settings check via grep. Data flow is transparent, least privilege, no network calls. Deductions: no explicit user-confirmation gate before slicing, rollback/error recovery undiscussed, publisher unverified with attribution resting only on a repo link.
SKILL.md instructions are self-consistent; orca_presets.py is dependency-free standard-library Python with clear sys.exit diagnostics for missing presets, unresolvable parent chains (depth cap 20), broken JSON, and Windows drive edge cases. Deductions: no test files for this script or skill path appear in the provided material; OrcaSlicer CLI behavior may vary across versions; static review cannot confirm key-path reproduction, so capped at 10.
Trigger description is precise (slicing .stl/.3mf/.obj for a printer), boundaries are clear (no printing, no printer contact, STEP must be converted via $cad first), handoff paths are explicit, and there is a documented fallback to the GUI. OrcaSlicer is downloadable from mainland China with no overseas-service dependency. Deductions: no Chinese-language support statements; cross-platform open commands carry unverified assumptions (e.g., file-type association on Windows).
Docs are well layered: install, headless flow, GUI flow, pre-print checks, and handoff are separate sections, and the known OrcaSlicer CLI limitation (no parent-presets fill-in) is disclosed — good known-limitation documentation. MIT license matches the repository LICENSE with a provenance link. Deductions: no per-skill version, changelog, or named maintainer; install paths may vary by distribution method; no troubleshooting FAQ.
The workflow is complete: list presets → write complete presets → slice → verify output settings → hand off, producing directly usable .gcode/.gcode.3mf with a verification step that reduces mis-slicing risk and offers clear value over manual slicing. Deductions: not executed in this static review; actual slice success and version compatibility are unevidenced; preset-match failure still requires user intervention, so capped at 7.
The script is auditable primary material and command examples are concrete and reproducible; README claims a CI test workflow (test.yml badge), but no committed tests covering this skill's key paths appear in the provided files, and there is no third-party execution evidence. Deductions: core claims (correct preset inheritance and compatibility handling) rest on code reading only and cannot be independently reproduced here, so capped at 5.
Open a dimension to read why it scored that way
Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.
See the full review method →