CtrlK
BlogDocsLog inGet started
Tessl Logo

build123d-libs

Use when standard mechanical parts, fasteners, bearings, V-slot rails, T-nuts, wheels, or linear-motion parts are needed in Build123d CAD, and always before modeling a screw into a 3D-printed part — printed screw joints must come from this skill's kit, never hand-modeled.

65

Quality

79%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./reference/replicator-original/me/build123d-libs/SKILL.md
SKILL.md
Quality
Evals
Security

Build123d Extension Libraries

Use this skill when a standard mechanical part should come from a pre-installed library instead of being modeled from scratch.

Hard Constraint: Printed Screw Joints

Any screw fastening into a 3D-printed part is produced by the printed screw joint kitfrom screwjoint import make_screw_joint_v1. This applies even when the task reads as "add a screw boss to the enclosure" rather than "add a fastener."

  • Do not hand-model a screw hole, boss thread, or lead-in.
  • Do not default to a heat-set insert. It is opt-in only — for high-cycle disassembly or torque a formed plastic thread can't hold — and is not yet implemented in the kit (strategy="heat_set" raises ScrewJointNotApplicableV1); confirm insert dimensions before modeling it by hand.
  • A ScrewJointNotApplicableV1 rejection is the only valid reason to model a joint by hand. Classify that connection free and say so.

Core Workflow

  1. Read references/decision-guide.md to choose the library and integration pattern.
  2. Read the specific library reference only when parameters or API details are needed.
  3. Use library parts for standard fasteners, bearings, V-slot rails, T-nuts, wheels, and plates.
  4. In CAD Workbench, publish ordinary Build123d shapes. Use export_step only in standalone generation scripts.
  5. For repeated engineering connections, check the kit catalog before assembling primitives. Use a kit only when its documented topology and limits match exactly — for printed screw joints this is non-negotiable (see Hard Constraint above).
  6. Treat kit and primitive recipes as optional, copy-owned source. Copy the selected recipe into the project cell so its exact logic is build-bound; if it rejects the connection or the design needs another method, classify that connection as free and model it directly.
  7. Keep a project-local connection inventory and assert that every intended connection is handled by a named kit or by explicit freeform source.

For V-slot assemblies, also read references/vslot-assembly.md before placing rails, plates, T-nuts, or screws.

Reference Index

FileWhat it answers
decision-guide.mdLibrary choice, imports, integration pattern, common mistakes
bd-warehouse.mdFasteners, nuts, washers, heat-set inserts, holes, bearings
bd-vslot.mdRail, wheel, bearing, T-nut, plate classes for V-slot linear motion
vslot-assembly.mdKit/free connection workflow, V-slot grid, hardware roles, placement evidence
printed screw joint kit v1Screw joints in printed parts: call contract, strategy table, limits, rejection
2020 corner composite kit v1Catalog-backed TPLJ + TPDD composition, topology, limits, source contract
2020 corner composite recipe v1Copy-owned topology inference, selectable real-part families, and placement
vslot-m5-stack-v1.pyCopy-owned M5 socket-head screw + sliding T-nut primitive recipe
vslot-bookshelf-v1.pyMixed kit/free four-level bookshelf capability fixture
Repository
JimmyPang02/open-replicator
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.