mcpbeat Sign in

Forgecad Grade Model Agent Skill

Grade a ForgeCAD or CAD-as-code model against a requirement, brief, prompt, reference, or acceptance criteria with evidence and a 0-10 score.

1k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
912
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/ForgeCAD/forgecad-public-kit --skill forgecad-grade-model

The instruction itself

6 sections, as written by the author

Grade Model

Grade the delivered model against the requirement, not against what could be fixed later. Never edit the model unless the user explicitly requests repairs — then record the baseline grade first, change, and re-grade.

Workflow

  • Extract the requirement into a checklist, must-haves separate from nice-to-haves. If the brief is vague, grade the most reasonable literal interpretation and mark unverifiable items Unknown.
  • Run the model: forgecad run <model>.forge.js (in the ForgeCAD repo use the local build, node dist-cli/forgecad.js run ...). If it fails to execute, stop and apply the caps.
  • Render at least iso, front, right, top to a scratch dir; add views (back, bottom, close-up, section) when the model is asymmetric, hollow, mechanical, or likely to hide mistakes.
  • Open and look at every PNG — never score from command output alone. Check silhouette, proportions, required features, part boundaries, interfaces, and whether the model reads as the requested artifact from more than one angle.
  • Inspect whenever hidden internals, fit, wall thickness, or assembly behavior are central to the brief — grading without inspecting them caps the score. Delegate evidence choice, commands, and manifest reading to the forgecad-inspect-model skill. Findings (unexpected collisions, thin regions, floating bodies, wrong component counts) are evidence, not warnings to wave away.
  • Score: fill the rubric, apply caps, give a final 0-10 in whole or .5 increments. Unknowns count against the score.

Rubric

| Dimension | Points | What To Look For |

| --- | ---: | --- |

| Requirement fit | 4 | Satisfies the stated must-haves, captures the intended object/function, no drift into a generic substitute. |

| Geometric completeness | 2 | Correct silhouette, proportions, visible details, part boundaries, internal structure when required, no missing major components. |

| Mechanical/manufacturing plausibility | 2 | Believable materials/process, real interfaces, clear load paths, fasteners/seats/clearances where needed, no impossible assembly. |

| Validation health | 1 | Runs cleanly, renders from multiple views, targeted inspections reveal no major unaddressed issues. |

| Code/model quality | 1 | Parametric clarity, readable organization, meaningful names, no debug junk, appropriate ForgeCAD APIs. |

Anchors: 9-10 = evidence-backed match for the brief; 7-8 = recognizable and mostly complete, fixable gaps; 5-6 = main idea only; below 5 = broken or loosely related.

Evidence Caps

Maximum scores, applied after the rubric:

  • Model does not execute: max 2.
  • Executes but cannot be rendered: max 4.
  • No rendered images visually inspected: max 5.
  • Only one flattering view inspected: max 6.
  • A must-have requirement is absent: max 6.
  • Visually recognizable but physically impossible for the requested use: max 6.
  • Internals, fit, walls, or assembly central to the brief but uninspected: max 7.
  • Multi-part assembly violates the ForgeCAD component model — sibling imports, assembly-space coordinates inside parts, structural translate() placement, missing connector mates, or parent/child data flow confusion: max 7; max 6 when the violation makes the assembly brittle or mechanically wrong.
  • Inspection finds unexpected collisions, floating bodies, critical thin walls, or wrong connectivity: max 6; max 5 when the defect invalidates the main function.
  • Delivered as a finished product/prototype but presented with default flat lighting (no scene() rig), a generically colorful or material-false palette, or teaching-diagram styling: max 8. Does not apply when the brief asks for a blockout or bare technical study.
  • Any score relying on an assumption the evidence cannot verify: mark it Unknown, never score above 8.

Report Format

Score: N / 10

Requirement checklist:
| Item | Result | Evidence |
| --- | --- | --- |
| ... | Pass/Partial/Fail/Unknown | render/inspection/file evidence |

Evidence reviewed: run outcome; views inspected; inspection highlights.
Why this score: decisive strengths and defects.
Caps applied: list, or `None`.
Next fixes: the 2-5 highest-leverage improvements.

Grading Rules

  • A beautiful render with missing functional geometry is not a high score.
  • Grade the default returned model unless the user names a parameter set or variant.
  • No points for comments, labels, or intentions absent from the geometry.
  • Decorative screws, floating labels, and teaching-diagram callouts are not real mechanical interfaces.
  • For multi-part assemblies, require the component model: parts build locally at origin, expose connectors/metadata, the parent positions them, and inter-part data flows through parent props and returned metadata.
  • Cite which render or inspection finding drove the grade.
  • When comparing models, use identical checklist, cameras, inspection evidence, and caps for all.

Other skills for the same job

different authors, same section of the catalogue
MCP Builder
by anthropics
vendor ×13

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

30k tokens scripts
Changelog Generator
by frostant
×9

Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.

774 tokens
Finishing A Development Branch
by ZhanlinCui
×7

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

1k tokens
MCP Builder
by JayZeeDesign
×7

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

37k tokens scripts
Vercel React Native Skills
by vercel-labs
vendor ×6

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

39k tokens
Vercel React Best Practices
by ratacat
×5

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

34k tokens
Next Best Practices
by vercel-labs
vendor ×4

Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling

20k tokens
Using Git Worktrees
by ZhanlinCui
×4

Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification

1k tokens

How to use it

Copy the folder

Take forgecad/forgecad-grade-model from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.