Vercel Composition Patterns
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
Build or edit a manufacture-realistic .forge.js model in a project, then validate it with run, render, inspect, and export evidence.
$ npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ForgeCAD/forgecad-public-kit forgecad-build-model --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ForgeCAD/forgecad-public-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/forgecad-build-model .claude/skills/forgecad-build-model && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "forgecad-build-model" agent skill from https://github.com/ForgeCAD/forgecad-public-kit/tree/mainline/skills/forgecad-build-model into .claude/skills/forgecad-build-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "forgecad-build-model", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ForgeCAD/forgecad-public-kit/tree/mainline/skills/forgecad-build-modelType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ForgeCAD/forgecad-public-kit forgecad-build-model --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ForgeCAD/forgecad-public-kit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/forgecad-build-model .agents/skills/forgecad-build-model && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "forgecad-build-model" agent skill from https://github.com/ForgeCAD/forgecad-public-kit/tree/mainline/skills/forgecad-build-model into .agents/skills/forgecad-build-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "forgecad-build-model", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ForgeCAD/forgecad-public-kit forgecad-build-model --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ForgeCAD/forgecad-public-kit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/forgecad-build-model .cursor/skills/forgecad-build-model && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "forgecad-build-model" agent skill from https://github.com/ForgeCAD/forgecad-public-kit/tree/mainline/skills/forgecad-build-model into .cursor/skills/forgecad-build-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "forgecad-build-model", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ForgeCAD/forgecad-public-kit.git --path skills/forgecad-build-model--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ForgeCAD/forgecad-public-kit forgecad-build-model --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ForgeCAD/forgecad-public-kit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/forgecad-build-model .gemini/skills/forgecad-build-model && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "forgecad-build-model" agent skill from https://github.com/ForgeCAD/forgecad-public-kit/tree/mainline/skills/forgecad-build-model into .gemini/skills/forgecad-build-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "forgecad-build-model", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ForgeCAD/forgecad-public-kit forgecad-build-modelInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ForgeCAD/forgecad-public-kit.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/forgecad-build-model .github/skills/forgecad-build-model && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "forgecad-build-model" agent skill from https://github.com/ForgeCAD/forgecad-public-kit/tree/mainline/skills/forgecad-build-model into .github/skills/forgecad-build-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "forgecad-build-model", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ForgeCAD/forgecad-public-kit forgecad-build-model --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ForgeCAD/forgecad-public-kit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/forgecad-build-model .opencode/skills/forgecad-build-model && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "forgecad-build-model" agent skill from https://github.com/ForgeCAD/forgecad-public-kit/tree/mainline/skills/forgecad-build-model into .opencode/skills/forgecad-build-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "forgecad-build-model", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
forgecad-build-modelBuild or edit a manufacture-realistic .forge.js model in a project, then validate it with run, render, inspect, and export evidence.
Forgecad Build Model is an agent skill from ForgeCAD/forgecad-public-kit. Build or edit a manufacture-realistic .forge.js model in a project, then validate it with run, render, inspect, and export evidence.
Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. The repository describes itself as: Public companion kit for ForgeCAD: examples, agent skills, docs links, and issue tracking. The hosted CAD app and core source live elsewhere. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7523f68. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Forgecad Build Model loads about 5.5k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 2,925 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ForgeCAD/forgecad-public-kit at commit 7523f68, republished under its MIT licence (© ForgeCAD). 2,925 words, ~5,509 tokens.
.claude/skills/forgecad-build-model/SKILL.md (or your agent's skills folder).Create new ForgeCAD models in the user's active ForgeCAD project.
Unless the user asks otherwise, the output is a manufacture-realistic prototype: a model someone could fabricate, buy parts for, assemble, inspect, and iterate in a real shop — not a concept sketch, not a universal 3D-printing exercise, not a claim of certified production readiness.
blockout → rough massing; production-realistic → DFM and production-intent materials; printable → make the selected printed parts honest; visual-CAD → clearly visual, not pretending build-ready.New .forge.js files go under date-based directories (today's date) in the user's current ForgeCAD project or a clearly named local folder:
YYYY/MM/DD/file.forge.js — single-file model
YYYY/MM/DD/folder/main.forge.js — multi-file entry point (always main.forge.js)
YYYY/MM/DD/folder/parts/*.forge.js — standalone/importable parts
YYYY/MM/DD/folder/lib/*.js — pure helpers/constants, no geometryparametric-lego.forge.js). Each part file must run standalone and import via require('./parts/name.forge.js', params)..js only for constants, math, tables, formatting — never geometry.forgecad skill — read at least the Core API reference. Moving parts: also the assembly group and joint-design guide. Mating parts: the positioning guide; default to connectors + matchTo().mkdir -p YYYY/MM/DD/[folder].param()/Param.bool() for tunable dimensions; pick the manufacturing process before styling; build real internals; follow the contracts below.forgecad run <file> (main.forge.js for multi-file).main.forge.js.Manufacturing process is a choice, not an assumption. Never treat every model as printable. Pick process cues from the load path and operating story: machined, bent sheet, tube-and-plate, wood/composite, molded-look, printed, or hybrid purchased-hardware construction (rideables: metal/composite structure + purchased wheels/bearings; furniture: real joinery). Print-specific features (slicer clearances, heat-set inserts, layer-oriented ribs) only when the process includes printed parts.
Visual style: expensive and credible, not generically colorful. Restrained material-driven palette (ivory, charcoal, satin black, brushed aluminum, brass, muted burgundy/green/navy, smoked polymer, natural wood); match color to material/process so metal, polymer, rubber, PCB, and wood read differently. Bright color only as small accents (controls, seals, indicators). Keep seams, fasteners, gaskets, and purchased parts legible.
Form is part of credibility. Real products carry deliberate edge treatment — chamfered or rounded profiles where hands, seals, or tooling meet the part, draft on molded faces, consistent proportions and design language across parts. A knife-sharp box reads as a blockout, not a product. Get the rounding from profile-level geometry (rounded sketch corners, chamfered profiles) per the fillet caveat below.
Variants are parameter-selected. Sizes/styles/revisions go behind one choice parameter (Variant, Preset); return only the selected variant. Comparison lineups only behind an explicit debug parameter so they can never pollute collision findings.
Deliver the real closed artifact — covers installed, parts in assembled positions. The forgecad skill carries the no-labels/no-cutaway rule (no explanatory labels, arrows, or legends in production geometry; never a cutaway, sectioned, or exploded default); it binds here. Markings only when the real artifact has them (serial plates, gauge ticks, molded icons) — sparse, process-appropriate. Explain roles via named return objects and verify.*; review annotations go in Viewport.label() or a debug mode, never exported geometry.
Internal geometry is part of the model. If the real artifact has internals, model them as real geometry even when hidden: cavities, ribs, bosses, screw holes, bearing seats, electronics/battery volumes, wire channels, mechanism clearances and stops. Verify hidden structure with exploration tools — alternate views, inspect sections, --hide, transparent shells, named ghosts — never by mutilating the returned model.
For any mechanism (linkage, hinge, slider, suspension, gripper, drawer), the rig is the source of truth: build and prove the motion structure first, then attach geometry — never retrofit motion onto finished shells.
Pick the rig shape before geometry: point-link graphs for closed-loop skeletons with distance/angle constraints; frames and connector joints when part orientation matters (API roster in the assembly docs).
Name every degree of freedom; encode limits/defaults at rig level. Mirrored revolute axes need an explicit sign mapping — equal joint values do not automatically mirror poses.
Attach proxy geometry only (pivot markers, bars, slider blocks, wheel discs). Run the rig at rest, mid-travel, both limits, and mirrored/coupled poses until the solver, controls, connector alignment, and verify.* checks all pass:
forgecad run model.forge.js --joint "theta=45"
forgecad render 3d model.forge.js /tmp/theta-45.png --joint "theta=45" --camera isoUse real joint names; repeat --joint per control. A pose that fails to solve, clamps unexpectedly, breaks a connector check, or adds a collision means the rig is not ready for final geometry.
Only then attach manufacture-real geometry to the solved links, frames, and connectors — never via a final rotate() that makes one pose look assembled.
Return the unsolved Assembly so Motion controls re-run the real solve. Never bake a posed SolvedAssembly to make one pose look right.
Encode pose checks in-script with verify.*: convergence, connector origins coinciding, link lengths holding, end effectors reaching targets, running clearances positive.
A mechanical script is not done when it merely looks assembled. Every visible piece needs a physical reason to be where it is: fused material, contact faces, a screw stack, a pin in a bore, a tab in a slot, a gasket on a land, a bearing in a seat, a cable in a channel, or a named intentional ghost.
For multi-part assemblies, the component model is mandatory:
shape plus connectors and metadata, e.g. return { shape, boltPattern, pinionZ }. Declare mating faces with .withConnectors({}); axes point outward, with prismatic slide axes as the explicit exception.connect(), match(), or matchTo(). Final translate() calls are not assembly contracts.require('./part.forge.js', params) overrides and up through returned metadata. Siblings never import each other; the parent routes shared decisions and measured outputs.shared-dims.js just to coordinate siblings.Reject these shortcuts on sight: sibling require(), assembly-space coordinates inside a part, translate() used to position a structural assembly member, console.log + if validation instead of verify.*, and bare connector.neutral() outside a reusable component library with compatibility checks.
matchTo(), verify each mate with verify.connectorDistance.addFixed/addRevolute/addPrismatic with a hand-built frame:) are scaffolding, not contracts. Before delivery, convert mating interfaces to connectors with connect()/match(), or prove the manual joint with forgecad debug assembly --fail-on warning and documented geometry.verify.*, not comments: verify.clearanceBetween for seated fits and clearance bands, verify.minClearance/verify.notColliding for keep-out and running gaps, verify.connectorDistance for connector mates. Part counts and generic dimensions never prove an interface.lib.fastenerSet(), lib.boltPattern(), real bores and pockets, connectors + matchTo()) — not finished backplates, brackets, or hinge leaves.Treat fillet()/chamfer() as experimental (Manifold can be incorrect, OCCT slow); prefer profile-level rounding and inspect before relying on the result.
When the user supplies mesh or CAD files to design around (a motor, an off-the-shelf housing, a scanned part), the import IS a component of the assembly — keep it, don't rebuild it parametrically (rebuilding is forgecad-reconstruct-cad-file, a different request).
Import.mesh() for STL/OBJ/3MF, Import.step() for STEP (OCCT backend), normalize scale and orientation, recenter to a sane local origin, then treat it exactly like a purchased part — connectors at its real mating features, positioned by the assembly via matchTo().forgecad run --details, or inspect section --ray across a bore or face pair. For 3MF, account for every build item printed by forgecad run before flattening.verify.clearanceBetween/verify.connectorDistance against the import like any other body. Collision Policy applies to imports too.Each returned part is real matter. Expected final collision count: zero.
verify.intentionalOverlap on the exact visible object pair with the physical reason. The mechanical-integrity gate honors a declaration only when that pair has a confirmed exact collision; unused or non-visible declarations still fail.difference(), primitives before union(), exploratory layouts) must be consumed, hidden, named as ghosts, or isolated with --focus/--hide so final findings stay meaningful.Prove technical validity and visual plausibility before declaring done. Apply to any model with multiple bodies, surface details, cables, rails, handles, product skins, or hidden mating geometry.
forgecad inspect physical components and require the count to match. Unexpected islands, accidental fusion, or bbox-only "touching" are model bugs.assembly(): forgecad debug assembly model.forge.js --fail-on warning. Fix warnings (multiple roots, manual joint contracts, disconnected bodies, unused connectors, collisions); a truly intentional one gets a visible reason in code.forgecad inspect mechanical-integrity . --collisions is the shareability gate — it fails on missing verify.* interface checks, fragmented named groups, uncontracted manual assemblies, positive-volume collisions, timeouts, runtime failures. Do not share while red unless the user asked for a blockout.--joint and/or in-script solve(state) checks, with convergence, attachment, and clearances holding at every pose.forgecad inspect fit interference; read the manifest collision count AND the evidence PNGs. Zero unexpected findings per Collision Policy; visually confirm where any findings appear.scene() rig (Scene Presentation below) — default flat lighting in a final render is a finding. One whole-model context view plus views chosen from this object's failure modes — opposing, underside, interior-facing, or grazing angles that catch internals showing through openings, covers that don't close, bad boolean cuts. Per meaningful interface: one contextual and one focused/isolated view. Risk prompts:inspect sections for hidden geometryA manufacture-realistic model must yield a package a shop can consume, not just a clean viewport.
bom() (exact spec, quantity, purpose) so the BOM lives in the model — forgecad export report must reproduce it without prose supplements.dim() annotations on the dimensions a builder must hit: overall envelope, critical interfaces, mating bores and bolt patterns.export stl/export 3mf for printed parts; export step for machined parts and CAD interchange; sheet-metal parts must unfold to a valid flat pattern (export cutting-layout for sheet goods). step, report, and cutting-layout need a Production license — if unavailable, run the free exports and name the gated commands that complete the package instead of failing.You are building blind unless you render. forgecad run passing only means the code didn't crash — it cannot tell you a hole is misplaced, a rib pokes through a cover, or a part doesn't fit. Render from angles chosen for the model's actual geometry and read every PNG. For command syntax, evidence selection, and manifest reading, use the forgecad-inspect-model skill and the CLI docs — this skill fixes only the cadence and the gates.
Render after every feature addition, boolean cut, symmetric copy placement, and the last feature. Inspect after adding hidden geometry a surface render cannot prove, after adding or moving mating parts, ghosts, connectors, thin walls, or screw holes, and before delivery with thresholds set for the material/process.
Keep inspection scenes small. Return one selected configuration; include only the parts needed to prove the current risk (if a check concerns three objects, inspect those three, not the whole shop floor); prefer --focus/--hide and parameter-selected diagnostic modes over permanent extra objects; collapse proven subassemblies into fewer named objects where identity doesn't matter for collisions, masks, or contracts. If you cannot hold the scene in your head, you cannot debug it honestly.
Ghost parts for fit checks. When a part holds or contains another object, render both with the contained object as a compact transparent named ghost — e.g. a box() at the seat position with .color('#ff4444').material({ opacity: 0.4 }), returned as { name: 'Servo Ghost', shape: ghost }.
Use verify.* for dimensions and clearances that decide acceptance; console.log() only for explanatory traces (shown under "Script output:" in forgecad run).
You cannot target a complex model in one pass. Decompose, solve the smallest piece, verify, compose upward:
forgecad run, then render and read the PNG. Fix while the scope is tiny.For any model with more than ~3 distinct geometric features, plan the decomposition explicitly before writing geometry.
Always set up scene() — default lighting looks flat. Worked recipes (studio and matte-industrial setups, named views, plinth) live in guides/scene-presentation.md via the forgecad skill; the schema is in the viewport docs. Hard-won cliffs:
lights replaces ALL defaults — always include an ambient light or the scene goes black.castShadow: true) + weaker cool fill/rim. Keep environment.intensity low — environment fill kills shadows.toneMappingExposure by ~0.05 before redoing the rig; avoid big ambient jumps.fov 35–50, target at the visual center of mass. Ground plane with shadows for grounded objects.studio for metallic/jewelry, warehouse/apartment for organic/matte, warehouse + strong directionals for mechanical, night + bloom/vignette for dramatic.© ForgeCAD, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/forgecad-build-model of ForgeCAD/forgecad-public-kit.
Open the folder on GitHubat commit 7523f68
Forgecad Build Model next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Forgecad Build Model this skillForgeCAD/forgecad-public-kit | 941 | — | ~5.5k | Automated safety check: Pass | MIT | |
| Vercel Composition Patternssupabase/supabase | 111k | 59 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT |
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
ForgeCAD/forgecad-public-kit
Verify a ForgeCAD MJCF export in MuJoCo with dynamics, contacts, controls, joint travel, and rendered evidence before calling it simulation-ready.
ForgeCAD/forgecad-public-kit
Reconstruct a real parametric ForgeCAD object from reference images by using images as evidence, not as a one-view facade.
ForgeCAD/forgecad-public-kit
Reconstruct a readable parametric ForgeCAD model from an existing CAD or mesh file such as STL, OBJ, 3MF, STEP, or STP.
ForgeCAD/forgecad-public-kit
Create a ForgeCAD design brief, HLD, or LLD before coding by walking through use, assembly, interfaces, decisions, and verification.
ForgeCAD/forgecad-public-kit
ForgeCAD model authoring, editing, debugging, and execution guidance for .forge.js, SVG-import, assembly, and CLI workflows.
ForgeCAD/forgecad-public-kit
Grade a ForgeCAD or CAD-as-code model against a requirement, brief, prompt, reference, or acceptance criteria with evidence and a 0-10 score.
Categories
Build or edit a manufacture-realistic .forge.js model in a project, then validate it with run, render, inspect, and export evidence. Forgecad Build Model is an agent skill from ForgeCAD/forgecad-public-kit.js model in a project, then validate it with run, render, inspect, and export evidence.
Forgecad Build Model fits situations like: development work in your project.
Run `npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a claude-code`. Or copy the skill folder (skills/forgecad-build-model in ForgeCAD/forgecad-public-kit) into .claude/skills/forgecad-build-model in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a codex`. Or copy the skill folder (skills/forgecad-build-model in ForgeCAD/forgecad-public-kit) into .agents/skills/forgecad-build-model in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ForgeCAD/forgecad-public-kit --skill forgecad-build-model -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/forgecad-build-model, .gemini/skills/forgecad-build-model, .github/skills/forgecad-build-model and .opencode/skills/forgecad-build-model in your project.
SKILL.md names no scripts, command-line tools or credentials: Forgecad Build Model is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Forgecad Build Model is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.5k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Forgecad Build Model: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ForgeCAD (a GitHub organization) maintains it in ForgeCAD/forgecad-public-kit, which has 941 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on June 15, 2026.
Source: ForgeCAD/forgecad-public-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.