agentleFS
cedrickcheecedrickchee/text-to-cad/.agents/skills/cad/SKILL.md

cad

Skill35 starsChanged 6 months agoMITView on GitHub

Create, modify, inspect, validate, and review STEP-first build123d/Python CAD parts and assemblies. Use for natural-language CAD specs, STEP/STP generation, build123d source, build123d source-level joints, @cad references, geometry facts, measurements, mating deltas, CAD Explorer links, conditional review renders, and secondary DXF/STL/3MF outputs.

7 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use sendcutsend and cad-viewer.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • tlinedeepSkill

    sendcutsend

    Review DXF and STEP/STP uploads for SendCutSend.com orders using its ordering guide, catalog, and specs. Use only for SendCutSend.com preflight reports covering upload readiness, selected material/SKU/thickness/service availability, and service-specific checks for laser cutting, CNC routing, bending, tapping, countersinking, hardware insertion, and finishing.

    Also in 3 projects that use this

  • Glow-makerSkill

    cad-viewer

    This skill should be used when the user wants to read, analyze, or work with CAD DWG/DXF drawing files. Trigger phrases include: DWG, DXF, CAD drawing, drawing analysis, layer, block, entity, screenshot, distance calculation, drawing audit, electrical diagram, distribution box, single-line diagram, or any mention of .dwg/.dxf files. This skill provides comprehensive CAD drawing analysis capabilities including reading file metadata, listing layers and entities, analyzing block definitions, calculating distances between entities, capturing screenshots of specific regions or entities, and auditing drawing compliance.

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. 0 are common, 12 are distinctive, and 10 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 10

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this skill when the user asks for CAD files, STEP/STP files, build123d source, @cad[...] references, mechanical parts, assemblies, …

    line 14
  2. Distinctive:

    Do not use this skill for render-only concept art, CAM toolpaths, engineering certification, FEA conclusions, architectural BIM, or …

    line 18
  3. Distinctive:

    Use these defaults unless the user specifies otherwise:

    line 22
  4. Distinctive:

    Ask one focused clarification question only when missing information makes the model impossible, fit-critical, safety-critical, or …

    line 35
  5. Distinctive:

    Do not ask the user to provide a JSON specification and do not make JSON the user-facing workflow.

    line 39
  6. Distinctive:

    Keep these roots separate:

    line 43
  7. Distinctive:

    Prefer keeping a STEP output and its Python generator in the same directory so the source stays easy to discover.

    line 51
  8. Distinctive:

    Use the active project Python interpreter.

    line 66
  9. Very specific:

    Use python scripts/<tool> --help for the complete current command interface.

    line 68
  10. Distinctive:

    Load only the needed references: Use the triggers below instead of reading the whole reference set.

    line 73
  11. Very specific:

    Edit source, not generated artifacts: Prefer build123d Python with gen_step() for STEP generation.

    line 76
  12. Very specific:

    Generate explicit targets: Use scripts/step for STEP/STP generation and sidecars.

    line 77
  13. Very specific:

    Validate geometrically: Use scripts/inspect refs --facts --planes --positioning, then targeted measure, mate, frame, or diff when needed.

    line 78
  14. Very specific:

    Return Explorer links: Use references/rendering-and-explorer.md for Explorer startup, scan-root, and link rules.

    line 79
  15. Very specific:

    Render conditionally: Use scripts/render only when requested, Explorer is unavailable, visual ambiguity remains, or section/wireframe …

    line 80
  16. Distinctive:

    Repair and rerun: If a check fails, change the smallest responsible source section, regenerate, and rerun the failed validation.

    line 81
  17. Distinctive:

    Treat generated STEP/STP, STL, 3MF, GLB/topology, DXF outputs, and Explorer sidecars as derived artifacts.

    line 85
  18. Very specific:

    Keep STEP as the primary validated CAD artifact.

    line 86
  19. Very specific:

    When a Python generator exists, run scripts/step on the generator.

    line 87
  20. Distinctive:

    Use named parameters, closed solids, explicit labels, and source-controlled geometry intent.

    line 88
  21. Very specific:

    Do not use git status, git diff, or file-size churn as CAD comparison for large exported STEP/STP, GLB/topology, STL, 3MF, or DXF artifacts.

    line 90
  22. Distinctive:

    If Explorer fails, say so and rely on CLI inspection for validation.

    line 92

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

CAD generation, inspection, and validation

Purpose

Create or modify parametric CAD models from natural-language requirements, generate validated STEP/STP artifacts, inspect geometry references, and return checked outputs plus CAD Explorer links. Treat STEP as the primary CAD artifact. Treat DXF, STL, and 3MF as secondary workflows that branch from, or accompany, a STEP-first process. For assemblies, prefer source-level build123d joints and named mating datums when the parts have functional assembly relationships.

Use this skill when

Use this skill when the user asks for CAD files, STEP/STP files, build123d source, @cad[...] references, mechanical parts, assemblies, enclosures, brackets, fixtures, holes, counterbores, countersinks, slots, pockets, bosses, standoffs, ribs, fillets, chamfers, shells, source-level joints, mating, measurements, or CAD Explorer review links.

Also use it when the user asks for DXF, STL, or 3MF output from CAD geometry. Keep those workflows secondary and load dxf.md or supported-exports.md for details.

Do not use this skill for render-only concept art, CAM toolpaths, engineering certification, FEA conclusions, architectural BIM, or freehand illustration unless the user also needs CAD geometry.

Default assumptions

Use these defaults unless the user specifies otherwise:

  • Units: millimeters.
  • Origin: center of the main part or assembly unless a mating interface or fixed root component suggests a better origin.
  • Base plane: XY.
  • Up/extrusion axis: positive Z.
  • Output geometry: closed, positive-volume solids unless the user requests surfaces or construction geometry.
  • STEP structure: one valid solid, a compound of solids, or a labeled assembly compound.
  • Assembly structure: fixed root part, part-local frames, named mating datums, build123d joints where applicable, and explicit generated placements.
  • Small plastic enclosure wall: 2.0-3.0 mm when unspecified.
  • Cosmetic fillet: 1.0-3.0 mm when safe for local geometry.
  • M3/M4/M5 normal clearance holes: 3.4/4.5/5.5 mm unless another standard is requested.

Ask one focused clarification question only when missing information makes the model impossible, fit-critical, safety-critical, or compliance-bound. Otherwise proceed with explicit assumptions.

Natural-language specs only

Do not ask the user to provide a JSON specification and do not make JSON the user-facing workflow. Convert the user's prose into an internal CAD brief with dimensions, features, assumptions, output paths, and validation criteria. Use references/natural-language-specs.md for brief-writing patterns.

Root model

Keep these roots separate:

  • CAD skill directory: this folder. Tool launchers live here as scripts/step, scripts/inspect, scripts/render, and scripts/dxf.
  • Tool process cwd: relative CAD targets are resolved from the command's current working directory. Use absolute target paths when running from the skill directory, or run from the workspace root and invoke the launchers with a path to this skill directory.
  • Explorer scan root: CAD Explorer scans EXPLORER_ROOT_DIR when set; otherwise it scans the workspace root inferred by Vite from EXPLORER_WORKSPACE_ROOT, npm INIT_CWD, or the Vite process cwd. Explorer file= links must be relative to the active scan root.

Short command examples in this skill use launcher paths relative to the CAD skill directory. Adapt the launcher path or target path so project CAD files resolve from the intended workspace, not accidentally under the skill directory.

Prefer keeping a STEP output and its Python generator in the same directory so the source stays easy to discover. Unless the user explicitly requests otherwise, keep the STEP basename and generator basename the same even when they cannot live side by side.

Available tools

From the CAD skill directory, the launcher shape is:

python scripts/step ...
python scripts/inspect ...
python scripts/render ...
python scripts/dxf ...
npm --prefix explorer run dev
npm --prefix explorer run dev:ensure -- --file path/to/model.step

Use the active project Python interpreter. If only the repo-local virtualenv is available, invoke that interpreter while keeping the root model above explicit.

Use python scripts/<tool> --help for the complete current command interface; reference docs show recommended workflows, not every flag.

Required workflow

  1. Classify the task. Identify whether this is a new part, new assembly, source modification, direct STEP/STP inspection, reference selection, measurement/mating check, render review, or secondary output request.
  2. Load only the needed references. Use the triggers below instead of reading the whole reference set.
  3. Create a natural-language CAD brief. Extract dimensions, units, coordinate convention, feature intent, output paths, assumptions, and validation targets.
  4. Plan before coding. Define parameters, labels, source paths, expected bounding boxes, and any mating/positioning datums before editing.
  5. Edit source, not generated artifacts. Prefer build123d Python with gen_step() for STEP generation.
  6. Generate explicit targets. Use scripts/step for STEP/STP generation and sidecars. Use --kind part or --kind assembly only for direct STEP/STP imports. Do not run directory-wide generation.
  7. Validate geometrically. Use scripts/inspect refs --facts --planes --positioning, then targeted measure, mate, frame, or diff when needed.
  8. Return Explorer links. Use references/rendering-and-explorer.md for Explorer startup, scan-root, and link rules.
  9. Render conditionally. Use scripts/render only when requested, Explorer is unavailable, visual ambiguity remains, or section/wireframe review answers a real validation question.
  10. Repair and rerun. If a check fails, change the smallest responsible source section, regenerate, and rerun the failed validation.

Non-negotiables

  • Treat generated STEP/STP, STL, 3MF, GLB/topology, DXF outputs, and Explorer sidecars as derived artifacts.
  • Keep STEP as the primary validated CAD artifact; DXF/STL/3MF are secondary unless the user explicitly says otherwise.
  • When a Python generator exists, run scripts/step on the generator. Use a direct STEP/STP target only when the generator is unavailable or the user explicitly identifies that STEP/STP file as the target.
  • Use named parameters, closed solids, explicit labels, and source-controlled geometry intent.
  • Author assembly positioning in source with part-local datums, explicit Location transforms, or build123d joints. Treat CLI inspect mate as read-only validation, not as a source-editing API.
  • Do not use git status, git diff, or file-size churn as CAD comparison for large exported STEP/STP, GLB/topology, STL, 3MF, or DXF artifacts. Compare source changes, scripts/inspect summaries, targeted renders, or CAD Explorer output instead; use path-limited git status only for bookkeeping.
  • Report only checks that actually ran or are directly supported by tool output.
  • If Explorer fails, say so and rely on CLI inspection for validation.

Progressive references

Load these files only when their trigger applies:

  • references/natural-language-specs.md — converting prose requirements into a CAD brief without requiring user JSON.
  • references/step-generation.md — STEP generation, direct STEP/STP targets, part-vs-assembly behavior, and post-generation inspection.
  • references/inspection-and-validation.md — validation gates, @cad[...] refs, facts, planes, topology, measurements, mating, diff, frame, and final validation reporting.
  • references/positioning.md — part-local datums, assembly transforms, build123d joints, CLI mate validation, and positioning reports.
  • references/rendering-and-explorer.md — CAD Explorer links and conditional render view/wireframe/section/list.
  • references/dxf.md — secondary DXF workflow.
  • references/supported-exports.md — secondary STL/3MF sidecar workflows.
  • references/build123d-modeling.md — build123d modeling patterns, topology, selectors, features, assemblies.
  • references/repair-loop.md — diagnosis and repair procedures.

Final responses should include generated files, CAD Explorer links, validation actually run, assumptions, and caveats. Use references/inspection-and-validation.md for report structure.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.