Back to Skills

troubleshoot-print-issues

pjt222
Updated Yesterday
5 views
17
2
17
View on GitHub
Designai

About

This Claude Skill systematically diagnoses and fixes common 3D printing failures like adhesion problems, stringing, and layer shifts. It is designed for use when prints fail mid-process, exhibit quality defects, or after hardware/material changes. The skill provides actionable troubleshooting through symptom analysis for FDM and SLA printers.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/troubleshoot-print-issues

Copy and paste this command in Claude Code to install this skill

Documentation

Troubleshoot Print Issues

Diag + fix 3D print failures via systematic symptom analysis. Covers FDM + SLA: bed adhesion, stringing, layer shifts, warping, under-extrusion, over-extrusion, quality defects. Structured: ID symptom → root cause → iterative fix.

Use When

  • Print fails first layer|midway
  • Quality defects (stringing, blobs, gaps, rough surfaces)
  • Dim accuracy (over/undersized, warping, elephant foot)
  • Layer adhesion (delamination, splitting)
  • Support removal damages|supports fail
  • Prints differ from slicer preview
  • Material inconsistent across prints
  • New material|printer|env causing issues

In

  • failure_description: What went wrong (failed first layer, stringing, warping, etc.)
  • failure_timing: When (first layer, midprint, height, top)
  • material: Filament|resin type, brand, age, storage
  • printer: Make/model, nozzle size, bed type, enclosure
  • recent_changes: New material, slicer settings, hw mods, env
  • print_history: Model usually works? Material worked before?

Do

1. Collect Symptoms

Doc observable symptoms specifically:

Visual:

  • Photos (overall, close-up, defect)
  • Failure location (first layer, height, top)
  • Defect: gaps, blobs, strings, shifts, cracks

Env:

  • Ambient temp during print
  • Humidity
  • Drafts|AC
  • Time of day (temp changes)

Print params:

# Extract from G-code metadata
grep "^;MAXX\|^;MINX\|^;MAXZ" failed_print.gcode  # Print dimensions
grep "^;PRINT_TIME:" failed_print.gcode  # Estimated time
grep "^M104\|^M140" failed_print.gcode | head -5  # Temperatures
grep "^;generated by" failed_print.gcode  # Slicer version

Got: Detailed symptom desc w/ photos, params, env ctx.

If err: Symptoms unclear → print calibration test (temp tower, stringing test, benchy) → reproduce + observe systematically.

2. Classify by Pattern

Match symptoms → common failure modes:

Diagnostic Reference Table

SymptomLikely CausesQuick CheckPriority Fix
Poor bed adhesionDirty bed, wrong temp, too high ZWipe bed, level bedClean bed, adjust Z-offset down 0.05mm
StringingToo hot, insufficient retractionCheck nozzle tempLower temp 5°C, increase retraction +0.5mm
Layer shiftsLoose belts, too fast, collisionCheck belt tensionTighten belts, reduce speed 20%
WarpingPoor adhesion, fast coolingCheck corners liftingAdd brim, enclose printer, increase bed temp
Under-extrusionClog, low temp, wrong flowCheck extrusion consistencyClean nozzle, increase temp 5°C, calibrate e-steps
Over-extrusionHigh flow rate, wrong e-stepsCheck blob formationReduce flow 2-5%, calibrate e-steps
Elephant footFirst layer squish, bed too hotMeasure base widthRaise Z-offset +0.05mm, lower bed temp 5°C
Gaps in wallsThin walls, under-extrusionCheck wall thicknessEnable thin wall detection, increase flow
Layer delaminationLow temp, poor cooling, contaminationCheck layer linesIncrease temp 5-10°C, check wet filament
Blobs/zitsRetraction, coast settingsCheck seam alignmentTune retraction, enable coasting
Rough top surfaceInsufficient top layers, ironingCount solid top layersAdd 2 top layers, enable ironing
Sagging overhangsInsufficient cooling, too hotCheck part cooling fanIncrease cooling, lower temp, add supports

Got: Failure → 1-3 most likely categories.

If err: Multi categories → prioritize by failure timing (first layer first → midprint → top surface).

3. Root Cause Analysis

Investigate underlying cause, not just symptoms:

5 Whys:

Symptom: Print warping and lifting from bed
Why? → Poor bed adhesion in corners
Why? → Corners cooling faster than center
Why? → Room draft from AC vent
Why? → No enclosure to maintain stable temperature
Why? → ABS requires heated chamber for uniform cooling

Root cause: Material choice (ABS) incompatible with open printer in drafty room

Common root causes by category:

Mechanical:

  • Loose belts, pulleys, set screws
  • Worn|dirty linear bearings|rods
  • Z-axis binding|misalign
  • Extruder gear worn|skipping

Thermal:

  • Temp sensor drift|fail
  • Inadequate heated bed power|insulation
  • Insufficient part cooling
  • Env temp swings

Material:

  • Wet filament (hygroscopic)
  • Old|degraded
  • Contaminated (dust, oils)
  • Wrong material for app

Config:

  • Incorrect e-steps cal
  • Wrong flow rate multiplier
  • Slicer bug|wrong profile
  • Firmware accel|jerk too high

Got: Root cause ID'd w/ supporting evidence (measured temps, belt tension, visual).

If err: Root cause unclear → elimination: fix most likely → re-test → repeat.

4. First-Level Fixes

Poor Bed Adhesion

Immediate:

# 1. Clean bed thoroughly
# Glass/PEI: Isopropyl alcohol 90%+
# BuildTak: Warm water and dish soap

# 2. Level bed (paper test at 4 corners + center)
# Paper should drag slightly

# 3. Adjust Z-offset down (squish first layer more)
# Start: -0.05mm increments until lines fuse

# 4. Increase bed temperature +5°C

# 5. Add adhesion aid:
# - Glue stick (PLA/PETG)
# - Hairspray (ABS)
# - ABS juice (ABS) - ABS dissolved in acetone
# - Magigoo/3D printing adhesive

Slicer:

  • First layer height: 0.2-0.3mm (thicker = better squish)
  • First layer speed: 20mm/s (slower = better adhesion)
  • Brim: 8-10mm small footprint
  • Raft: difficult materials (TPU, Nylon)

Got: First layer adheres no lifting.

If err: Check bed flatness w/ feeler gauge|mesh level → warped bed needs glass/PEI or mesh comp.

Stringing

Temp-first:

1. Print temperature tower (180-220°C in 5° steps for PLA)
2. Identify lowest temperature that extrudes cleanly
3. Use that temperature -5°C to minimize stringing

Retraction:

# Direct drive extruder:
retraction_distance: 1.0-2.0mm
retraction_speed: 40-50mm/s

# Bowden extruder:
retraction_distance: 4.0-6.0mm
retraction_speed: 40-60mm/s

# If stringing persists:
- Enable z-hop: 0.2-0.4mm (lifts nozzle during travel)
- Reduce travel speed (paradoxically helps)
- Enable combing mode (travels within infill)

Got: Minimal stringing, thin strings hand-removable.

If err: Check nozzle partial clog|wet filament (both cause oozing).

Layer Shifts

Mech checks:

# 1. Check belt tension (should twang like guitar string)
# Tighten if loose

# 2. Check pulley set screws (motor shafts)
# Must align with flat on motor shaft

# 3. Check for mechanical resistance
# Manually move X/Y axes - should glide smoothly
# Binding indicates dirty rods, worn bearings, or misalignment

# 4. Check stepper motor current (advanced)
# Too low → skipping; too high → overheating

Speed reduction:

# Reduce these speeds:
perimeter_speed: 40mm/s (from 50)
travel_speed: 120mm/s (from 150)
acceleration: 500mm/s² (from 1000)
jerk: 8mm/s (from 15)

Got: No shifts in re-print w/ tightened belts + reduced speeds.

If err: Slicer-gen collisions (cooling fan hitting model)|electrical (stepper driver overheating).

Warping

Thermal:

# Increase bed temperature:
PLA: 60°C → 65°C
PETG: 80°C → 85°C
ABS: 100°C → 110°C

# Disable/reduce part cooling:
first_layer_fan: 0%
regular_fan: 25% max (ABS), 50% (PETG), 100% (PLA)

# Enclose printer (critical for ABS/ASA):
- Cardboard box (temporary)
- Acrylic panels (permanent)
- Target chamber temp: 40-50°C

Adhesion enhancement:

  • Brim: 10-15mm corners
  • "Mouse ears": 15mm discs at sharp corners
  • Chamfer bottom edges (45° × 1mm removes stress concentrator)

Got: Part stays flat, no corner lifting.

If err: Material unsuitable for printer (ABS unenclosed) → switch PETG|ASA.

Under-Extrusion

Quick:

# 1. Check for nozzle clog
# Heat to print temp, manually push filament
# Should extrude smoothly

# 2. Cold pull cleaning (if partial clog)
# Heat to 220°C, push cleaning filament through
# Cool to 90°C, pull sharply - should remove debris

# 3. Increase temperature +5-10°C
# Higher temp = better flow

# 4. Increase flow rate 2-5%
# Slicer: Filament settings → Flow → 102-105%

E-steps cal:

# 1. Mark filament 120mm above extruder
# 2. Extrude 100mm: G1 E100 F100
# 3. Measure remaining distance to mark
# 4. Calculate: new_steps = current_steps × (100 / actual_extruded)
# 5. Set: M92 E<new_steps>; M500 (save to EEPROM)

Got: Consistent extrusion, no gaps in perimeters|infill.

If err: Heat creep (cooling fan fail)|worn extruder gear|cracked extruder arm.

Over-Extrusion

Flow reduction:

# Reduce flow in 2% increments:
extrusion_multiplier: 0.98 → 0.96 → 0.94

# Signs of correct flow:
- Smooth top surface (not overstuffed)
- Perimeters don't bulge outward
- Infill doesn't overfill and push layers apart

Dim accuracy test:

# Print 20mm calibration cube
# Measure with calipers:
# X/Y dimensions should be 20.0mm ± 0.1mm
# If consistently oversized → reduce flow
# If undersized → increase flow

Got: Accurate dims, smooth surfaces, no bulging.

If err: Re-cal e-steps (may be too high).

5. Verify w/ Test Print

Confirm before full print:

Test selection:

  • Adhesion: 20mm sq × 5 layers (fast first layer test)
  • Stringing: Stringing test model (dual towers w/ travels)
  • Layer shifts: Tall thin (stress mechanical)
  • Warping: Large flat (200mm × 200mm × 0.4mm)
  • Extrusion: 20mm cal cube (dim accuracy)

Got: Test succeeds, issue resolved.

If err: Test fails → not fully resolved or multi issues → repeat diagnosis on remaining symptoms.

6. Doc Solution

Issue log template:

date: 2026-02-16
issue: "Layer shifts at 50mm height"
symptoms: "X-axis shifts 10mm, happens consistently at same height"
printer: "Ender 3 V2"
material: "PETG, PolyMaker PolyLite"
root_cause: "Loose X-axis belt, pulley set screw not on flat"
solution:
  - "Tightened X-axis belt to 120Hz resonance"
  - "Realigned pulley set screw on motor shaft flat"
  - "Reduced print speed to 40mm/s perimeter"
verification: "Printed 100mm test cylinder - no shifts"
notes: "Check belt tension monthly, pulley tends to slip"

Got: Issue documented w/ root cause + solution → knowledge base.

If err: Even unsuccessful attempts logged → avoid repeating failed solutions.

Check

  • Symptoms documented w/ photos + observations
  • Issue classified via diagnostic table
  • Root cause ID'd (mechanical, thermal, material, config)
  • Fix applied per root cause category
  • Fix verified w/ test print before full
  • Solution documented in issue log w/ date, cause, resolution
  • Env factors recorded (temp, humidity, drafts)
  • Material condition checked (dry, contamination-free, stored)

Traps

  1. Multi vars at once: One param at a time → otherwise won't know what fixed
  2. Ignore wet filament: Hygroscopic (Nylon, TPU, PETG) absorb moisture → bubbling, stringing, poor adhesion → suspect first
  3. Skip mech checks: Loose belts + worn parts cause issues no slicer tuning can fix
  4. Temp from internet: Every printer/material combo unique → run own temp tower
  5. Over-tighten belts: Too tight → premature bearing wear → guitar string tension, not steel cable
  6. Blame slicer: Bugs rare → 95% mechanical|thermal|material
  7. No clean nozzle: Partial clogs → intermittent under-extrusion looks like flow/e-step
  8. Assume bed level: Beds warp, springs compress, adjustments slip → re-level weekly
  9. Wrong Z-offset: Most first-layer fails = Z too high (no squish) or too low (scraping)
  10. Env neglect: ABS/ASA in 15°C garage w/ drafts won't print → needs stable warm

  • prepare-print-model: Properly prepared model → avoid printability issues
  • select-print-material: Material appropriate for printer + env
  • Calibrate 3D Printer (future): E-steps, flow rate, temp towers, PID tuning, bed mesh
  • Maintain 3D Printer (future): Belt tensioning, bearing lube, nozzle replace, preventive maint

GitHub Repository

pjt222/agent-almanac
Path: i18n/caveman-ultra/skills/troubleshoot-print-issues
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

requesting-code-review

Design

This skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.

View skill

connect-mcp-server

Design

This skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.

View skill

web-cli-teleport

Design

This skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.

View skill