🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

CADStack - CAD Automation Skill Pack

by @wayneouyang

Generate, execute, and verify CAD scripts across FreeCAD, AutoCAD, SolidWorks, and Fusion 360 using natural language commands with safety checks.

Versionv1.0.0
Downloads834
Stars⭐ 1
TERMINAL
clawhub install cadstack

πŸ“– About This Skill

CAD Automation Skill Pack

Control AutoCAD, SolidWorks, Fusion 360, and FreeCAD via Claude Code skills.

Why CADStack?

The problem: CAD tools require precise commands. Want a 10mm hole? You need to know the exact API call, parameter order, and coordinate system.

The solution: Describe what you want in natural language. CADStack generates the CAD script, validates it for safety, executes it, and verifies the output.

Traditional CAD:                    CADStack:
─────────────────────────────────    ─────────────────────────────────
1. Open CAD software                1. /cad "bracket with 4 holes"
2. Create sketch                      β†’ Generated script
3. Draw rectangle                      β†’ Safety validated
4. Add dimensions                      β†’ Executed
5. Extrude                             β†’ Dimensions verified
6. Create hole sketch                2. βœ“ Done
7. Draw circle
8. Cut extrude
9. Repeat 3 more times
10. Export STEP

What makes CADStack different:

  • Safety-first: Every script reviewed before execution
  • Multi-backend: Same commands work across FreeCAD, AutoCAD, SolidWorks, Fusion 360
  • Verification built-in: /cad-qa confirms dimensions match your intent
  • Headless mode: FreeCAD works without opening a GUI
  • Available Skills

    | Skill | Description | |-------|-------------| | /cad | Primary skill β€” Execute CAD commands: create, modify, export parts | | /cad-plan | Plan complex multi-step CAD operations before execution | | /cad-review | Review generated CAD scripts for safety/correctness | | /cad-qa | Verify exported files, check dimensions, validate geometry | | /cad-config | Set up and configure CAD backend connections |

    Which Skill to Use?

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                    CADSTACK DECISION TREE                    β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                                                              β”‚
    β”‚  START                                                       β”‚
    β”‚    β”‚                                                         β”‚
    β”‚    β–Ό                                                         β”‚
    β”‚  "Is this your first time?" ──YES──► /cad-config            β”‚
    β”‚    β”‚                                (detect & configure)    β”‚
    β”‚    NO                                                        β”‚
    β”‚    β”‚                                                         β”‚
    β”‚    β–Ό                                                         β”‚
    β”‚  "Simple operation?" ──YES──► /cad                          β”‚
    β”‚  (single part, 1-3 steps)       (create, modify, export)    β”‚
    β”‚    β”‚                                                         β”‚
    β”‚    NO                                                        β”‚
    β”‚    β”‚                                                         β”‚
    β”‚    β–Ό                                                         β”‚
    β”‚  "Multi-step or assembly?" ──► /cad-plan ──► /cad           β”‚
    β”‚                                 (plan first)   (execute)    β”‚
    β”‚                                                              β”‚
    β”‚  AFTER /cad:                                                 β”‚
    β”‚    β€’ Need to verify output? ──► /cad-qa                     β”‚
    β”‚    β€’ Review script safety?  ──► /cad-review                 β”‚
    β”‚                                                              β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    

    Quick reference:

  • Just want to make a part? β†’ /cad
  • Building something complex? β†’ /cad-plan then /cad
  • Not sure it worked? β†’ /cad-qa
  • Setting up for the first time? β†’ /cad-config
  • Supported Platforms

  • FreeCAD (Recommended) - Pure Python, headless mode, no license required
  • AutoCAD - Requires AutoCAD running, uses COM automation
  • SolidWorks - Requires SolidWorks running, uses COM automation
  • Fusion 360 - Requires Fusion 360 running with bridge add-in
  • Quick Start

    # Install cadstack
    git clone https://github.com/user/cadstack.git ~/.claude/skills/cadstack
    cd ~/.claude/skills/cadstack && ./setup
    

    Then in Claude Code:

    /cad "Create a 100x50x20mm box with 5mm filleted edges"
    

    First Run Experience

    If this is your first time using cadstack, follow this sequence:

    Step 1: Verify setup
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ /cad-config                             β”‚
    β”‚                                         β”‚
    β”‚ βœ“ FreeCAD: available                    β”‚
    β”‚ βœ“ Output dir: ~/.claude/.../output      β”‚
    β”‚ βœ“ Default format: STEP                  β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Step 2: Hello World (builds confidence) β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ /cad "create a 10mm cube" β”‚ β”‚ β”‚ β”‚ βœ“ Created: output/cube.step (2.1 KB) β”‚ β”‚ Dimensions: 10 Γ— 10 Γ— 10 mm β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    Step 3: Your first real part β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ /cad "create a 50Γ—30Γ—5mm plate with β”‚ β”‚ four 5mm holes at corners" β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    User Journey Storyboard

    | Step | User Action | User Feels | Skill Supports It | |------|-------------|------------|-------------------| | 1 | Install cadstack | Uncertain: "Will this work?" | /cad-config verifies setup | | 2 | Create first cube | Relieved: "It works!" | Simple 10mm cube example | | 3 | Create real part | Curious: "What else can I do?" | Examples in /cad skill | | 4 | Complex operation | Confident but cautious | /cad-plan for structure | | 5 | Verify output | Certain: "It's correct" | /cad-qa confirms dimensions | | 6 | Error occurs | Frustrated | Minimal error β†’ recovery command | | 7 | Fix and retry | Satisfied | Clear path forward |

    Architecture

    cadstack/
    β”œβ”€β”€ SKILL.md                 # This file
    β”œβ”€β”€ setup                    # Installation script
    β”œβ”€β”€ skills/                  # Skill definitions
    β”‚   β”œβ”€β”€ cad.md
    β”‚   β”œβ”€β”€ cad-plan.md
    β”‚   β”œβ”€β”€ cad-review.md
    β”‚   β”œβ”€β”€ cad-qa.md
    β”‚   └── cad-config.md
    β”œβ”€β”€ lib/                     # Core library
    β”‚   β”œβ”€β”€ cad_executor.py      # Script executor
    β”‚   β”œβ”€β”€ backends/            # Platform backends
    β”‚   └── utils/               # Helpers
    └── templates/               # Script templates
    

    Configuration

    Add to your project's CLAUDE.md:

    ## cadstack
    Available skills: /cad, /cad-plan, /cad-review, /cad-qa, /cad-config
    Supported platforms: FreeCAD, AutoCAD, SolidWorks, Fusion 360
    Default platform: freecad
    

    πŸ’‘ Examples

    # Install cadstack
    git clone https://github.com/user/cadstack.git ~/.claude/skills/cadstack
    cd ~/.claude/skills/cadstack && ./setup
    

    Then in Claude Code:

    /cad "Create a 100x50x20mm box with 5mm filleted edges"
    

    βš™οΈ Configuration

    Add to your project's CLAUDE.md:

    ```markdown