vibe-model — parametric 3D modeling with OpenSCAD vibe-model, vibecad-studio, community, parametric 3D modeling with OpenSCAD, ide skills, VibeCad Studio model creation, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Perfect for CAD-focused Agents needing parametric 3D modeling capabilities with OpenSCAD vibe-model is a skill for creating and modifying parametric 3D models using OpenSCAD, compiling to STL via openscad-wasm for VibeCad Studio

Features

Creates parametric 3D models using OpenSCAD
Compiles models to STL via openscad-wasm
Supports auto-discovery of models in VibeCad Studio
Uses a specific file structure with src/models/<slug>/model.scad
Allows modification of existing models for customization

# Core Topics

jehna jehna
[0]
[0]
Updated: 3/8/2026

Agent Capability Analysis

The vibe-model skill by jehna is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for parametric 3D modeling with OpenSCAD, VibeCad Studio model creation.

Ideal Agent Persona

Perfect for CAD-focused Agents needing parametric 3D modeling capabilities with OpenSCAD

Core Value

Empowers agents to create and modify parametric 3D models for VibeCad Studio using OpenSCAD, leveraging .scad files and compiling to STL via openscad-wasm for seamless integration with browser-based parametric CAD workbenches

Capabilities Granted for vibe-model

Creating custom 3D models for VibeCad Studio
Modifying existing parametric models using OpenSCAD
Automating 3D model generation for specific use cases

! Prerequisites & Limits

  • Requires OpenSCAD knowledge
  • Limited to VibeCad Studio and OpenSCAD-compatible models
  • Compilation to STL via openscad-wasm required
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

vibe-model

Install vibe-model, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

VibeCad Model Author

Create or modify parametric 3D models for VibeCad Studio using OpenSCAD.

Project Context

VibeCad Studio is a browser-based parametric CAD workbench. Models are written in OpenSCAD (.scad files) and compiled to STL via openscad-wasm. Models are auto-discovered — no manual registration needed.

Model File Structure

Each model lives in src/models/<slug>/ with a single file:

src/models/<slug>/model.scad

scad
1// Description shown on the home page gallery 2length = 40; // [10:100] 3width = 30; // [5:80] 4height = 20; // [5:60] 5 6cube([length, width, height]);

Conventions:

  • First line: // comment becomes the model description for the gallery
  • Parameters: name = value; // [min:max] or name = value; // [min:step:max] become UI sliders
  • The folder name becomes the slug, which is auto-converted to a display name (example-boxExample Box)

Key Conventions

  • Parameter names should be snake_case and descriptive (e.g. wall_thickness, not wt)
  • All parameter values are numbers
  • Use $fn for controlling curve resolution (32 is a good default)
  • Keep models manifold (watertight) for 3D printing compatibility

OpenSCAD Quick Reference

3D Primitives

scad
1cube([x, y, z]); // box 2cube([x, y, z], center=true); // centered box 3sphere(r=radius, $fn=64); // sphere 4cylinder(h=height, r=radius, $fn=32); // cylinder 5cylinder(h=height, r1=bot, r2=top, $fn=32); // cone/frustum

2D Primitives (for extrusion)

scad
1square([w, h]); 2square([w, h], center=true); 3circle(r=radius, $fn=64); 4polygon(points=[[x1,y1], [x2,y2], ...]); 5text("hello", size=10);

Transformations

scad
1translate([x, y, z]) { ... } 2rotate([rx, ry, rz]) { ... } // degrees 3scale([sx, sy, sz]) { ... } 4mirror([x, y, z]) { ... } 5color("red") { ... } 6color([r, g, b, a]) { ... }

Boolean Operations

scad
1union() { a(); b(); } // combine shapes 2difference() { a(); b(); } // subtract b from a 3intersection() { a(); b(); } // keep overlap only

Extrusions

scad
1linear_extrude(height=h, twist=deg, scale=s) { 2d_shape(); } 2rotate_extrude(angle=360, $fn=64) { 2d_profile(); }

Hull & Minkowski

scad
1hull() { a(); b(); } // convex hull 2minkowski() { a(); b(); } // Minkowski sum (rounding)

Modules (reusable components)

scad
1module rounded_box(size, radius) { 2 minkowski() { 3 cube([size[0]-2*radius, size[1]-2*radius, size[2]/2]); 4 cylinder(r=radius, h=size[2]/2, $fn=32); 5 } 6} 7 8rounded_box([40, 30, 20], 3);

Loops & Conditionals

scad
1for (i = [0:5]) { translate([i*10, 0, 0]) cube(5); } 2for (a = [0:60:300]) { rotate([0, 0, a]) translate([20, 0, 0]) sphere(3); } 3if (wall > 0) { difference() { outer(); inner(); } }

Useful Patterns

scad
1// Hollow box (shell) 2difference() { 3 cube([outer_w, outer_d, outer_h]); 4 translate([wall, wall, wall]) 5 cube([outer_w - 2*wall, outer_d - 2*wall, outer_h]); 6} 7 8// Rounded edges via minkowski 9minkowski() { 10 cube([w - 2*r, d - 2*r, h/2]); 11 cylinder(r=r, h=h/2, $fn=32); 12} 13 14// Circular pattern 15for (i = [0:n-1]) { 16 rotate([0, 0, i * 360/n]) 17 translate([radius, 0, 0]) 18 child_shape(); 19}

Workflow

When creating a new model:

  1. Read 1-2 existing models for reference patterns
  2. Create the folder: mkdir -p src/models/<slug>/
  3. Write src/models/<slug>/model.scad
  4. Run node scripts/verify-model.js src/models/<slug>/model.scad to verify
  5. If errors, fix and re-run until exit code 0

When modifying an existing model:

  1. Read the current model.scad
  2. Make the requested changes
  3. Run node scripts/verify-model.js src/models/<slug>/model.scad to verify

Tips

  • Start simple, iterate. A basic cube is better than a broken complex shape.
  • OpenSCAD error messages include line numbers — use them to pinpoint issues.
  • minkowski() is expensive — use it sparingly and with low-poly shapes.
  • $fn controls facet count: higher = smoother but slower. 32 for cylinders, 64 for spheres.
  • difference() subtracts all children after the first from the first child.
  • Use center=true on primitives to simplify positioning.
  • The dev server supports HMR — model changes appear live in the browser.

Existing Models for Reference

ModelSlugTechniques
Example Boxexample-boxminkowski rounding, difference for hollow interior, parametric dimensions

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is vibe-model?

Perfect for CAD-focused Agents needing parametric 3D modeling capabilities with OpenSCAD vibe-model is a skill for creating and modifying parametric 3D models using OpenSCAD, compiling to STL via openscad-wasm for VibeCad Studio

How do I install vibe-model?

Run the command: npx killer-skills add jehna/vibecad-studio/vibe-model. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for vibe-model?

Key use cases include: Creating custom 3D models for VibeCad Studio, Modifying existing parametric models using OpenSCAD, Automating 3D model generation for specific use cases.

Which IDEs are compatible with vibe-model?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for vibe-model?

Requires OpenSCAD knowledge. Limited to VibeCad Studio and OpenSCAD-compatible models. Compilation to STL via openscad-wasm required.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add jehna/vibecad-studio/vibe-model. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use vibe-model immediately in the current project.

Related Skills

Looking for an alternative to vibe-model or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI