원클릭으로
openscad-development
OpenSCAD development workflow with screenshot validation for openscad
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
OpenSCAD development workflow with screenshot validation for openscad
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use this skill when modifying OpenSCAD files where the user wants to use the customizer features (parameter parsing, UI generation, and conversion to STL/SVG/GLB with parameter overrides).
Use this skill when modifying OpenSCAD files (*.scad)
Use when creating URDF or Xacro files which require non-trivial geometry
Discover, recommend, and install OpenSCAD libraries for your projects. Use when: needing geometry functions, seeking existing modules before creating, managing library dependencies, or exploring what libraries are available in your workspace.
Core URDF/Xacro syntax, joint types, kinematic structures, and URDF validation for robot descriptions
Guide for creating appropriate geometry in URDF files - basic shapes vs OpenSCAD vs mesh files
| name | openscad-development |
| description | OpenSCAD development workflow with screenshot validation for openscad |
This skill guides the iterative development of OpenSCAD geometry with built-in validation through screenshot comparison.
This is the mandatory workflow for ALL OpenSCAD code changes:
User Request
↓
Create/Modify .scad file
↓
Take Screenshot (mcp_urdf_take_screenshot)
↓
Does it match user requirements? ──→ YES → Done ✓
↓ NO
Analyze discrepancies
↓
Can I fix it automatically? ──→ YES → Modify .scad and loop back
↓ NO
Ask user for clarification
Do NOT assume OpenSCAD is installed locally. The MCP Server has an embedded OpenSCAD renderer that provides all needed functionality:
mcp_urdf_take_screenshot() - Renders the current filemcp_urdf_take_screenshot_by_filename() - Renders a specific fileThis means you can validate OpenSCAD changes without requiring the user to install anything locally. All geometry validation happens through the MCP Server's embedded renderer.
When comparing a screenshot with user requirements, evaluate:
The MCP Server provides the ONLY rendering pipeline needed. Use these tools exclusively for validation:
Use: mcp_urdf_take_screenshot_by_filename()
When: You want to preview a specific SCAD file
Returns: Screenshot of that file's rendered geometry
Rendering: Handled by MCP Server's embedded OpenSCAD renderer
Example workflow:
1. Create/edit shell.scad
2. Take screenshot to verify it rendered
3. If wrong, modify and take another screenshot
4. Repeat until correct
Use: mcp_urdf_take_screenshot()
When: You're actively editing and want quick validation
Returns: Screenshot of current workspace file being edited
Rendering: Handled by MCP Server's embedded OpenSCAD renderer
No local OpenSCAD installation required. All rendering happens through the MCP Server.
User: "Make the cylinder 20mm taller"
1. Modify the height parameter: height = 50 (was 30)
2. Take screenshot
3. Compare: Is it proportionally taller? Does it look right?
4. If YES → Done
5. If NO → Adjust parameter and retry
User: "Add a cutout for a sensor mount in the center"
1. Create geometry for the cutout (dimensions from spec)
2. Add it to a difference() operation
3. Take screenshot
4. Check:
- Position: Is it centered correctly? ✓/✗
- Size: Does it look like the right size? ✓/✗
- Integration: Does it cut cleanly? ✓/✗
5. If any ✗, adjust parameters:
- Wrong position? → Adjust translate() values
- Wrong size? → Adjust cube/cylinder dimensions
- Integration problem? → Review boolean operation
6. Take another screenshot and verify
7. Repeat until all checks pass
User: "Position multiple parts with proper spacing"
1. Create part placement code
2. Take screenshot
3. Verify checklist:
- Part A positioned correctly? ✓/✗
- Part B positioned correctly? ✓/✗
- Spacing between parts adequate? ✓/✗
- Overall alignment correct? ✓/✗
4. For each ✗:
- Adjust positioning parameters (translate/rotate)
- Take new screenshot
- Verify that specific issue
5. Iterate on each issue independently
Check:
Fix: Adjust positioning or visibility, take screenshot
Check:
Fix: Update parameter values, take screenshot
Check:
Fix: Review operation, adjust geometry, take screenshot
Check:
Fix: Adjust $fn value, take screenshot
User: "Create a mounting bracket with a 3×3 grid of mounting holes spaced 20mm apart"
// mounting_bracket.scad
// 3×3 grid of M3 mounting holes, 20mm spacing
module mounting_hole() {
// M3 hole: 3.2mm diameter
circle(r=1.6);
}
module bracket() {
// Mounting plate with 9 holes
difference() {
// Base plate
cube([80, 80, 5]);
// Hole grid: 3 rows × 3 columns
for (row = [0:2]) {
for (col = [0:2]) {
translate([col * 20 + 10, row * 20 + 10, -1])
linear_extrude(7)
mounting_hole();
}
}
}
}
bracket();
Take screenshot → Check layout visually
Result: Layout looks off - holes too close to edges
// Shift hole positions inward
for (row = [0:2]) {
for (col = [0:2]) {
translate([col * 20 + 12, row * 20 + 12, -1]) // Changed from 10 to 12
linear_extrude(7)
mounting_hole();
}
}
Take screenshot → Better! Edges look balanced
module bracket() {
difference() {
union() {
// Base plate
cube([80, 80, 5]);
// Corner reinforcement
for (x = [5, 75], y = [5, 75]) {
translate([x, y, 0])
cylinder(h=10, r=4);
}
}
// Hole grid (same as before)
for (row = [0:2]) {
for (col = [0:2]) {
translate([col * 20 + 12, row * 20 + 12, -1])
linear_extrude(7)
mounting_hole();
}
}
// Center mounting point
translate([40, 40, 0])
cylinder(h=5, r=2.5);
}
}
Take screenshot → Verify reinforcement looks good, mounting point is clear
Compare screenshot with requirements:
Result: Ready for use!
Ask the user when:
Always include in clarification request:
This skill is designed to work with any OpenSCAD project. When working on specific projects:
For every OpenSCAD change:
1. Edit file (.scad)
2. Take screenshot (mcp_urdf_take_screenshot or mcp_urdf_take_screenshot_by_filename)
3. Compare with requirements
4. If wrong:
- Analyze what's incorrect
- Modify code to fix
- Go to step 2
5. If unclear to user:
- Document current state
- Explain discrepancy
- Ask specific clarification question
6. If correct:
- Document the solution
- Move to next task
mcp_urdf_take_screenshot() - Screenshot current active filemcp_urdf_take_screenshot_by_filename(parameters) - Screenshot specific fileread_file() - Reference existing code and specs✅ Take a screenshot immediately after any code change ✅ Compare screenshots systematically against requirements ✅ Make small, targeted changes and verify each one ✅ Document what the screenshot shows vs. what was requested ✅ Attempt multiple approaches before asking for help ✅ Reference project specs and constraints in verification ✅ Keep iterating until the screenshot matches requirements
❌ Make large changes and hope they work ❌ Skip screenshot validation ❌ Assume positioning is correct without visual verification ❌ Ask user to check something you can screenshot yourself ❌ Give up after one attempt when the output is wrong ❌ Ignore component integration issues in screenshots
This skill enforces a tight feedback loop for OpenSCAD development:
This approach ensures OpenSCAD geometry is developed correctly with visual validation at every step, enabling confident, iterative design workflows.