A parametric 3D modeling tool to generate CAD parts using code primitives and boolean operations.
Install
mkdir -p .claude/skills/vcad && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8800" && unzip -o skill.zip -d .claude/skills/vcad && rm skill.zipInstalls to .claude/skills/vcad
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create 3D CAD models using vcad MCP tools. Use when the user asks to create 3D parts, mechanical components, plates with holes, brackets, or any parametric geometry. Supports primitives (cube, cylinder, sphere, cone), boolean operations, transforms, patterns, and export to STL/GLB.Key capabilities
- →Generate 3D parts from parametric primitives
- →Execute boolean operations for complex geometry
- →Apply coordinate-based positioning for components
- →Extract volume and bounding box statistics
- →Export models to STL and GLB formats
How it works
Translates JSON descriptions of primitives and operations into programmatic CAD models via MCP tool hooks.
Inputs & outputs
When to use vcad
- →Designing 3D printable mechanical parts
- →Creating mounting plates with specific holes
- →Generating parametric geometry for prototypes
- →Exporting components to STL or GLB
About this skill
vcad - Parametric CAD for AI Agents
Create 3D CAD models programmatically using the vcad MCP tools.
Available Tools
create_cad_document
Build geometry from structured primitives and operations.
export_cad
Export to STL (3D printing) or GLB (visualization).
inspect_cad
Get volume, surface area, bounding box, and triangle count.
Primitive Origins
Understanding where primitives are positioned is critical for correct placement:
| Primitive | Origin | Extent |
|---|---|---|
| Cube | Corner at (0,0,0) | Extends to (size.x, size.y, size.z) |
| Cylinder | Base center at (0,0,0) | Height along +Z |
| Sphere | Center at (0,0,0) | Radius in all directions |
| Cone | Base center at (0,0,0) | Height along +Z |
Positioning Operations
The at parameter accepts three formats:
- Absolute:
{x: 25, y: 15, z: 0}- exact coordinates in mm - Named:
"center","top-center","bottom-center"- relative to base primitive - Percentage:
{x: "50%", y: "50%"}- percentage of base primitive bounds
Common Patterns
Plate with Centered Hole
{
"parts": [{
"name": "plate",
"primitive": {"type": "cube", "size": {"x": 50, "y": 50, "z": 5}},
"operations": [
{"type": "hole", "diameter": 6, "at": "center"}
]
}]
}
Plate with Corner Holes
{
"parts": [{
"name": "mounting_plate",
"primitive": {"type": "cube", "size": {"x": 100, "y": 60, "z": 5}},
"operations": [
{"type": "hole", "diameter": 4, "at": {"x": 10, "y": 10}},
{"type": "hole", "diameter": 4, "at": {"x": 90, "y": 10}},
{"type": "hole", "diameter": 4, "at": {"x": 10, "y": 50}},
{"type": "hole", "diameter": 4, "at": {"x": 90, "y": 50}}
]
}]
}
Cylinder with Blind Hole
{
"parts": [{
"name": "bushing",
"primitive": {"type": "cylinder", "radius": 15, "height": 20},
"operations": [
{"type": "hole", "diameter": 10, "depth": 15, "at": "center"}
]
}]
}
L-Bracket
{
"parts": [{
"name": "bracket",
"primitive": {"type": "cube", "size": {"x": 40, "y": 40, "z": 5}},
"operations": [
{"type": "union", "primitive": {"type": "cube", "size": {"x": 5, "y": 40, "z": 30}}, "at": {"x": 0, "y": 0, "z": 5}},
{"type": "hole", "diameter": 5, "at": {"x": 20, "y": 20}},
{"type": "difference", "primitive": {"type": "cylinder", "radius": 2.5, "height": 40}, "at": {"x": 2.5, "y": 20, "z": 20}}
]
}]
}
Linear Pattern of Holes
{
"parts": [{
"name": "rail",
"primitive": {"type": "cube", "size": {"x": 200, "y": 20, "z": 10}},
"operations": [
{
"type": "difference",
"primitive": {"type": "cylinder", "radius": 3, "height": 15},
"at": {"x": 20, "y": 10, "z": -2}
},
{
"type": "linear_pattern",
"direction": {"x": 1, "y": 0, "z": 0},
"count": 5,
"spacing": 40
}
]
}]
}
Circular Pattern
{
"parts": [{
"name": "flange",
"primitive": {"type": "cylinder", "radius": 40, "height": 10},
"operations": [
{"type": "hole", "diameter": 20, "at": "center"},
{
"type": "difference",
"primitive": {"type": "cylinder", "radius": 4, "height": 15},
"at": {"x": 30, "y": 0, "z": -2}
},
{
"type": "circular_pattern",
"axis_origin": {"x": 0, "y": 0, "z": 0},
"axis_dir": {"x": 0, "y": 0, "z": 1},
"count": 6,
"angle_deg": 360
}
]
}]
}
Workflow
- Create: Use
create_cad_documentto build geometry - Inspect: Use
inspect_cadto verify dimensions and volume - Export: Use
export_cadto save as.stlor.glb
Tips
- Holes default to through-holes; specify
depthfor blind holes - Use percentage positioning for parametric designs that scale
- Cube origin is at corner - add half-size to center operations
- Cylinder/cone origins are at base center - no X/Y offset needed for centered holes
- Always extend cutting cylinders past the part (the hole operation does this automatically)
Setup
Recommended: Install the vcad Claude Code plugin for zero-config setup (includes MCP server, skills, and slash commands):
claude plugin add vcad
Manual setup: Add the vcad MCP server to your Claude Code config:
{
"mcpServers": {
"vcad": {
"command": "npx",
"args": ["-y", "@vcad/mcp"]
}
}
}
Or run from local checkout:
{
"mcpServers": {
"vcad": {
"command": "node",
"args": ["packages/mcp/dist/index.js"]
}
}
}
When not to use it
- →Artistic character modeling
- →Organic shape generation
- →High-polygon visualization tasks
Prerequisites
Limitations
- →Limited to primitive shapes
- →No support for complex fillets/chamfers
- →Parametric scaling requires explicit math
How it compares
Enables parametric design and 3D printable output through code, bypassing GUI-based CAD tools.
Compared to similar skills
vcad side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| vcad (this skill) | 6 | 6mo | Review | Intermediate |
| ui-ux-pro-max | 1,909 | 5mo | Review | Intermediate |
| svg-precision | 527 | 4mo | Review | Intermediate |
| mobile-ios-design | 272 | 5mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
ui-ux-pro-max
nextlevelbuilder
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
svg-precision
dkyazzentwatwa
Deterministic SVG generation, validation, and rendering. Use for icons, diagrams, charts, UI mockups, or technical drawings requiring structural correctness and cross-viewer compatibility.
mobile-ios-design
wshobson
Master iOS Human Interface Guidelines and SwiftUI patterns for building native iOS apps. Use when designing iOS interfaces, implementing SwiftUI views, or ensuring apps follow Apple's design principles.
openscad
mitsuhiko
Create and render OpenSCAD 3D models. Generate preview images from multiple angles, extract customizable parameters, validate syntax, and export STL files for 3D printing platforms like MakerWorld.
mobile-android-design
wshobson
Master Material Design 3 and Jetpack Compose patterns for building native Android apps. Use when designing Android interfaces, implementing Compose UI, or following Google's Material Design guidelines.
mobile-design
sickn33
Mobile-first design and engineering doctrine for iOS and Android apps. Covers touch interaction, performance, platform conventions, offline behavior, and mobile-specific decision-making. Teaches principles and constraints, not fixed layouts. Use for React Native, Flutter, or native mobile apps.