# CAD Engine Skill ## Purpose Help an AI agent generate CAD models through the repository's CDSL engine. ## Required workflow 1. Read the engine README, `profile_schema.json`, `cdsl_schema.json`, and the relevant engine modules. `cdsl_schema.json` is the executable CDSL input contract; its nested object and array shapes are mandatory. 2. Search the official CDSL library for similar parts, profiles, and feature sequences. 3. Produce or revise parameterized CDSL. 4. Validate that the CDSL can run through the `cdsl_only` path. 5. Compile the CDSL and generate a STEP file. 6. Return the generated artifact, validation result, and library references. ## Hard constraints - Prefer named profiles and discrete semantic parameters over raw coordinates. - Do not use `compiler_context` as the final source of missing training data. - Keep the generated CDSL self-sufficient whenever the supported shape generators can express the geometry. - Use only the feature operations, profile types, parameter names, and nested value shapes in `cdsl_schema.json`. In particular, hole positions must be objects such as `{"mm": [u_mm, v_mm, w_mm]}`, never bare coordinate arrays. - Preserve the original CDSL and write revisions as separate artifacts.