| name | cadquery-builder |
| description | Use this skill when you need to implement a 3D model from the drawing image with optional preprocessed views and verifier guidance. |
cadquery-builder
Goal
Produce executable CadQuery code and CAD artifacts.
Required inputs
Optional inputs
- /preprocessed/outline_only.png
- /preprocessed/*.png
- /review/fix_plan.json
- /templates/model_template.py
Required outputs
- /generated/model.py
- /artifacts/model.step
Optional outputs
- /artifacts/model.stl
- /artifacts/projections/front.svg
- /artifacts/projections/top.svg
- /artifacts/projections/right.svg
- /artifacts/projections/front.png
- /artifacts/projections/top.png
- /artifacts/projections/right.png
- /artifacts/build_report.json
Workflow
- Read /input/reference.png with read_file
- Read optional preprocessed images when they exist
- If /review/fix_plan.json exists, read it before revising the model and treat it as the detailed source of revision edits
- Either start from /templates/model_template.py or write from scratch
- Write /generated/model.py
- Execute:
python generated/model.py --out-dir artifacts
- If it fails, inspect the error, patch the code, and rerun
- First make sure /artifacts/model.step is produced
- Add STL, projections, or reports only when they are clearly useful for the next step
Important
- Use absolute paths with file tools, for example /input/reference.png and /generated/model.py
- Use relative paths only for shell execution commands
- Treat the drawing image as the primary source of truth
- Preprocessed images are optional guidance, not mandatory prerequisites
- If /review/fix_plan.json exists, it is the primary source for detailed revision targets
- The supervisor task description may summarize the current revision focus, but it is not a substitute for reading /review/fix_plan.json
- A first working STEP export matters more than polished reporting or full projection coverage
- The template is optional. Do not force yourself to fit the shape into it if starting fresh is simpler.
- Do not return success without actually executing the script