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.
Authors and validates MoveIt2 SRDF files on top of an existing URDF: planning groups, end effectors, group states, passive joints and disabled collisions.
$ npx skills add earthtojake/text-to-cad --skill srdf -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install earthtojake/text-to-cad srdf --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/srdf .claude/skills/srdf && 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 "srdf" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/srdf into .claude/skills/srdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "srdf", 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/srdfType 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 srdf -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install earthtojake/text-to-cad srdf --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/srdf .agents/skills/srdf && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "srdf" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/srdf into .agents/skills/srdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "srdf", 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 srdf -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install earthtojake/text-to-cad srdf --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/srdf .cursor/skills/srdf && 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 "srdf" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/srdf into .cursor/skills/srdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "srdf", 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/srdf--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 srdf -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install earthtojake/text-to-cad srdf --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/srdf .gemini/skills/srdf && 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 "srdf" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/srdf into .gemini/skills/srdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "srdf", 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 srdfInstalls 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 srdf -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/srdf .github/skills/srdf && 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 "srdf" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/srdf into .github/skills/srdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "srdf", 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 srdf -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 srdf --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/srdf .opencode/skills/srdf && 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 "srdf" agent skill from https://github.com/earthtojake/text-to-cad/tree/main/skills/srdf into .opencode/skills/srdf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "srdf", 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.
srdfAuthors and validates MoveIt2 SRDF files on top of an existing URDF: planning groups, end effectors, group states, passive joints and disabled collisions.
SRDF holds MoveIt planning semantics on top of an existing valid URDF: virtual joints, passive joints, planning groups, group states, end effectors and disabled collision pairs. The `.srdf` XML is the source of truth and is edited directly, since there is no generator. URDF keeps physical structure and SDF keeps simulator content, so geometry, inertials, joint origins, limits, transmissions and `ros2_control` interfaces stay out of SRDF.
The skill treats correctness as a planning-semantics problem: the usual failure is a plausible file that gives MoveIt the wrong group, tool link or default state, or an unsafe disabled-collision matrix. The agent therefore derives these from the URDF topology, Setup Assistant output, sampled collision analysis or your explicit data, extracts the link and joint table first and copies names from it rather than typing from memory. It runs the `cadgen` tool through uv, shows you each file it writes, and reference notes cover the authoring contract, disabled collisions, end effectors, validation and the planning ledger.
12 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:
uvxgitFrom 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.
MoveIt SRDF Authoring loads about 2.8k tokens when it runs, and up to ~7.4k if it reads all its reference files. Until then it costs about 115 tokens; SKILL.md has 1,541 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,541 words, ~2,836 tokens.
.claude/skills/srdf/SKILL.md (or your agent's skills folder). This skill also uses 8 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; the repository link is only for provenance and release review.
Use this skill for MoveIt semantic robot descriptions on top of an existing valid URDF. SRDF defines planning semantics; it does not define physical robot structure. The .srdf file is the source of truth: author and edit the XML directly. There is no gen_srdf() contract.
SRDF correctness is a planning semantics problem. The common failure is not invalid XML; it is a plausible SRDF that gives MoveIt the wrong planning group, wrong tool link, wrong default state, unsafe disabled-collision matrix, or wrong joint units. Because language models are weak at spatial and kinematic reasoning, derive planning groups, end effectors, group states, and disabled collisions from the URDF topology, MoveIt Setup Assistant output, sampled collision analysis, or explicit user data. Do not infer them from visual theme alone — and do not type any link or joint name from memory: extract the URDF's link/joint table first and copy names from it.
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 and the first snapshot its headless browser; later runs reuse both.
Do not place geometry, inertials, joint origins, link poses, mesh references, physical joint limits, transmissions, or ros2_control interfaces in SRDF.
Show the user each file you create or change, and any they ask to see. Snapshots and validation don't replace this.
If your tools include cad_show (your host may prefix it), use it with the file's
absolute path, and follow its description for when to call it again. cad_view reads
what the user selected; cad_screenshot shows you what they see. Neither is a review
of your own work.
Otherwise run the CAD Viewer, from any folder:
cadgen viewer --host 127.0.0.1 --json --detach--detach returns once the viewer answers requests and leaves it running in the
background: always pass it, since a foreground viewer never exits (and piping its
output through tail can hide the URL for good). It starts this machine's one viewer,
or reuses it. Read url from its one JSON line (never guess the port), and for each
file return url?file=<its URL-encoded absolute path>. If it fails to launch, say so.
Keep the SRDF beside its uniquely matching URDF (same robot name). Review planning groups, named states and joints; visual review does not prove planning correctness.
$urdf and validate it. The SRDF pairs with that URDF by colocation and robot name, and every name in the SRDF must exist in it.references/srdf-workflow.md.references/planning-ledger.md before writing XML; keep a compact copy as a comment block in the .srdf..srdf in the same folder as its .urdf, with the same <robot name> — that is the only linking mechanism. The validator and the viewer both resolve the pairing by scanning the folder for the URDF whose robot name matches; exactly one URDF per robot name per folder. No metadata element links the files. See references/authoring-contract.md.references/disabled-collisions.md..srdf with cadgen srdf validate; it cross-validates all names, chains, states, and pairs against the paired URDF. Fix findings and re-validate until clean.Run cadgen as Setup defines it. cadgen doctor <skill-dir> reports the installation in use and checks that it is the one this skill pins — docs drift silently on another. Validation itself needs nothing beyond the Python standard library; only snapshots need the browser. Use cadgen <verb> --help for the complete current interface.
The validator shape is:
cadgen srdf validate path/to/robot.srdf
cadgen srdf validate path/to/robot.srdf --strict
cadgen srdf validate path/to/robot.srdf --jsonThe validator parses the SRDF, resolves the paired URDF (the same-folder .urdf whose robot name matches; none, several, or an invalid one is an error), and cross-validates: group/joint/link/subgroup name existence, chain path resolvability, subgroup cycles, virtual/passive joints, end-effector topology, group-state membership/limits/completeness, disabled-collision pairs (including Adjacent-reason truthfulness), and misspelled elements. Each phase collects all its findings in one pass (severity, code, XML path), but a structural error stops the cross-file phase — re-run after every fix. One run validates ONE file: --strict treats warnings as failures and --json prints one line of {"ok", "path", "issues": [{"severity", "code", "message", "element", "hint"}], "summary"}, where element is the XML path. It exits nonzero if the target fails. Relative targets resolve from the current working directory.
<robot name>; that colocation-plus-name match is the only pairing mechanism, and exactly one URDF per robot name may exist in the folder.cadgen snapshot renders the robot to a PNG still, using the same shared
CLI and headless browser runtime every rendering skill uses — so a snapshot matches what
the CAD Viewer shows.
cadgen snapshot path/to/robot.srdf review.pngHand it the .srdf; it routes by suffix and renders the paired URDF's geometry — the same-folder .urdf whose <robot name> matches, exactly as cadgen srdf validate pairs them. No match, or more than one, is refused before anything renders, naming the robot name it looked for and the .urdf files it found. Pose the robot with --joint-values — {joint: degrees} JSON,
joints you do not name staying where the CAD Viewer opens the robot: each at its default, then
this SRDF's home group state if it declares one (the "jointValues" job field is the same
thing in a packet). The snapshot draws the robot with the viewer's own scene, so it shows what
the viewer shows, and a link mesh that cannot be loaded fails it rather than leaving the link
out. Robots are authored in metres and are framed on the robot scene scale automatically.
A normal snapshot uses the Solid preset and Light appearance; omitted groups inherit preset defaults.
Pass --display render for the shared photographic scene. Inline display JSON and
JSON files use grouped settings such as lighting, background, and floor;
appearance is light (default) or dark. Projection and focal length belong
in display.camera. Top-level --camera and --joint-values remain active in every display
mode. The display modes are solid and render: edges, clip, exploded, the
xray, hidden-line and wireframe modes and the hidden/off surface styles
describe a STEP model's CAD edges, parts and solids, and are refused by name here.
Link meshes are resolved relative to the description, so they must be present: an
unhydrated Git LFS pointer fails as "No link mesh loaded for robot". Run
git lfs checkout <mesh dir> first.
An SRDF's geometry comes from its paired URDF, so it has no snapshot door of its
own; the polymorphic cadgen snapshot routes one by suffix. The grammar is
cadgen snapshot TARGET [OUT] [flags], the same one every format door uses. Use
cadgen snapshot --help for the complete current interface.
references/authoring-contract.mdreferences/srdf-workflow.mdreferences/planning-ledger.mdreferences/validation.mdreferences/end-effectors.mdreferences/disabled-collisions.md© 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 8 other files (references) in skills/srdf of earthtojake/text-to-cad.
Open the folder on GitHubat commit b48ff49
MoveIt SRDF Authoring 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 |
|---|---|---|---|---|---|---|
| MoveIt SRDF Authoring this skillearthtojake/text-to-cad | 19k | — | ~2.8k | 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
Authors and validates MoveIt2 SRDF files on top of an existing URDF: planning groups, end effectors, group states, passive joints and disabled collisions. SRDF holds MoveIt planning semantics on top of an existing valid URDF: virtual joints, passive joints, planning groups, group states, end effectors and disabled collision pairs.srdf` XML is the source of truth and is edited directly, since there is no generator.
MoveIt SRDF Authoring fits situations like: creating or editing a MoveIt SRDF for an existing URDF; defining planning groups, end effectors and group states for a robot arm; reviewing a disabled-collision matrix for safety; validating an SRDF before handing it off for review.
Run `npx skills add earthtojake/text-to-cad --skill srdf -a claude-code`. Or copy the skill folder (skills/srdf in earthtojake/text-to-cad) into .claude/skills/srdf in your project. Claude Code loads it when a task matches its description.
Run `npx skills add earthtojake/text-to-cad --skill srdf -a codex`. Or copy the skill folder (skills/srdf in earthtojake/text-to-cad) into .agents/skills/srdf 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 srdf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/srdf, .gemini/skills/srdf, .github/skills/srdf and .opencode/skills/srdf in your project.
Going by SKILL.md and its folder, MoveIt SRDF Authoring needs the command-line tools its instructions call (uvx and git). Our summary lists: uv, to run the cadgen tool; A valid URDF for the robot.
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.
MoveIt SRDF Authoring is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k 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 4.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with MoveIt SRDF Authoring: 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.