
Step Parts
Pull standardized STEP part models from step.parts into a text-to-CAD or mechanical design workflow without manual file hunting.
Overview
STEP Parts is an agent skill for the Build phase that finds and downloads STEP CAD files from the step.parts API.
Install
npx skills add https://github.com/earthtojake/text-to-cad --skill step-partsWhat is this skill?
- Defaults to the hosted `api.step.parts` origin with override when you supply a compatible API domain
- Pairs with static catalog pages on `www.step.parts` for discovery before download
- MIT-licensed skill wired via interface `default_prompt` for agent-driven find-and-download
- Documented API reference for STEP file retrieval in agent sessions
Adoption & trust: 1.8k installs on skills.sh; 5.8k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need manufacturer STEP geometry in your project but do not want to manually browse catalogs and save files outside the agent workflow.
Who is it for?
Indie hardware or CAD automation builders who already use agents and want scripted STEP retrieval from step.parts.
Skip if: Teams that need full in-agent solid modeling, proprietary CAD without STEP, or workflows with no network access to step.parts.
When should I use this skill?
User wants to find or download a STEP file from step.parts or says to use $step-parts for catalog retrieval.
What do I get? / Deliverables
Your agent queries step.parts and delivers a downloaded STEP file ready to import into your CAD or simulation pipeline.
- Downloaded STEP file on disk or path reference in the repo
- API query context the agent used to resolve the part
Recommended Skills
Journey fit
Sourcing downloadable STEP geometry is an integration step while assembling a physical or CAD-oriented product, not early market research. The skill wraps the step.parts HTTP API and download flow—classic third-party integration during build.
How it compares
Use as a catalog download bridge—not a replacement for Onshape/Fusion modeling skills or generic filesystem search.
Common Questions / FAQ
Who is step-parts for?
Solo builders and small teams using Claude Code, Cursor, or similar agents to source standard mechanical parts as STEP files for prototypes or text-to-CAD pipelines.
When should I use step-parts?
During Build integrations when you need a specific or discoverable STEP part from step.parts; less often in Idea unless you are already scoping physical BOM geometry.
Is step-parts safe to install?
It is MIT-licensed client documentation for a public API; review the Security Audits panel on this Prism page and treat downloaded CAD and API traffic like any external dependency.
SKILL.md
READMESKILL.md - Step Parts
interface: display_name: "STEP Parts" short_description: "Find and download STEP files from step.parts" default_prompt: "Use $step-parts to find and download a STEP file from step.parts." MIT License Copyright (c) 2026 earthtojake Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # step.parts API Reference ## Origins Default to the API origin `https://api.step.parts`. Use a different origin only when the user supplies another hosted step.parts-compatible API domain. Static HTML pages live on `https://www.step.parts`; GLB and PNG preview URLs in API records point directly at Vercel Blob. STEP URLs are environment-aware and production records use commit-pinned GitHub LFS media. If the API domain does not resolve, treat the hosted service as unavailable and ask for a deployed origin when a live download is required. ## Machine Endpoints | Endpoint | Use | | --- | --- | | `https://www.step.parts/llms.txt` | Human-readable agent guide with endpoint summary and examples. | | `/v1/parts` | Search, filter, paginate, and retrieve absolute asset URLs. | | `/v1/parts/{id}` | Fetch one enriched part record by stable id. | | `/v1/catalog/schema` | JSON Schema, field semantics, result ordering, and family attribute meanings. | | `/v1/catalog/parts.index.json` | Compact id/name/facet discovery index for cheap lookups before fetching details. | | `/v1/openapi.json` | OpenAPI 3.1 contract for generating clients/tools. | ## `/v1/parts` Query Parameters - `q`: tokenized metadata search across id, name, description, category, family, stepSource, productPage, tags, aliases, standard fields, attribute keys, and attribute values. Every token must match. - `tag`, `category`, `family`, `standard`: repeatable filters. Values may also be comma-separated. Values within one facet are ORed, and selected facet fields are ANDed together. - `page`: 1-based page number. - `pageSize`: default `100`, max `500`. Unfiltered results start with a fixed 100-part showcase, then continue in stable source catalog order. Filtered results are ordered by stable source catalog order. Examples: ```text https://api.step.parts/v1/parts?q=M3&tag=screw&page=2 https://api.step.parts/v1/parts?pageSize=100 https://api.step.parts/v1/parts?category=fastener&family=socket-head-cap-screw&standard=ISO%204762 https://api.step.parts/v1/parts?q=lengthMm%2012 ``` ## Response Fields `/v1/parts` returns: - `catalog`: part count, last modified timestamp, catalog checksum, and URLs for schema/OpenAPI. - `items`: enriched part records with absolute `pageUrl`, `apiUrl`, `stepUrl`, `glbUrl`, and `pngUrl`. - `page`, `pageSize`, `total`, `totalPages`, `hasNextPage`, `hasPreviousPage`. - `facets`: available `tags`, `categories`, `families`, and `standards` with counts. - `filters`: parsed active filters. Each part record contains: - `id`: stable snake_case identifier and asset filename base. - `name`, `description`, `category`, `family`, `tags`, `aliases`. - `standard`: optional `{ body, number, designation }`. - `attrib