executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
cadCreate, modify, inspect, and validate 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 handoffs, and secondary DXF/STL/3MF outputs.
Independent GitHub snapshot · Automated classification · Original documentation governs
Create or modify parametric CAD models from natural-language requirements, generate validated STEP/STP artifacts, inspect geometry references, and return checked outputs. Treat STEP as the primary CAD artifact. Treat DXF, STL, 3MF, and native GLB 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 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, or measurements.
Also use it when the user asks for DXF, STL, 3MF, or native GLB 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.
Use these defaults unless the user specifies otherwise:
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.
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.
Keep these roots separate:
scripts/step, scripts/inspect, and scripts/dxf.$render when that skill is available; $render checks/reuses a live viewer and returns links.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.
From the CAD skill directory, the launcher shape is:
python scripts/step ...
python scripts/inspect ...
python scripts/dxf ...
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.
gen_step() for STEP generation.scripts/step for STEP/STP generation and sidecars. Use --kind part or --kind assembly only for direct STEP/STP imports. Only ever use --skip-explorer when the user explicitly asks to skip Explorer, GLB/topology, or renderable topology output. Do not run directory-wide generation.scripts/inspect refs --facts --planes --positioning, then targeted measure, mate, frame, or diff when needed..step, .stp, .stl, .3mf, .dxf, or native .glb paths to $render for live viewer links when that skill is available.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.Location transforms, or build123d joints. Treat CLI inspect mate as read-only validation, not as a source-editing API.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, CAD Explorer renders, or CAD Explorer output instead; use path-limited git status only for bookkeeping.$render for live viewer links when that skill is available; report if $render is unavailable or the viewer check fails.$render is unavailable or fails, say so and rely on CLI inspection for validation.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/parameters.md — parameter, control, and animation design best practices.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/render-review.md — risk-based render triggers, small render packets, targeted visual views, multimodal critique, and converting visual findings into geometry checks.references/positioning.md — part-local datums, assembly transforms, build123d joints, CLI mate validation, and positioning reports.references/dxf.md — secondary DXF workflow.references/supported-exports.md — secondary STL/3MF/native GLB 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 when $render is available, validation actually run, assumptions, and caveats. Use references/inspection-and-validation.md for report structure.