agentleFS
KevoyuanKevoyuan/AgentSCAD/skills/scad-library-nopscadlib/SKILL.md

scad-library-nopscadlib

Skill26 starsChanged 5 months agoMITView on GitHub

This skill should be used when generating OpenSCAD with NopSCADlib, especially electronics enclosures, vitamins, fasteners, boards, fans, connectors, printed assemblies, BOM-aware mechanical parts, and realistic 3D-printer or electronics hardware.

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. About 0 are common, 13 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use NopSCADlib when include <NopSCADlib/core.scad> is listed in the runtime prompt and the requested part benefits from real-world …

    line 13
  2. Distinctive:

    Start with the core include only when available:

    line 17
  3. Very specific:

    Add narrower NopSCADlib vitamins/...

    line 23
  4. Distinctive:

    Use for electronics enclosures, project boxes, PCB holders, fan mounts, Raspberry Pi/Arduino-style board clearances, screw bosses, inserts, …

    line 27
  5. Distinctive:

    Use NopSCADlib as reference vocabulary for real components: boards, screws, bearings, fans, connectors, switches, cable glands, rails, …

    line 28
  6. Distinctive:

    Prefer generated printable carrier geometry around real components rather than modeling every electronic detail.

    line 29
  7. Distinctive:

    Keep non-printable purchased parts visually useful but clearly separate from the printed part when rendered.

    line 30
  8. Distinctive:

    Keep the printable part self-contained and parameterized.

    line 34
  9. Distinctive:

    Keep screw bosses connected to walls or ribs.

    line 61
  10. Distinctive:

    Add ribs, chamfers, and strain relief where loads enter the enclosure.

    line 62
  11. Distinctive:

    Do not let visual component placeholders become required printable geometry unless requested.

    line 63
  12. Distinctive:

    Avoid overfitting to a named board unless exact dimensions are supplied.

    line 64
  13. Distinctive:

    Do not include broad NopSCADlib files speculatively.

    line 68
  14. Distinctive:

    Do not invent module names or type constants.

    line 69
  15. Distinctive:

    Do not copy NopSCADlib source into generated SCAD.

    line 70
  16. Very specific:

    Do not generate BOM/project automation output inside scad_source.

    line 71

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

SCAD Library NopSCADlib Skill

Use NopSCADlib when include <NopSCADlib/core.scad> is listed in the runtime prompt and the requested part benefits from real-world electronics or mechanical components.

Import

Start with the core include only when available:

include <NopSCADlib/core.scad>

Add narrower NopSCADlib vitamins/... or printed/... includes only when the exact module and path are known. Prefer simple printable geometry if uncertain.

Best Uses

  • Use for electronics enclosures, project boxes, PCB holders, fan mounts, Raspberry Pi/Arduino-style board clearances, screw bosses, inserts, spacers, and assembly-aware designs.
  • Use NopSCADlib as reference vocabulary for real components: boards, screws, bearings, fans, connectors, switches, cable glands, rails, rods, and panels.
  • Prefer generated printable carrier geometry around real components rather than modeling every electronic detail.
  • Keep non-printable purchased parts visually useful but clearly separate from the printed part when rendered.

Generation Pattern

Keep the printable part self-contained and parameterized. Use real component placeholders only when they improve fit reasoning:

include <NopSCADlib/core.scad>

/* [Enclosure] */
width = 90;          // min: 40 max: 220 step: 1
depth = 60;          // min: 30 max: 180 step: 1
height = 28;         // min: 12 max: 100 step: 1
wall_thickness = 2;  // min: 1.2 max: 6 step: 0.2
boss_diameter = 8;   // min: 4 max: 16 step: 0.5
screw_diameter = 3;  // min: 2 max: 5 step: 0.1

module printable_enclosure() {
  difference() {
    cube([width, depth, height], center=true);
    translate([0, 0, wall_thickness])
      cube([width - 2*wall_thickness, depth - 2*wall_thickness, height], center=true);
  }
}

printable_enclosure();

Quality Rules

  • Model clearances explicitly: board clearance, screw clearance, cable clearance, lid/body fit clearance.
  • Keep screw bosses connected to walls or ribs.
  • Add ribs, chamfers, and strain relief where loads enter the enclosure.
  • Do not let visual component placeholders become required printable geometry unless requested.
  • Avoid overfitting to a named board unless exact dimensions are supplied.

Avoid

  • Do not include broad NopSCADlib files speculatively.
  • Do not invent module names or type constants.
  • Do not copy NopSCADlib source into generated SCAD.
  • Do not generate BOM/project automation output inside scad_source; keep output focused on renderable OpenSCAD.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.