agentleFS
tangency-labstangency-labs/solidcraft/skills/solidcraft-reporting/SKILL.md

solidcraft-reporting

Skill15k starsChanged 18 days agoApache-2.0View on GitHub

Use when a SolidCraft user says something went wrong - the app crashed or closed, a command failed or gave the wrong shape, a number is off, a design no longer rebuilds, something hangs - and wants it reported or fixed upstream. Turns the problem into a minimal, reproducible bug report with exact steps, a command script, expected and actual results and a screenshot.

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 tangency-labs/solidcraft

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

See all 84

Talked about on GitHub, YouTube and Bluesky (84 times).

On GitHub · 50

45 more on GitHub

On YouTube · 25

20 more on YouTube

On Bluesky · 9

4 more on Bluesky

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 5 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Start from nothing, so the report does not depend on the user's file.

    line 19
  2. Very specific:

    Headless: write the steps as a command script {"commands":[...]} and run solidcraft-cli run repro.json.

    line 20
  3. Distinctive:

    Check that it fails the same way twice.

    line 25
  4. Distinctive:

    Stop when removing anything more makes it pass.

    line 32
  5. Very specific:

    Never attach, upload or quote the user's design, a crash report's design.sc, or file contents without asking.

    line 43
  6. Distinctive:

    Check screenshots for other windows, file names and anything personal.

    line 46
  7. Very specific:

    Search before writing: gh issue list -R tangency-labs/solidcraft --state all --search "fillet radius" with two or three words from the …

    line 49
  8. Very specific:

    Write the report with reference/report-template.md.

    line 50
  9. Distinctive:

    Fixed already: If it does not reproduce on the latest release or main but does on the user's version, say so: it saves a report.

    line 55

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

SolidCraft reporting

A report the maintainers can act on reproduces in a fresh design, in as few steps as possible, with the exact message and numbers. Build that here, so nobody has to rebuild the problem from a description. Use reference.md from solidcraft-modeling for command shapes, and reference/report-template.md (next to this file) for the report.

Written against SolidCraft 0.18.2. Report what you observed, never a guessed cause: "the fillet fails with …", not "the kernel can't handle tangent edges".

1. Gather (ask only for what you cannot find)

  • Version and OS. Help → About in the app, solidcraft --version or solidcraft-cli --version; the MCP server reports its version in initialize (serverInfo.version). Note whether the user built from source.
  • What the user did, in order, what they expected and what happened instead.
  • The exact error text, copied, not paraphrased: a failed execute or batch step's failed.error, the timeline feature's error in inspect_design {"measure":false,"sketches":false}, or the message in the app.
  • If the app closed or froze: crash_reports {} first. A matching report has the version, the command that crashed, the commands before it and a replay. solidcraft-cli crashes replay <id> checks that it still happens. Its design.sc is the user's design: see Privacy.

2. Reproduce in a fresh design

Start from nothing, so the report does not depend on the user's file.

  • Headless: write the steps as a command script {"commands":[...]} and run solidcraft-cli run repro.json. A failing feature fails the run and names the feature. This never touches the design open in the app.
  • Over MCP: new_design {}, then the steps in one batch {"commands":[...],"rollback":false}. With rollback: false the steps before the failure stay, so you can inspect the state it failed in. When the server is bridged to the app and the open design is dirty, ask before new_design.
  • Find commands and parameters with list_commands {"filter":"fillet"} and describe_command {"id":"solid.fillet"}, not the unfiltered catalog.
  • Only in the user's design: solidcraft-cli script design.sc --out repro.json writes its history as a command script. solidcraft-cli eval repro.json replays it and prints the measurements; solidcraft-cli run repro.json stops at the first failing feature. If the script rebuilds without the problem, say so in the report: it then depends on something the history does not hold (an import, a file the design links to).
  • Interactive only (a dialog, a pick, a drag, the viewport): write the clicks as numbered app steps. A script cannot show those.
  • Check that it fails the same way twice. A problem that comes and goes is still worth reporting; say how often it happened.

3. Minimise

Shrink while the same failure, with the same message, still happens. Re-run after every change:

  1. Drop steps from the end, then from the middle: other bodies, features after the failing one, cosmetic steps (appearance, names, views).
  2. Replace sketches with solid.box or solid.cylinder where the failure survives it.
  3. Round the dimensions (10, 20, 2.5) and replace parameter expressions with numbers, unless an expression is the problem.
  4. Stop when removing anything more makes it pass. Note the boundary when you find one ("fails at radius 5, works at 4.9").

Hangs and slow commands: never wait forever. Cap every run: timeout 120 solidcraft-cli run repro.json --timings prints the milliseconds of each step when the run finishes. A run that is killed prints nothing, so find the slow step by running the script one step longer at a time. Over MCP, batch {"commands":[...],"timings":true} reports every step's time, the failing one included. Report the step, the time, and how the time grows when you double a count or a size.

4. Check the claim

  • Wrong geometry: measure {} (volume, area, bounding box, centre of mass) against a value you computed by hand. Put both numbers in the report.
  • Wrong pick or wrong face: body_topology {"body":"Body1"} shows what was there to pick.
  • A look at it: screenshot {"view":"iso"} after the rollback: false batch, or solidcraft-cli snapshot repro.json --out shot.png --view iso. snapshot fails with the script when a step fails, so for a failing command snapshot the script without that step and show the state it fails on. Look at the image before you attach it.
  • Re-run the final minimal script from scratch once more. Its output goes into the report as it is.

5. Privacy

  • Never attach, upload or quote the user's design, a crash report's design.sc, or file contents without asking. The minimal synthetic script is the default attachment.
  • GitHub does not accept .sc attachments. A design the user agrees to share goes up as a .zip: a .sc file is a ZIP already, so copy or rename it to name.sc.zip, or zip it. SolidCraft opens either kind of .zip.
  • Strip home folders, user names, part and project names and file paths from messages and logs (/home/alice/clients/acme/bracket.sc → bracket.sc).
  • Check screenshots for other windows, file names and anything personal.

6. Search, then write

  • Search before writing: gh issue list -R tangency-labs/solidcraft --state all --search "fillet radius" with two or three words from the error and the command. If one matches, add the minimal script and your version to it as a comment, instead of filing a new one.
  • Write the report with reference/report-template.md. Title <Area>: <what fails>, such as Fillet: a radius above half the edge's face fails with "…".
  • Show the user the finished report. File it only after they approve: gh issue create -R tangency-labs/solidcraft --label bug --title "…" --body-file report.md, or let them paste it into Report a bug in the app's title bar, which adds a screenshot they review first.

Traps

  • The wrong version. The CLI on PATH can be older or newer than the app the user ran. Reproduce with the user's version and say which one you used.
  • Fixed already. If it does not reproduce on the latest release or main but does on the user's version, say so: it saves a report.
  • Edge picks snap to the nearest edge with no distance limit and no error, so a repro can pick a different edge than the user did. Check the face count or body_topology after the step.
  • A success can be the bug. A cut that misses its body still reports success. Measure, don't trust the reply.

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.