text-to-cad is a collection of agent workflows for creating, examining, finding, preparing, and transferring CAD, engineering, manufacturing, and robot-description files. It is for agents working with mechanical design, fabrication, simulation, and robotics projects. Catalogue skills, instructions, and a plugin implement these workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add earthtojake/text-to-cad --skill dfam-checkgit clone --depth 1 https://github.com/earthtojake/text-to-cadWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/earthtojake/text-to-cad/dfam-check)<a href="https://agentmods.dev/skills/earthtojake/text-to-cad/dfam-check"><img src="https://agentmods.dev/badge/skills/earthtojake/text-to-cad/dfam-check/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/earthtojake/text-to-cad/dfam-check"><img src="https://agentmods.dev/badge/skills/earthtojake/text-to-cad/dfam-check.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00111 | $0.01231 |
| Opus 5 | $0.00056 | $0.00616 |
| Sonnet 5 | $0.00022 | $0.00246 |
| Haiku 4.5 | $0.00011 | $0.00123 |
Grade A, and why
dfam-check scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
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.
Workflow
- 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.
- Read
references/process-limits.mdand 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. - Run
measureon the exact upload file. Do not inspect only a generator script, source CAD model, or console summary of the file. - Run
orientationswhen the process requires supports and the measured support area is nonzero. Report any candidate that materially reduces support area, with its build-height tradeoff. - 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.
- Order findings by severity: watertightness first (blocks slicing for every process), then wall thickness, then overhangs/supports, then orientation and cost signals.
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed 4206b6cadd54
- 11d ago First seen · 96 lines · 111 tokens per session scan A 852534d2b571
dfam-check is a skill published in the GitHub repository earthtojake/text-to-cad (15,283 stars, last pushed yesterday), licensed MIT. It adds 111 tokens to every session and 1,231 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
FluidCAD-from-drawing
Turning a 2D engineering drawing into a parametric FluidCAD model. Use this skill whenever the user supplies a drawing, blueprint, dimension sheet, hand sketch, screenshot, PDF, or photo of a part and wants it modeled — "model this", "build this part", "make this in CAD", "here's the drawing". Trigger it alongside the…
tooluniverse-phylogenetics
Phylogenetic analysis — de novo multiple sequence alignment (Clustal Omega/MUSCLE/MAFFT via EBImsaalign) and neighbour-joining/UPGMA tree building (EBIbuildphylogenetictree) from your own sequences, plus tree analysis, treeness, saturation (PhyKIT), parsimony-informative sites, alignment gap analysis, DVMC…
tooluniverse-gene-enrichment
Gene-set enrichment analysis — GO (Biological Process, Molecular Function, Cellular Component), KEGG, Reactome pathway enrichment via clusterProfiler, gseapy, ORA, GSEA. Use for interpreting DEG lists, screen hit lists, or any gene-list-to-pathways query. Includes simplify-cutoff handling and union-vs-total…
tooluniverse-population-genetics
Population genetics analysis — allele frequencies (gnomAD, 1000 Genomes), Hardy-Weinberg equilibrium testing, Fst between populations, GWAS associations, evolutionary constraint scores. Use for cross-population variant comparison, ancestry-aware allele frequency lookups, and population-level evolutionary analysis.
tooluniverse-variant-analysis
VCF and variant analysis — parsing, annotation, classification (synonymous, missense, frameshift, stopgained), VAF filtering, coding vs non-coding categorization, multi-condition variant comparison. Use for VCF parsing, variant fraction calculations (denominator = coding subset only, NOT all variants), and per-sample…
tooluniverse-cell-line-profiling
Cancer cell-line selection and profiling for experimental model choice. Cross-references DepMap, Cellosaurus, COSMIC, PharmacoDB to deliver identity verification, mutation/CNV profile, gene dependencies, drug sensitivities, and druggable targets. Use to answer 'which cell line should I use for studying gene X?' or 'is…