skills/openscad-iterative-modeling/SKILL.md
Iteratively generate OpenSCAD (SCAD) code, render PNG previews, visually critique the result, and refine in a tight loop until the model matches. Use when the user asks to create a 3D model, design a part, make a bracket/enclosure/mount, render in OpenSCAD, export STL, or any request that can be expressed as parametric CSG geometry. Requires the OpenSCAD MCP server tools (render_scad_png, export_scad_stl).
npx skillsauth add fboldo/openscad-mcp-server openscad-iterative-modelingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
render_scad_png (SCAD → PNG preview), export_scad_stl (SCAD → STL mesh)mcp_openscad-mcp-_render_scad_png); match by suffixExtract and confirm only what you must to model correctly:
If key dimensions are missing, ask 1–3 questions. Otherwise proceed with reasonable defaults and state them.
module with named parameters.center=true).$fn explicitly for curved parts (start with $fn=64).difference() extend beyond the body to avoid zero-thickness walls.Render with cameraPreset="isometric" first (width=800, height=600). If features are hard to judge, add orthographic views:
| Feature to verify | Camera preset |
| -------------------------------- | ------------------ |
| Plan-view layout, hole positions | top |
| Heights, steps, lips, profiles | front or right |
| Overall shape, proportions | isometric |
| Underside features | bottom |
Run through this checklist (in order of priority):
Write a one-line verdict per issue found, e.g.:
translate X by +5."Apply the smallest SCAD change that addresses the critique, then render again.
Stop when the PNG matches the user's intent and the user approves.
Once approved, export the geometry:
"bracket.stl").If a render returns blank or errors:
difference() ordering, negative dimension, cutter not intersecting body.User request: "L-bracket, 40x30 mm base, 25 mm tall wall, 4 mm thick, two M4 countersunk mounting holes in the base."
$fn = 64;
t = 4; base_w = 40; base_d = 30; wall_h = 25;
hole_d = 4.3; csink_d = 8.5; csink_depth = 2.4;
hole_x = [10, 30]; hole_y = 15;
difference() {
union() {
cube([base_w, base_d, t]); // base
translate([0, 0, 0]) cube([t, base_d, wall_h]); // wall
}
for (x = hole_x) {
translate([x, hole_y, -1]) cylinder(h = t + 2, d = hole_d);
translate([x, hole_y, t - csink_depth]) cylinder(h = csink_depth + 1, d1 = hole_d, d2 = csink_d);
}
}
isometric -> critique: wall is on the wrong edge; move to x = base_w - t.top -> holes look correctly spaced. Render front -> wall height correct.tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.