Agent skill

Export

by partcad in partcad/partcad

Write a CAD file out of an object a PartCAD package declares - STEP, BREP, STL, 3MF, OBJ, IGES, glTF, three.js, URDF for 3D, SVG or DXF for a sketch, or a file type the package implements itself -…

Apache-2.0Auto-check passedGame Development

Install Export

skills CLI
$ npx skills add partcad/partcad --skill export -a claude-code

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

GitHub CLI
$ gh skill install partcad/partcad export --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/partcad/partcad.git skills-src && mkdir -p .claude/skills && cp -r skills-src/ai-agents/common/skills/export .claude/skills/export && 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
export
GitHub stars
503
Token cost
~1.7k tokens
SKILL.md length
988 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

Write a CAD file out of an object a PartCAD package declares - STEP, BREP, STL, 3MF, OBJ, IGES, glTF, three.js, URDF for 3D, SVG or DXF for a sketch, or a file type the package implements itself -…

  • Works in 5 steps: Work out which case you are in → Make sure PartCAD is available → Export → …
  • The user asks to export
  • SKILL.md covers 1. Work out which case you are…, 2. Make sure PartCAD is…, 3. Export and 4. Exporting part of an assembly, plus 1 more section
  • Calls python

What it does

Export is an agent skill from partcad/partcad. Write a CAD file out of an object a PartCAD package declares - STEP, BREP, STL, 3MF, OBJ, IGES, glTF, three.js, URDF for 3D, SVG or DXF for a sketch, or a file type the package implements itself - using pc export, which changes nothing in partcad.yaml. Use for /pc:export or when the user asks to export, save out, dump, hand off, or produce a CAD file of a part, sketch, assembly or whole package - for a printer, a supplier, a simulator, or another CAD tool. For a bare file with no package use /pc:convert; for a 2D…

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development, covering 3D graphics and WebGL. It works with Three.js. The repository describes itself as: Package manager for things. Start designing modular hardware! PartCAD is the standard for documenting manufacturable physical products (a.k.a. Digital Thread or TDP). It comes… The licence is Apache-2.0.

When your agent uses it

  • The user asks to export
  • Produce a CAD file of a part
  • Whole package - for a printer
  • Another CAD tool

Example prompts

  • “/export”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Work out which case you are in
  2. Make sure PartCAD is available
  3. Export
  4. Exporting part of an assembly
  5. Report what happened

What it can do on your machine

Read from SKILL.md and the folder at commit 2b1223f. 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

    Shell commands in SKILL.md call:

    • 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

Export loads about 1.7k tokens when it runs. Until then it costs about 138 tokens; SKILL.md has 988 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~138
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

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 partcad/partcad at commit 2b1223f, republished under its Apache-2.0 licence (© partcad). 988 words, ~1,730 tokens.

Download SKILL.mdSave it as .claude/skills/export/SKILL.md (or your agent's skills folder).
name
export
description
Write a CAD file out of an object a PartCAD package declares - STEP, BREP, STL, 3MF, OBJ, IGES, glTF, three.js, URDF for 3D, SVG or DXF for a sketch, or a file type the package implements itself - using `pc export`, which changes nothing in `partcad.yaml`. Use for /pc:export or when the user asks to export, save out, dump, hand off, or produce a CAD file of a part, sketch, assembly or whole package - for a printer, a supplier, a simulator, or another CAD tool. For a bare file with no package use /pc:convert; for a 2D picture use /pc:render.

pc:export

Write geometry out of a package, leaving the package exactly as it was. $ARGUMENTS says what to export and to what.

pc export is the close sibling of pc convert, and the difference is the whole reason to know both:

writes a filechanges partcad.yamlformats
pc exportyesnomore — urdf, plus any a package implements itself
pc convertyesyes — the object becomes the new formata fixed list per kind

So this is what to use whenever someone wants a file out of a package — to print, to quote, to import somewhere else — which is nearly always what "export it as STEP" means. /pc:convert is for the rarer case where the object itself should stop being what it is.

1. Work out which case you are in

Do this before running anything. It is the same first step in /pc:convert and /pc:render.

  1. Is there a package? PartCAD searches upward for partcad.yaml, so look in the current directory and above. pc --no-ansi list lists what the package holds; if there is no package it says so.
  2. Does the reference name an object? Check it against pc --no-ansi list parts / list sketches / list assemblies. pc --no-ansi info <name> succeeds only for an object that resolves.
  3. Does a file the user named belong to an object? Someone who says "export bracket.step as STL" inside a package usually means the part built from it. Read partcad.yaml and look for an object whose path: is that file — and note that a file-backed object without a path: is <name> plus the type's extension, so a part bracket of type step is bracket.step whether or not the path is written down.

If 2 or 3 matched, it is an object: use pc export (§3).

If there is no package, or the file is not one an object is built from, there is nothing to export from. A bare file is converted, not exported: hand it to pc adhoc convert — that is /pc:convert §4, and it is the ad-hoc equivalent of this skill, since it too writes a file and changes no package.

2. Make sure PartCAD is available

Resolve a command as /pc:init does (pc, then partcad, then python -m partcad_cli.click.command). If none is found, stop and run /pc:setup executable first.

Pass --no-ansi on every run so the output is plain text. It is a global flag and goes before the subcommand, and it routes the logs to stderr — so capture both streams when reading them: pc --no-ansi export ... 2>&1.

3. Export

sh
mkdir -p ./out                                       # -O expects the directory to exist
pc --no-ansi export -t stl -O ./out bracket          # a part
pc --no-ansi export -t step -O ./out -a gearbox      # an assembly (-a)
pc --no-ansi export -t dxf -O ./out -s outline       # a sketch (-s)
pc --no-ansi export -t stl -O ./out -P //pub/std bolt  # an object in another package

Formats: step, brep, stl, 3mf, threejs, obj, gltf, iges, urdf, svg, dxf, plus any file type a package implements itself. -t urdf writes a .urdf plus the directory of mesh files it references — it is the one that produces more than one file.

svg and dxf are the flat pair, and are what a sketch exports to: a sketch is already 2D, so this is its geometry and not a picture of it. A part or an assembly accepts them as well, but what comes back is a projection — if that is what is wanted, /pc:render is the command that says so, and the viewing-angle options exist only there.

Useful options:

  • -O <dir> — where the files go. The directory must exist; add -p to create the structure a configured output path needs.
  • No object name exports everything the package declares; a ... suffix on the package (-P //...) walks the imported packages too, and ...:<name> exports every object of that name from here down. Say what that will produce before running it on a package that imports the public index.
  • -e <package> — read another package's export: options and implementations, which is how one package's exporter is applied to another's objects.

Each file is named after the object, so exporting several objects into one directory is safe — unlike several views of one object, which is /pc:render.

If the format the user asked for is not in the list, check whether the package implements it: read the export: and render: sections of partcad.yaml. A package can declare a file type of its own, and it is then nameable with -t like any other.

Show full SKILL.md (297 more words)Show less

4. Exporting part of an assembly

--filter keeps only some of the links of an assembly or a scene, so one sub-assembly can be exported without a declaration for it. It takes a JSON or YAML file naming the links, or the same written out on the command line:

sh
pc --no-ansi export -a -t step -O ./out --filter ./head.yaml logo
pc --no-ansi export -a -t step -O ./out --filter '[bone1, bone2]' logo

A link the filter names is kept and a link it does not name is dropped; a link named with nothing under it keeps everything under it, and a link named with children under it keeps those children only. The names are the ones the Assembly YAML file uses, which are the names a connect: uses — read the .assy file to find them. Everything kept stays where the whole assembly put it.

The object has to be named, with -a or -S for its kind: a part has no links, and neither has a whole package. The file written is the one an unfiltered export would have written, under the object's own name, so send two filters of one object to directories of their own with -O.

Nothing is written into the package. A filter: on an export: file type in partcad.yaml asks for the same thing permanently, per file type, which is what the user wants when the subset should be exported every time; and pc filter FILTER SRC DST makes the subset an object of the package, which is what they want when it should have a name.

5. Report what happened

Name the files that were written, with their paths — all of them for -t urdf or a whole-package export, or a count plus the directory when there are many. State that partcad.yaml is unchanged, since that is the property that makes this command the right one. If PartCAD printed an error, surface it verbatim.

© partcad, 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

Just SKILL.md in ai-agents/common/skills/export of partcad/partcad.

Open the folder on GitHubat commit 2b1223f

Compare with similar skills

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

Export compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Export this skillpartcad/partcad503—~1.7kAutomated safety check: PassApache-2.0
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.4k—~2.2kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0
Threejs World Generationcalesthio/OpenMontage65k—~2kAutomated safety check: PassAGPL-3.0

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
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.4k GitHub stars~2.2k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Threejs World Generation

    calesthio/OpenMontage

    Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.

    65k GitHub stars~2k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed
  • 3Dviz Pro Max Scene Builder

    viettranx/3dviz-pro-max

    Guides building an expressive 3D scene in Three.js or Blender by reasoning through intent, object construction and scientific grounding before using a catalog of recipes and kits.

    675 GitHub stars~2.8k tokensUpdated 26 days ago
    Game DevelopmentAuto-check passed

More from partcad/partcad

All 12 skills in this repo
  • Add Interfaces

    partcad/partcad

    Enrich an existing PartCAD part with connection interfaces and ports (mating metadata) so it can be mated to other parts automatically.

    503 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Convert

    partcad/partcad

    Convert a CAD file or a PartCAD object to another geometry format - STEP, BREP, STL, 3MF, OBJ, IGES, glTF, three.js, SVG, DXF, URDF, ASSY - with pc convert for an object a package declares (which…

    503 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Describe

    partcad/partcad

    Write a narratable, accessibility-oriented text description of an existing PartCAD part, assembly, or sketch from its measured bounding box and volume, from renders taken at several viewing angles…

    503 GitHub stars~2.1k tokensUpdated today
    Auto-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
    Auto-check passed
  • Gen Sketch

    partcad/partcad

    Generate a PartCAD 2D sketch from a natural-language description by authoring the sketch (build123d / cadquery / dxf / svg / basic) and validating it with the PartCAD CLI.

    503 GitHub stars~672 tokensUpdated today
    Auto-check passed
  • Init

    partcad/partcad

    Initialize a PartCAD package in the current directory by running the installed PartCAD CLI (pc init / partcad init).

    503 GitHub stars~492 tokensUpdated today
    Auto-check passed

Works with

Questions about Export

What does Export do?

Write a CAD file out of an object a PartCAD package declares - STEP, BREP, STL, 3MF, OBJ, IGES, glTF, three.js, URDF for 3D, SVG or DXF for a sketch, or a file type the package implements itself -…. Export is an agent skill from partcad/partcad.yaml.

When should I use Export?

Export fits situations like: the user asks to export; produce a CAD file of a part; whole package - for a printer; another CAD tool.

How do I install Export in Claude Code?

Run `npx skills add partcad/partcad --skill export -a claude-code`. Or copy the skill folder (ai-agents/common/skills/export in partcad/partcad) into .claude/skills/export in your project. Claude Code loads it when a task matches its description.

How do I install Export in Codex?

Run `npx skills add partcad/partcad --skill export -a codex`. Or copy the skill folder (ai-agents/common/skills/export in partcad/partcad) into .agents/skills/export in your project. Codex loads it when a task matches its description.

Can I use Export 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 partcad/partcad --skill export -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/export, .gemini/skills/export, .github/skills/export and .opencode/skills/export in your project.

What does Export need to run?

Going by SKILL.md and its folder, Export needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Export 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 Export 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 Export use?

Export is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Export use?

About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Export?

Skills that share tags, products or a category with Export: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.4k stars) and Threejs Gameplay Systems (valkor-ai/loom, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Export?

partcad (a GitHub organization) maintains it in partcad/partcad, which has 503 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 7, 2026.

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