Agent skill

DfAM Printability Check

by earthtojake in earthtojake/text-to-cad

Measures STL, OBJ, PLY or 3MF mesh files against additive manufacturing design limits and reports printability findings for each print process.

MITAuto-check passedResearch & Science

Install DfAM Printability Check

skills CLI
$ npx skills add earthtojake/text-to-cad --skill dfam-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install earthtojake/text-to-cad dfam-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/earthtojake/text-to-cad.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dfam-check .claude/skills/dfam-check && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dfam-check
GitHub stars
19k
Used in
2 other repos
Token cost
~1.5k tokens
SKILL.md length
772 words
Files
6 (incl. scripts, references)
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Measures STL, OBJ, PLY or 3MF mesh files against additive manufacturing design limits and reports printability findings for each print process.

  • Works in 6 steps: Collect print intent: target process,… → Read references/process-limits.md and… → Run measure on the exact upload file. Do… → …
  • Checking whether a part is printable before slicing it
  • SKILL.md covers Geometry Inspection, Workflow, Comparison and Redesign Handoff
  • Runs Python scripts from its folder; calls python

What it does

The skill produces cautious, evidence-backed Design for Additive Manufacturing reports for mesh files before slicing or printing. It measures geometry locally with scripts/dfam_tool.py and compares the results with per-process limits kept in a process-limits reference, covering FDM, SLS, SLA/DLP, metal PBF and MJF. It never slices a model, uploads it or starts a print job.

The tool only reports facts such as wall thickness, overhang angles and support volume, and never says pass or fail. Verdicts come from the agent's workflow, which must not estimate those values by eye or from renders. The measure and orientations commands take an angle limit set to the process's self-supporting angle, and results need re-running when the target process changes. Exit codes tell a complete report from a partial one, where some measurement families could not be computed, and from a mesh that would not load, and an unmeasured fact counts as needing more information rather than as zero.

STEP and STP files are CAD boundary representations rather than meshes, so the agent exports an STL first with the companion cad skill. The workflow begins by collecting print intent: the process, the material, the layer height and any machine or material datasheet you can provide. The packages in requirements.txt must be installed before every run.

When your agent uses it

  • Checking whether a part is printable before slicing it
  • Analyzing overhangs, wall thickness and supports of an STL, OBJ, PLY or 3MF file
  • Choosing a build orientation for a part
  • Getting redesign guidance for a specific print process

Example prompts

  • “Is bracket.stl printable on an FDM machine at a 0.2 mm layer height? Check walls and overhangs.”
  • “Compare the build orientations for housing.3mf and tell me how much support each one needs.”
  • “Check enclosure.stl against SLS limits and tell me which walls are too thin.”

Requirements

  • Python with the packages in requirements.txt
  • A mesh file in STL, OBJ, PLY or 3MF format

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Collect print intent: target process, material, layer height, and any
  2. Read references/process-limits.md and select the limit column for the
  3. Run measure on the exact upload file. Do not inspect only a generator
  4. Run orientations when the process requires supports and the measured
  5. Compare each measured fact to the cited limit and report findings with
  6. Order findings by severity: watertightness first (blocks slicing for

What it can do on your machine

Read from SKILL.md and the folder at commit b48ff49. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

DfAM Printability Check loads about 1.5k tokens when it runs, and up to ~2.3k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 772 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from earthtojake/text-to-cad at commit b48ff49, republished under its MIT licence (© earthtojake). 772 words, ~1,488 tokens.

Download SKILL.mdSave it as .claude/skills/dfam-check/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
dfam-check
description
Measure mesh files against Design for Additive Manufacturing (DfAM) rules and report printability findings per process (FDM, SLS, SLA/DLP, metal PBF, MJF). Use when the user asks whether a part is printable, wants overhang/wall-thickness/support analysis of an `.stl`, `.obj`, `.ply`, or `.3mf` mesh, wants a build-orientation recommendation, or wants DfAM redesign guidance before slicing with `$gcode` or regenerating geometry with `$cad`.
license
MIT

DfAM Check

Provenance: maintained in 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.

Use this skill to produce conservative, evidence-backed DfAM reports for mesh files before slicing or printing. It measures geometry facts locally and compares them against per-process design limits; it never slices, uploads, or starts print jobs.

Geometry Inspection

Use scripts/dfam_tool.py in the active project Python environment for all geometry facts (install requirements.txt first — every run needs it). The tool is fact-only: it reports measurements and never emits pass/fail or readiness statuses. Comparisons and verdicts belong to this workflow. Do not estimate wall thickness, overhang angles, or support volume by eye or from renders when the tool can measure them.

bash
python scripts/dfam_tool.py measure part.stl --angle-limit 45
python scripts/dfam_tool.py orientations part.stl --angle-limit 45

Set --angle-limit to the target process's self-supporting angle from references/process-limits.md before measuring, and re-run when the target process changes: the aggregate support-area facts are binned against it.

STEP/STP input is boundary-representation CAD, not a mesh. When the $cad skill is installed, export an STL sidecar with it first, then measure the STL here. Report that remediation instead of attempting raw STEP parsing. measure on a STEP exits 1 with {"error": "failed to load mesh: ..."}; that is the wrong-input signal, not a missing dependency — do not install extra mesh loaders to work around it.

A fact family that cannot compute returns {"error": ...} in its place rather than costing the report its other measurements — wall_thickness does this when the dependency set is incomplete, support_volume on geometry with no convex hull. That report is PARTIAL: it carries "partial": true, names the families in partial_sections, and the command exits 2 (0 is a complete report, 1 a mesh that would not load at all). Treat every such object as an unmeasured fact (❓ need more info), never as a measurement of zero, and reinstall requirements.txt before comparing wall limits.

Workflow

  1. Collect print intent: target process, material, layer height, and any machine or material datasheet the user can provide. If the process is unknown, measure once with the default 45° limit, then present findings per candidate process rather than guessing a single verdict.
  2. Read references/process-limits.md and select the limit column for the target process. A user-provided machine/material datasheet overrides the defaults; cite whichever source is used for every comparison.
  3. Run measure on the exact upload file. Do not inspect only a generator script, source CAD model, or console summary of the file.
  4. Run orientations when the process requires supports and the measured support area is nonzero. Report any candidate that materially reduces support area, with its build-height tradeoff.
  5. Compare each measured fact to the cited limit and report findings with restrained status labels:
    • ✅ pass: the measured fact satisfies the cited limit.
    • ❌ fail: a measured fact directly violates the cited limit.
    • ❓ need more info: missing process context, unmeasured geometry, sampling too sparse to trust, or tool limitations.
  6. Order findings by severity: watertightness first (blocks slicing for every process), then wall thickness, then overhangs/supports, then orientation and cost signals.
Show full SKILL.md (268 more words)Show less

Comparison

Compare only trustworthy pairs of evidence.

  • Cite the limit source (process-limits table row, or the user's datasheet field) and the measured fact (JSON field path) for every finding.
  • Treat p05_mm below the wall-thickness limit as a violation even when min_mm alone could be a sampling outlier; report both values.
  • On an assembly, wall_thickness reports body_count and a per_body breakdown. Attribute a violation to the body it belongs to; a thin figure pooled across bodies is not a finding against the part as a whole.
  • Do not apply support-angle findings to powder processes (SLS, MJF); the relevant powder-process check is trapped-volume powder escape, which this tool does not yet measure — report that as ❓ need more info when enclosed cavities are likely.
  • Do not silently rescale geometry. scale.units_suspect is measured from the bounding-box diagonal: when it is true, the source is probably in meters or inches, every down-facing face reads as resting on the plate, and overhang and support figures of 0.0 mean nothing. Report a unit/scale finding and ask the user to confirm units before comparing anything against a material limit.
  • Support-volume ratios are coarse upper bounds; report them as cost signals, not hard failures, unless the user has set an explicit budget.

Redesign Handoff

For every ❌ fail, include a concrete, plain-language redesign instruction with target numbers (for example "thicken the wall at [12.4, 3.0, 8.1] from 0.6 mm to ≥1.2 mm" or "chamfer the overhang at [23.3, 10.0, 52.0] to ≥45°"). When the $cad skill is installed, offer to apply the redesign instructions with it and re-measure the regenerated geometry here, repeating until no ❌ fail findings remain.

© earthtojake, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/dfam-check of earthtojake/text-to-cad.

  • SKILL.md
  • LICENSE
  • agents/openai.yaml
  • references/process-limits.md
  • requirements.txt
  • scripts/dfam_tool.py

Open the folder on GitHubat commit b48ff49

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in earthtojake/text-to-cad, which our catalogue first saw on October 7, 2026.

Compare with similar skills

DfAM Printability Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

DfAM Printability Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
DfAM Printability Check this skillearthtojake/text-to-cad19k2 repos~1.5kAutomated safety check: PassMIT
Hypothesis Generationspacering-net/codeg3.9k14 repos~3.6kAutomated safety check: NotesMIT
GitHub Deep Researchbytedance/deer-flow84k4 repos~1.3kAutomated safety check: PassMIT
Nature Paper CardYuan1z0825/nature-skills47k2 repos~2.1kAutomated safety check: PassApache-2.0
Content Research Writerweapp-tailwindcss/weapp-tailwindcss1.9k25 repos~3.5kAutomated safety check: PassMIT
Last30daysmvanhorn/last30days-skill64k—~7.9kAutomated safety check: NotesMIT

Similar skills

  • Hypothesis Generation

    spacering-net/codeg

    Structured hypothesis formulation from observations. An agent skill from spacering-net/codeg.

    3.9k GitHub starsUsed in 14 repos~3.6k tokens
    Research & ScienceAuto-check: notes
  • GitHub Deep Research

    bytedance/deer-flow

    Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.

    84k GitHub starsUsed in 4 repos~1.3k tokens
    Research & ScienceAuto-check passed
  • Nature Paper Card

    Yuan1z0825/nature-skills

    Builds a structured deep-reading card for one scientific paper, covering methods, how experiments support claims, limitations and research ideas, with a script to prepare the source.

    47k GitHub starsUsed in 2 repos~2.1k tokens
    Research & ScienceAuto-check passed
  • Content Research Writer

    weapp-tailwindcss/weapp-tailwindcss

    Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.

    1.9k GitHub starsUsed in 25 repos~3.5k tokens
    Research & ScienceAuto-check passed
  • Last30days

    mvanhorn/last30days-skill

    Research what people actually say about any topic in the last 30 days.

    64k GitHub stars~7.9k tokensUpdated yesterday
    Research & ScienceAuto-check: notes
  • Peer Review

    spacering-net/codeg

    Structured manuscript/grant review with checklist-based evaluation.

    3.9k GitHub starsUsed in 17 repos~5.9k tokens
    Research & ScienceAuto-check: notes

More from earthtojake/text-to-cad

All 12 skills in this repo
  • Step Parts

    earthtojake/text-to-cad

    Find, evaluate, and download common purchasable CAD parts from step.parts, including named off-the-shelf actuators, servos, motors, electronics boards, connectors, screws, bolts, nuts, washers…

    19k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Design for Manufacturing Review

    earthtojake/text-to-cad

    Guided DFM review of a part for sheet metal, CNC machining or injection molding, covering bends, tool access, draft and undercuts, with evidence-first measurement rules.

    19k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • DXF Drawing Generation

    earthtojake/text-to-cad

    Generates, regenerates and validates 2D DXF drawings from Python build123d sources for profiles, gaskets, panels and cut layouts, and reviews them in CAD Viewer.

    19k GitHub starsUsed in 1 repo~4.3k tokens
    Auto-check passed
  • OrcaSlicer G-code Slicing

    earthtojake/text-to-cad

    Slices STL, 3MF or OBJ models into printer-ready G-code with OrcaSlicer, either headless from the command line or by opening the model in the app.

    19k GitHub stars~989 tokensUpdated today
    Auto-check passed
  • URDF Robot Description Authoring

    earthtojake/text-to-cad

    Guides writing, editing and validating URDF robot description files, with a design ledger, exact frame semantics and computed inertials checked by a validator.

    19k GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • SDFormat Model and World Authoring

    earthtojake/text-to-cad

    Authors, validates and reviews SDFormat XML for simulator models and worlds, with explicit frames, SI units and a design ledger.

    19k GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Questions about DfAM Printability Check

What does DfAM Printability Check do?

Measures STL, OBJ, PLY or 3MF mesh files against additive manufacturing design limits and reports printability findings for each print process. The skill produces cautious, evidence-backed Design for Additive Manufacturing reports for mesh files before slicing or printing.py and compares the results with per-process limits kept in a process-limits reference, covering FDM, SLS, SLA/DLP, metal PBF and MJF.

When should I use DfAM Printability Check?

DfAM Printability Check fits situations like: checking whether a part is printable before slicing it; analyzing overhangs, wall thickness and supports of an STL, OBJ, PLY or 3MF file; choosing a build orientation for a part; getting redesign guidance for a specific print process.

How do I install DfAM Printability Check in Claude Code?

Run `npx skills add earthtojake/text-to-cad --skill dfam-check -a claude-code`. Or copy the skill folder (skills/dfam-check in earthtojake/text-to-cad) into .claude/skills/dfam-check in your project. Claude Code loads it when a task matches its description.

How do I install DfAM Printability Check in Codex?

Run `npx skills add earthtojake/text-to-cad --skill dfam-check -a codex`. Or copy the skill folder (skills/dfam-check in earthtojake/text-to-cad) into .agents/skills/dfam-check in your project. Codex loads it when a task matches its description.

Can I use DfAM Printability Check in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add earthtojake/text-to-cad --skill dfam-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dfam-check, .gemini/skills/dfam-check, .github/skills/dfam-check and .opencode/skills/dfam-check in your project.

What does DfAM Printability Check need to run?

Going by SKILL.md and its folder, DfAM Printability Check needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python with the packages in requirements.txt; A mesh file in STL, OBJ, PLY or 3MF format.

Does DfAM Printability Check access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is DfAM Printability Check safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does DfAM Printability Check use?

DfAM Printability Check is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does DfAM Printability Check use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 773 tokens, read only when the agent opens those files.

What are the alternatives to DfAM Printability Check?

Skills that share tags, products or a category with DfAM Printability Check: Hypothesis Generation (spacering-net/codeg, 3.9k stars), GitHub Deep Research (bytedance/deer-flow, 84k stars), Nature Paper Card (Yuan1z0825/nature-skills, 47k stars) and Content Research Writer (weapp-tailwindcss/weapp-tailwindcss, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains DfAM Printability Check?

earthtojake (a GitHub user) maintains it in earthtojake/text-to-cad, which has 18,839 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.

Source: earthtojake/text-to-cad on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.