Agent skill

Simplecadapi

by PhySpace in PhySpace/SimpleCADAPI

Build, assemble, inspect, reconstruct, and export parametric CAD models with the SimpleCADAPI Python SDK.

Apache-2.0Auto-check passedGame Development

Install Simplecadapi

skills CLI
$ npx skills add PhySpace/SimpleCADAPI --skill simplecadapi -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PhySpace/SimpleCADAPI simplecadapi --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PhySpace/SimpleCADAPI.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/skill .claude/skills/simplecadapi && rm -rf skills-src

Use ~/.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/

Facts

Skill name
simplecadapi
GitHub stars
140
Token cost
~2.5k tokens
SKILL.md length
1,101 words
Files
429 (incl. references)
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build, assemble, inspect, reconstruct, and export parametric CAD models with the SimpleCADAPI Python SDK.

  • Works in 5 steps: Read this file. → Select exactly one workflow from Task… → Read the selected workflow in full. From… → …
  • SimpleCAD geometry modeling
  • SKILL.md covers Mandatory load order, Task routing, Routing discipline and Global rules (every task), plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Simplecadapi is an agent skill from PhySpace/SimpleCADAPI. Build, assemble, inspect, reconstruct, and export parametric CAD models with the SimpleCADAPI Python SDK. Use for SimpleCAD geometry modeling, constrained sketches, parts and assemblies, standard gears and bearings, STEP/BREP inspection and reconstruction, vector-PDF drawing reconstruction, durable product packages, model JSON replay, and CAD backend translation.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 432 other files, including reference files (for example `references/README.md`, `references/SDK_OVERVIEW.md` and `references/discipline/assembly-positioning.md`).

It sits in Game Development, covering 3D graphics and WebGL and Translation. It works with Python. The repository describes itself as: An agent-native CAD SDK for language models to create, inspect, and reconstruct complex, editable 3D models. The licence is Apache-2.0.

When your agent uses it

  • SimpleCAD geometry modeling
  • Constrained sketches
  • Parts and assemblies
  • Standard gears and bearings

Example prompts

  • “/simplecadapi”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Read this file.
  2. Select exactly one workflow from Task routing. If two rows
  3. Read the selected workflow in full. From selection on, it owns the
  4. Load each required domain/discipline file the workflow names
  5. Before the first call of any API, read its exact page

What it can do on your machine

Read from SKILL.md and the folder at commit ea93070. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Simplecadapi loads about 2.5k tokens when it runs, and up to ~218k if it reads all its reference files. Until then it costs about 95 tokens; SKILL.md has 1,101 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~95
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~218k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from PhySpace/SimpleCADAPI at commit ea93070, republished under its Apache-2.0 licence (© PhySpace). 1,101 words, ~2,535 tokens.

Download SKILL.mdSave it as .claude/skills/simplecadapi/SKILL.md (or your agent's skills folder). This skill also uses 428 other files; get the full folder from GitHub.
name
simplecadapi
description
Build, assemble, inspect, reconstruct, and export parametric CAD models with the SimpleCADAPI Python SDK. Use for SimpleCAD geometry modeling, constrained sketches, parts and assemblies, standard gears and bearings, STEP/BREP inspection and reconstruction, vector-PDF drawing reconstruction, durable product packages, model JSON replay, and CAD backend translation.
license
Apache-2.0
metadata.project
simplecadapi
metadata.version
2.1.3
metadata.package-name
simplecadapi
metadata.package-version
2.1.3

SimpleCAD SDK Skill

This file is the router: it owns load order, route selection, and execution discipline only. Each selected workflow owns its procedure. Classify the request, load exactly one workflow, follow its domain and discipline references, and read exact API pages for the APIs its steps use.

Mandatory load order

Paths are relative to this file's directory.

  1. Read this file.
  2. Select exactly one workflow from Task routing. If two rows plausibly match, ask one discriminator question that names the candidate outcomes; never pick silently between routes with different deliverables.
  3. Read the selected workflow in full. From selection on, it owns the procedure; do not load another workflow's procedure.
  4. Load each required domain/discipline file the workflow names before the step that uses it; optional ones only when their trigger fires.
  5. Before the first call of any API, read its exact page (references/docs/api/<name>.md, references/docs/stdlib/<name>.md, references/docs/core/<type>.md). A method absent from its page does not exist, however plausible it looks.
  • You MUST NOT read the full API or stdlib index up front; the workflow names every page its steps need.
  • Routing questions are decided here; after selection the workflow owns execution. You MUST always follow the global rules and execution discipline below.
  • Questions about an existing STEP file that change nothing enter no workflow; you MUST use references/domains/step-inspection.md for them directly.
  • Creating, installing, updating, or removing a SimpleCADAPI addon (a third-party skill+tooling package around .scadpkg) enters no workflow; you MUST use references/domains/addon-development.md directly.

Task routing

Read exactly one workflow first, per the user's goal:

User goalWorkflow
Model one physical partreferences/workflows/single-part-modeling.md
Multi-part product or mechanism (custom parts, stdlib gears/bearings, connectors, constraints, package)references/workflows/assembly-product-build.md
Rebuild an editable model from a STEP filereferences/workflows/step-reconstruction.md
Export/translate a validated packagereferences/workflows/export-and-translation.md
Produce a GB engineering drawing (DXF) from validated geometryreferences/workflows/engineering-drawing.md
Rebuild a 3D model from a vector-PDF engineering drawingreferences/workflows/drawing-reconstruction.md

Do not present route-choice menus when a row already matches: profile, strategy, and tool choices inside a route belong to that workflow's own gates, not to an up-front question. A missing prerequisite — state it and stop that route; never invent an alternative route.

Routing discipline

RuleBehavior
One lifecycle per requestEvery task enters exactly one workflow; domains, disciplines, and guides refine it and are never competing routes
Deterministic selectionWhen the matrix matches, proceed without asking a route question
Ambiguous requestAsk one discriminator question naming the candidate deliverables (editable model vs inspection evidence vs export package), then route
Missing prerequisiteName what is missing and stop that route
Explicit user overrideHonor it only when the target route's scope actually covers the request

Global rules (every task)

  1. Refine the requirement into a brief before modeling (references/domains/requirement-refinement.md).
  2. Use keyword arguments for every documented public API and stdlib function, except the canonical durable export call capture(result, path), whose two required arguments are positional.
  3. Every model is a marimo notebook with a [tool.simplecadapi] header (references/docs/guides/notebook-runtime.md): one part per notebook; one assembly notebook per product, composing children with scad.use(...); parameters live in the notebook that consumes them; exposed tunable parameters are var()/Var declarations (optionally with unit, tolerance). Part sources follow the Feature Tree Convention (references/discipline/feature-tree-convention.md): block structure sketch → basic body op → bool → modifier, one feature per block and one block per cell, with a mandatory boundary comment # ---- feature: <slug> (<role>) ----; 2D profiles and planar paths go through the sketch API, primitives only when the shape is completely contained in the basic form.
  4. Booleans (union_rsolid, cut_rsolid, intersect_rsolid) accept mixed inputs and return exactly one Solid; union defaults to glue=False with a conservative scale-relative tolerance and fails explicitly when it cannot produce one merged solid.
  5. Build and validate incrementally: each major step prints small QL-derived facts; grounding uses QL wherever possible; never print whole solids or full model objects.
  6. Topology enumeration is QL-only and strictly enforced: plural getters (get_edges, get_faces, get_wires, get_vertices, get_solids, get_inner_wires) accept ONLY an index — the no-argument list form raises. Enumerate, count, and measure via ql.<kind>().resolve(shape); filter with QL predicates plus take/exactly cardinality; never build selections by looping over an enumerated list and indexing it. Indexed picks (get_edges(index)) are reserved for intentional, named choices and are recorded as graph selection nodes.
  7. Tags: attach with apply_tag(shape=..., tag=...) (LOCAL scope — it never propagates downward); inspect with list_tags(shape=...); keep numeric facts in metadata, never in tags.
  8. The notebook file is the only source of truth; .scadpkg is generated from it for exchange and publishing (sca run product.py --out out/product.scadpkg, or capture(result, "out/product.scadpkg") in one call) and is never read back as a source. @scad.part / @scad.assemble are for reusable library parts in plain modules; they may be called inside a notebook cell.
  9. simplecadapi.inspect.brep and simplecadapi.inspect.drawing are diagnostic-only and rejected inside GraphSession; obtain/export geometry first, inspect outside.
  10. Standard parts first: before hand-modeling a gear, ring gear, rack, cycloidal disc, or bearing, check scad.std.gear / scad.std.bearing.
  11. Read references/docs/guides/notebook-runtime.md in full before writing a notebook, composing notebooks, or reasoning about the cell cache. Run models with sca run; never enable marimo's [tool.marimo.runtime] cache_cells in the editor, and never commit the generated __marimo__/ directory.
Show full SKILL.md (256 more words)Show less

Boundaries

  • .scadpkg is the canonical durable product; STL/OBJ/MJCF are point-in-time exports, never editable sources.
  • Model JSON is the replay/interchange contract for explicit GraphSession flows; never hand-author payloads.
  • No claims of strength, fatigue, thermal, vibration, tolerance compliance, or regulatory fitness without the corresponding analysis actually run.

Execution discipline (every task)

  1. Gates bind artifacts: a validation gate passes only when its named artifact exists — printed QL facts, targeted measurements, named rendered views, completed brief fields. A stated feeling of success is not a gate result.
  2. Blocking waits: an Ask-or-Record blocking item resolves before any geometry — asked once (batched into one question set) or recorded as an explicit assumption. Proceeding with neither is the failure, not the asking.
  3. Serial phases: do not preload later-phase pages or build later-phase artifacts early. After an interruption, re-ground from the owning artifact (source file, brief), not from conversation memory.
  4. Repair the owning source: the named parameter, the brief field, or the upstream selection — never the downstream symptom. Candidate x parameter enumeration loops are diagnosis debt, not repair (references/discipline/failure-and-repair.md).
  5. A failed check closes by changing the design or by redefining the check with the user — never by weakening or deleting the check.

Example SDK usage

python
import simplecadapi as scad
from simplecadapi import GraphSession, export_model_json, replay_model_json

with GraphSession(graph_id="box") as session:
    shape = scad.make_box_rsolid(width=10.0, height=20.0, depth=30.0)
    session.capture_result(value=shape)
    payload = export_model_json(session=session)

rebuilt = replay_model_json(json_str=payload)
print(len(rebuilt))

References

  • references/README.md — skill layer structure
  • references/workflows/ — goal-oriented workflows, including drawing reconstruction
  • references/domains/ — capability domains, including drawing inspection
  • references/discipline/ — modeling knowledge and invariants
  • references/SDK_OVERVIEW.md — package-level map
  • references/inspect/brep-reverse-engineering.md
  • references/domains/addon-development.md — sca addon CLI and authoring guide
  • references/docs/guides/reconstruction-agent-test-prompt.md
  • references/docs/guides/reconstruction-agent-strategy.md
  • references/docs/guides/notebook-runtime.md
  • references/ql-playbook.md
  • references/scadpkg-format.md — .scadpkg consumer spec: member layout, tag channel, minimal readers (addon exporters read this)
  • references/docs/api/, references/docs/stdlib/, references/docs/core/

© PhySpace, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 428 other files (references) in docs/skill of PhySpace/SimpleCADAPI.

  • SKILL.md
  • references/LICENSE.txt
  • references/README.md
  • references/SDK_OVERVIEW.md
  • references/discipline/assembly-positioning.md
  • references/discipline/datums-and-coordinate-systems.md
  • references/discipline/failure-and-repair.md
  • references/discipline/feature-ordering.md
  • references/discipline/feature-tree-convention.md
  • references/discipline/geometric-validation.md
  • references/discipline/manufacturing-boundaries.md
  • references/discipline/mechanical-modeling.md
  • references/discipline/requirement-and-cad-brief.md
  • references/docs/api/Assembly.md
  • references/docs/api/AssemblyBuildResult.md
  • references/docs/api/BRepComparison.md
  • references/docs/api/BRepEntityError.md
  • … and 412 more

Open the folder on GitHubat commit ea93070

Compare with similar skills

Simplecadapi 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.

Simplecadapi compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Simplecadapi this skillPhySpace/SimpleCADAPI140—~2.5kAutomated safety check: PassApache-2.0
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Bambu Studio AIheyixuan2/bambu-studio-ai217—~4.3kAutomated safety check: PassMIT
Text To 3D AssetLaurentiuGabriel/unreal-game-assets-creation-skill146—~2.1kAutomated safety check: PassNone
Build123drawwerks/VibeCAD121—~1.4kAutomated safety check: NotesMIT
Blender Web Export Pipelinefreshtechbro/claudedesignskills986—~4.2kAutomated safety check: PassMIT

Similar skills

  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Bambu Studio AI

    heyixuan2/bambu-studio-ai

    End-to-end 3D printing for Bambu Lab printers. An agent skill from heyixuan2/bambu-studio-ai.

    217 GitHub stars~4.3k tokensUpdated 18 days ago
    Game DevelopmentAuto-check passed
  • Text To 3D Asset

    LaurentiuGabriel/unreal-game-assets-creation-skill

    Generate a game-ready 3D asset by running the local AI pipeline sequentially: Fooocus (SDXL text-to-image) - Hunyuan3D-2 (image-to-textured-GLB) - optional Blender FBX convert + Unreal import.

    146 GitHub stars~2.1k tokensUpdated 2 mo ago
    Game DevelopmentAuto-check passed
  • Build123d

    rawwerks/VibeCAD

    CAD modeling with build123d Python library. An agent skill from rawwerks/VibeCAD.

    121 GitHub stars~1.4k tokensUpdated 9 mo ago
    Game DevelopmentAuto-check: notes
  • Blender Web Export Pipeline

    freshtechbro/claudedesignskills

    Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.

    986 GitHub stars~4.2k tokensUpdated 10 mo ago
    Game DevelopmentAuto-check passed
  • Gen Part

    partcad/partcad

    Generate a PartCAD part from a natural-language description (and optional reference images/requirements) by authoring a CAD script and validating it with the PartCAD CLI.

    503 GitHub stars~1.9k tokensUpdated today
    Game DevelopmentAuto-check passed

More from PhySpace/SimpleCADAPI

  • Marimo Pair

    PhySpace/SimpleCADAPI

    Drive a live marimo notebook as a workspace: run Python in the same kernel the user does, inspect live notebook state, and commit durable notebook changes.

    140 GitHub stars~3k tokensUpdated 5 days ago
    Auto-check passed
  • Retro Marimo Pair

    PhySpace/SimpleCADAPI

    Session retrospective for improving marimo-pair and marimo.codemode.

    140 GitHub stars~1.6k tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about Simplecadapi

What does Simplecadapi do?

Build, assemble, inspect, reconstruct, and export parametric CAD models with the SimpleCADAPI Python SDK. Simplecadapi is an agent skill from PhySpace/SimpleCADAPI. Build, assemble, inspect, reconstruct, and export parametric CAD models with the SimpleCADAPI Python SDK.

When should I use Simplecadapi?

Simplecadapi fits situations like: simpleCAD geometry modeling; constrained sketches; parts and assemblies; standard gears and bearings.

How do I install Simplecadapi in Claude Code?

Run `npx skills add PhySpace/SimpleCADAPI --skill simplecadapi -a claude-code`. Or copy the skill folder (docs/skill in PhySpace/SimpleCADAPI) into .claude/skills/simplecadapi in your project. Claude Code loads it when a task matches its description.

How do I install Simplecadapi in Codex?

Run `npx skills add PhySpace/SimpleCADAPI --skill simplecadapi -a codex`. Or copy the skill folder (docs/skill in PhySpace/SimpleCADAPI) into .agents/skills/simplecadapi in your project. Codex loads it when a task matches its description.

Can I use Simplecadapi in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PhySpace/SimpleCADAPI --skill simplecadapi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/simplecadapi, .gemini/skills/simplecadapi, .github/skills/simplecadapi and .opencode/skills/simplecadapi in your project.

What does Simplecadapi need to run?

SKILL.md names no scripts, command-line tools or credentials: Simplecadapi is instructions for the agent only. Our summary lists: Python 3.

Does Simplecadapi access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Simplecadapi safe to install?

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. Review the folder before installing.

What licence does Simplecadapi use?

Simplecadapi is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Simplecadapi use?

About 2.5k tokens (SKILL.md is roughly 10k 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 216k tokens, read only when the agent opens those files.

What are the alternatives to Simplecadapi?

Skills that share tags, products or a category with Simplecadapi: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Bambu Studio AI (heyixuan2/bambu-studio-ai, 217 stars), Text To 3D Asset (LaurentiuGabriel/unreal-game-assets-creation-skill, 146 stars) and Build123d (rawwerks/VibeCAD, 121 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Simplecadapi?

PhySpace (a GitHub organization) maintains it in PhySpace/SimpleCADAPI, which has 140 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 2, 2026.

Source: PhySpace/SimpleCADAPI on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.