{"id":"357416d1-fa86-413c-a790-08e2368641a6","entityType":"agent","slug":"clawhub-jdilla1277-agentcad","name":"Agentcad Skill V050.Ta0dYt","canonicalUrl":"https://www.xpersona.co/agent/clawhub-jdilla1277-agentcad","canonicalPath":"/agent/clawhub-jdilla1277-agentcad","generatedAt":"2026-10-10T02:02:22.842Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T20:38:07.250Z","emptyReason":null},"description":"CAD tool for AI agents. Use when the user asks you to design, model, or build a 3D object. agentcad executes build123d Python scripts and produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics. Skill: Agentcad Skill V050.Ta0dYt Owner: jdilla1277 Summary: CAD tool for AI agents. Use when the user asks you to design, model, or build a 3D object. agentcad executes build123d Python scripts and produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics. Tags: cad:0.5.0, latest:0.5.0, stable:0.5.0 Version history: v0.5.0 | 2026-09-03T10:24:10.235Z | user Clearer, safer CAD editing v0.4.1","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17a7cme8f0cnkjade7j6fmns1858ej4:agentcad","sourceUrl":"https://clawhub.ai/jdilla1277/agentcad","homepage":"https://clawhub.ai/jdilla1277/skills/agentcad","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/jdilla1277/agentcad","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/jdilla1277/skills/agentcad","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"CAD tool for AI agents. Use when the user asks you to design, model, or build a 3D object. agentcad executes build123d Python scripts and produces STEP files, P"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T20:38:07.250Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T20:38:07.250Z","emptyReason":null},"stars":null,"forks":null,"downloads":2017,"packageName":null,"latestVersion":"0.5.0","tractionLabel":"2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T20:38:07.250Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T20:38:07.250Z","lastCrawledAt":"2026-10-09T20:38:07.250Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T20:38:07.250Z","lastVerifiedAt":null,"highlights":[{"version":"0.5.0","createdAt":"2026-09-03T10:24:10.235Z","changelog":"Clearer, safer CAD editing","fileCount":4,"zipByteSize":8028},{"version":"0.4.1","createdAt":"2026-08-17T10:41:52.632Z","changelog":"Reliable 3D comparison: completed builds stay recoverable, exact diffing is bounded and observable, difficult CAD gets a labeled approximate fallback, and the default agent interface is build123d-first.","fileCount":4,"zipByteSize":7351},{"version":"0.4.0","createdAt":"2026-07-11T17:54:13.621Z","changelog":"Fully featured parts: named, colored, grouped part review handoffs.","fileCount":4,"zipByteSize":6032},{"version":"0.3.1","createdAt":"2026-07-01T10:19:27.906Z","changelog":"Specs and measurement polish: aligned inspect/measure schema docs, trimmed verbose feature output, improved high-risk edit guidance, fixed NURBS STEP bbox measurement noise, and added python -m agentcad support.","fileCount":4,"zipByteSize":6059},{"version":"0.2.4","createdAt":"2026-06-02T04:51:37.333Z","changelog":"Refresh launch docs and skill text for build123d default runtime; CadQuery remains supported.","fileCount":4,"zipByteSize":5396},{"version":"0.2.3","createdAt":"2026-06-02T04:06:50.433Z","changelog":"Fix daemon-routed failures returning empty output; failures now surface structured JSON.","fileCount":4,"zipByteSize":5290},{"version":"0.2.2","createdAt":"2026-06-02T03:45:48.991Z","changelog":"v0.2.2 — open-source package parity","fileCount":4,"zipByteSize":5330},{"version":"0.2.1","createdAt":"2026-06-02T03:29:23.252Z","changelog":"Windows-safe daemon fallback and MCP traceback visibility","fileCount":4,"zipByteSize":5397}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17a7cme8f0cnkjade7j6fmns1858ej4:agentcad","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T02:02:22.838Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jdilla1277-agentcad/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T20:38:07.250Z","emptyReason":null},"readme":"Skill: Agentcad Skill V050.Ta0dYt\n\nOwner: jdilla1277\n\nSummary: CAD tool for AI agents. Use when the user asks you to design, model, or build a 3D object. agentcad executes build123d Python scripts and produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\nTags: cad:0.5.0, latest:0.5.0, stable:0.5.0\n\nVersion history:\n\nv0.5.0 | 2026-09-03T10:24:10.235Z | user\n\nClearer, safer CAD editing\n\nv0.4.1 | 2026-08-17T10:41:52.632Z | user\n\nReliable 3D comparison: completed builds stay recoverable, exact diffing is bounded and observable, difficult CAD gets a labeled approximate fallback, and the default agent interface is build123d-first.\n\nv0.4.0 | 2026-07-11T17:54:13.621Z | user\n\nFully featured parts: named, colored, grouped part review handoffs.\n\nv0.3.1 | 2026-07-01T10:19:27.906Z | user\n\nSpecs and measurement polish: aligned inspect/measure schema docs, trimmed verbose feature output, improved high-risk edit guidance, fixed NURBS STEP bbox measurement noise, and added python -m agentcad support.\n\nv0.2.4 | 2026-06-02T04:51:37.333Z | user\n\nRefresh launch docs and skill text for build123d default runtime; CadQuery remains supported.\n\nv0.2.3 | 2026-06-02T04:06:50.433Z | user\n\nFix daemon-routed failures returning empty output; failures now surface structured JSON.\n\nv0.2.2 | 2026-06-02T03:45:48.991Z | user\n\nv0.2.2 — open-source package parity\n\nv0.2.1 | 2026-06-02T03:29:23.252Z | user\n\nWindows-safe daemon fallback and MCP traceback visibility\n\nv0.2.0 | 2026-05-06T04:36:23.435Z | auto\n\n- Version updated to 0.2.0.\n- Documentation refreshed in SKILL.md.\n- No new features or command changes; content and workflow remain the same.\n\nv0.1.6 | 2026-04-24T08:51:38.041Z | user\n\nVisual feedback by default: 4-view preview, auto-diff, unified viewer\n\nv0.1.5 | 2026-04-21T03:32:25.108Z | user\n\nagentcad v0.1.5 — CAD tool for AI agents\n\n- CLI tool for executing CadQuery scripts, producing STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n- Designed for 3D modeling tasks requested by users; all core CadQuery and helper functions are pre-injected.\n- Requires Python 3.10-3.12 and agentcad installed.\n- Core workflow: script writing, dry-run for validation, real run for output, inspection, and version comparison.\n- Offers debugging guidance and script-writing rules for reliability and flexibility.\n- Includes a comprehensive set of commands for project setup, execution, rendering, exporting, inspection, and documentation access.\n\nArchive index:\n\nArchive v0.5.0: 4 files, 8028 bytes\n\nFiles: README.md (2105b), skill-card.md (2294b), SKILL.md (12102b), _meta.json (127b)\n\nFile v0.5.0:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes build123d Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.5.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns build123d Python scripts into 3D\ngeometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read the built-in how-to guide and command reference\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — build123d primitives,\n   `show_object`, and agentcad edit helpers are pre-injected by default.\n   `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --label test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --label label\n   ```\n   A normal successful iteration can produce (paths in the JSON response):\n   - `preview.png` — balanced top, bottom, upper-iso, and lower-iso composite.\n     **Read this** to confirm the part looks right before iterating. The lower\n     views expose geometry that a top view can hide.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version, when one exists and automatic diff is enabled. **Read this** when\n     iterating to see what your change did.\n   - `diff.overlay` — centered 2D visual-overlap map (coincident gray,\n     reference-only blue, candidate-only orange). It helps locate silhouette\n     changes but does not prove physical correctness or shared 3D volume.\n   - `viewer.html` — interactive 3D review viewer for the user unless viewer\n     artifacts are disabled (humans only;\n     you can't render HTML). It opens automatically after a successful run.\n     From v2, A=previous and B=current are already loaded with synchronized\n     A/B, side-by-side, overlay, diff-image, and Parts-tab change review.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n   Pass `--no-view` only when browser launch would disrupt an unattended or\n   high-volume run.\n\n   For a core-only iteration, pass\n   `--no-preview --no-diff --no-view`. This writes `output.step`, the saved\n   script, `meta.json` (including metrics), and explicitly requested exports\n   without generating previews, automatic comparisons, viewer assets, or\n   opening a browser. You can still run an explicit\n   `agentcad diff OLD NEW` later.\n\n   When a comparison is slow or incomplete, read `comparison_phases` in the\n   JSON response. `source_loading`, `comparison_rendering`,\n   `projection_comparison`, `exact_3d_comparison`,\n   `approximate_3d_comparison`, `difference_artifact_export`, and\n   `viewer_generation` each report a status\n   and, when attempted, `duration_ms`. The largest duration identifies the\n   expensive stage; a failed exact phase does not erase a successful projection.\n   Exact 3D work has a 30-second default worker budget. Set\n   `AGENTCAD_DIFF_TIMEOUT_S=N` to override it (`0` disables the dedicated limit\n   for diagnostics). A timeout leaves the core version and projection usable,\n   then runs a bounded voxel fallback. Approximate results report\n   `method=approximate_voxel_volume`, `resolution_mm`, and a non-strict\n   `error_estimate`; its `absolute_volume` values are heuristic errors, not\n   measurements. `exact_attempt` retains the exact failure. Use\n   `AGENTCAD_APPROX_DIFF_TIMEOUT_S` and `AGENTCAD_APPROX_RESOLUTION_MM` to tune\n   the fallback. If exact volumes are still needed, run\n   `agentcad diff OLD NEW` with a larger budget; do not rerun the original CAD\n   command and create a duplicate version.\n\n   Daemon-routed commands may run beyond 30 seconds. Progress heartbeats appear\n   on stderr while stdout stays reserved for the final JSON response, and the\n   submitted command is never automatically retried. If a silent or lost daemon\n   returns `outcome: \"unknown\"` and `retry_safe: false`, inspect `agentcad\n   context`, existing outputs, and `agentcad daemon status` before retrying; the\n   original command may already have completed.\n\n4. **Review with the user.** The generated viewer opens automatically. On v2+\n   start with its previous/current comparison, then use A/B, Overlay, and Parts\n   without selecting files manually. Use `agentcad view old.step new.step` only\n   for an explicit non-adjacent comparison.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Measure feature sizes.** For dimensions beyond top-level metrics:\n   ```bash\n   agentcad measure v1_label/output.step\n   ```\n   Use this for hole diameters, cylindrical boss diameters, edge lengths,\n   face areas, and full per-feature measurements with `--features`.\n\n7. **Check explicit feature requirements.** If the prompt names measurable\n   holes, bores, or cylindrical bosses, write them into `spec.json` before\n   final handoff:\n   ```json\n   {\"features\":[{\"name\":\"bolt_holes\",\"type\":\"cylinder\",\"diameter_mm\":6,\"count\":4}]}\n   ```\n   Then run:\n   ```bash\n   agentcad check-spec v1_label/output.step spec.json\n   ```\n   Revise the CAD if `passed` is false. `status: success` only means the\n   comparison ran; `passed` is the actual spec-check result. If you include\n   `axis`, copy it from `agentcad measure`'s `cylindrical_features[].axis`.\n\n8. **Iterate.** Fix the script, run with a new `--label` value. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected by default (no import needed):\n  build123d primitives like `Box`, `Cylinder`, `Sphere`, `Plane`, plus\n  `show_object`, `load_step`, `pick_face`, `pick_edge`, `fillet_edges`,\n  `chamfer_edges`, `shell_faces`, `cut_pocket`, `boss`, `split_by_plane`,\n  `replace_face`, `copy_shape`, `safe_cut`, `safe_intersection`, `safe_fuse`,\n  `translate`, `rotate`, `annular_boss`, and `raise_annulus`.\n- For imported STEP/BREP edits, `load_step(path)` returns a build123d `Part`:\n  ```python\n  base = load_step(\"v1_vendor/output.step\")\n  solids = base.solids()\n  faces = base.faces()\n  edges = base.edges()\n  bounds = base.bounding_box()\n  ```\n  Use `agentcad measure` and `agentcad inspect` for read-only discovery; use\n  the loaded `Part` in a script when changing geometry. See\n  `agentcad docs editing` for the complete edit workflow.\n- When repeating an imported feature, use the pre-injected `rotate()` or\n  `translate()` helper on its raw shape. These helpers make an independent\n  geometry copy before moving it, preventing shared topology from corrupting\n  later Boolean results:\n  ```python\n  blade = load_step_shape(\"blade.step\")\n  blade_72 = rotate(blade, \"Z\", 72)\n  ```\n  Use `copy_shape(blade)` when an independent, untransformed copy is needed.\n- For imported geometry Booleans, use `safe_cut(source, *tools)`,\n  `safe_intersection(left, right)`, and `safe_fuse(source, *tools)`. They copy\n  every input, run all tools together, validate the output, and reject\n  physically impossible volume changes instead of returning them silently.\n- For imported STEP annular edits, use the non-fuse workflow:\n  ```python\n  raw = load_step_shape(\"v1_vendor/output.step\")\n  result = raise_annulus(raw, center=(0, 0), inner_diameter=40,\n                         outer_diameter=80, height=7, z=5)\n  show_object(Compound(result))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n- CadQuery compatibility remains available for existing projects. See\n  `agentcad docs runtimes` for that separate workflow.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --label LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --no-diff` | Suppress automatic prior-version comparison |\n| `agentcad run ... --no-view` | Suppress automatic browser review |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad measure STEP` | Dimensional report (overall metrics + feature sizes) |\n| `agentcad check-spec STEP spec.json` | Pass/fail checklist against intended cylindrical features |\n| `agentcad inspect STEP` | Bounded topology report with observable validation phases |\n| `agentcad parts list REF` | List parts captured for a version |\n| `agentcad parts show REF ID` | Show one versioned part by stable id |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state and interrupted-version recovery candidates |\n| `agentcad recover VERSION_DIR` | Validate and reconcile interrupted history without deleting files |\n| `agentcad docs [SECTION]` | Runtime-aware built-in documentation |\n| `agentcad instructions install` | Record a short project note so future agents read `agentcad --help` |\n| `agentcad view FILE [FILE_B]` | Open one model or an explicit synchronized A/B comparison |\n\n`--label` names a version; read the generated file from `outputs.step`.\n`--output` remains a deprecated compatibility alias and is not a path option.\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **Need a hole diameter or edge length?** Run `agentcad measure output.step`.\n6. **Need to verify explicit hole/bore counts?** Write `spec.json`, then run\n   `agentcad check-spec output.step spec.json`.\n7. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n8. **Hollow shape?** `free_edge_count > 0` means open shell.\n9. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n10. **A run failed?** Trust `artifact_created: false` and `outputs.step: null`;\n    fix the script and execute the returned `next_actions` command. Do not write\n    or truncate STEP text — `agentcad run` or `agentcad import` must create it\n    through the CAD kernel.\n11. **Large inspect timed out?** It is not automatically malformed. Execute the\n    returned `--validate-only` action for a structural check, or the larger-budget\n    deep retry. Configure the default with `AGENTCAD_INSPECT_TIMEOUT_S`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it. These helpers copy imported topology before\n  transforming it.\n- **Compound vs fuse:** `Compound([...])` keeps assembly parts separate. Use\n  `safe_fuse(source, *tools)` when imported solids must become one union; use\n  build123d's `+` operator for ordinary newly constructed geometry.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, id=\"wheel_left\", name=\"Left wheel\",\n  options={\"color\": \"red\"})` for stable part handles, per-part metrics, and\n  colored GLB export.\n\nFile v0.5.0:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.5.0:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.5.0\",\n  \"publishedAt\": 1788431050235\n}\n\nFile v0.5.0:skill-card.md\n\n## Description:\n\nCAD tool for AI agents that helps design, model, and build 3D objects by executing build123d Python scripts and producing STEP files, PNG renders, mesh exports, and geometric metrics.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jdilla1277](https://clawhub.ai/user/jdilla1277)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to create and iterate on CAD models through agent-authored Python scripts, visual previews, geometry metrics, inspection, measurement, diffing, and export workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill runs the local agentcad CLI and depends on the installed agentcad package.\n\nMitigation: Install agentcad from a trusted source and pin or verify the package where possible.\n\nRisk: Default successful runs may open a browser viewer and create preview, diff, and viewer artifacts.\n\nMitigation: Use --no-view, or --no-preview --no-diff --no-view, in automation or sensitive environments.\n\nRisk: Generated CAD geometry can be invalid, visually misleading, or fail explicit dimensional requirements.\n\nMitigation: Review previews and metrics, then use inspect, measure, diff, and check-spec before final handoff.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/jdilla1277/skills/agentcad)\n- [agentcad documentation and gallery](https://agentcad.dev)\n- [agentcad PyPI package](https://pypi.org/project/agentcad/)\n\n## Skill Output:\n\n**Output Type(s):** [code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with Python and shell command snippets; agentcad CLI commands return JSON and generated CAD artifacts.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can guide creation of STEP files, PNG previews, STL/GLB/OBJ mesh exports, viewer artifacts, meta.json metrics, and spec.json checks through the agentcad CLI.]\n\n## Skill Version(s):\n\n0.5.0 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.4.1: 4 files, 7351 bytes\n\nFiles: README.md (2105b), skill-card.md (2355b), SKILL.md (10339b), _meta.json (127b)\n\nFile v0.4.1:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes build123d Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.4.1\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns build123d Python scripts into 3D\ngeometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read the built-in how-to guide and command reference\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — build123d primitives,\n   `show_object`, and agentcad edit helpers are pre-injected by default.\n   `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   A normal successful iteration can produce (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version, when one exists and automatic diff is enabled. **Read this** when\n     iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D review viewer for the user unless viewer\n     artifacts are disabled (humans only;\n     you can't render HTML). It opens automatically after a successful run.\n     From v2, A=previous and B=current are already loaded with synchronized\n     A/B, side-by-side, overlay, diff-image, and Parts-tab change review.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n   Pass `--no-view` only when browser launch would disrupt an unattended or\n   high-volume run.\n\n   For a core-only iteration, pass\n   `--no-preview --no-diff --no-view`. This writes `output.step`, the saved\n   script, `meta.json` (including metrics), and explicitly requested exports\n   without generating previews, automatic comparisons, viewer assets, or\n   opening a browser. You can still run an explicit\n   `agentcad diff OLD NEW` later.\n\n   When a comparison is slow or incomplete, read `comparison_phases` in the\n   JSON response. `source_loading`, `comparison_rendering`,\n   `projection_comparison`, `exact_3d_comparison`,\n   `approximate_3d_comparison`, `difference_artifact_export`, and\n   `viewer_generation` each report a status\n   and, when attempted, `duration_ms`. The largest duration identifies the\n   expensive stage; a failed exact phase does not erase a successful projection.\n   Exact 3D work has a 30-second default worker budget. Set\n   `AGENTCAD_DIFF_TIMEOUT_S=N` to override it (`0` disables the dedicated limit\n   for diagnostics). A timeout leaves the core version and projection usable,\n   then runs a bounded voxel fallback. Approximate results report\n   `method=approximate_voxel_volume`, `resolution_mm`, and a non-strict\n   `error_estimate`; its `absolute_volume` values are heuristic errors, not\n   measurements. `exact_attempt` retains the exact failure. Use\n   `AGENTCAD_APPROX_DIFF_TIMEOUT_S` and `AGENTCAD_APPROX_RESOLUTION_MM` to tune\n   the fallback. If exact volumes are still needed, run\n   `agentcad diff OLD NEW` with a larger budget; do not rerun the original CAD\n   command and create a duplicate version.\n\n   Daemon-routed commands may run beyond 30 seconds. Progress heartbeats appear\n   on stderr while stdout stays reserved for the final JSON response, and the\n   submitted command is never automatically retried. If a silent or lost daemon\n   returns `outcome: \"unknown\"` and `retry_safe: false`, inspect `agentcad\n   context`, existing outputs, and `agentcad daemon status` before retrying; the\n   original command may already have completed.\n\n4. **Review with the user.** The generated viewer opens automatically. On v2+\n   start with its previous/current comparison, then use A/B, Overlay, and Parts\n   without selecting files manually. Use `agentcad view old.step new.step` only\n   for an explicit non-adjacent comparison.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Measure feature sizes.** For dimensions beyond top-level metrics:\n   ```bash\n   agentcad measure v1_label/output.step\n   ```\n   Use this for hole diameters, cylindrical boss diameters, edge lengths,\n   face areas, and full per-feature measurements with `--features`.\n\n7. **Check explicit feature requirements.** If the prompt names measurable\n   holes, bores, or cylindrical bosses, write them into `spec.json` before\n   final handoff:\n   ```json\n   {\"features\":[{\"name\":\"bolt_holes\",\"type\":\"cylinder\",\"diameter_mm\":6,\"count\":4}]}\n   ```\n   Then run:\n   ```bash\n   agentcad check-spec v1_label/output.step spec.json\n   ```\n   Revise the CAD if `passed` is false. `status: success` only means the\n   comparison ran; `passed` is the actual spec-check result. If you include\n   `axis`, copy it from `agentcad measure`'s `cylindrical_features[].axis`.\n\n8. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected by default (no import needed):\n  build123d primitives like `Box`, `Cylinder`, `Sphere`, `Plane`, plus\n  `show_object`, `load_step`, `pick_face`, `pick_edge`, `fillet_edges`,\n  `chamfer_edges`, `shell_faces`, `cut_pocket`, `boss`, `split_by_plane`,\n  `replace_face`, `annular_boss`, and `raise_annulus`.\n- For imported STEP/BREP edits, `load_step(path)` returns a build123d `Part`:\n  ```python\n  base = load_step(\"v1_vendor/output.step\")\n  solids = base.solids()\n  faces = base.faces()\n  edges = base.edges()\n  bounds = base.bounding_box()\n  ```\n  Use `agentcad measure` and `agentcad inspect` for read-only discovery; use\n  the loaded `Part` in a script when changing geometry. See\n  `agentcad docs editing` for the complete edit workflow.\n- For imported STEP annular edits, use the non-fuse workflow:\n  ```python\n  raw = load_step_shape(\"v1_vendor/output.step\")\n  result = raise_annulus(raw, center=(0, 0), inner_diameter=40,\n                         outer_diameter=80, height=7, z=5)\n  show_object(Compound(result))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n- CadQuery compatibility remains available for existing projects. See\n  `agentcad docs runtimes` for that separate workflow.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --no-diff` | Suppress automatic prior-version comparison |\n| `agentcad run ... --no-view` | Suppress automatic browser review |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad measure STEP` | Dimensional report (overall metrics + feature sizes) |\n| `agentcad check-spec STEP spec.json` | Pass/fail checklist against intended cylindrical features |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad parts list REF` | List parts captured for a version |\n| `agentcad parts show REF ID` | Show one versioned part by stable id |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state and interrupted-version recovery candidates |\n| `agentcad recover VERSION_DIR` | Validate and reconcile interrupted history without deleting files |\n| `agentcad docs [SECTION]` | Runtime-aware built-in documentation |\n| `agentcad instructions install` | Record a short project note so future agents read `agentcad --help` |\n| `agentcad view FILE [FILE_B]` | Open one model or an explicit synchronized A/B comparison |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **Need a hole diameter or edge length?** Run `agentcad measure output.step`.\n6. **Need to verify explicit hole/bore counts?** Write `spec.json`, then run\n   `agentcad check-spec output.step spec.json`.\n7. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n8. **Hollow shape?** `free_edge_count > 0` means open shell.\n9. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs fuse:** `Compound([...])` keeps assembly parts separate; use\n  build123d's `+` operator to boolean-fuse solids.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, id=\"wheel_left\", name=\"Left wheel\",\n  options={\"color\": \"red\"})` for stable part handles, per-part metrics, and\n  colored GLB export.\n\nFile v0.4.1:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.4.1:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.4.1\",\n  \"publishedAt\": 1786963312632\n}\n\nFile v0.4.1:skill-card.md\n\n## Description:\n\nCAD tool for AI agents that helps design, model, or build 3D objects by executing build123d Python scripts and producing STEP files, PNG renders, mesh exports, and geometric metrics.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jdilla1277](https://clawhub.ai/user/jdilla1277)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and AI-agent operators use this skill to generate, inspect, compare, and iterate on local 3D CAD models from Python-based CAD scripts.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill runs local CAD scripts through the agentcad CLI and can create local model, render, mesh, and review artifacts.\n\nMitigation: Use trusted scripts and projects, review generated geometry and metrics before relying on the result, and keep CAD outputs scoped to the intended workspace.\n\nRisk: Successful CAD runs may open local browser review artifacts by default.\n\nMitigation: Use --no-view for unattended, automated, or high-volume runs where browser launch would be disruptive.\n\nRisk: Approximate comparison results are heuristic when exact 3D diffing times out.\n\nMitigation: Use exact diffing with an increased timeout for decisions that require precise geometric difference measurements.\n\n## Reference(s):\n\n- [ClawHub Agentcad Skill Listing](https://clawhub.ai/jdilla1277/skills/agentcad)\n- [agentcad Documentation and Gallery](https://agentcad.dev)\n- [agentcad PyPI Package](https://pypi.org/project/agentcad/)\n\n## Skill Output:\n\n**Output Type(s):** [Code, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with Python and shell command snippets; agentcad CLI responses are JSON and generated CAD artifacts can include STEP, PNG, STL, GLB, OBJ, and HTML files.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires Python 3.10-3.12 and the agentcad CLI; local browser review artifacts may open by default unless --no-view is used.]\n\n## Skill Version(s):\n\n0.4.1 (source: server release metadata and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.4.0: 4 files, 6032 bytes\n\nFiles: README.md (2105b), skill-card.md (2141b), SKILL.md (7504b), _meta.json (127b)\n\nFile v0.4.0:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes build123d or CadQuery Python scripts and\n  produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.4.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns build123d or CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — build123d primitives,\n   `show_object`, and agentcad edit helpers are pre-injected by default.\n   `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Measure feature sizes.** For dimensions beyond top-level metrics:\n   ```bash\n   agentcad measure v1_label/output.step\n   ```\n   Use this for hole diameters, cylindrical boss diameters, edge lengths,\n   face areas, and full per-feature measurements with `--features`.\n\n7. **Check explicit feature requirements.** If the prompt names measurable\n   holes, bores, or cylindrical bosses, write them into `spec.json` before\n   final handoff:\n   ```json\n   {\"features\":[{\"name\":\"bolt_holes\",\"type\":\"cylinder\",\"diameter_mm\":6,\"count\":4}]}\n   ```\n   Then run:\n   ```bash\n   agentcad check-spec v1_label/output.step spec.json\n   ```\n   Revise the CAD if `passed` is false. `status: success` only means the\n   comparison ran; `passed` is the actual spec-check result. If you include\n   `axis`, copy it from `agentcad measure`'s `cylindrical_features[].axis`.\n\n8. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected by default (no import needed):\n  build123d primitives like `Box`, `Cylinder`, `Sphere`, `Plane`, plus\n  `show_object`, `load_step`, `pick_face`, `pick_edge`, `fillet_edges`,\n  `chamfer_edges`, `shell_faces`, `cut_pocket`, `boss`, `split_by_plane`,\n  `replace_face`, `annular_boss`, and `raise_annulus`.\n- For imported STEP annular edits, use the non-fuse workflow:\n  ```python\n  raw = load_step_shape(\"v1_vendor/output.step\")\n  result = raise_annulus(raw, center=(0, 0), inner_diameter=40,\n                         outer_diameter=80, height=7, z=5)\n  show_object(Compound(result))\n  ```\n- CadQuery remains supported. Use `import cadquery as cq`, initialize with\n  `agentcad init --runtime cadquery`, or pass `--runtime cadquery`.\n- CadQuery helper paths operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  import cadquery as cq\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  import cadquery as cq\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad measure STEP` | Dimensional report (overall metrics + feature sizes) |\n| `agentcad check-spec STEP spec.json` | Pass/fail checklist against intended cylindrical features |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad parts list REF` | List parts captured for a version |\n| `agentcad parts show REF ID` | Show one versioned part by stable id |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (17 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **Need a hole diameter or edge length?** Run `agentcad measure output.step`.\n6. **Need to verify explicit hole/bore counts?** Write `spec.json`, then run\n   `agentcad check-spec output.step spec.json`.\n7. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n8. **Hollow shape?** `free_edge_count > 0` means open shell.\n9. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, id=\"wheel_left\", name=\"Left wheel\",\n  options={\"color\": \"red\"})` for stable part handles, per-part metrics, and\n  colored GLB export.\n\nFile v0.4.0:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.4.0\",\n  \"publishedAt\": 1783792453621\n}\n\nFile v0.4.0:skill-card.md\n\n## Description: <br>\nagentcad is a CAD tool for AI agents that executes build123d or CadQuery Python scripts and produces STEP files, PNG renders, mesh exports, and geometric metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jdilla1277](https://clawhub.ai/user/jdilla1277) <br>\n\n### License/Terms of Use: <br>\nApache-2.0 <br>\n\n\n## Use Case: <br>\nDevelopers, designers, and AI agents use agentcad to create, inspect, iterate on, and export 3D CAD models from build123d or CadQuery scripts. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill relies on local code execution through the agentcad CLI to generate and modify CAD models. <br>\nMitigation: Review generated CAD scripts before execution and keep backups of important Fusion or CAD documents before using the workflow. <br>\nRisk: Installation or setup commands may run code from external package or repository sources. <br>\nMitigation: Install from trusted package sources and review installer commands before running them. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill listing](https://clawhub.ai/jdilla1277/skills/agentcad) <br>\n- [agentcad documentation](https://agentcad.dev) <br>\n- [agentcad PyPI package](https://pypi.org/project/agentcad/) <br>\n- [agentcad CLI source](https://github.com/jdilla1277/agentcad) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Code, Shell commands, Files, Analysis, Configuration instructions] <br>\n**Output Format:** [Markdown guidance with Python and shell command examples; agentcad commands return JSON and produce CAD artifacts.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python 3.10-3.12 and the agentcad CLI on PATH.] <br>\n\n## Skill Version(s): <br>\n0.4.0 (source: frontmatter and server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.3.1: 4 files, 6059 bytes\n\nFiles: README.md (2105b), skill-card.md (2168b), SKILL.md (7504b), _meta.json (127b)\n\nFile v0.3.1:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes build123d or CadQuery Python scripts and\n  produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.3.1\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns build123d or CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — build123d primitives,\n   `show_object`, and agentcad edit helpers are pre-injected by default.\n   `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Measure feature sizes.** For dimensions beyond top-level metrics:\n   ```bash\n   agentcad measure v1_label/output.step\n   ```\n   Use this for hole diameters, cylindrical boss diameters, edge lengths,\n   face areas, and full per-feature measurements with `--features`.\n\n7. **Check explicit feature requirements.** If the prompt names measurable\n   holes, bores, or cylindrical bosses, write them into `spec.json` before\n   final handoff:\n   ```json\n   {\"features\":[{\"name\":\"bolt_holes\",\"type\":\"cylinder\",\"diameter_mm\":6,\"count\":4}]}\n   ```\n   Then run:\n   ```bash\n   agentcad check-spec v1_label/output.step spec.json\n   ```\n   Revise the CAD if `passed` is false. `status: success` only means the\n   comparison ran; `passed` is the actual spec-check result. If you include\n   `axis`, copy it from `agentcad measure`'s `cylindrical_features[].axis`.\n\n8. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected by default (no import needed):\n  build123d primitives like `Box`, `Cylinder`, `Sphere`, `Plane`, plus\n  `show_object`, `load_step`, `pick_face`, `pick_edge`, `fillet_edges`,\n  `chamfer_edges`, `shell_faces`, `cut_pocket`, `boss`, `split_by_plane`,\n  `replace_face`, `annular_boss`, and `raise_annulus`.\n- For imported STEP annular edits, use the non-fuse workflow:\n  ```python\n  raw = load_step_shape(\"v1_vendor/output.step\")\n  result = raise_annulus(raw, center=(0, 0), inner_diameter=40,\n                         outer_diameter=80, height=7, z=5)\n  show_object(Compound(result))\n  ```\n- CadQuery remains supported. Use `import cadquery as cq`, initialize with\n  `agentcad init --runtime cadquery`, or pass `--runtime cadquery`.\n- CadQuery helper paths operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  import cadquery as cq\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  import cadquery as cq\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad measure STEP` | Dimensional report (overall metrics + feature sizes) |\n| `agentcad check-spec STEP spec.json` | Pass/fail checklist against intended cylindrical features |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad parts list REF` | List parts captured for a version |\n| `agentcad parts show REF ID` | Show one versioned part by stable id |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (17 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **Need a hole diameter or edge length?** Run `agentcad measure output.step`.\n6. **Need to verify explicit hole/bore counts?** Write `spec.json`, then run\n   `agentcad check-spec output.step spec.json`.\n7. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n8. **Hollow shape?** `free_edge_count > 0` means open shell.\n9. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, id=\"wheel_left\", name=\"Left wheel\",\n  options={\"color\": \"red\"})` for stable part handles, per-part metrics, and\n  colored GLB export.\n\nFile v0.3.1:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.3.1\",\n  \"publishedAt\": 1782901167906\n}\n\nFile v0.3.1:skill-card.md\n\n## Description: <br>\nCAD tool for AI agents that executes build123d or CadQuery Python scripts and produces STEP files, PNG renders, mesh exports, and geometric metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jdilla1277](https://clawhub.ai/user/jdilla1277) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineers use this skill when an agent needs to design, model, inspect, validate, or iterate on 3D CAD objects using the local agentcad CLI. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses an external CLI to run CAD Python scripts and generate local model files. <br>\nMitigation: Review generated scripts and outputs before using them in sensitive or production CAD projects. <br>\nRisk: Successful builds may open a generated 3D viewer in the user's browser. <br>\nMitigation: Warn users to expect the browser viewer step and only open generated viewers from trusted project workspaces. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Agentcad Skill Page](https://clawhub.ai/jdilla1277/skills/agentcad) <br>\n- [agentcad documentation and gallery](https://agentcad.dev) <br>\n- [agentcad PyPI package](https://pypi.org/project/agentcad/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, files, guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and CAD Python snippets; agentcad commands return JSON and create local CAD, render, mesh, and viewer files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python 3.10-3.12 and the agentcad CLI on PATH. Successful builds may create STEP, PNG, STL, GLB, OBJ, and HTML viewer files.] <br>\n\n## Skill Version(s): <br>\n0.3.1 (source: SKILL.md frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.4: 4 files, 5396 bytes\n\nFiles: README.md (2105b), skill-card.md (2300b), SKILL.md (5760b), _meta.json (127b)\n\nFile v0.2.4:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes build123d or CadQuery Python scripts and\n  produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.2.4\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns build123d or CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — build123d primitives,\n   `show_object`, and agentcad edit helpers are pre-injected by default.\n   `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected by default (no import needed):\n  build123d primitives like `Box`, `Cylinder`, `Sphere`, `Plane`, plus\n  `show_object`, `load_step`, `pick_face`, `pick_edge`, `fillet_edges`,\n  `chamfer_edges`, `shell_faces`, `cut_pocket`, `boss`, `split_by_plane`,\n  and `replace_face`.\n- CadQuery remains supported. Use `import cadquery as cq`, initialize with\n  `agentcad init --runtime cadquery`, or pass `--runtime cadquery`.\n- CadQuery helper paths operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  import cadquery as cq\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  import cadquery as cq\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (16 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n6. **Hollow shape?** `free_edge_count > 0` means open shell.\n7. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, name=\"wheel\", options={\"color\": \"red\"})`\n  for per-part metrics and colored GLB export.\n\nFile v0.2.4:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.2.4\",\n  \"publishedAt\": 1780375897333\n}\n\nFile v0.2.4:skill-card.md\n\n## Description: <br>\nAgentcad is a CAD tool for AI agents that helps agents design, model, and build 3D objects by running build123d or CadQuery Python scripts to produce STEP files, PNG renders, mesh exports, and geometric metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jdilla1277](https://clawhub.ai/user/jdilla1277) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, engineers, and agent users use this skill to ask an agent to create or iterate on CAD models, validate geometry, render previews, export mesh formats, and share generated model files. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill directs the agent to execute local CAD Python scripts through the agentcad CLI. <br>\nMitigation: Install it only when local CAD script execution is intended, review generated scripts before execution, and use dry runs or inspection commands to validate geometry before sharing outputs. <br>\nRisk: The workflow may open generated previews or viewers in a browser. <br>\nMitigation: Ask before running `agentcad view` in environments where opening browser windows is not desired. <br>\n\n\n## Reference(s): <br>\n- [agentcad documentation](https://agentcad.dev) <br>\n- [agentcad PyPI package](https://pypi.org/project/agentcad/) <br>\n- [ClawHub skill page](https://clawhub.ai/jdilla1277/agentcad) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration, Files, Guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands, Python CAD code, and generated CAD artifact paths from JSON command output] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can produce STEP files, PNG previews, STL/GLB/OBJ mesh exports, interactive viewer HTML, and geometry metrics through the local agentcad CLI.] <br>\n\n## Skill Version(s): <br>\n0.2.4 (source: server release metadata and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.3: 4 files, 5290 bytes\n\nFiles: README.md (2105b), skill-card.md (2233b), SKILL.md (5503b), _meta.json (127b)\n\nFile v0.2.3:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes CadQuery Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.2.3\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — `cq`, `show_object`, and all helpers\n   are pre-injected. `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected (no import needed):\n  `cq`, `show_object`, `translate`, `rotate`, `mirror_fuse`, `loft_sections`,\n  `tapered_sweep`, `naca_wire`, `bbox_point`, `place_at`, `assemble`,\n  `ellipse_wire`, `spline_wire`, `polygon_wire`, `rounded_rect_wire`,\n  `elliptical_sweep`, `involute_gear_profile`\n- Helpers operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (16 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n6. **Hollow shape?** `free_edge_count > 0` means open shell.\n7. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, name=\"wheel\", options={\"color\": \"red\"})`\n  for per-part metrics and colored GLB export.\n\nFile v0.2.3:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.2.3\",\n  \"publishedAt\": 1780373210433\n}\n\nFile v0.2.3:skill-card.md\n\n## Description: <br>\nCAD tool for AI agents that helps design, model, and build 3D objects by running CadQuery Python scripts and producing STEP files, PNG renders, mesh exports, and geometric metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jdilla1277](https://clawhub.ai/user/jdilla1277) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineers use this skill to create, inspect, render, export, and iterate on CAD models through the agentcad CLI. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill relies on the external agentcad CLI and executes CAD Python scripts as part of its normal workflow. <br>\nMitigation: Review generated scripts before execution and run the workflow in an environment appropriate for local code execution. <br>\nRisk: The skill writes generated model artifacts and may open local 3D viewers in the browser after builds. <br>\nMitigation: Confirm output paths and viewer launches are acceptable for the workspace before running builds. <br>\n\n\n## Reference(s): <br>\n- [Agentcad Skill on ClawHub](https://clawhub.ai/jdilla1277/agentcad) <br>\n- [Publisher profile](https://clawhub.ai/user/jdilla1277) <br>\n- [agentcad documentation](https://agentcad.dev) <br>\n- [agentcad on PyPI](https://pypi.org/project/agentcad/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and Python code snippets; agentcad command results are JSON.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May produce local CAD artifacts such as STEP files, PNG previews, STL/GLB/OBJ exports, viewer HTML, diffs, and geometry metrics through the agentcad CLI.] <br>\n\n## Skill Version(s): <br>\n0.2.3 (source: server release evidence and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.2: 4 files, 5330 bytes\n\nFiles: README.md (2105b), skill-card.md (2268b), SKILL.md (5503b), _meta.json (127b)\n\nFile v0.2.2:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes CadQuery Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.2.2\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — `cq`, `show_object`, and all helpers\n   are pre-injected. `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected (no import needed):\n  `cq`, `show_object`, `translate`, `rotate`, `mirror_fuse`, `loft_sections`,\n  `tapered_sweep`, `naca_wire`, `bbox_point`, `place_at`, `assemble`,\n  `ellipse_wire`, `spline_wire`, `polygon_wire`, `rounded_rect_wire`,\n  `elliptical_sweep`, `involute_gear_profile`\n- Helpers operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (16 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n6. **Hollow shape?** `free_edge_count > 0` means open shell.\n7. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, name=\"wheel\", options={\"color\": \"red\"})`\n  for per-part metrics and colored GLB export.\n\nFile v0.2.2:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.2.2\",\n  \"publishedAt\": 1780371948991\n}\n\nFile v0.2.2:skill-card.md\n\n## Description: <br>\nCAD tool for AI agents that helps agents design, model, or build 3D objects by executing CadQuery scripts and producing STEP files, PNG renders, mesh exports, and geometric metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jdilla1277](https://clawhub.ai/user/jdilla1277) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, engineers, and agents use this skill to create and iterate on CAD models from CadQuery scripts, inspect geometry, render previews, and export files for 3D printing or web viewing. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill workflow may open a generated CAD viewer in the user's browser after successful builds. <br>\nMitigation: Users who do not want automatic browser launches should instruct the agent to return generated file paths and run agentcad view only when explicitly asked. <br>\nRisk: The skill runs CadQuery Python scripts through the local agentcad CLI to generate geometry. <br>\nMitigation: Review generated scripts and use dry runs, previews, and inspection output before relying on exported CAD files. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Agentcad Skill](https://clawhub.ai/jdilla1277/agentcad) <br>\n- [agentcad documentation](https://agentcad.dev) <br>\n- [agentcad PyPI package](https://pypi.org/project/agentcad/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Code, Shell commands, Configuration, Files] <br>\n**Output Format:** [Markdown guidance with Python and shell command snippets; agentcad commands return JSON and generated CAD artifacts.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires agentcad plus Python 3.10-3.12. Successful runs may produce STEP files, PNG previews and diffs, viewer HTML, and STL/GLB/OBJ exports.] <br>\n\n## Skill Version(s): <br>\n0.2.2 (source: server release metadata and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.1: 4 files, 5397 bytes\n\nFiles: README.md (2132b), skill-card.md (2291b), SKILL.md (5503b), _meta.json (127b)\n\nFile v0.2.1:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes CadQuery Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.2.1\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — `cq`, `show_object`, and all helpers\n   are pre-injected. `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected (no import needed):\n  `cq`, `show_object`, `translate`, `rotate`, `mirror_fuse`, `loft_sections`,\n  `tapered_sweep`, `naca_wire`, `bbox_point`, `place_at`, `assemble`,\n  `ellipse_wire`, `spline_wire`, `polygon_wire`, `rounded_rect_wire`,\n  `elliptical_sweep`, `involute_gear_profile`\n- Helpers operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (16 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n6. **Hollow shape?** `free_edge_count > 0` means open shell.\n7. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, name=\"wheel\", options={\"color\": \"red\"})`\n  for per-part metrics and colored GLB export.\n\nFile v0.2.1:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at its own (currently private) repository and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub package install jdilla1277/agentcad-skill\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is licensed under [BSL-1.1](https://mariadb.com/bsl11/) — free for all use except offering agentcad as a competing hosted service. Converts to Apache-2.0 after four years per release.\n\n## Source\n\n- CLI source: private repo, distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Auto-synced from the private CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.2.1\",\n  \"publishedAt\": 1780370963252\n}\n\nFile v0.2.1:skill-card.md\n\n## Description: <br>\nAgentcad Skill helps agents design, model, and build 3D objects by executing CadQuery Python scripts with agentcad to produce STEP files, previews, mesh exports, and geometric metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jdilla1277](https://clawhub.ai/user/jdilla1277) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineers use this skill to have an agent create, validate, render, inspect, export, and iterate on local CAD models. It is intended for workflows where the agent can call the separately installed agentcad CLI and review generated geometry outputs. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill directs agents to run local CAD builds and may open generated viewer files in the user's browser. <br>\nMitigation: Use it only after trusting the installed agentcad CLI, and review generated file paths and viewer outputs before relying on or sharing them. <br>\nRisk: Generated CAD geometry may be invalid or visually different from the intended design. <br>\nMitigation: Use dry runs, preview images, topology inspection, and version diffs before treating generated STEP or mesh files as final. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/jdilla1277/agentcad) <br>\n- [agentcad documentation](https://agentcad.dev) <br>\n- [agentcad PyPI package](https://pypi.org/project/agentcad/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, code, shell commands, configuration] <br>\n**Output Format:** [Markdown guidance with bash and Python snippets plus JSON command output from the CLI] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python 3.10-3.12 and the agentcad CLI on PATH; successful runs may create local CAD, preview, mesh, diff, and viewer files.] <br>\n\n## Skill Version(s): <br>\n0.2.1 (source: server release metadata and SKILL.md frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.0: 4 files, 5350 bytes\n\nFiles: README.md (2132b), skill-card.md (2197b), SKILL.md (5503b), _meta.json (127b)\n\nFile v0.2.0:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes CadQuery Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.2.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — `cq`, `show_object`, and all helpers\n   are pre-injected. `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected (no import needed):\n  `cq`, `show_object`, `translate`, `rotate`, `mirror_fuse`, `loft_sections`,\n  `tapered_sweep`, `naca_wire`, `bbox_point`, `place_at`, `assemble`,\n  `ellipse_wire`, `spline_wire`, `polygon_wire`, `rounded_rect_wire`,\n  `elliptical_sweep`, `involute_gear_profile`\n- Helpers operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (16 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n6. **Hollow shape?** `free_edge_count > 0` means open shell.\n7. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, name=\"wheel\", options={\"color\": \"red\"})`\n  for per-part metrics and colored GLB export.\n\nFile v0.2.0:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at its own (currently private) repository and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub package install jdilla1277/agentcad-skill\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is licensed under [BSL-1.1](https://mariadb.com/bsl11/) — free for all use except offering agentcad as a competing hosted service. Converts to Apache-2.0 after four years per release.\n\n## Source\n\n- CLI source: private repo, distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Auto-synced from the private CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1778042183435\n}\n\nFile v0.2.0:skill-card.md\n\n## Description: <br>\nagentcad is a CAD tool for AI agents that executes CadQuery Python scripts and produces STEP files, PNG renders, mesh exports, and geometric metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jdilla1277](https://clawhub.ai/user/jdilla1277) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, designers, and makers use this skill when asking an agent to design, model, or build a 3D object with CadQuery. The workflow helps agents dry-run, render, inspect, diff, and export generated CAD geometry. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can run a local CAD CLI that executes CadQuery Python scripts and writes generated CAD and render files. <br>\nMitigation: Use it only in projects where local CLI execution and generated file writes are acceptable, and review scripts plus generated outputs before relying on them. <br>\nRisk: The workflow can open generated viewer files in a browser. <br>\nMitigation: Ask the agent to return the viewer path instead of running the viewer command when manual control over browser launches is preferred. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/jdilla1277/agentcad) <br>\n- [agentcad website](https://agentcad.dev) <br>\n- [agentcad PyPI package](https://pypi.org/project/agentcad/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Code, Shell commands, Files, Guidance, JSON] <br>\n**Output Format:** [Markdown guidance with bash and Python snippets; agentcad commands return JSON and generated file paths] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires agentcad on PATH and Python 3.10-3.12; generated artifacts can include STEP, PNG, STL, GLB, OBJ, and viewer HTML.] <br>\n\n## Skill Version(s): <br>\n0.2.0 (source: frontmatter, release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.6: 3 files, 4174 bytes\n\nFiles: README.md (2132b), SKILL.md (5503b), _meta.json (127b)\n\nFile v0.1.6:SKILL.md\n\n---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes CadQuery Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.1.6\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns CadQuery Python scripts into\n3D geometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read this — it is your complete operational briefing\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — `cq`, `show_object`, and all helpers\n   are pre-injected. `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --output test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --output label\n   ```\n   Every successful run produces (paths in the JSON response):\n   - `preview.png` — 4-view composite (front, right, top, iso). **Read this**\n     to confirm the part looks right before iterating. One image, all 4 angles.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version. **Read this** when iterating to see what your change did.\n   - `diff.overlay` — tinted (green prev, red this) overlay for subtle shifts.\n     Read only if side-by-side didn't resolve the question.\n   - `viewer.html` — interactive 3D viewer for the user (humans only; you can't\n     render HTML). Mention it to the user so they open it.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n\n4. **Show the user.** After a successful build, open the interactive viewer:\n   ```bash\n   agentcad view v1_label/viewer.html   # or output.step / output.glb\n   ```\n   Users expect to see the result in a browser. Do this every run, unprompted.\n\n5. **Inspect if invalid.** If `is_valid: false` or geometry looks wrong:\n   ```bash\n   agentcad inspect v1_label/output.step\n   ```\n\n6. **Iterate.** Fix the script, run with a new `--output` label. Use\n   `agentcad diff 1 2` to compare versions.\n\n## Script writing rules\n\n- `show_object(result)` is required — at least one call.\n- These are pre-injected (no import needed):\n  `cq`, `show_object`, `translate`, `rotate`, `mirror_fuse`, `loft_sections`,\n  `tapered_sweep`, `naca_wire`, `bbox_point`, `place_at`, `assemble`,\n  `ellipse_wire`, `spline_wire`, `polygon_wire`, `rounded_rect_wire`,\n  `elliptical_sweep`, `involute_gear_profile`\n- Helpers operate on `TopoDS_Shape`. Bridge with `.val().wrapped`:\n  ```python\n  part = cq.Workplane('XY').box(10, 20, 5).val().wrapped\n  moved = translate(part, 50, 0, 0)\n  ```\n- To show helper output:\n  ```python\n  show_object(cq.Workplane('XY').newObject([cq.Shape.cast(topo_shape)]))\n  ```\n- For OCP internals (`gp_Pnt`, `BRepPrimAPI`, etc.), import manually.\n\n## Key commands\n\n| Command | Purpose |\n|---------|---------|\n| `agentcad init --name NAME` | Initialize project |\n| `agentcad run SCRIPT --output LABEL` | Execute script, produce STEP + metrics |\n| `agentcad run ... --dry-run` | Metrics only, no version consumed |\n| `agentcad run ... --no-preview` | Suppress preview (on by default) |\n| `agentcad run ... --render iso,front` | PNG views |\n| `agentcad run ... --export stl,glb` | Mesh export |\n| `agentcad run ... --params k=v,k=v` | Override script parameters |\n| `agentcad render STEP --view SPEC` | Post-hoc renders with camera control |\n| `agentcad export STEP --format stl,glb` | Post-hoc mesh export |\n| `agentcad inspect STEP` | Topology report (validity, free edges) |\n| `agentcad diff REF1 REF2` | Compare versions |\n| `agentcad context` | Project state |\n| `agentcad docs [SECTION]` | Deep-dive docs (16 sections) |\n| `agentcad view FILE` | **Run this after every successful build** — opens GLB/STEP in the user's browser |\n\n## Debugging playbook\n\n1. **Check metrics first** — `volume` and `dimensions` catch most issues.\n2. **Read `preview.png`** — the 4-view composite. Fastest way to spot obvious problems.\n3. **Read `diff.side_by_side`** if iterating — confirms your change did what you intended.\n4. **Negative volume?** Wire winding is backwards (CW instead of CCW).\n5. **is_valid: false?** Run `agentcad inspect` — check `free_edge_count` and shell status.\n6. **Hollow shape?** `free_edge_count > 0` means open shell.\n7. **Complex profiles (gears, splines)?** Use subtractive construction — cut from\n   a blank cylinder/box instead of building up. See `agentcad docs patterns`.\n\n## Patterns\n\n- **Build at origin, then position:** Create geometry at origin, use `translate()`\n  and `rotate()` to place it.\n- **Compound vs Union:** `makeCompound()` for assemblies (parts stay separate),\n  `.union()` for boolean fuse into one solid.\n- **Parametric scripts:** Top-level variable assignments become overridable via\n  `--params`. Use this for iteration.\n- **Named parts:** `show_object(shape, name=\"wheel\", options={\"color\": \"red\"})`\n  for per-part metrics and colored GLB export.\n\nFile v0.1.6:README.md\n\n# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at its own (currently private) repository and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub package install jdilla1277/agentcad-skill\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is licensed under [BSL-1.1](https://mariadb.com/bsl11/) — free for all use except offering agentcad as a competing hosted service. Converts to Apache-2.0 after four years per release.\n\n## Source\n\n- CLI source: private repo, distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Auto-synced from the private CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here.\n\nFile v0.1.6:_meta.json\n\n{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.1.6\",\n  \"publishedAt\": 1777020698041\n}","readmeExcerpt":"Skill: Agentcad Skill V050.Ta0dYt Owner: jdilla1277 Summary: CAD tool for AI agents. Use when the user asks you to design, model, or build a 3D object. agentcad executes build123d Python scripts and produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics. Tags: cad:0.5.0, latest:0.5.0, stable:0.5.0 Version history: v0.5.0 | 2026-09-03T10:24:10.235Z | user Clearer, safer CAD editing v0.4.1 ","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"agentcad init --name <project_name>\nagentcad --help   # Read the built-in how-to guide and command reference"},{"language":"bash","snippet":"agentcad run script.py --label test --dry-run"},{"language":"bash","snippet":"agentcad run script.py --label label"},{"language":"bash","snippet":"agentcad inspect v1_label/output.step"},{"language":"bash","snippet":"agentcad measure v1_label/output.step"},{"language":"json","snippet":"{\"features\":[{\"name\":\"bolt_holes\",\"type\":\"cylinder\",\"diameter_mm\":6,\"count\":4}]}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: agentcad\ndescription: 'CAD tool for AI agents. Use when the user asks you to design, model,\n  or build a 3D object. agentcad executes build123d Python scripts and produces STEP\n  files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics.\n\n  '\ncompatibility: Requires Python 3.10-3.12 and agentcad installed (pip install agentcad).\nallowed-tools: Bash(agentcad:*)\nversion: 0.5.0\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - agentcad\n      anyBins:\n      - python3.12\n      - python3.11\n      - python3.10\n---\n\n# agentcad — CAD tool for AI agents\n\nYou have access to `agentcad`, a CLI that turns build123d Python scripts into 3D\ngeometry. All output is JSON. Every command returns `\"command\"` and `\"status\"` keys.\n\n## First-time setup\n\n```bash\nagentcad init --name <project_name>\nagentcad --help   # Read the built-in how-to guide and command reference\n```\n\n## Core workflow\n\n1. **Write a script.** No imports needed — build123d primitives,\n   `show_object`, and agentcad edit helpers are pre-injected by default.\n   `show_object(result)` is required.\n\n2. **Dry-run first** to check metrics without consuming a version:\n   ```bash\n   agentcad run script.py --label test --dry-run\n   ```\n   Check `volume`, `dimensions`, `is_valid` in the response.\n\n3. **Run for real.** Visual feedback is on by default:\n   ```bash\n   agentcad run script.py --label label\n   ```\n   A normal successful iteration can produce (paths in the JSON response):\n   - `preview.png` — balanced top, bottom, upper-iso, and lower-iso composite.\n     **Read this** to confirm the part looks right before iterating. The lower\n     views expose geometry that a top view can hide.\n   - `diff.side_by_side` — side-by-side PNG vs the most recent successful prior\n     version, when one exists and automatic diff is enabled. **Read this** when\n     iterating to see what your change did.\n   - `diff.overlay` — centered 2D visual-overlap map (coincident gray,\n     reference-only blue, candidate-only orange). It helps locate silhouette\n     changes but does not prove physical correctness or shared 3D volume.\n   - `viewer.html` — interactive 3D review viewer for the user unless viewer\n     artifacts are disabled (humans only;\n     you can't render HTML). It opens automatically after a successful run.\n     From v2, A=previous and B=current are already loaded with synchronized\n     A/B, side-by-side, overlay, diff-image, and Parts-tab change review.\n\n   Pass `--no-preview` only for tight parametric sweeps where latency matters.\n   Pass `--no-view` only when browser launch would disrupt an unattended or\n   high-volume run.\n\n   For a core-only iteration, pass\n   `--no-preview --no-diff --no-view`. This writes `output.step`, the saved\n   script, `meta.json` (including metrics), and explicitly requested exports\n   without generating previews, automatic comparisons, viewer assets, or\n   opening a browser. You can still run an explicit\n   `agentcad diff OLD NEW` later.\n\n   When a comparison is s"},{"path":"README.md","content":"# agentcad-skill\n\nThe **agent skill manifest** for [agentcad](https://agentcad.dev) — a CLI-based CAD tool for AI agents.\n\nThis repo is the public entry point for agent skill marketplaces ([ClawHub](https://clawhub.ai/), [skills.sh](https://skills.sh)). It contains only the `SKILL.md` manifest — the agentcad CLI itself lives at [jdilla1277/agentcad](https://github.com/jdilla1277/agentcad) and ships via PyPI.\n\n## Install\n\n### skills.sh (Vercel)\n\n```bash\nnpx skills add jdilla1277/agentcad-skill\n```\n\n### ClawHub (OpenClaw)\n\n```bash\nclawhub install jdilla1277/agentcad\n```\n\n### Manually (Claude Code)\n\nInstall the CLI and let it drop the skill into your project:\n\n```bash\npip install agentcad\nagentcad skill install\n```\n\n## What agentcad does\n\nAgents write bad 3D geometry on the first try. agentcad gives them a tight feedback loop — run, render, inspect, fix — so they converge on printable geometry without you babysitting.\n\n- **Execute** — run CadQuery Python scripts, produce versioned STEP files + geometric metrics\n- **Render** — PNG views from any angle for visual verification\n- **Export** — STL, GLB, OBJ for 3D printing and web viewers\n- **Validate** — pre-execution checks catch errors in <100ms\n- **Inspect** — topology report for debugging geometry issues\n- **Diff** — compare versions to track design iteration\n\nSee [agentcad.dev](https://agentcad.dev) for the full pitch and live gallery.\n\n## Requirements\n\n- Python 3.10–3.12 (CadQuery/OpenCascade does not support 3.13+)\n- `agentcad` CLI on `$PATH` (`pip install agentcad`)\n\n## License\n\nThe skill manifest in this repo is licensed under Apache-2.0.\n\nThe agentcad CLI itself is open source under [Apache-2.0](https://github.com/jdilla1277/agentcad/blob/main/LICENSE).\n\n## Source\n\n- CLI source: [github.com/jdilla1277/agentcad](https://github.com/jdilla1277/agentcad), distributed via [PyPI](https://pypi.org/project/agentcad/).\n- Skill manifest: this repo. Generated from the public CLI repo on each release.\n- Feedback / issues: run `agentcad feedback \"your message\"` from inside a project, or file an issue here."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e37871wa8zg6kgsfctevr59859sx9\",\n  \"slug\": \"agentcad\",\n  \"version\": \"0.5.0\",\n  \"publishedAt\": 1788431050235\n}"},{"path":"skill-card.md","content":"## Description:\n\nCAD tool for AI agents that helps design, model, and build 3D objects by executing build123d Python scripts and producing STEP files, PNG renders, mesh exports, and geometric metrics.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jdilla1277](https://clawhub.ai/user/jdilla1277)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to create and iterate on CAD models through agent-authored Python scripts, visual previews, geometry metrics, inspection, measurement, diffing, and export workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill runs the local agentcad CLI and depends on the installed agentcad package.\n\nMitigation: Install agentcad from a trusted source and pin or verify the package where possible.\n\nRisk: Default successful runs may open a browser viewer and create preview, diff, and viewer artifacts.\n\nMitigation: Use --no-view, or --no-preview --no-diff --no-view, in automation or sensitive environments.\n\nRisk: Generated CAD geometry can be invalid, visually misleading, or fail explicit dimensional requirements.\n\nMitigation: Review previews and metrics, then use inspect, measure, diff, and check-spec before final handoff.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/jdilla1277/skills/agentcad)\n- [agentcad documentation and gallery](https://agentcad.dev)\n- [agentcad PyPI package](https://pypi.org/project/agentcad/)\n\n## Skill Output:\n\n**Output Type(s):** [code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with Python and shell command snippets; agentcad CLI commands return JSON and generated CAD artifacts.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can guide creation of STEP files, PNG previews, STL/GLB/OBJ mesh exports, viewer artifacts, meta.json metrics, and spec.json checks through the agentcad CLI.]\n\n## Skill Version(s):\n\n0.5.0 (source: frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"CAD tool for AI agents. Use when the user asks you to design, model, or build a 3D object. agentcad executes build123d Python scripts and produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics. Skill: Agentcad Skill V050.Ta0dYt Owner: jdilla1277 Summary: CAD tool for AI agents. Use when the user asks you to design, model, or build a 3D object. agentcad executes build123d Python scripts and produces STEP files, PNG renders, mesh exports (STL/GLB/OBJ), and geometric metrics. Tags: cad:0.5.0, latest:0.5.0, stable:0.5.0 Version history: v0.5.0 | 2026-09-03T10:24:10.235Z | user Clearer, safer CAD editing v0.4.1","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1456,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T20:38:07.250Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T20:38:07.250Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:02:22.842Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}