Agent skill

Openscad Mechanical

by BlueAndi in BlueAndi/Pixelix

Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.

MITAuto-check passedDevelopment

Install Openscad Mechanical

skills CLI
$ npx skills add BlueAndi/Pixelix --skill openscad-mechanical -a claude-code

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

GitHub CLI
$ gh skill install BlueAndi/Pixelix openscad-mechanical --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/BlueAndi/Pixelix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/openscad-mechanical .claude/skills/openscad-mechanical && 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
openscad-mechanical
GitHub stars
443
Token cost
~1.8k tokens
SKILL.md length
632 words
Files
3 (incl. references, assets)
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings.

  • Works in 6 steps: Gather Requirements → Read Existing File (if editing) → Structure the File → …
  • : modeling enclosures
  • SKILL.md covers When to Use, Language Reference, Project Conventions (this… and Procedure
  • Reaches opensource.org

What it does

Openscad Mechanical is an agent skill from BlueAndi/Pixelix. Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings. Use when: modeling enclosures, brackets, mounting plates, standoffs, panels, or any parametric mechanical part. Covers OpenSCAD language syntax, project conventions, boolean operations, module and function design, tolerance/clearance choices, and print-orientation notes.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files and assets (for example `references/language-reference.md`).

It sits in Development, covering Embedded systems. It works with ESP32. The repository describes itself as: Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT. The licence is MIT.

When your agent uses it

  • : modeling enclosures
  • Mounting plates
  • Any parametric mechanical part

Example prompts

  • “/openscad-mechanical”

Workflow steps

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

  1. Gather Requirements
  2. Read Existing File (if editing)
  3. Structure the File
  4. Implement Geometry
  5. Verify
  6. Export Notes

What it can do on your machine

Read from SKILL.md and the folder at commit 390f546. 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 scad).

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • opensource.org

    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

Openscad Mechanical loads about 1.8k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 95 tokens; SKILL.md has 632 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
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.3k

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 BlueAndi/Pixelix at commit 390f546, republished under its MIT licence (© BlueAndi). 632 words, ~1,828 tokens.

Download SKILL.mdSave it as .claude/skills/openscad-mechanical/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
openscad-mechanical
description
Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings. Use when: modeling enclosures, brackets, mounting plates, standoffs, panels, or any parametric mechanical part. Covers OpenSCAD language syntax, project conventions, boolean operations, module and function design, tolerance/clearance choices, and print-orientation notes.
argument-hint
Describe the part you need (e.g., "mounting bracket 40×20 mm, two M3 holes")

OpenSCAD Mechanical Part Authoring

When to Use

Load this skill when asked to:

  • Create or update a .scad file for any printable mechanical part (housing, frame, bracket, spacer, backplate, faceplate …)
  • Add parametric models for PCB mounting, connector cutouts, or panel assemblies
  • Adapt tolerances or clearances for a new printer/material
  • Explain or review OpenSCAD geometry logic

Language Reference

Full language reference: language-reference.md

Quick syntax recap:

  • Variables are single-assignment within a scope; use let() for local rebinding.
  • Modules define reusable 3-D geometry; functions return values (no geometry).
  • Boolean: union(), difference(), intersection().
  • 3-D primitives: cube([x,y,z]), sphere(r), cylinder(h,d), polyhedron().
  • 2-D primitives + extrusion: square(), circle(), polygon() → linear_extrude() / rotate_extrude().
  • Transforms: translate(), rotate(), mirror(), scale(), resize().
  • Rounding via 2-D offset(r) inside linear_extrude(), or minkowski().
  • Special variables: $fn (facets), $fs (min-segment size), $fa (min-angle).
  • Flow: for(), if/else, conditional ? :.
  • Includes: use <file.scad> (modules/functions only), include <file.scad> (full execution).

Project Conventions (this repository)

Derived from the existing doc/boards/hub75/housing/hub75.scad:

File Header
scad
// <Short description of what this part is>
//
// Dimensions: <link or "measured" or "N/A">
// Units: mm
// Print orientation:
// - <part-name>: <orientation advice>
//
// Author: <Name> (<email>)
// License: MIT License (https://opensource.org/licenses/MIT)
Parameter Block Order
  1. Global constants — eps, fit_tolerance, rounded_fn
  2. Component parameters — one group per physical object, prefixed (frame_, panel_, board_, …)
  3. Derived dimensions — calculated from the above, never hard-coded
  4. Preview/export selector — part = "assembly";
scad
// Global constants
eps           = 0.01;  // Boolean overlap in mm
fit_tolerance = 0.2;   // Assembly clearance in mm
rounded_fn    = 96;    // Facet count for outer curves

// Part selector (assembly | frame | faceplate | …)
part = "assembly";
Naming Conventions
ItemConventionExample
Parameterssnake_case prefixed by componentframe_wall_thickness
Modulessnake_case verbs or nounsrounded_cube_xz(), board_mount_pattern()
Pure functionssnake_casecentered_offset(outer, inner)
Booleansdescriptive flagshow_panel = false;
Inline Comment Rule

Every parameter must have a // Description in mm (or relevant unit) comment on the same line:

scad
frame_wall_thickness = 3; // Thickness of the frame walls in mm
Boolean Operation Patterns

Always add eps overlap to avoid z-fighting / non-manifold edges:

scad
eps = 0.01;

difference() {
    cube([width, depth, height]);
    // Cutout starts eps below the surface, extends eps beyond the far side
    translate([x, y, -eps])
        cylinder(d=hole_d, h=height + 2*eps, $fn=48);
}
Hole Sizing Guidelines
PurposeDiameter formula
Clearance (bolt passes through)bolt_nominal + 0.4
Tapped / press-fitbolt_nominal - 0.2 (tune per material)
General assembly fitnominal + fit_tolerance
Rounded Corners

Prefer the 2-D offset(r) + linear_extrude() pattern (avoids Minkowski overhead):

scad
module rounded_profile_xz(width, height, radius) {
    $fn = rounded_fn;
    if (radius > 0)
        translate([radius, radius])
            offset(r=radius)
                square([width - 2*radius, height - 2*radius]);
    else
        square([width, height]);
}

module rounded_cube_xz(size_xyz, radius) {
    translate([0, size_xyz[1], 0])
        rotate([90, 0, 0])
            linear_extrude(height=size_xyz[1])
                rounded_profile_xz(size_xyz[0], size_xyz[2], radius);
}
Part Selector Pattern

Use a top-level if chain on a part string so each piece can be exported independently or shown in assembly:

scad
if      (part == "assembly") { assembly(); }
else if (part == "frame")    { frame(); }
else if (part == "faceplate"){ faceplate(); }

Procedure

1. Gather Requirements

Collect these before writing any geometry:

  • Overall envelope (width × height × depth in mm)
  • List of sub-parts to model (frame, lid, spacer, …)
  • External components that must fit inside (PCB, connectors, panels)
  • Mounting interfaces (screw holes, snap fits, press fits)
  • Print orientation constraints (overhang limits, layer strength direction)
  • Clearances and tolerances (default: fit_tolerance = 0.2 mm)
2. Read Existing File (if editing)

Always read the full file before modifying. Identify:

  • Existing parameter names to reuse
  • Module and function signatures to extend, not replace
  • The part selector — add new values rather than removing old ones
Show full SKILL.md (235 more words)Show less
3. Structure the File

Use the template in assets/template.scad:

  1. File header comment
  2. Global constants block
  3. Per-component parameter blocks (ordered by assembly depth: outermost first)
  4. Derived dimensions
  5. part selector variable
  6. Pure functions
  7. Reusable geometry modules (primitives → composites)
  8. Top-level part modules
  9. if/else part-selector dispatcher
4. Implement Geometry

Work outside-in (define outer shell first, then subtract holes/cutouts):

  1. Build the solid body as a union() or single primitive.
  2. Subtract connector cutouts, mounting holes, and internal cavities via difference().
  3. Add small features last (chamfers, lips, standoffs).

Parametrize everything — no magic numbers in geometry calls. Every numeric literal must trace back to a named variable.

5. Verify

Check all of the following before finishing:

  • No hard-coded mm values in geometry calls (only in the parameter block)
  • Every parameter has a // ... in mm (or unit) inline comment
  • eps is applied to all difference() cutouts
  • Holes use the correct clearance formula (see table above)
  • $fn or $fn=48 set on every cylinder() / circle()
  • Print orientation note added to file header
  • Part selector works: each part value renders without error
  • Assembly preview (part = "assembly") shows correct relative positions
6. Export Notes
  • Render to STL per part: File → Export → Export as STL (or CLI: openscad -o part.stl -D 'part="frame"' file.scad)
  • For FFF printing: slice with part-specific orientation noted in the file header
  • Recommended $fn for final export: ≥ 96 for outer curves, 48 for holes

© BlueAndi, MIT. 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 2 other files (references, assets) in .github/skills/openscad-mechanical of BlueAndi/Pixelix.

  • SKILL.md
  • assets/template.scad
  • references/language-reference.md

Open the folder on GitHubat commit 390f546

Compare with similar skills

Openscad Mechanical 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.

Openscad Mechanical compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openscad Mechanical this skillBlueAndi/Pixelix443—~1.8kAutomated safety check: PassMIT
RuView Hardware Setupruvnet/RuView97k—~1.8kAutomated safety check: NotesMIT
Esp32 Firmware Engineeralxv2016/folloup-sticky1161 repos~3.8kAutomated safety check: PassGPL-3.0
RuView mmWave Radar Setupruvnet/RuView97k—~907Automated safety check: NotesMIT
Embedded DebugFastLED/FastLED7.5k—~1.4kAutomated safety check: PassMIT
Auto EmbeddedDunCanYounG-1/MICU-auto-embedded253—~1.6kAutomated safety check: PassCC-BY-NC-4.0

Similar skills

  • Brings a RuView CSI sensing node online by building ESP32-S3 or ESP32-C6 firmware, flashing the board, provisioning WiFi and checking the serial output.

    97k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check: notes
  • Esp32 Firmware Engineer

    alxv2016/folloup-sticky

    ESP32 firmware engineering for ESP-IDF projects. An agent skill from alxv2016/folloup-sticky.

    116 GitHub starsUsed in 1 repo~3.8k tokens
    DevelopmentAuto-check passed
  • Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.

    97k GitHub stars~907 tokensUpdated today
    DevelopmentAuto-check: notes
  • Embedded Debug

    FastLED/FastLED

    Firmware crash analysis, stack trace decoder, and register dump interpreter for ESP32/ARM/AVR platforms.

    7.5k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Auto Embedded

    DunCanYounG-1/MICU-auto-embedded

    全平台嵌入式 AI 开发框架(对标 Trellis):把 RIPER-5 五阶段协议 + 四文件记忆 + 分层架构门禁 + Scout/Builder/Verifier 多 Agent + 24 个工具调用技能(build/flash/debug/serial/can/modbus/visa/static/memory/rtos/scons),做成『装进工程、项目级 hook…

    253 GitHub stars~1.6k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Esp32 Log Triage

    FastLED/FastLED

    Parse and classify ESP32 serial log output to identify FastLED-related errors, RMT/I2S/SPI driver faults, timing violations, RTOS issues, and crash signatures.

    7.5k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed

More from BlueAndi/Pixelix

All 10 skills in this repo
  • Embedded Cpp14 Misra

    BlueAndi/Pixelix

    A skill your agent uses when writing, reviewing, or refactoring C/C++ firmware code in this repository (src/, lib/, test/) — creating or editing .h/.hpp/.cpp files, applying MISRA-oriented and…

    443 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Embedded Cpp14 Misra

    BlueAndi/Pixelix

    Write, review and refactor embedded C/C++14 firmware code in this repository (src/, lib/, test/) with MISRA-oriented rules, defensive programming, Yoda conditions, single-exit/pathfinder control…

    443 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Openapi Spec

    BlueAndi/Pixelix

    Write and update OpenAPI 3.0 specification files from REST API code.

    443 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Plantuml Diagrams

    BlueAndi/Pixelix

    Model, create, update, and embed PlantUML diagrams (.wsd files).

    443 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Bootstrap Reference

    BlueAndi/Pixelix

    A skill your agent uses when building or reviewing UI with Bootstrap 5.3 — setting up the CDN/npm, using the grid & breakpoints, utility classes (spacing/color/flex/display), components (navbar…

    443 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Html5 Reference

    BlueAndi/Pixelix

    A skill your agent uses when authoring, reviewing, or validating HTML markup — choosing the right element, deciding what may nest inside what, writing forms/inputs, adding accessible semantics, or…

    443 GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Openscad Mechanical

What does Openscad Mechanical do?

Create and edit OpenSCAD (.scad) files for 3D-printable mechanical parts and housings. Openscad Mechanical is an agent skill from BlueAndi/Pixelix.scad) files for 3D-printable mechanical parts and housings.

When should I use Openscad Mechanical?

Openscad Mechanical fits situations like: : modeling enclosures; mounting plates; any parametric mechanical part.

How do I install Openscad Mechanical in Claude Code?

Run `npx skills add BlueAndi/Pixelix --skill openscad-mechanical -a claude-code`. Or copy the skill folder (.github/skills/openscad-mechanical in BlueAndi/Pixelix) into .claude/skills/openscad-mechanical in your project. Claude Code loads it when a task matches its description.

How do I install Openscad Mechanical in Codex?

Run `npx skills add BlueAndi/Pixelix --skill openscad-mechanical -a codex`. Or copy the skill folder (.github/skills/openscad-mechanical in BlueAndi/Pixelix) into .agents/skills/openscad-mechanical in your project. Codex loads it when a task matches its description.

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

What does Openscad Mechanical need to run?

SKILL.md names no scripts, command-line tools or credentials: Openscad Mechanical is instructions for the agent only.

Does Openscad Mechanical access the network?

SKILL.md names 1 domain. In commands or code: opensource.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Openscad Mechanical 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 Openscad Mechanical use?

Openscad Mechanical is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openscad Mechanical use?

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

What are the alternatives to Openscad Mechanical?

Skills that share tags, products or a category with Openscad Mechanical: RuView Hardware Setup (ruvnet/RuView, 97k stars), Esp32 Firmware Engineer (alxv2016/folloup-sticky, 116 stars), RuView mmWave Radar Setup (ruvnet/RuView, 97k stars) and Embedded Debug (FastLED/FastLED, 7.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openscad Mechanical?

BlueAndi (a GitHub user) maintains it in BlueAndi/Pixelix, which has 443 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.

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