Skip to content
CLI Tools
Skill

/cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds:

From plugin
cli-anything
59k71 skills9 commands

Claude Code

$ npx -y skills add HKUDS/CLI-Anything --skill cli-anything-freecad --agent claude-code

SKILL.md

cli-anything-freecad.SKILL.md
name: "cli-anything-freecad"
description: "Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF."

cli-anything-freecad

Complete CLI harness for **FreeCAD** — 258 commands across 17 groups covering ALL workbenches.

Prerequisites

FreeCAD must be installed: `freecadcmd` must be in PATH.

Installation

pip install -e freecad/agent-harness

Basic Usage

cli-anything-freecad --json <command>           # JSON output for agents
cli-anything-freecad --json -p proj.json <cmd>  # With project file
cli-anything-freecad                            # Interactive REPL

Preview, Live Preview, and Motion

FreeCAD is currently the deepest preview integration in this branch.

Preview commands:

# List preview recipes
cli-anything-freecad --json -p proj.json preview recipes

# Capture a real 4-view bundle
cli-anything-freecad --json -p proj.json preview capture --recipe quick

# Start poll-mode live preview
cli-anything-freecad --json -p proj.json preview live start --recipe quick --mode poll --source-poll-ms 500

# Query current live state without rendering
cli-anything-freecad --json -p proj.json preview live status --recipe quick

# Stop live preview publication
cli-anything-freecad --json -p proj.json preview live stop --recipe quick

Typical `quick` bundle artifacts:

  • `hero.png`
  • `front.png`
  • `top.png`
  • `right.png`

Live preview persists:

  • `session.json`
  • immutable bundle directories
  • `trajectory.json`

`preview live status --json` is intended for agents and includes a compact `trajectory_summary` in addition to `_session_dir`, current bundle refs, and `_trajectory_path`.

Viewer commands:

cli-hub previews inspect /path/to/bundle-or-session
cli-hub previews html /path/to/bundle-or-session -o page.html
cli-hub previews watch /path/to/session --open
cli-hub previews open /path/to/bundle-or-session

Motion commands remain separate from preview and are used for final truthful frame rendering and showcase videos:

cli-anything-freecad --json -p proj.json motion new --name spin --duration 6 --fps 24
cli-anything-freecad --json -p proj.json motion keyframe spin --time 0.0 --part 0 --position 0,0,0
cli-anything-freecad --json -p proj.json motion render-video spin output.mp4

Command Groups (258 commands)

document (5) — Document management

cli-anything-freecad --json document new --name "Part" -o proj.json
cli-anything-freecad --json document new --profile print3d -o proj.json
cli-anything-freecad --json -p proj.json document info
cli-anything-freecad --json -p proj.json document save -o copy.json
cli-anything-freecad --json document profiles

part (29) — 3D primitives, boolean, transforms, operations

# Primitives: box, cylinder, sphere, cone, torus, wedge, helix, spiral, thread, plane, polygon_3d
cli-anything-freecad --json -p p.json part add box -P length=20 -P width=15 -P height=5
cli-anything-freecad --json -p p.json part add cylinder -P radius=3 -P height=10 --position 10,7.5,0

# Operations
cli-anything-freecad --json -p p.json part boolean cut 0 1
cli-anything-freecad --json -p p.json part copy 0
cli-anything-freecad --json -p p.json part mirror 0 --plane XY
cli-anything-freecad --json -p p.json part scale 0 --factor 2.0
cli-anything-freecad --json -p p.json part loft --indices 0,1,2
cli-anything-freecad --json -p p.json part sweep 0 1
cli-anything-freecad --json -p p.json part revolve 0 --axis Z --angle 360
cli-anything-freecad --json -p p.json part extrude 0 --direction 0,0,1 --length 10
cli-anything-freecad --json -p p.json part fillet-3d 0 --radius 2
cli-anything-freecad --json -p p.json part thickness 0 --thickness 1
cli-anything-freecad --json -p p.json part compound --indices 0,1,2
cli-anything-freecad --json -p p.json part section 0 --plane XY
cli-anything-freecad --json -p p.json part info 0
cli-anything-freecad --json -p p.json part line-3d --start 0,0,0 --end 10,5,0
cli-anything-freecad --json -p p.json part wire --points "0,0,0;10,0,0;10,10,0"

sketch (26) — 2D constrained sketching

cli-anything-freecad --json -p p.json sketch new --plane XY
cli-anything-freecad --json -p p.json sketch add-line 0 --start 0,0 --end 20,0
cli-anything-freecad --json -p p.json sketch add-circle 0 --center 10,10 --radius 5
cli-anything-freecad --json -p p.json sketch add-rect 0 --corner 0,0 --width 20 --height 15
cli-anything-freecad --json -p p.json sketch add-arc 0 --center 0,0 --radius 5
cli-anything-freecad --json -p p.json sketch add-ellipse 0 --center 0,0 --major-radius 10 --minor-radius 5
cli-anything-freecad --json -p p.json sketch add-polygon 0 --center 0,0 --sides 6 --radius 10
cli-anything-freecad --json -p p.json sketch add-bspline 0 --points "0,0;5,10;10,0;15,10"
cli-anything-freecad --json -p p.json sketch add-slot 0 --center1 0,0 --center2 10,0 --radius 2
cli-anything-freecad --json -p p.json sketch constrain 0 distance --elements 0,1 --value 10
cli-anything-freecad --json -p p.json sketch edit-element 0 0 --radius 8
cli-anything-freecad --json -p p.json sketch remove-element 0 2
cli-anything-freecad --json -p p.json sketch validate 0
cli-anything-freecad --json -p p.json sketch solve-status 0
# Constraints: coincident, horizontal, vertical, parallel, perpendicular, equal,
#   fixed, distance, angle, radius, tangent, symmetric, block, diameter,
#   point_on_object, distance_x, dist
Read more
@hkuds
Ships withcli-anything

"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/

Stars on GitHub

Momentum

stars in total
58.5k
Star history of HKUDS/CLI-Anything on GitHub, a chart by star-history.com

Other skills on cli-anything.

cli-anything-adguardhome

cli-anything-adguardho…

Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI…

@hkuds@hkudsInstall Skill
cli-anything-anygen

cli-anything-anygen

Command-line interface for Anygen - A stateful command-line interface for AnyGen OpenAPI — generate professional slides,…

@hkuds@hkudsInstall Skill
cli-anything-audacity

cli-anything-audacity

Command-line interface for Audacity - A stateful command-line interface for audio editing, following the same patterns as the…

@hkuds@hkudsInstall Skill

More skills from other plugins.

find-skills

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a…

skills4d39k
@vercel-labs-2@vercel-labs-2Install Skill
ohmyposh

ohmyposh

Install, configure, or troubleshoot Oh My Posh/ohmyposh: shell init, themes, segments, Nerd Font icons, and prompt setup on…

@jandedobbeleer@jandedobbeleerInstall Skill
mgrep

mgrep

MANDATORY: Replaces ALL built-in search tools. You MUST invoke this skill BEFORE using WebSearch, Grep, or Glob. NEVER use the…

mgrep6mo4.4k
@mixedbread-ai@mixedbread-aiInstall Skill

Questions about cli-anything-freecad.

Which coding agents can use cli-anything-freecad?
cli-anything-freecad installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.