Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DtL5M41G8Nua7HvuFPZkmJ
Agent skills
Skills for contributing to SolidCraft and modelling through its MCP server. Each folder is
one skill in the Agent Skills format: a SKILL.md with a name and a
description that tell the agent when to load it, and an optional supporting reference file.
The modelling documents are built into SolidCraft: its MCP server's skill_reference tool returns them, so an
agent without file access (such as the one in SolidCraft's own chat) can still read a skill's reference.
The contributor skills (everything except modeling, editing, checking and mechanisms) are for repository work and are not embedded in that tool. AGENTS.md routes to them; cargo xtask skills fails when its table and this folder disagree or a file, cargo xtask command or skill they name is gone.
| Skill | Loads when the agent |
|---|---|
solidcraft-contributing |
helps someone set up a fork, choose and claim an issue, and submit a contribution for review; the rules every PR follows |
solidcraft-ground-rules |
adds a dependency, asset or wording: independence, licences, attribution, the product name |
solidcraft-crash-safety |
writes non-test Rust, handles hostile input or investigates a crash report |
solidcraft-commands |
adds a command or decides which crate code belongs in |
solidcraft-ui |
adds a dialog, panel, camera input, icon or colour |
solidcraft-ui-text |
adds a label, message or translation |
solidcraft-file-formats |
changes what a design saves, or touches import and export |
solidcraft-preferences |
adds a setting or changes a default |
solidcraft-tests |
places or runs tests |
solidcraft-performance |
works on slow code, the window thread or the wasm build |
solidcraft-packaging |
prepares a release or changes packages |
solidcraft-agent-tools |
runs the app, drives the control channel or changes MCP tools |
solidcraft-modeling |
builds a new part (enclosure, bracket, plate, flange, …) |
solidcraft-editing |
changes, fixes or extends an existing design |
solidcraft-checking |
builds, changes or ports a design, next to the two above: parameter ranges, every allowed value, exact STEP comparison, regression tests, designs kept in git |
solidcraft-mechanisms |
builds, drives or animates an assembly: components, joints, motion links, closed loops such as actuators, contact sets, motion studies |
solidcraft-reporting |
hears that something went wrong (a crash, a failed command, a wrong shape or number, a hang): reproduces it in a fresh design, shrinks it to a minimal script and writes the bug report |
The modelling skills teach the agent to:
- plan the part as numbers
- build it in a few
batchcalls with parametric positions - verify every stage with
measureagainst values it computed itself - skip the large replies it doesn't need, such as the unfiltered command catalog and full topology dumps
They also list the traps that otherwise cost failed calls. Examples are the sketch axes of the XZ plane, edge picks that snap to the nearest edge, and cuts that miss but still report success.
The modelling skills are written for SolidCraft 0.8 and later; solidcraft-mechanisms for main after 0.11.1 (the next release), which counts the degrees of freedom of closed loops; solidcraft-reporting for 0.18 and later.
Install
The modelling skills, for Claude Code in all projects:
git clone --depth 1 https://github.com/tangency-labs/solidcraft
cp -r solidcraft/skills/solidcraft-{modeling,editing,checking,mechanisms} ~/.claude/skills/
Windows (PowerShell):
git clone --depth 1 https://github.com/tangency-labs/solidcraft
foreach ($s in 'modeling','editing','checking','mechanisms') { Copy-Item -Recurse solidcraft\skills\solidcraft-$s $HOME\.claude\skills\ }
- One project only: copy the folders into that project's
.claude/skills/instead. - Other agents: for agents that read the Agent Skills format, copy the folders into the skills directory their documentation names.
- Updating: copy the folders again after you update SolidCraft.
- Contributing: the contributor skills need no install. Tell your assistant: "I want to contribute to SolidCraft. Read https://github.com/tangency-labs/solidcraft/blob/main/skills/solidcraft-contributing/SKILL.md and help me get started."
Maintaining
- The worked example in
solidcraft-modeling/reference.mdruns in CI.skill_reference_example_builds_as_documentedincrates/mcp/src/tests.rsbuilds it, checks the documented volume, changes a parameter and checks it again. - The sketch-plane table is covered by
sketch_plane_axes_match_the_skill_referencein the same file. - The worked example in
solidcraft-mechanisms/reference.mdruns in CI too:mechanisms_skill_example_moves_as_documentedbuilds it, drives the hinge and checks the actuator stroke, the linked panel and the stop against their analytic values. skills_name_only_real_tools_and_commandschecks that every tool and command the skills call exists.solidcraft-checking/scripts/testschecks that skill's helpers, its traps and conventions, and the facts behind the corrections insolidcraft-modeling:PYTHONDONTWRITEBYTECODE=1 uv run --no-project --with pytest --with build123d pytest -p no:cacheprovider skills/solidcraft-checking/scripts/tests. The tests run thesolidcraft-clionPATH, not the workspace build, and CI does not run them.- When a command, a parameter name or a behaviour that these files describe changes, update them in the same PR.
- Facts that describe current limitations, such as edge picks without a distance limit, should go once the limitation is fixed.