Lua Eco
zhaojh329/lua-eco
International lua-eco public API skill for writing, reviewing, explaining, and fixing Lua 5.4 code that runs on the eco runtime.
Structured API reference for the ClassCAD headless parametric CAD engine (v1 JSON/WebSocket API).
$ npx skills add awv-informatik/classcad-ai --skill classcad -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install awv-informatik/classcad-ai classcad --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/awv-informatik/classcad-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/skill .claude/skills/classcad && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "classcad" agent skill from https://github.com/awv-informatik/classcad-ai/tree/master/packages/skill into .claude/skills/classcad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "classcad", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/awv-informatik/classcad-ai/tree/master/packages/skillType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add awv-informatik/classcad-ai --skill classcad -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install awv-informatik/classcad-ai classcad --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awv-informatik/classcad-ai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/skill .agents/skills/classcad && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "classcad" agent skill from https://github.com/awv-informatik/classcad-ai/tree/master/packages/skill into .agents/skills/classcad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "classcad", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awv-informatik/classcad-ai --skill classcad -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install awv-informatik/classcad-ai classcad --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awv-informatik/classcad-ai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/skill .cursor/skills/classcad && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "classcad" agent skill from https://github.com/awv-informatik/classcad-ai/tree/master/packages/skill into .cursor/skills/classcad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "classcad", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/awv-informatik/classcad-ai.git --path packages/skill--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add awv-informatik/classcad-ai --skill classcad -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install awv-informatik/classcad-ai classcad --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awv-informatik/classcad-ai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/skill .gemini/skills/classcad && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "classcad" agent skill from https://github.com/awv-informatik/classcad-ai/tree/master/packages/skill into .gemini/skills/classcad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "classcad", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install awv-informatik/classcad-ai classcadInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add awv-informatik/classcad-ai --skill classcad -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/awv-informatik/classcad-ai.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/skill .github/skills/classcad && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "classcad" agent skill from https://github.com/awv-informatik/classcad-ai/tree/master/packages/skill into .github/skills/classcad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "classcad", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add awv-informatik/classcad-ai --skill classcad -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install awv-informatik/classcad-ai classcad --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awv-informatik/classcad-ai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/skill .opencode/skills/classcad && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "classcad" agent skill from https://github.com/awv-informatik/classcad-ai/tree/master/packages/skill into .opencode/skills/classcad/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "classcad", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
classcadStructured API reference for the ClassCAD headless parametric CAD engine (v1 JSON/WebSocket API).
Classcad is an agent skill from awv-informatik/classcad-ai. Structured API reference for the ClassCAD headless parametric CAD engine (v1 JSON/WebSocket API). Use when writing or debugging ClassCAD API calls — modeling parts, sketches, solids, curves, assemblies, expressions, or 2D drawings — to look up exact method signatures, verified gotchas, and working examples across all 254 APIs in 7 domains.
Its SKILL.md is about 12k tokens, which your agent loads only when the skill is triggered. The skill folder holds 282 other files, including scripts and reference files (for example `.github/workflows/publish.yml`, `README.md` and `bundle.json`).
It sits in Backend & APIs, covering Realtime and WebSockets. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0773070. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (TypeScript and JavaScript, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
classcad.chFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Classcad loads about 12k tokens when it runs, and up to ~408k if it reads all its reference files. Until then it costs about 88 tokens; SKILL.md has 3,229 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from awv-informatik/classcad-ai at commit 0773070, republished under its MIT licence (© awv-informatik). 3,229 words, ~11,676 tokens.
.claude/skills/classcad/SKILL.md (or your agent's skills folder). This skill also uses 279 other files; get the full folder from GitHub.Source: https://classcad.ch/docs/ · API version: v1
ClassCAD is a headless, programmable CAD engine for building native, web-based, cloud-based, and automated CAD applications. It is not an end-user application — it is designed to be embedded into products, services, and workflows.
Client applications interact with ClassCAD exclusively through public APIs and API wrappers. All API calls follow the pattern:
api.<version>.<domain>.<method>(param)Cross-cutting references that apply across every domain. Read these first when starting any task — they describe the shared protocol and modeling primitives the per-domain APIs build on.
| Reference | Topic |
|---|---|
| recipes/constrained-sketching.md | 2D sketching primer: planes, profiles, constraints, regions, sketch-to-feature flow |
| expressions.md | Expression syntax: constants, math functions, inter-expression references, @expr. |
| part/expression-workflow.md | Expression lifecycle within a part: bindings, updates, rename/delete/unlink behavior |
| assembly/generic.md | Templates vs. instances, instance placement in the tree, when the constraint solver runs; constraints mount instances by their work csys (assembly/fastened.md) |
The data contract — what api.tree() and api.graphic() return and how to
select geometry from it — ships with @classcad/script
(DATA distilled, STRUCTURE
model tree, GRAPHICS graphic payload). Tools serve
them under the same names (read_doc("DATA") / describe_method("DATA")).
The v1 API (current version) is organized into 7 domains. Click a domain name to jump to its API listing below. The "Reference" column links to the full API documentation for that domain.
| Domain | Namespace | Reference | Description |
|---|---|---|---|
| 1. Common | api.v1.common.* | common.md | Session management, load/save, settings, appearance, user data |
| 2. Part | api.v1.part.* | part.md | Feature-based part modeling (primitives, booleans, patterns, sketches) |
| 3. Assembly | api.v1.assembly.* | assembly.md | Assembly building: templates, instances, constraints, patterns |
| 4. Sketch | api.v1.sketch.* | sketch.md | 2D constrained sketches on work planes |
| 5. Curve | api.v1.curve.* | curve.md | 2D/3D curve creation in shape containers |
| 6. Solid | api.v1.solid.* | solid.md | Direct solid modeling within entity injection features |
| 7. Drawing2D | api.v1.drawing2d.* | drawing2d.md | 2D views, dimensions, DXF/SVG export |
<a name="common"></a>
General-purpose utilities: file I/O, database settings, appearance, transformations, user data, batching, and recalculation.
| # | API Name | Summary | Source |
|---|---|---|---|
| 1 | clear | Deletes all objects in the current drawing | api |
| 2 | evaluateExpression | Evaluates an expression | api |
| 3 | getDatabaseSettings | Returns the current general settings from the database | api |
| 4 | getFacetingParameters | Returns the faceting parameters used to tessellate surfaces and curves | api |
| 5 | setAppearance | Sets the appearance on the target (color, transparency, faceting) | api |
| 6 | setDatabaseSettings | Sets the current and initial general settings on the database | api |
| 7 | setFacetingParameters | Sets the faceting parameters of current drawing | api |
| 8 | transformObjectWithMatrix | Transforms an object with the given 4x4 matrix | api |
| 9 | setObjectCoordSystem | Sets the coordinate system on an object | api |
| 10 | setObjectName | Sets the name on an object | api |
| 11 | getClassFileVersion | Returns the class file version | api |
| 12 | getAppVersion | Returns the app version | api |
| 13 | setUserData | Sets custom user data by key and value on given object | api |
| 14 | getUserData | Returns the value from the user data map at given key | api |
| 15 | removeUserData | Removes the user data entry identified by given key | api |
| 16 | clearUserData | Clears all entries from user data of given object | api |
| 17 | getUserDataKeys | Returns all the keys of user data map of given object | api |
| 18 | batch | Runs the given API calls in a sequence | api |
| 19 | requestVisualisation | Requests the visualisation of entities/cad entities from the server | api |
| 20 | load | Reads drawing from ClassCAD- or SolidFile (OFB, STP, IWP, STL) | api |
| 21 | save | Stores the current model (OFB, SCG, STP, IWP, STL, DXF) | api |
| 22 | recalc | Recalculates and updates the whole drawing with all its objects | api |
<a name="part"></a>
Part modeling: feature creation/update (box, cone, cylinder, sphere, extrusion, revolve, twist, slice, boolean, chamfer, fillet, mirror, patterns), work geometry, expressions, sketches, entity injection, and feature operations.
| # | API Name | Summary | Source |
|---|---|---|---|
| 1 | create | Clears the drawing and creates a new part | api |
| 2 | box | Creates a box feature | api |
| 3 | updateBox | Updates a box feature | api |
| 4 | cone | Creates a cone feature | api |
| 5 | updateCone | Updates a cone feature | api |
| 6 | cylinder | Creates a cylinder feature | api |
| 7 | updateCylinder | Updates a cylinder feature | api |
| 8 | sphere | Creates a sphere feature | api |
| 9 | updateSphere | Updates a sphere feature | api |
| 10 | extrusion | Creates an extrusion feature | api |
| 11 | updateExtrusion | Updates an extrusion feature | api |
| 12 | revolve | Creates a revolve feature | api |
| 13 | updateRevolve | Updates a revolve feature | api |
| 14 | twist | Creates a twist feature | api |
| 15 | updateTwist | Updates a twist feature | api |
| 16 | mirror | Creates a mirror feature | api |
| 17 | updateMirror | Updates a mirror feature | api |
| 18 | boolean | Creates a boolean feature | api |
| 19 | updateBoolean | Updates a boolean feature | api |
| 20 | slice | Creates a slice feature | api |
| 21 | updateSlice | Updates a slice feature | api |
| 22 | sliceBySheet | Creates a slice by sheet feature | api |
| 23 | updateSliceBySheet | Updates a slice by sheet feature | api |
| 24 | chamfer | Creates a chamfer feature | api |
| 25 | updateChamfer | Updates a chamfer feature | api |
| 26 | fillet | Creates a fillet feature | api |
| 27 | updateFillet | Updates a fillet feature | api |
| 28 | linearPattern | Creates a linear pattern feature | api |
| 29 | updateLinearPattern | Updates a linear pattern feature | api |
| 30 | circularPattern | Creates a circular pattern feature | api |
| 31 | updateCircularPattern | Updates a circular pattern feature | api |
| 32 | translation | Creates a translation feature | api |
| 33 | updateTranslation | Updates a translation feature | api |
| 34 | rotation | Creates a rotation feature | api |
| 35 | updateRotation | Updates a rotation feature | api |
| 36 | transformationByCSys | Creates a transformation by coordinate system feature | api |
| 37 | updateTransformationByCSys | Updates a transformation by coordinate system feature | api |
| 38 | entityDeletion | Creates an entity deletion feature | api |
| 39 | updateEntityDeletion | Updates an existing entity deletion feature | api |
| 40 | importFeature | Creates an import feature | api |
| 41 | updateImportFeature | Updates an import feature | api |
| 42 | entityInjection | Creates a new entity injection | api |
| 43 | workCSys | Creates a work coordinate system feature | api |
| 44 | updateWorkCSys | Updates a work coordinate system feature | api |
| 45 | workPlane | Creates a work plane feature | api |
| 46 | updateWorkPlane | Updates a work plane feature | api |
| 47 | workAxis | Creates a work axis feature | api |
| 48 | updateWorkAxis | Updates a work axis feature | api |
| 49 | workPoint | Creates a work point feature | api |
| 50 | updateWorkPoint | Updates a work point feature | api |
| 51 | compositeCurve | Creates a composite curve feature | api |
| 52 | updateCompositeCurve | Updates a composite curve feature | api |
| 53 | sketch | Creates a new sketch and places it optionally on a face or work plane | api |
| 54 | setAppearance | Sets the appearance on the target feature (color, transparency, faceting) | api |
| 55 | expression | Creates expressions in different products | api |
| 56 | getExpression | Returns the value and the expression | api |
| 57 | updateExpression | Updates existing expressions in different products | api |
| 58 | deleteExpression | Deletes expressions in different products | api |
| 59 | renameExpression | Renames expressions in different products | api |
| 60 | linkWithExpression | Connects an expression with a dimensional constraint or feature parameter | api |
| 61 | unlinkExpression | Unlinks expression from dimensional constraints or feature parameters | api |
| 62 | getFeature | Returns the id of the feature with the given name | api |
| 63 | getSketch | Returns the id of the sketch with the given name | api |
| 64 | getSketchRegion | Returns the id of the sketch region with the given name | api |
| 65 | getWorkGeometry | Returns the id of the work geometry object with the given name | api |
| 66 | getGeometryIds | Returns the geometry (brep element) which best fits the given points | api |
| 67 | getGeometryPositions | Returns the positions uniquely identifying the geometries (brep elements) | api |
| 68 | getBrepGeometryIndex | Returns an index of a brep element within its brep container | api |
| 69 | getBrepGeometryByIndex | Returns a brep element within the given brep container by its index | api |
| 70 | openFeature | Moves GhostRollbackBar to the position before passed feature | api |
| 71 | closeFeature | Moves GhostRollbackBar back to RollbackBar, restores visibility | api |
| 72 | operationMoveBefore | Moves the rollback bar to the position right before the provided feature | api |
| 73 | operationMoveToEnd | Moves the rollback bar to the latest feature | api |
| 74 | deleteFeature | Deletes existing features, work geometries and sketches | api |
| 75 | calculateMassProperties | Calculates center of gravity and volume of the given object | api |
| 76 | createUncommitedObject | Creates a new uncommited (empty) feature in the given part | api |
<a name="assembly"></a>
Assembly management: root assembly creation, templates, instances, constraints (fastened, revolute, cylindrical, planar, parallel, slider, spherical, gear, group), patterns, transformations, and constraint-driven motion.
| # | API Name | Summary | Source |
|---|---|---|---|
| 1 | create | Creates a new root assembly | api |
| 2 | partTemplate | Creates a new part and adds it as template to the product container | api |
| 3 | assemblyTemplate | Creates a new assembly and adds it as template to the product container | api |
| 4 | getPartTemplate | Returns the part template with given name from part container | api |
| 5 | getAssemblyTemplate | Returns the assembly template with given name from assembly container | api |
| 6 | deleteTemplate | Deletes a part or assembly template | api |
| 7 | convertToTemplate | Converts the current root assembly into an assembly template | api |
| 8 | instance | Creates instances of products and adds them to root assembly or template | api |
| 9 | getInstance | Returns a single, multiple or all instances of an owner | api |
| 10 | deleteInstance | Deletes instances from root assembly, other instances or templates | api |
| 11 | from | Creates an assembly from a JSON-defined assembly or ECXML definition | api |
| 12 | loadProduct | Loads a product from file, data or url | api |
| 13 | exportNode | Exports a node from the assembly tree or a template from containers | api |
| 14 | fastened | Creates a new fastened constraint | api |
| 15 | updateFastened | Updates an existing fastened constraint | api |
| 16 | getFastened | Returns the fastened constraint of given reference | api |
| 17 | fastenedOrigin | Creates a new fastened origin constraint | api |
| 18 | updateFastenedOrigin | Updates an existing fastened origin constraint | api |
| 19 | getFastenedOrigin | Returns the fastened origin constraint of given reference | api |
| 20 | revolute | Creates a new revolute constraint | api |
| 21 | updateRevolute | Updates a revolute constraint | api |
| 22 | getRevolute | Returns the revolute constraint of given reference | api |
| 23 | cylindrical | Creates a new cylindrical constraint | api |
| 24 | updateCylindrical | Updates an existing cylindrical constraint | api |
| 25 | getCylindrical | Returns the cylindrical constraint of given reference | api |
| 26 | parallel | Creates a new parallel constraint | api |
| 27 | updateParallel | Updates an existing parallel constraint | api |
| 28 | getParallel | Returns the parallel constraint of given reference | api |
| 29 | planar | Creates a new planar constraint | api |
| 30 | updatePlanar | Updates an existing planar constraint | api |
| 31 | getPlanar | Returns the planar constraint of given reference | api |
| 32 | slider | Creates a new slider constraint | api |
| 33 | updateSlider | Updates an existing slider constraint | api |
| 34 | getSlider | Returns the slider constraint of given reference | api |
| 35 | spherical | Creates a new spherical constraint | api |
| 36 | updateSpherical | Updates an existing spherical constraint | api |
| 37 | getSpherical | Returns the spherical constraint of given reference | api |
| 38 | gear | Creates a new gear relation | api |
| 39 | updateGear | Updates an existing gear relation | api |
| 40 | getGear | Returns the gear relation of given reference | api |
| 41 | group | Creates a new group constraint | api |
| 42 | updateGroup | Updates an existing group constraint | api |
| 43 | getGroup | Returns the group constraint of given reference | api |
| 44 | deleteConstraint | Deletes constraints/relations from assemblies | api |
| 45 | update3DConstraintValue | Updates multiple limited values of constraints | api |
| 46 | linearPattern | Creates a new linear pattern constraint | api |
| 47 | updateLinearPattern | Updates an existing linear pattern constraint | api |
| 48 | getLinearPattern | Returns the linear pattern constraint of given reference | api |
| 49 | circularPattern | Creates a new circular pattern constraint | api |
| 50 | updateCircularPattern | Updates an existing circular pattern constraint | api |
| 51 | getCircularPattern | Returns the circular pattern constraint of given reference | api |
| 52 | transformInstance | Transforms instances by the given transformation | api |
| 53 | transformInstanceTo | Transforms instances to a given absolute transformation | api |
| 54 | startMovingUnderConstraints | Prepares to move constrained objects | api |
| 55 | moveUnderConstraints | Attempts to move constrained objects | api |
| 56 | finishMovingUnderConstraints | Finishes moving the constrained objects | api |
| 57 | setCurrentInstance | Sets the given instance or root assembly as the current | api |
| 58 | setCurrentProduct | Sets the current product | api |
| 59 | setIdent | Sets a string identifier for an existing object | api |
| 60 | getWorkGeometry | Returns the id of a work geometry object from an assembly or instance | api |
| 61 | calculateMassProperties | Calculates center of gravity and volume of the given object | api |
| 62 | createUncommitedObject | Creates a new uncommited object (use with clear intention only) | api |
<a name="sketch"></a>
2D sketch creation and editing: geometry (points, lines, arcs, circles, rectangles), constraints, dimensions, sketch regions, patterns (linear, circular, mirror), reference geometry, rigid sets, fillets, trimming, splitting, and geometry queries.
| # | API Name | Summary | Source |
|---|---|---|---|
| 1 | create | Creates a new sketch and places it optionally on a face or work plane | api |
| 2 | setWorkPlane | Sets workplane for the sketch | api |
| 3 | point | Creates one or multiple points in the sketch | api |
| 4 | line | Creates one or multiple lines in the sketch | api |
| 5 | circle | Creates one or multiple circles in the sketch | api |
| 6 | arcByCenter | Creates one or multiple arcs by center in the sketch | api |
| 7 | arcBy3Points | Creates one or multiple arcs by 3 points in the sketch | api |
| 8 | rectangle | Creates a rectangle formed by two positions | api |
| 9 | geometry | Creates one or multiple sketch geometry in the sketch | api |
| 10 | constraint | Creates one or multiple constraints in the sketch | api |
| 11 | dimension | Creates one or multiple dimensional constraints in the sketch | api |
| 12 | updateDimension | Updates the dimension of sketch geometry and recalculates | api |
| 13 | updateDimensionPosition | Updates the position of the dimension text | api |
| 14 | updateGeometry | Updates the sketch geometry | api |
| 15 | sketchRegion | Creates a sketch region for a given sketch from sketch geometry | api |
| 16 | updateSketchRegion | Updates sketch regions with new sketch geometry | api |
| 17 | getSketchRegion | Returns the id of the sketch region with the given name | api |
| 18 | referenceGeometry | Creates new "Use"-Geometry in sketch | api |
| 19 | changeReferenceGeometry | Re-links "Use"-Geometry to another reference | api |
| 20 | unlinkReferenceGeometry | Unlinks "Use"-Geometry (keeps geometry, removes reference link) | api |
| 21 | setReferences | Creates and sets the plane, axis and origin reference of the sketch | api |
| 22 | rigidSet | Creates a rigid set from given sketch geometry | api |
| 23 | linearPattern | Patterns a rigidset or single object in linear/rectangular order | api |
| 24 | circularPattern | Patterns a rigidset or single object in circular order | api |
| 25 | mirrorPattern | Patterns a rigidset or single object in mirror order | api |
| 26 | copyGeometry | Copies sketch geometry | api |
| 27 | copyFrom | Copies the sketch geometry from one sketch to another | api |
| 28 | moveGeometry | Moves the given sketch geometry by translation vector | api |
| 29 | fillet | Creates a fillet in place of a point and its two connecting lines | api |
| 30 | undoFillet | Deletes an existing fillet by removing the arc and reconnecting lines | api |
| 31 | trim | Removes curve segments produced by preTrim (step 2 of trim workflow) | api |
| 32 | preTrim | Splits curves at their mutual intersections (step 1 of trim workflow) | api |
| 33 | splitCurve | Splits one curve at explicit normalized parameter positions | api |
| 34 | postTrim | Merges split curves back, finalizing the trim (step 3 of trim workflow) | api |
| 35 | generateAutoConstraints | Automatically generates constraints where sensible without redundancy | api |
| 36 | loadFrom | Loads an OFB file and copies sketch geometry to an existing sketch | api |
| 37 | getGeometry | Gets all sketch geometry from a sketch, region or rigid set | api |
| 38 | getPoints | Gets the specific point ids of lines, arcs or circles | api |
| 39 | getPositions | Gets the specific positions of points, lines, arcs or circles | api |
| 40 | deleteObject | Deletes dimensions, constraints, geometry, regions or rigid sets | api |
| 41 | deleteSketch | Deletes existing sketches | api |
<a name="curve"></a>
Low-level 3D curve creation in shape containers: lines, arcs, circles, ellipses, Bezier curves, interpolation curves, polylines, advanced polylines (with fillets/chamfers), and 2D boolean operations on shapes.
| # | API Name | Summary | Source |
|---|---|---|---|
| 1 | shape | Creates a shape container in an entity injection feature | api |
| 2 | deleteShape | Deletes shapes | api |
| 3 | cleanShape | Cleans shapes (deletes curves but keeps the shape container) | api |
| 4 | line | Creates one or multiple lines in a shape container | api |
| 5 | circle | Creates one or multiple circles in a shape container | api |
| 6 | arcBy3Points | Creates arcs defined by start, end and mid point | api |
| 7 | arcByCenterRadAngle | Creates arcs defined by center, radius and angle | api |
| 8 | arcByCenter | Creates arcs defined by start, end and center point | api |
| 9 | ellipse | Creates one or multiple ellipse curves | api |
| 10 | ellipticArc | Creates one or multiple elliptic arc curves | api |
| 11 | bezierCurve | Creates BezierCurves of degree n (number of points - 1) | api |
| 12 | interpolationCurve | Creates an interpolation curve through given array of points | api |
| 13 | polyline2d | Creates entity array of lines and arcs from polyline definition with points and bulges | api |
| 14 | advancedPolyline | Creates an advanced polyline using point-line definitions (with radius/chamfer support) | api |
| 15 | translateShape | Translates a shape by the given vector | api |
| 16 | rotateShape | Rotates a shape by the given rotation vector | api |
| 17 | transformShape | Transforms a shape with a 4x4 transformation matrix | api |
| 18 | scaleShape | Scales a shape with a factor | api |
| 19 | union2d | Creates a union between two shapes | api |
| 20 | subtraction2d | Creates a subtraction between two shapes | api |
| 21 | intersection2d | Creates an intersection between two shapes | api |
<a name="solid"></a>
Direct solid body operations within entity injection features: primitive creation (box, sphere, cylinder, cone), extrusion, revolve, boolean operations (union, subtraction, intersection, merge), transformations (translation, rotation, scale, mirror, offset, slice, section), copy, fillet, and cross-feature solid access.
| # | API Name | Summary | Source |
|---|---|---|---|
| 1 | box | Creates a box solid | api |
| 2 | sphere | Creates a sphere solid | api |
| 3 | cylinder | Creates a cylinder solid | api |
| 4 | cone | Creates a cone solid | api |
| 5 | extrusion | Creates an extrusion by extruding a shape or sketch geometry | api |
| 6 | revolve | Creates a revolve by revolving a polyline | api |
| 7 | copy | Creates a copy of the given solid | api |
| 8 | deleteSolid | Deletes the given solids or all solids | api |
| 9 | union | Creates a union between solids | api |
| 10 | subtraction | Creates a subtraction between solids | api |
| 11 | intersection | Creates an intersection between solids | api |
| 12 | merge | Creates a merge between solids (NOT a union) | api |
| 13 | mirror | Mirrors the given solid at defined plane | api |
| 14 | translation | Translates the given solid by a vector | api |
| 15 | rotation | Rotates the given solid by a rotation vector | api |
| 16 | scale | Scales the given solid with a factor | api |
| 17 | offset | Creates an offset solid of the given solid | api |
| 18 | slice | Cuts the given solid at defined plane | api |
| 19 | section | Sections the given solid at the given plane | api |
| 20 | fillet | Creates a fillet at the given edges | api |
| 21 | useSolid | Accesses solids from other features for use within an entity injection | api |
<a name="drawing2d"></a>
2D technical drawing: view creation and placement, dimensioning, boundary boxes, and export to DXF/SVG formats.
| # | API Name | Summary | Source |
|---|---|---|---|
| 1 | view | Creates 2D views of the given product (solids) in xy-plane | api |
| 2 | centerView | Centers all given views to origin based on each view's boundary box | api |
| 3 | placeView | Places each view relatively to its current position in xy-plane | api |
| 4 | getBoundaryBoxFromView | Returns min and max point for each given view | api |
| 5 | dimension | Creates one or multiple dimensions in the product | api |
| 6 | deleteDimension | Deletes one or multiple dimensions of the 2D view | api |
| 7 | updateDimensionPosition | Updates the position of the dimension text | api |
| 8 | exportDXF | Exports all the views from given product into DXF | api |
| 9 | exportSVG | Exports all the views from given product into SVG | api |
| 10 | isDXFAvailable | Returns true if DXF functionality is available | api |
| 11 | isSVGAvailable | Returns true if SVG functionality is available | api |
Practical workflow guides for complex multi-API tasks.
| Guide | Description | Reference |
|---|---|---|
| Sketching | Reproducing technical drawings: dimension analysis, circle-based construction, trim workflow, constraint placement, iterative evaluation | recipes/constrained-sketching.md |
| Parametric part | Expressions + constrained sketches + @expr dims, in-tree regeneration, liveness rules | recipes/parametric-part.md |
| Assembly parameters | Values shared by several parts of an assembly: parameter part, refresh sequence, recalc vs. constraint solve, csys driven by expressions | recipes/assembly-parameters.md |
| Pattern → subtract | N cutouts around an axis: one tool, merged pattern, single subtraction | recipes/pattern-then-subtract.md |
| Direct modeling (EIF) | solid.* inside an entity injection: operation order, curve profiles with bulges, no recalc | recipes/direct-modeling-eif.md |
| Verification (mandatory) | Input-type-keyed: perception-first reference records for drawings/images + numeric tiers (mass props, bounds, brep probes) for every build | recipes/verification.md |
© awv-informatik, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 279 other files (scripts, references) in packages/skill of awv-informatik/classcad-ai.
Open the folder on GitHubat commit 0773070
Classcad next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Classcad this skillawv-informatik/classcad-ai | 118 | — | ~12k | Automated safety check: Pass | MIT | |
| Lua Ecozhaojh329/lua-eco | 103 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Dev Rulesrust-dd/tako | 162 | — | ~810 | Automated safety check: Pass | MIT | |
| System Bridge Go Backendtimmo001/system-bridge | 356 | — | ~841 | Automated safety check: Pass | Apache-2.0 | |
| Debug Logsadam-s/intercept | 189 | — | ~1.1k | Automated safety check: Pass | MIT | |
| iOS Networkingdpearson2699/swift-ios-skills | 1.2k | — | ~4.2k | Automated safety check: Pass | Custom licence |
zhaojh329/lua-eco
International lua-eco public API skill for writing, reviewing, explaining, and fixing Lua 5.4 code that runs on the eco runtime.
rust-dd/tako
General coding-style rules to apply to every project. An agent skill from rust-dd/tako.
timmo001/system-bridge
System Bridge Go backend conventions - error wrapping, graceful degradation for data modules, nil-pointer safety, context-aware Module.Update, structured slog logging, and errcheck-clean deferred…
adam-s/intercept
Iterative debugging with targeted logs. An agent skill from adam-s/intercept.
dpearson2699/swift-ios-skills
Build, review, or improve networking code in iOS/macOS apps using URLSession with async/await, structured concurrency, and modern Swift patterns.
managedcode/dotnet-skills
Implement or review SignalR hubs, streaming, reconnection, transport, and real-time delivery patterns in ASP.NET Core applications.
awv-informatik/classcad-ai
Design, build, verify and export 3D CAD models with the ClassCAD MCP.
Categories
Structured API reference for the ClassCAD headless parametric CAD engine (v1 JSON/WebSocket API). Classcad is an agent skill from awv-informatik/classcad-ai. Structured API reference for the ClassCAD headless parametric CAD engine (v1 JSON/WebSocket API).
Classcad fits situations like: debugging ClassCAD API calls — modeling parts; 2D drawings — to look up exact method signatures; verified gotchas; working examples across all 254 APIs in 7 domains.
Run `npx skills add awv-informatik/classcad-ai --skill classcad -a claude-code`. Or copy the skill folder (packages/skill in awv-informatik/classcad-ai) into .claude/skills/classcad in your project. Claude Code loads it when a task matches its description.
Run `npx skills add awv-informatik/classcad-ai --skill classcad -a codex`. Or copy the skill folder (packages/skill in awv-informatik/classcad-ai) into .agents/skills/classcad in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add awv-informatik/classcad-ai --skill classcad -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/classcad, .gemini/skills/classcad, .github/skills/classcad and .opencode/skills/classcad in your project.
Going by SKILL.md and its folder, Classcad needs TypeScript and JavaScript for the scripts in its folder. Our summary lists: Node.js.
SKILL.md names 1 domain. As links in the text: classcad.ch. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Classcad is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 12k tokens (SKILL.md is roughly 47k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 396k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Classcad: Lua Eco (zhaojh329/lua-eco, 103 stars), Dev Rules (rust-dd/tako, 162 stars), System Bridge Go Backend (timmo001/system-bridge, 356 stars) and Debug Logs (adam-s/intercept, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
awv-informatik (a GitHub organization) maintains it in awv-informatik/classcad-ai, which has 118 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.
Source: awv-informatik/classcad-ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.