agentleFS
bherbruckbherbruck/solidcraft/skills/solidcraft-file-formats/SKILL.md

solidcraft-file-formats

Skill15k starsChanged 18 days agoApache-2.0View on GitHub

Use when a SolidCraft change saves something new in a design (a field, a feature type, a kind of name) or changes what older designs mean, and when touching STEP, IGES, 3MF, STL, OBJ, DXF or URDF import and export.

1 other project uses a version of this.

Adopted by

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Most recently taken up by

Who's talking about bherbruck/solidcraft

The biggest 5 of 75 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 75

Talked about on GitHub, YouTube, Bluesky and Hacker News (75 times).

On GitHub · 46

41 more on GitHub

On YouTube · 23

18 more on YouTube

On Bluesky · 5

On Hacker News · 1

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    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:

    Create crates/doc/src/format/pending/<what-it-is>.rs (lowercase, dashes).

    line 11
  2. Very specific:

    If older designs must be rewritten as they open, put pub fn step(v: &mut Value) -> crate::Result<()> in the same file.

    line 12
  3. Very specific:

    Every import (STEP, IGES, 3MF, STL, OBJ.

    line 20

≈ “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

Design file format, import and export

Design file format changes

A design says which format it is in ("format": "solidcraft/N"). A change that saves something new, or makes older designs mean something else, adds ONE file and edits nothing shared:

  1. Create crates/doc/src/format/pending/<what-it-is>.rs (lowercase, dashes). Start it with a //! note: what is saved, what older designs get without it, and that the last release opens such a design with a warning and keeps what it can't read (crates/doc/src/newer_file.rs).
  2. If older designs must be rewritten as they open, put pub fn step(v: &mut Value) -> crate::Result<()> in the same file. Pending steps run in file-name order, after the older formats' steps.
  3. Never touch FORMAT, JSON_STEPS, the history in crates/doc/src/format.rs, another change's file, or any v<N>/ folder. The build counts the pending files and writes the next number, so a release knows a design carries a change it doesn't have: it warns, and saving keeps the file's number and what it couldn't read.

Two PRs that each add a change merge without a conflict. crates/doc/src/format/pending/README.md has an example. At release time the maintainer runs scripts/fold-format-pending.sh, which moves pending files into v<N>/ for good; scripts/test-format-pending.sh runs in CI. Never add a file to a v<N>/ folder afterwards. See docs/releasing.md.

Drawings follow the same rules with their own numbers, from 1: a drawing-format change is ONE new file in crates/doc/src/drawing/format/pending/ (see its README.md), and the same fold script moves them into crates/doc/src/drawing/format/v<N>/.

Import

  • Every import (STEP, IGES, 3MF, STL, OBJ; inserted, dropped, opened, or run as file.insert_step, file.insert_mesh or doc.open) becomes a new component named after the file, with the Import feature inside it. Bodies never land loose.
  • Imported files are untrusted: sizes, entity counts and nesting are capped, and every kernel call is guarded (skills/solidcraft-crash-safety/SKILL.md). What cannot be read becomes a warning on the feature.
  • STEP is read by our own reader in crates/kernel/src/step_in, written from the public standards, with no third-party STEP code. The reader and what it supports: docs/step-import.md.
  • Imported assemblies are rigid by default; Unlock Contents releases them.
  • Kernel work (booleans, STEP/IGES import and export, tessellation) is paused except crashes and data loss: CONTRIBUTING.md, "Kernel work is paused".

Export

  • STEP, 3MF, STL, OBJ and URDF go through file.export and file.save_mesh; the MCP export tool calls them. URDF: docs/urdf.md. 3MF face tags: docs/formats/3mf-face-tags.md.
  • Mesh and design readers and writers live in crates/io/src/. Write files through crates/io/src/safe_write.rs.
  • Reference tests for exports never take their expected values from SolidCraft's own output (skills/solidcraft-tests/SKILL.md).

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.