Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

gcode — Claude Code skill: what it does, how to install

Slices STL, 3MF, and OBJ models into printer-ready G-code through OrcaSlicer. Use it when you need a print file without connecting to the printer.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add earthtojake/text-to-cad --skill gcode -a claude-code
Open on GitHub

What gcode does

The skill runs OrcaSlicer from the command line or opens the model in the desktop app. It accepts .stl, .3mf, and .obj files and produces plain .gcode plus a sliced 3MF file with the .gcode.3mf extension. STEP files can be opened in the app; for command-line slicing, export them to STL or 3MF through $cad first.

It includes scripts/orca_presets.py, a Python 3 script with no dependencies. The script searches user and built-in OrcaSlicer profiles for a printer, process, and filament, then writes complete presets for headless slicing. The CLI needs a process compatible with the selected printer, and --outputdir must use an absolute path.

The skill never contacts a printer. Check that the model fits the bed and review the settings written at the end of out/plate_1.gcode; a wrong bed size or temperature can damage the printer.

What it helps with

  • slice STL, 3MF, or OBJ models into G-code
  • build complete OrcaSlicer presets for a selected printer
  • produce a sliced 3MF file for a Bambu Lab printer
  • check model size and print settings before printing

Example prompts for the agent

  • Find printer, process, and filament profiles for `MK4S` with `scripts/orca_presets.py`, then prepare the presets for slicing.
  • Slice `model.stl` with OrcaSlicer into `/absolute/path/to/out` and create `model.gcode.3mf`.
  • Check the size of `model.stl` and the settings in `out/plate_1.gcode` without connecting to a printer.

How to install gcode

1Skills CLI (Vercel)

npx skills add earthtojake/text-to-cad --skill gcode -a claude-code

2Manually: put the files in place

~/.claude/skills/gcode/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/gcode/

From the same set7

The whole set →

Similar

Questions about gcode

How do I install gcode in Claude Code?

Run npx skills add earthtojake/text-to-cad --skill gcode -a claude-code, run the same command again, and check ~/.claude/skills/gcode/SKILL.md.

What does gcode do?

The skill slices models through OrcaSlicer into plain .gcode or .gcode.3mf. It also helps find printer, process, and filament profiles before headless slicing.

What is required for headless slicing with gcode?

OrcaSlicer and complete compatible printer, process, and filament presets are required. The scripts/orca_presets.py script needs Python 3 and has no dependencies.

Source text

SKILL.md · MIT
---
name: gcode
description: Slice 3D models into printer-ready G-code with OrcaSlicer, the open-source slicer with built-in profiles for most FDM printers (Prusa, Bambu Lab, Creality, Voron and more). Use when the user wants an `.stl`, `.3mf` or `.obj` model sliced for their printer, as a sliced `.gcode.3mf` or plain `.gcode`, headless with OrcaSlicer's command line or by opening the model in OrcaSlicer. Never contacts a printer.
license: MIT
---

# G-code

Provenance: maintained in [earthtojake/text-to-cad](https://github.com/earthtojake/text-to-cad).
Use the installed local skill files as the runtime source of truth; the
repository link is only for provenance and release review.

Slice with OrcaSlicer, headless (below) or by opening the model in the
OrcaSlicer app for the user. The agent never contacts a printer: for a Bambu
Lab printer, hand the result to `$bambu-labs`; for any other printer, give the
user the `.gcode`.

## Install OrcaSlicer

- macOS: `brew install --cask orcaslicer`. The command line is
  `/Applications/OrcaSlicer.app/Contents/MacOS/OrcaSlicer`.
- Windows and Linux: install a release from
  https://github.com/OrcaSlicer/OrcaSlicer/releases. The command is
  `orca-slicer`; on Linux, run it from the AppImage or Flatpak.

Below, `<orca>` is that command.

## Slice headless

OrcaSlicer's command line (https://www.orcaslicer.com/wiki/cli/cli_mode) needs
complete presets: it doesn't fill in a preset's parent settings, and it slices
only with a process whose compatible printers name the printer.
`scripts/orca_presets.py` (Python 3, no dependencies) writes them from
OrcaSlicer's presets, searching the user's own first, then OrcaSlicer's
built-in profiles.

1. Find the user's printer, process and filament presets. Prefer the presets
   the user prints with; never invent one, since a wrong bed size or
   temperature can damage the printer.

   ```bash
   python scripts/orca_presets.py --list machine --match "MK4S"
   python scripts/orca_presets.py --list process --match "@MK4S 0.4"
   python scripts/orca_presets.py --list filament --match "PLA @MK4S"
   ```

2. Write the complete presets:

   ```bash
   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
   ```

3. Slice. Give `--outputdir` an absolute path:

   ```bash
   <orca> model.stl \
     --load-settings "presets/process.json;presets/printer.json" \
     --load-filaments presets/filament-1.json \
     --arrange 1 --slice 0 \
     --outputdir /absolute/path/to/out --export-3mf model.gcode.3mf
   ```

   This writes `plate_1.gcode`, the plain G-code, and `model.gcode.3mf`, the
   sliced 3MF, into that folder. The command line reads `.stl`,
   `.3mf`, `.obj` and `.amf`; export STEP to STL or 3MF with `$cad` first.
   Override one setting with `--<setting>=<value>`, using the setting's key
   with hyphens for underscores, such as `--layer-height=0.16`.

## Open in OrcaSlicer

When the user would rather pick presets and slice themselves, or no preset can
be found, open the model in the app: `open -a OrcaSlicer model.stl` on macOS,
`Start-Process model.stl` on Windows when OrcaSlicer opens that file type, or
`orca-slicer model.stl` on Linux. The app also reads STEP.

## Check before printing

- `<orca> model.stl --info` prints the model's size; it has to fit the bed.
- Check the slice's settings, which OrcaSlicer writes at the end of the G-code:

  ```bash
  grep -E '^; (printer_model|nozzle_diameter|filament_type|nozzle_temperature|hot_plate_temp|bed_temperature) =|printing time' out/plate_1.gcode
  ```

  Confirm they match the user's printer and material before anyone prints it.

## Hand off

- A Bambu Lab printer: `$bambu-labs`, with the `.gcode.3mf`.
- Any other printer: the user prints the `.gcode` from their printer's app, its
  web interface (PrusaLink, OctoPrint, Mainsail, Fluidd) or an SD card.

© earthtojake · MIT · earthtojake/text-to-cad

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor