Code Review Checklist
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.
Projects orthographic views, dimensions, hole callouts and a title block from a part's actual geometry into a single ISO-sheet PDF drawing that updates when the model changes.
$ npx skills add earthtojake/text-to-cad --skill engineering-drawing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install earthtojake/text-to-cad engineering-drawing --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/earthtojake/text-to-cad.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/engineering-drawing .claude/skills/engineering-drawing && 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 "engineering-drawing" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/engineering-drawing into .claude/skills/engineering-drawing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-drawing", 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/earthtojake/text-to-cad/tree/main/skills/engineering-drawingType 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 earthtojake/text-to-cad --skill engineering-drawing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install earthtojake/text-to-cad engineering-drawing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/earthtojake/text-to-cad.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/engineering-drawing .agents/skills/engineering-drawing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "engineering-drawing" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/engineering-drawing into .agents/skills/engineering-drawing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-drawing", 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 earthtojake/text-to-cad --skill engineering-drawing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install earthtojake/text-to-cad engineering-drawing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/earthtojake/text-to-cad.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/engineering-drawing .cursor/skills/engineering-drawing && 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 "engineering-drawing" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/engineering-drawing into .cursor/skills/engineering-drawing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-drawing", 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/earthtojake/text-to-cad.git --path skills/engineering-drawing--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 earthtojake/text-to-cad --skill engineering-drawing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install earthtojake/text-to-cad engineering-drawing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/earthtojake/text-to-cad.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/engineering-drawing .gemini/skills/engineering-drawing && 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 "engineering-drawing" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/engineering-drawing into .gemini/skills/engineering-drawing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-drawing", 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 earthtojake/text-to-cad engineering-drawingInstalls 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 earthtojake/text-to-cad --skill engineering-drawing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/earthtojake/text-to-cad.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/engineering-drawing .github/skills/engineering-drawing && 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 "engineering-drawing" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/engineering-drawing into .github/skills/engineering-drawing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-drawing", 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 earthtojake/text-to-cad --skill engineering-drawing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install earthtojake/text-to-cad engineering-drawing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/earthtojake/text-to-cad.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/engineering-drawing .opencode/skills/engineering-drawing && 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 "engineering-drawing" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/engineering-drawing into .opencode/skills/engineering-drawing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-drawing", 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.
engineering-drawingProjects orthographic views, dimensions, hole callouts and a title block from a part's actual geometry into a single ISO-sheet PDF drawing that updates when the model changes.
cadgen.eng_drawing turns a CAD part into a document rather than a hand-drawn sheet: it projects views straight from the part's geometry, places dimensions between points on that geometry, finds centre marks automatically and lays everything out on an ISO sheet with a frame and title block. Because every value comes from the model, changing the part and rerunning the drawing script moves the views, hidden lines and measurements with it, and nothing is a typed number unless you deliberately override it. The only output is one PDF; no DXF is written, since DXF flat patterns are a separate tool's job, not this one, and there is no CLI beyond running the script.
Everything runs through uv, pinned to cadgen 0.7.15 on Python 3.13, so the skill's commands share one installation and warm build daemon with the CAD app's server; the first run downloads it and later runs reuse it. The workflow reads the part with cadgen.read_step from a STEP file a model script already wrote, writes a new drawing script beside the model that imports the model's own facts such as hole pitch and wall thickness rather than retyping them, places views with sheet.three_views for a standard four-view layout with an isometric or sheet.view for a custom A3 or A4 layout, then dimensions what a maker actually needs in model coordinates.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b48ff49. 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.
Shell commands in SKILL.md call:
uvxpythonFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.astral.shFrom 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.
CAD Engineering Drawing Generator loads about 1.9k tokens when it runs, and up to ~3.7k if it reads all its reference files. Until then it costs about 99 tokens; SKILL.md has 1,151 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 earthtojake/text-to-cad at commit b48ff49, republished under its MIT licence (© earthtojake). 1,151 words, ~1,950 tokens.
.claude/skills/engineering-drawing/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Provenance: maintained in earthtojake/text-to-cad. Use the installed local skill files as the runtime source of truth.
An engineering drawing is a DOCUMENT derived from a part. cadgen.eng_drawing
projects views from the part's geometry, places dimensions between points ON
that geometry, finds centre marks on it, and lays the result out on an ISO
sheet with a frame and a title block. Change the model, rerun the drawing
script, and the views, hidden lines and measured values move with it. Nothing
on the sheet is drawn by hand, and nothing on it is a number you typed unless
you chose to override a value.
The output is one PDF. That is what a shop receives and what every
operating system opens. No DXF is written, nothing is paired or linked, and
there is no CLI: the script is the interface. $dxf makes cut layouts and flat
patterns, which are toolpaths, not documents; the two are different jobs.
Run cadgen through uv, so this skill's commands share one installation, and its warm build daemon, with the CAD app's server:
cadgen below means uvx --no-config --managed-python --python 3.13 --from cadgen==0.7.20 cadgenpython below means uvx --no-config --managed-python --python 3.13 --from cadgen==0.7.20 pythonThe first run downloads that installation; later runs reuse it.
Get the part. cadgen.read_step(Path(__file__).parent / "../STEP/part.step")
reads the artifact a @step model wrote (run python <model>.py first); a
live build123d shape works just as well. The drawing documents geometry, it
does not build it.
Write <name>_drawing.py beside the model, from
the template. Import the model facts the
dimensions reference (hole pitch, overall size, wall) from the model module
rather than retyping them, so moving a feature moves its dimension.
Place views with sheet.three_views(part, iso=True), which returns FOUR
views: top, front and right in third angle with room for two rows of
dimensions, plus an isometric in the free corner. sheet.three_views(part)
returns three. Use sheet.view(part, name, at=(x, y)) (sheet millimetres
from the bottom-left corner; A3 is 420 × 297, A4 is 297 × 210) only for a
custom layout.
Dimension what a maker needs, in MODEL coordinates: overall size per view
(view.overall()), feature positions and sizes (view.dim, with tol=
or fit= where the design requires one), holes as callouts (view.hole:
thru, depth, counterbore, countersink, thread), and notes with leaders
(view.note). Leave text unset so the dimension is measured; give a
value only where the model does not define it. Leave offset unset too and
the dimension takes the next free row outside the view; pass one only to
place a dimension deliberately, and remember it is measured from the
dimension's own points, not the view's edge. Keep notes few and short; one
wider than the sheet's note column is refused, and notes= takes a LIST
(notes="BREAK EDGES" is a sequence of eleven characters, so it is refused
too).
Run python <name>_drawing.py. It prints the PDF it wrote, and anything
it noticed while drawing — read those first:
three_views(gap=...) or place one with offset=. The text
is measured as the renderer draws it, glyph by glyph, so this fires on ink
and not on markup: a chain of toleranced dimensions is silent when the
values clear each other.Steps 3 and 5 stand on their own: a sheet of views with no dimensions on it yet is a drawing, and writes its PDF.
When running unattended, set MPLCONFIGDIR to a writable directory so
matplotlib's font cache does not warn.
Read the PDF and fix what collides. Check that no dimension text sits on
a view, that hidden lines appear where features are behind faces, that every
hole has a centre mark, and that no leader crosses the part. Very small
dimensions (a few mm) put their value on their own extension line; dimension
the larger feature instead. Move at= or offset= and rerun.
VISIBLE (heavy outline), HIDDEN (dashed), CENTER
(centre marks), DIM, NOTES, TITLE, SHEET (frame), each printed at its
own weight — 0.5 mm down to 0.18 mm, so thick reads against thin on paper.
An edge is drawn once: a silhouette that the kernel returns as both visible
and hidden stays on VISIBLE. Hidden TANGENT transitions are not drawn at
all — a fillet running into a face, or the seam where a cylinder closes on
itself, marks nothing a shop can see, and drawn dashed it reads as a hidden
edge that is not there (on a bore, as a line down the hole's own axis).SHEET n OF m and the drawing function's name;
numbered notes above it (the general tolerance, when given, is note 1);
a revision table top-right when revisions= is given. Text longer than
its cell is set smaller, and cut with an ellipsis rather than overrun.The script raises rather than writing a wrong or missing document:
orientation= other than "h"/"v", a negative or zero
diameter, a counterbore that is not a (diameter, depth) pair, a tol that
is not a number or a pair, a hole that is both thru and given a depth,
notes= or revisions= given a bare string, a note wider than the sheet,
angle() legs that are collinear or zero-length, a non-finite at= or
offset=.out= missing or not naming a .pdf, at import time.tol=, fit= and general_tolerance= that you
write; get the values from the design requirements or the user, never
invented. A dimension without one is nominal.© earthtojake, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/engineering-drawing of earthtojake/text-to-cad.
Open the folder on GitHubat commit b48ff49
CAD Engineering Drawing Generator 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 |
|---|---|---|---|---|---|---|
| CAD Engineering Drawing Generator this skillearthtojake/text-to-cad | 19k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 4 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Minimizing Ty Ecosystem Changesastral-sh/ruff | 50k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Merge Dependabot PRsonyx-dot-app/onyx | 32k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Summarise Ecosystem Resultsastral-sh/ruff | 50k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Senior Architect Toolkitmaslennikov-ig/claude-code-orchestrator-kit | 260 | 8 repos | ~1.2k | Automated safety check: Notes | Custom licence |
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.
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
onyx-dot-app/onyx
Triages and lands a batch of open Dependabot PRs in the Onyx repo, where main is gated exclusively by GitHub's merge queue: approves and enqueues green PRs, closes superseded duplicates, fixes…
astral-sh/ruff
A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive software architecture skill for designing scalable, maintainable systems using ReactJS, NextJS, NodeJS, Express, React Native, Swift, Kotlin…
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
earthtojake/text-to-cad
Measures STL, OBJ, PLY or 3MF mesh files against additive manufacturing design limits and reports printability findings for each print process.
earthtojake/text-to-cad
Find, evaluate, and download common purchasable CAD parts from step.parts, including named off-the-shelf actuators, servos, motors, electronics boards, connectors, screws, bolts, nuts, washers…
earthtojake/text-to-cad
Guided DFM review of a part for sheet metal, CNC machining or injection molding, covering bends, tool access, draft and undercuts, with evidence-first measurement rules.
earthtojake/text-to-cad
Generates, regenerates and validates 2D DXF drawings from Python build123d sources for profiles, gaskets, panels and cut layouts, and reviews them in CAD Viewer.
earthtojake/text-to-cad
Slices STL, 3MF or OBJ models into printer-ready G-code with OrcaSlicer, either headless from the command line or by opening the model in the app.
earthtojake/text-to-cad
Guides writing, editing and validating URDF robot description files, with a design ledger, exact frame semantics and computed inertials checked by a validator.
Works with
Categories
Projects orthographic views, dimensions, hole callouts and a title block from a part's actual geometry into a single ISO-sheet PDF drawing that updates when the model changes. eng_drawing turns a CAD part into a document rather than a hand-drawn sheet: it projects views straight from the part's geometry, places dimensions between points on that geometry, finds centre marks automatically and lays everything out on an ISO sheet with a frame and title block. Because every value comes from the model, changing the part and rerunning the drawing script moves the views, hidden lines and measurements with it, and nothing is a typed number unless you deliberately override it.
CAD Engineering Drawing Generator fits situations like: producing a dimensioned shop drawing PDF from a CAD part; keeping a drawing's dimensions and views in sync after the model changes; generating a title-blocked ISO sheet with hole callouts for manufacturing.
Run `npx skills add earthtojake/text-to-cad --skill engineering-drawing -a claude-code`. Or copy the skill folder (skills/engineering-drawing in earthtojake/text-to-cad) into .claude/skills/engineering-drawing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add earthtojake/text-to-cad --skill engineering-drawing -a codex`. Or copy the skill folder (skills/engineering-drawing in earthtojake/text-to-cad) into .agents/skills/engineering-drawing 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 earthtojake/text-to-cad --skill engineering-drawing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/engineering-drawing, .gemini/skills/engineering-drawing, .github/skills/engineering-drawing and .opencode/skills/engineering-drawing in your project.
Going by SKILL.md and its folder, CAD Engineering Drawing Generator needs the command-line tools its instructions call (uvx and python). Our summary lists: uv with Python 3.13 to run cadgen 0.7.15; A STEP file or build123d shape produced by a model script.
SKILL.md names 1 domain. As links in the text: docs.astral.sh. 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.
CAD Engineering Drawing Generator is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with CAD Engineering Drawing Generator: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Merge Dependabot PRs (onyx-dot-app/onyx, 32k stars) and Summarise Ecosystem Results (astral-sh/ruff, 50k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
earthtojake (a GitHub user) maintains it in earthtojake/text-to-cad, which has 18,839 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.
Source: earthtojake/text-to-cad on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.