orca-slicer

OrcaSlicer profile creation, calibration workflows, settings expert, and custom G-code helper

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "orca-slicer" with this command: npx skills add santiagomoneta/3d-printing-skills/santiagomoneta-3d-printing-skills-orca-slicer

Skill: orca-slicer

OrcaSlicer Manager — Profile Creation, Calibration & Settings Expert

Expert assistant for OrcaSlicer: creates and edits printer/filament/process profiles, guides calibration workflows, explains every setting, generates custom G-code with placeholders, and diagnoses common print quality issues.

Credits: The compliance rules, pipeline checklist, model analysis checklist, and agent self-check table in this skill were adapted from bambu-studio-ai by @heyixuan2, rewritten for OrcaSlicer and non-Bambu printers.

Source: https://github.com/OrcaSlicer/OrcaSlicer
Docs: https://www.orcaslicer.com/wiki/


⛔ Compliance Rules — Follow Strictly

Before every action, verify you are not violating these rules:

RuleMeaning
MUSTNon-negotiable. Skip = failure.
NEVERForbidden. Doing it = failure.
WAITDo not proceed until user responds.

NEVER Do These

  • NEVER give profile settings without knowing the printer setup — Always complete Phase 1 first (printer, nozzle, filament, firmware, goal)
  • NEVER skip model analysis when a file is provided — Run the 11-point checklist before recommending any settings
  • NEVER recommend calibration values without knowing the current symptom — Use the decision tree, don't guess
  • NEVER write G-code without knowing the firmware — Klipper, Marlin, and RepRapFirmware have incompatible syntax
  • NEVER skip reporting printability issues — If a model has problems, tell the user before suggesting settings

MUST Do These

  1. Collect setup info → Printer, nozzle, filament, firmware, goal (Phase 1)
  2. Analyze model → Run 11-point checklist if a file or description is provided
  3. Report issues → Printability score + warnings before recommending settings
  4. Match settings to intent → Use the correct Quick Values block (functional / visual / speed / miniature)
  5. Validate profiles → Remind user to run the profile validator after creating/editing profiles

Pipeline Checklist (verify before claiming done)

[ ] Printer setup collected (Phase 1 complete)
[ ] Model analyzed (11-point checklist run, if applicable)
[ ] Printability score + issues reported to user
[ ] Settings matched to intent (functional / visual / speed / miniature)
[ ] Calibration order followed (if calibrating from scratch)
[ ] G-code syntax matched to firmware
[ ] Profile validator reminder given (if profiles were created/edited)

Activation

Use this skill when the user asks about:

  • Creating or editing OrcaSlicer profiles (printer, filament, process)
  • Understanding any OrcaSlicer setting or what value to use
  • Running a calibration (temperature, flow, pressure advance, retraction, etc.)
  • Writing or debugging custom start/end G-code with placeholder variables
  • Diagnosing print quality issues (stringing, under-extrusion, ringing, layer adhesion, etc.)
  • Connecting OrcaSlicer to Klipper, OctoPrint, or PrusaLink
  • Generating optimized profiles for specific use cases (functional parts, miniatures, speed, visual quality)

Platform Notes

OrcaSlicer runs on Windows, macOS, and Linux. Profile files are JSON and work identically across platforms. All paths below use the notation:

PlaceholderWindowsmacOSLinux
<config>%APPDATA%\OrcaSlicer~/Library/Application Support/OrcaSlicer~/.config/OrcaSlicer
<install>C:\Program Files\OrcaSlicer/Applications/OrcaSlicer.app/ContentsAppImage mount or install dir

Profile cache lives at <config>/system/delete it to force OrcaSlicer to reload profiles after manual edits to <install>/resources/profiles/.

User-created profiles live at <config>/user/.


Phase 1: Understand the User's Setup

Before giving advice, establish:

  1. Printer — make/model, kinematics (Cartesian, CoreXY, Delta), build volume
  2. Nozzle — diameter (0.2 / 0.4 / 0.6 / 0.8mm), material (brass, hardened, ruby)
  3. Filament type — PLA / PETG / ABS / ASA / TPU / PA / PC / etc.
  4. Firmware — Klipper, Marlin, RepRapFirmware, PrusaFirmware, Bambu
  5. Goal — speed, visual quality, functional strength, miniatures, multicolor

If the user has a Klipper printer, recommend adding to printer.cfg:

[exclude_object]
[gcode_arcs]
resolution: 0.1

Phase 1b: Model Analysis (when a file or model description is provided)

Before recommending any settings, run this 11-point printability check and report results to the user.

11-Point Checklist

#CheckPass Criteria
1Wall thickness≥ 1× nozzle diameter (min 0.4mm for 0.4mm nozzle)
2Overhangs≤ 45° without support; flag anything steeper
3Print orientationMaximize flat base area; minimize unsupported overhangs
4Floating / disconnected partsNo islands; all geometry connected
5Watertight / manifoldNo open edges, holes, or non-manifold geometry
6Build volume fitModel fits within printer's printable area + height
7Layer height compatibilityFeature detail ≥ 2× chosen layer height
8Infill rate for load directionStructural parts: ≥ 40% with gyroid/cubic
9Top/bottom shell layers≥ 5 layers for watertight top surfaces
10Material compatibilityGeometry tolerances match material shrinkage (ABS/ASA warp risk)
11Unit detectionConfirm mm vs meters (common in CAD exports)

Reporting Format (MANDATORY)

Always report in this format before giving settings:

Printability Score: X/10
Issues found: [list or "none"]
Repairs needed: [list or "none"]
Recommended settings: layer height X mm, infill Y%, walls Z, temp T°C

Example: "Score 7/10. Overhang at 62° on left arm — recommend support or reorientation. Wall thickness 0.38mm at tip — borderline for 0.4mm nozzle. Recommended: 0.20mm layers, 40% gyroid infill, 4 walls, PLA 215°C."


Phase 2: Profile Architecture

OrcaSlicer uses a 4-level JSON profile hierarchy. See references/profiles.md for full details.

Vendor meta (.json)
└── Printer model (machine_model)
    └── Printer variant (machine)   ← nozzle-specific
        ├── Process profile          ← layer height, speeds, quality
        └── Filament profile         ← temps, flow, cooling, PA

Profile Locations (installed)

<install>/resources/profiles/
├── VendorName.json               ← vendor meta
└── VendorName/
    ├── machine/
    │   ├── PrinterModel.json     ← machine_model
    │   └── PrinterModel 0.4 nozzle.json  ← machine
    ├── process/
    │   └── 0.20mm Standard @PrinterModel 0.4.json
    └── filament/
        └── Generic PLA @PrinterModel@.json

Profile Naming Convention

TypePattern
Vendor metaVendorName.json
Machine modelVendorName PrinterName.json
Machine variantVendorName PrinterName 0.4 nozzle.json
Process0.20mm Standard @VendorName PrinterName 0.4.json
FilamentGeneric PLA @VendorName PrinterName@.json

Phase 3: Calibration Workflows

Always follow this order when calibrating from scratch. See references/calibration.md for step-by-step detail on each test.

Recommended Calibration Order

  1. Temperature — find optimal nozzle temp for layer adhesion vs. stringing
  2. Max Volumetric Speed — find the flow ceiling before under-extrusion
  3. Pressure Advance — reduce corner bulging and improve dimensional accuracy
  4. Flow Rate — fine-tune extrusion multiplier for accurate dimensions
  5. Retraction — eliminate stringing
  6. Cornering (Jerk / Junction Deviation) — reduce corner artifacts
  7. Input Shaping — eliminate ringing/ghosting (accelerometer required)
  8. VFA — find resonance-free speed ranges
  9. Tolerance (optional) — tune for tight-fitting parts

All calibrations are under Calibration tab in OrcaSlicer. After each calibration, create a new project to exit calibration mode before printing normally.

Quick Calibration Decision Tree

SymptomRun This
StringingTemp ↓, then Retraction
Under-extrusionTemp ↑, then Max Volumetric Speed, then Flow Rate
Corner bulgingPressure Advance
Ringing / ghostingInput Shaping
Wrong dimensionsFlow Rate, then Tolerance
VFA bands / zebra stripesVFA speed test
Rough top surfaceFlow Rate, Ironing

Phase 4: Key Settings Reference

See references/settings.md for the full annotated settings reference.

Quick Values by Intent

Functional / Engineering Parts

layer_height:          0.20–0.30mm
wall_loops:            4–6
top/bottom_shell_layers: 5–7
infill_density:        40–60%
infill_pattern:        gyroid / cubic / grid
print_speed:           60–120 mm/s (match MVS)
enable_support:        true (tree support for overhangs > 50°)

Visual / Display Quality

layer_height:          0.08–0.15mm
wall_loops:            3–4
wall_sequence:         inner/outer/inner (sandwich)
seam_position:         back or aligned
ironing_type:          top surfaces
print_speed:           40–80 mm/s

Speed / Draft

layer_height:          0.25–0.35mm
wall_loops:            2
infill_density:        10–15%
print_speed:           150–300 mm/s (limited by MVS)
acceleration:          limited by printer capability / input shaper result

Miniatures / Fine Detail

layer_height:          0.06mm (optimal balance); 0.08mm acceptable; below 0.05mm diminishing returns
nozzle:                0.2mm strongly recommended — 0.4mm loses fine detail
line_width:            100% of nozzle diameter (0.20mm with 0.2mm nozzle)
inner_wall_line_width: 120%
outer_wall_line_width: 115%
top_surface_line_width: 105%
wall_loops:            3
wall_sequence:         inner-outer-inner (sandwich)
wall_generator:        classic (not Arachne — fewer edge-case artifacts at small scales)
sparse_infill_density: 20% gyroid; reduce to 15% only for single-piece supportless models
outer_wall_speed:      35 mm/s
inner_wall_speed:      55 mm/s
top_surface_speed:     35 mm/s
gap_infill_speed:      30 mm/s
overhang_1_4_speed:    40 mm/s
overhang_2_4_speed:    30 mm/s
overhang_3_4_speed:    20 mm/s
default_acceleration:  2000 mm/s² (outer wall + top surface: 1000 mm/s²)
initial_layer_height:  0.12mm
brim:                  outer_only, 6mm — critical for thin bases and multi-piece prints
skirt:                 2 loops, 2.5mm distance — primes nozzle before model
seam:                  scarf seam entire loop
xy_contour_compensation: 0.05mm
xy_hole_compensation:  -0.1mm
resolution:            0.001mm
reduce_crossing_wall:  enabled
reduce_infill_retraction: enabled only with calibrated filament; disable if nozzle hits print
bridge_flow:           0.85

Support settings for miniatures (critical):

support_type:              tree(auto) organic/grid — NOT slim (slim skips interface generation)
support_threshold_angle:   15° conservative; increase to 20–25° if spaghetti occurs, max 30°
support_top_z_distance:    must be a multiple of layer_height:
                             0.06mm layers → 0.18mm
                             0.08mm layers → 0.24mm (easier removal)
                             0.12mm layers → 0.12mm (cleaner surface, harder removal)
support_bottom_z_distance: 0mm
support_interface_spacing: 0.2mm
support_base_pattern:      rectilinear-grid, spacing 3mm
tree_support_tip_diameter: 1.2mm — CRITICAL: values below 1.0mm suppress interface generation,
                           causing supports to fuse directly to the model
tree_support_branch_diameter: 1.0mm
tree_support_branch_distance: 1.0mm
tree_support_wall_count:   2
support_on_build_plate_only: true

Miniature-specific workflow tips (from community testing):

  • Split complex models into parts and orient each piece to minimize overhangs — bigger impact than any setting tweak
  • Orientation first: maximize flat base area, rotate arms/weapons to reduce unsupported angles
  • Filament calibration (flow ratio, PA, temperature) has more quality impact than going from 0.06mm to 0.05mm layers
  • Dry filament: 8h at 50°C for PLA before printing — moisture causes surface defects at 0.06mm layers
  • Recommended filaments: eSun PLA+ HS (better overhangs), Sunlu PLA+ 2.0 HS (better surface quality)
  • Ironing: off for miniatures (few flat surfaces); enable only for vehicles/terrain with large flat tops
  • If nozzle hits print: disable reduce_infill_retraction first — most common cause
  • If support trees fall over: check first layer adhesion — tree supports need a solid anchor
  • If support interface is missing in preview (dark green layer absent): increase tree_support_tip_diameter — without it, supports fuse to the model

Source: "Dungeons and Derps" HQ Profile v2.0 by u/ObscuraNox (r/FDMminiatures) — settings and rationale extracted from the v2.0 JSON profile and full documentation post.


Phase 5: Custom G-Code

OrcaSlicer exposes rich placeholder variables in machine start/end G-code, filament start/end G-code, layer change G-code, and toolchange G-code.

See references/placeholders.md for the complete variable reference.

Common Start G-Code Patterns (Klipper)

; --- Machine Start G-code for Klipper ---
M104 S0                          ; cancel any temp from preview
M140 S0
PRINT_START BED={first_layer_bed_temperature[0]} EXTRUDER={first_layer_temperature[0]}
; --- Machine Start G-code (inline heating) ---
G28                              ; home
M190 S{first_layer_bed_temperature[0]}   ; wait for bed
M109 S{first_layer_temperature[0]}       ; wait for nozzle
G29                              ; bed leveling (if not in PRINT_START)

Layer Change G-Code

; pause at layer 3 for color change
{if layer_num == 3}M600{endif}

Conditional G-Code Syntax

{if condition}...{endif}
{if condition}...{else}...{endif}
{value|default(fallback)}

Temperature Placeholders

M104 S{first_layer_temperature[0]}         ; initial layer nozzle
M190 S{first_layer_bed_temperature[0]}     ; initial layer bed
M104 S{nozzle_temperature[0]}              ; normal printing temp
M140 S{bed_temperature[0]}                 ; normal bed temp

Phase 6: Filament Profiles — Key Parameters

ParameterPLAPETGABS/ASATPUPA/Nylon
Nozzle temp190–220°C230–250°C235–260°C210–240°C240–280°C
Bed temp55–65°C70–85°C100–115°C30–60°C70–90°C
Chamber40–50°C50–60°C
Fan speed80–100%20–50%0–20%50–80%0–30%
Flow ratio0.95–1.00.95–1.00.95–1.00.9–1.00.95–1.0
Max vol. speed12–20 mm³/s8–15 mm³/s8–12 mm³/s3–8 mm³/s6–12 mm³/s
Pressure advance0.02–0.060.04–0.100.02–0.060.05–0.150.03–0.08
Retraction (DD)0.4–1.0mm0.5–1.5mm0.5–1.0mm1.0–3.0mm0.5–1.5mm
Retraction (Bowden)3–6mm4–7mm4–7mm2–4mm4–8mm

Phase 7: Diagnosing Print Quality Issues

IssueLikely CauseSetting to Adjust
StringingTemp too high, retraction too lowLower temp, increase retraction, check PA
Under-extrusionTemp too low, flow too fast, cloggedRaise temp, reduce speed, check flow ratio
Over-extrusionFlow ratio too highReduce filament_flow_ratio
Corner bulgingPA too lowIncrease pressure_advance
Ringing/ghostingMechanical resonanceRun Input Shaping calibration
Layer adhesion failureTemp too lowRaise nozzle temp
WarpingBed temp too low, no enclosureRaise bed temp, add brim, enclose printer
Elephant footFirst layer too squishedRaise z-offset, or enable "elephant foot compensation"
Gaps in top surfaceFlow too low, or top speed too highIncrease flow ratio, reduce top surface speed
Pillowing on topCooling too aggressive, too few top layersReduce fan, add top layers
Support not removableInterface too tightIncrease support/object gap, use PETG interface for PLA
Seam visibleSeam position not idealUse "aligned" or "rear" seam, or scarf seam
VFA / zebra bandsResonance at specific speedVFA test to find and avoid resonant speeds

Phase 8: Network Printer Integration

Klipper (via Moonraker)

In OrcaSlicer: Printer Settings → Connection

  • Protocol: Moonraker
  • Hostname/IP: <printer_ip>
  • Port: 7125
  • API key: (leave blank if not configured)

OctoPrint

  • Protocol: OctoPrint
  • Hostname/IP: <printer_ip>
  • Port: 5000 (default)
  • API key: from OctoPrint → Settings → Application Keys

PrusaLink (Prusa MK4 / XL)

  • Protocol: PrusaLink
  • Hostname/IP: <printer_ip>
  • Password: found on printer screen

Bambu Lab

  • Uses the proprietary Bambu networking plugin (optional install)
  • Cloud mode requires Bambu account
  • LAN mode: enable on printer, set access code in OrcaSlicer

Phase 9: Profile JSON Structure

Minimal Printer Variant (machine) Profile

{
  "type": "machine",
  "name": "MyPrinter 0.4 nozzle",
  "inherits": "fdm_machine_common",
  "from": "system",
  "instantiation": "true",
  "nozzle_diameter": ["0.4"],
  "printer_model": "MyPrinter",
  "printer_variant": "0.4",
  "printable_area": ["0x0", "235x0", "235x235", "0x235"],
  "printable_height": 250,
  "default_filament_profile": ["Generic PLA @System"],
  "default_print_profile": "0.20mm Standard @MyPrinter 0.4",
  "machine_start_gcode": "PRINT_START BED={first_layer_bed_temperature[0]} EXTRUDER={first_layer_temperature[0]}",
  "machine_end_gcode": "PRINT_END"
}

Minimal Filament Profile

{
  "type": "filament",
  "name": "Generic PLA @MyPrinter@",
  "inherits": "Generic PLA @System",
  "from": "system",
  "instantiation": "true",
  "nozzle_temperature": ["215"],
  "bed_temperature": ["60"],
  "filament_flow_ratio": ["0.98"],
  "compatible_printers": ["MyPrinter 0.4 nozzle"]
}

Minimal Process Profile

{
  "type": "process",
  "name": "0.20mm Standard @MyPrinter 0.4",
  "inherits": "fdm_process_common",
  "from": "system",
  "instantiation": "true",
  "layer_height": 0.2,
  "print_speed": 150,
  "compatible_printers": ["MyPrinter 0.4 nozzle"]
}

Phase 10: Profile Validation

After creating or editing profiles, validate them:

Method 1 — OrcaSlicer Profile Validator

# Linux / macOS
./OrcaSlicer_profile_validator -p /path/to/resources/profiles -l 2 -v VendorName

# Windows
OrcaSlicer_profile_validator.exe --path C:\path\to\resources\profiles -l 2 -v VendorName

Method 2 — Python Script

python orca_extra_profile_check.py --vendor="VendorName" --check-filaments --check-materials

Force Profile Reload (after editing installed profiles)

Delete the system cache:

  • Windows: %APPDATA%\OrcaSlicer\system\
  • macOS: ~/Library/Application Support/OrcaSlicer/system/
  • Linux: ~/.config/OrcaSlicer/system/

Then restart OrcaSlicer.


Common Agent Mistakes (self-check)

MistakeCorrect Behavior
Giving settings without knowing the printerMUST complete Phase 1 first — ask printer, nozzle, filament, firmware, goal
Skipping model analysis because "it's a simple shape"ALL models need the 11-point check — simple shapes can still have bad walls or wrong units
Recommending calibration order out of sequenceAlways follow: Temp → MVS → PA → Flow → Retraction → Cornering → Input Shaping
Writing Klipper G-code for a Marlin printerMUST confirm firmware before writing any G-code
Giving a single "best" setting without knowing the goalAlways ask: functional / visual / speed / miniature — settings differ significantly
Skipping the printability score reportMUST report score + issues before recommending settings, even if score is 10/10
Suggesting retraction values without knowing direct drive vs BowdenMUST ask extruder type — values differ by 3–5×
Editing installed profiles without mentioning cache deletionMUST remind user to delete <config>/system/ cache and restart OrcaSlicer

References

  • references/profiles.md — Full profile JSON schema, inheritance rules, field reference
  • references/calibration.md — Step-by-step calibration procedures for every test
  • references/placeholders.md — Complete built-in placeholder variable reference
  • references/settings.md — Annotated settings reference for all three profile types

Wiki: https://www.orcaslicer.com/wiki/
GitHub: https://github.com/OrcaSlicer/OrcaSlicer
Releases: https://github.com/OrcaSlicer/OrcaSlicer/releases/latest

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

klipper-manager

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-tools

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

Archived SourceRecently Updated
Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated
Coding

ask-claude

Delegate a task to Claude Code CLI and immediately report the result back in chat. Supports persistent sessions with full context memory. Safe execution: no data exfiltration, no external calls, file operations confined to workspace. Use when the user asks to run Claude, delegate a coding task, continue a previous Claude session, or any task benefiting from Claude Code's tools (file editing, code analysis, bash, etc.).

Archived SourceRecently Updated