CCPM Project Management
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software.
$ npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HKUDS/CLI-Anything cli-anything-cloudcompare --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cli-anything-cloudcompare .claude/skills/cli-anything-cloudcompare && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cli-anything-cloudcompare" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-cloudcompare into .claude/skills/cli-anything-cloudcompare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-anything-cloudcompare", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-cloudcompareType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HKUDS/CLI-Anything cli-anything-cloudcompare --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cli-anything-cloudcompare .agents/skills/cli-anything-cloudcompare && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cli-anything-cloudcompare" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-cloudcompare into .agents/skills/cli-anything-cloudcompare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-anything-cloudcompare", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HKUDS/CLI-Anything cli-anything-cloudcompare --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cli-anything-cloudcompare .cursor/skills/cli-anything-cloudcompare && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cli-anything-cloudcompare" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-cloudcompare into .cursor/skills/cli-anything-cloudcompare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-anything-cloudcompare", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HKUDS/CLI-Anything.git --path skills/cli-anything-cloudcompare--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HKUDS/CLI-Anything cli-anything-cloudcompare --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cli-anything-cloudcompare .gemini/skills/cli-anything-cloudcompare && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cli-anything-cloudcompare" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-cloudcompare into .gemini/skills/cli-anything-cloudcompare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-anything-cloudcompare", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HKUDS/CLI-Anything cli-anything-cloudcompareInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cli-anything-cloudcompare .github/skills/cli-anything-cloudcompare && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cli-anything-cloudcompare" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-cloudcompare into .github/skills/cli-anything-cloudcompare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-anything-cloudcompare", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HKUDS/CLI-Anything cli-anything-cloudcompare --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cli-anything-cloudcompare .opencode/skills/cli-anything-cloudcompare && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cli-anything-cloudcompare" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-cloudcompare into .opencode/skills/cli-anything-cloudcompare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-anything-cloudcompare", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cli-anything-cloudcompareCommand-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software.
CLI Anything Cloudcompare is an agent skill from HKUDS/CLI-Anything. Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.
Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering Project management. The repository describes itself as: "CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/. The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 34f5195. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
cloudcompare.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
CLI Anything Cloudcompare loads about 6k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 1,110 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from HKUDS/CLI-Anything at commit 34f5195, republished under its Apache-2.0 licence (© HKUDS). 1,110 words, ~6,022 tokens.
.claude/skills/cli-anything-cloudcompare/SKILL.md (or your agent's skills folder).Agent-friendly command-line harness for CloudCompare — the open-source 3D point cloud and mesh processing software.
41 commands across 9 groups.
pip install cli-anything-cloudcomparePrerequisites:
flatpak install flathub org.cloudcompare.CloudCompareTested with: CloudCompare 2.13.2 (Flatpak, Linux)
These options must be placed before the subcommand:
cli-anything-cloudcompare [--project FILE] [--json] COMMAND [ARGS]...| Option | Description |
|---|---|
-p, --project TEXT | Path to project JSON file |
--json | Output results as JSON (for agent consumption) |
Create a new empty project file.
# Create a project with default name
cli-anything-cloudcompare project new -o myproject.json
# Create a project with a custom name
cli-anything-cloudcompare project new -o myproject.json -n "Bridge Survey 2024"
# JSON output for agents
cli-anything-cloudcompare --json project new -o myproject.jsonOptions: -o/--output TEXT (required), -n/--name TEXT
Show project info and loaded entities.
cli-anything-cloudcompare --project myproject.json project info
# JSON output
cli-anything-cloudcompare --project myproject.json --json project infoShow quick project status (cloud count, mesh count, last operation).
cli-anything-cloudcompare --project myproject.json project statusSave the current project state to disk.
cli-anything-cloudcompare --project myproject.json session saveShow recent operation history.
# Show last 10 operations (default)
cli-anything-cloudcompare --project myproject.json session history
# Show last 5 operations
cli-anything-cloudcompare --project myproject.json session history -n 5Options: -n/--last INTEGER
Update the default export format for future operations.
# Set default cloud export to LAS
cli-anything-cloudcompare --project myproject.json session set-format --cloud-fmt LAS --cloud-ext las
# Set default mesh export to OBJ
cli-anything-cloudcompare --project myproject.json session set-format --mesh-fmt OBJ --mesh-ext obj
# Set both cloud and mesh defaults
cli-anything-cloudcompare --project myproject.json session set-format \
--cloud-fmt PLY --cloud-ext ply \
--mesh-fmt STL --mesh-ext stlOptions: --cloud-fmt TEXT, --cloud-ext TEXT, --mesh-fmt TEXT, --mesh-ext TEXT
Remove the last operation from history (soft undo — does not delete output files).
cli-anything-cloudcompare --project myproject.json session undoAll cloud commands take CLOUD_INDEX (0-based integer from cloud list) and most accept --add-to-project to register the output back into the project.
Add a point cloud file to the project.
# Add a LAS file
cli-anything-cloudcompare --project myproject.json cloud add /data/scan.las
# Add with a label
cli-anything-cloudcompare --project myproject.json cloud add /data/scan.las -l "roof scan"Options: -l/--label TEXT
List all clouds currently in the project.
cli-anything-cloudcompare --project myproject.json cloud list
# JSON output for parsing indices
cli-anything-cloudcompare --project myproject.json --json cloud listConvert a cloud from one format to another (format determined by file extension).
# LAS → PLY
cli-anything-cloudcompare cloud convert /data/scan.las /data/scan.ply
# PCD → LAS
cli-anything-cloudcompare cloud convert /data/cloud.pcd /data/cloud.lasReduce the number of points using RANDOM, SPATIAL, or OCTREE method.
# Random: keep 100 000 points
cli-anything-cloudcompare --project myproject.json cloud subsample 0 \
-o /data/sub_random.las -m random -n 100000
# Spatial: minimum distance 0.05 m between points
cli-anything-cloudcompare --project myproject.json cloud subsample 0 \
-o /data/sub_spatial.las -m spatial -n 0.05
# Octree: level 8
cli-anything-cloudcompare --project myproject.json cloud subsample 0 \
-o /data/sub_octree.las -m octree -n 8 --add-to-projectOptions: -o/--output TEXT (required), -m/--method [random|spatial|octree], -n/--param FLOAT, --add-to-project
Crop a cloud to an axis-aligned bounding box.
# Keep points inside the box
cli-anything-cloudcompare --project myproject.json cloud crop 0 \
-o /data/cropped.las \
--xmin 0.0 --ymin 0.0 --zmin 0.0 \
--xmax 10.0 --ymax 10.0 --zmax 5.0
# Keep points OUTSIDE the box
cli-anything-cloudcompare --project myproject.json cloud crop 0 \
-o /data/exterior.las \
--xmin 0.0 --ymin 0.0 --zmin 0.0 \
--xmax 10.0 --ymax 10.0 --zmax 5.0 --outsideOptions: -o/--output TEXT (required), --xmin/ymin/zmin/xmax/ymax/zmax FLOAT (all required), --outside, --add-to-project
Compute surface normals via the octree method.
# Compute normals at octree level 6
cli-anything-cloudcompare --project myproject.json cloud normals 0 \
-o /data/with_normals.ply --level 6
# Compute normals oriented toward +Z
cli-anything-cloudcompare --project myproject.json cloud normals 0 \
-o /data/with_normals.ply --level 6 --orientation plus_z --add-to-projectOptions: -o/--output TEXT (required), --level INTEGER (1–10), --orientation [plus_x|plus_y|plus_z|minus_x|minus_y|minus_z], --add-to-project
Flip all normal vectors in the cloud.
cli-anything-cloudcompare --project myproject.json cloud invert-normals 0 \
-o /data/flipped_normals.ply --add-to-projectOptions: -o/--output TEXT (required), --add-to-project
Statistical Outlier Removal — removes isolated noise points.
# Default parameters (k=6 neighbours, 1.0 std ratio)
cli-anything-cloudcompare --project myproject.json cloud filter-sor 0 \
-o /data/denoised.las
# Custom parameters
cli-anything-cloudcompare --project myproject.json cloud filter-sor 0 \
-o /data/denoised.las --nb-points 12 --std-ratio 2.0 --add-to-projectOptions: -o/--output TEXT (required), --nb-points INTEGER, --std-ratio FLOAT, --add-to-project
Remove noisy points using the PCL noise filter (KNN or radius mode).
# KNN mode (default)
cli-anything-cloudcompare --project myproject.json cloud noise-filter 0 \
-o /data/clean.las --knn 8 --noisiness 1.0
# Radius mode
cli-anything-cloudcompare --project myproject.json cloud noise-filter 0 \
-o /data/clean.las --radius 0.1 --use-radius --add-to-projectOptions: -o/--output TEXT (required), --knn INTEGER, --noisiness FLOAT, --radius FLOAT, --use-radius, --absolute, --add-to-project
Ground filtering using the Cloth Simulation Filter (CSF) algorithm. Separates ground from off-ground points (buildings, vegetation).
# Extract ground only — mixed terrain
cli-anything-cloudcompare --project myproject.json cloud filter-csf 0 \
--ground /data/ground.las --scene relief
# Split ground + off-ground — urban scene
cli-anything-cloudcompare --project myproject.json cloud filter-csf 0 \
--ground /data/ground.las \
--offground /data/buildings.las \
--scene flat --cloth-resolution 0.5 --class-threshold 0.3
# Steep forested slope with slope post-processing
cli-anything-cloudcompare --project myproject.json cloud filter-csf 0 \
--ground /data/terrain.las --scene slope --proc-slope --add-to-projectOptions: -g/--ground TEXT (required), -u/--offground TEXT, --scene [slope|relief|flat], --cloth-resolution FLOAT, --class-threshold FLOAT, --max-iteration INTEGER, --proc-slope, --add-to-project
Filter a cloud by scalar field value range (keep points where SF ∈ [min, max]).
# Keep points with SF value between 10 and 50
cli-anything-cloudcompare --project myproject.json cloud filter-sf 0 \
-o /data/filtered.las --min 10.0 --max 50.0
# Filter using a specific SF index
cli-anything-cloudcompare --project myproject.json cloud filter-sf 0 \
-o /data/filtered.las --min 0.0 --max 1.5 --sf-index 2 --add-to-projectOptions: -o/--output TEXT (required), --min FLOAT (required), --max FLOAT (required), --sf-index INTEGER, --add-to-project
Convert a coordinate axis (X/Y/Z) to a scalar field. Commonly used to create a height (Z) scalar field.
# Create Z scalar field (height)
cli-anything-cloudcompare --project myproject.json cloud sf-from-coord 0 \
-o /data/with_z_sf.las --dim z --add-to-project
# Create X scalar field with a specific active index
cli-anything-cloudcompare --project myproject.json cloud sf-from-coord 0 \
-o /data/with_x_sf.las --dim x --sf-index 0Options: -o/--output TEXT (required), --dim [x|y|z] (default: z), --sf-index INTEGER, --add-to-project
Convenience command: convert Z → scalar field and filter by height range in one step.
# Extract points between z=1.0 m and z=2.5 m
cli-anything-cloudcompare --project myproject.json cloud sf-filter-z 0 \
-o /data/slice.las --min 1.0 --max 2.5 --add-to-project
# Only apply upper bound
cli-anything-cloudcompare --project myproject.json cloud sf-filter-z 0 \
-o /data/below_5m.las --max 5.0Options: -o/--output TEXT (required), --min FLOAT, --max FLOAT, --add-to-project
Convert the active scalar field to RGB colours.
cli-anything-cloudcompare --project myproject.json cloud sf-to-rgb 0 \
-o /data/coloured.ply --add-to-projectOptions: -o/--output TEXT (required), --add-to-project
Convert RGB colours to a scalar field (luminance value).
cli-anything-cloudcompare --project myproject.json cloud rgb-to-sf 0 \
-o /data/luminance.las --add-to-projectOptions: -o/--output TEXT (required), --add-to-project
Compute curvature scalar field (MEAN or GAUSS).
# Mean curvature with radius 0.5 m
cli-anything-cloudcompare --project myproject.json cloud curvature 0 \
-o /data/curvature.las --type mean --radius 0.5
# Gaussian curvature
cli-anything-cloudcompare --project myproject.json cloud curvature 0 \
-o /data/curvature.las --type gauss --radius 0.5 --add-to-projectOptions: -o/--output TEXT (required), --type [mean|gauss], -r/--radius FLOAT, --add-to-project
Compute roughness scalar field (deviation from local best-fit plane).
cli-anything-cloudcompare --project myproject.json cloud roughness 0 \
-o /data/roughness.las --radius 0.2 --add-to-projectOptions: -o/--output TEXT (required), -r/--radius FLOAT, --add-to-project
Compute point density scalar field.
# KNN density
cli-anything-cloudcompare --project myproject.json cloud density 0 \
-o /data/density.las --type knn --radius 0.5
# Surface density
cli-anything-cloudcompare --project myproject.json cloud density 0 \
-o /data/density.las --type surface --radius 1.0 --add-to-projectOptions: -o/--output TEXT (required), -r/--radius FLOAT, --type [knn|surface|volume], --add-to-project
Segment cloud into connected components (clusters). Each component is saved as a separate file.
# Segment with octree level 8, minimum 100 points per component
cli-anything-cloudcompare --project myproject.json cloud segment-cc 0 \
-o /data/components/ --octree-level 8 --min-points 100
# Save components as PLY files
cli-anything-cloudcompare --project myproject.json cloud segment-cc 0 \
-o /data/components/ --octree-level 6 --min-points 50 --fmt plyOptions: -o/--output-dir TEXT (required), --octree-level INTEGER, --min-points INTEGER, --fmt TEXT
Merge all clouds in the project into a single cloud.
cli-anything-cloudcompare --project myproject.json cloud merge \
-o /data/merged.las --add-to-projectOptions: -o/--output TEXT (required), --add-to-project
Build a 2.5-D Delaunay triangulation mesh from a cloud.
# Basic Delaunay mesh
cli-anything-cloudcompare --project myproject.json cloud mesh-delaunay 0 \
-o /data/surface.obj
# Best-fit plane with max edge length limit
cli-anything-cloudcompare --project myproject.json cloud mesh-delaunay 0 \
-o /data/surface.ply --best-fit --max-edge-length 2.0 --add-to-projectOptions: -o/--output TEXT (required), --best-fit, --max-edge-length FLOAT, --add-to-project
Add a mesh file to the project.
cli-anything-cloudcompare --project myproject.json mesh add /data/model.obj
# Add with label
cli-anything-cloudcompare --project myproject.json mesh add /data/model.ply -l "building model"Options: -l/--label TEXT
List all meshes in the project.
cli-anything-cloudcompare --project myproject.json mesh list
# JSON output
cli-anything-cloudcompare --project myproject.json --json mesh listSample a point cloud from a mesh surface.
# Sample 50 000 points from mesh at index 0
cli-anything-cloudcompare --project myproject.json mesh sample 0 \
-o /data/sampled.las -n 50000
# Add sampled cloud back to project
cli-anything-cloudcompare --project myproject.json mesh sample 0 \
-o /data/sampled.las -n 100000 --add-to-projectOptions: -o/--output TEXT (required), -n/--count INTEGER, --add-to-project
Compute cloud-to-cloud distances. Adds a distance scalar field to the compared cloud.
# Compare cloud 1 to reference cloud 0
cli-anything-cloudcompare --project myproject.json distance c2c \
--compare 1 --reference 0 -o /data/distances.las
# Split into X/Y/Z components at octree level 8
cli-anything-cloudcompare --project myproject.json distance c2c \
--compare 1 --reference 0 -o /data/distances.las \
--split-xyz --octree-level 8 --add-to-projectOptions: --compare TEXT (required), --reference TEXT (required), -o/--output TEXT (required), --split-xyz, --octree-level INTEGER, --add-to-project
Compute cloud-to-mesh distances. Adds a distance scalar field to the cloud.
# Basic cloud-to-mesh distance
cli-anything-cloudcompare --project myproject.json distance c2m \
--cloud 0 --mesh 0 -o /data/c2m_dist.las
# With flipped normals and unsigned distances
cli-anything-cloudcompare --project myproject.json distance c2m \
--cloud 0 --mesh 0 -o /data/c2m_dist.las \
--flip-normals --unsigned --add-to-projectOptions: --cloud INTEGER (required), --mesh INTEGER (required), -o/--output TEXT (required), --flip-normals, --unsigned, --add-to-project
Apply a 4×4 rigid-body transformation matrix to a cloud.
# Apply a transformation matrix from file
cli-anything-cloudcompare --project myproject.json transform apply 0 \
-o /data/transformed.las -m /data/matrix.txt
# Apply the inverse transformation
cli-anything-cloudcompare --project myproject.json transform apply 0 \
-o /data/transformed.las -m /data/matrix.txt --inverse --add-to-projectThe matrix file must contain 4 rows of 4 space-separated values:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1Options: -o/--output TEXT (required), -m/--matrix TEXT (required), --inverse, --add-to-project
Run ICP (Iterative Closest Point) registration to align one cloud to another.
# Basic ICP alignment
cli-anything-cloudcompare --project myproject.json transform icp \
--aligned 1 --reference 0 -o /data/aligned.las
# ICP with overlap and iteration control
cli-anything-cloudcompare --project myproject.json transform icp \
--aligned 1 --reference 0 -o /data/aligned.las \
--max-iter 50 --overlap 80 --min-error-diff 1e-6 --add-to-projectOptions: --aligned INTEGER (required), --reference INTEGER (required), -o/--output TEXT (required), --max-iter INTEGER, --min-error-diff FLOAT, --overlap FLOAT, --add-to-project
List all available export format presets.
cli-anything-cloudcompare export formats
# JSON output
cli-anything-cloudcompare --json export formatsExport a cloud to a target format.
# Export cloud at index 0 as LAS
cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.las
# Export as PLY using preset
cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.ply -f ply
# Overwrite if file exists
cli-anything-cloudcompare --project myproject.json export cloud 0 /data/output.las -f las --overwriteSupported presets: las, laz, ply, pcd, xyz, asc, csv, bin, e57
Options: -f/--preset TEXT, --overwrite
Export a mesh to a target format.
# Export mesh at index 0 as OBJ
cli-anything-cloudcompare --project myproject.json export mesh 0 /data/model.obj
# Export as STL
cli-anything-cloudcompare --project myproject.json export mesh 0 /data/model.stl -f stl --overwriteSupported presets: obj, stl, ply, bin
Options: -f/--preset TEXT, --overwrite
Batch export all project clouds to a directory.
# Export all clouds as LAS
cli-anything-cloudcompare --project myproject.json export batch \
-d /data/exports/ -f las
# Overwrite existing files
cli-anything-cloudcompare --project myproject.json export batch \
-d /data/exports/ -f ply --overwriteOptions: -d/--output-dir TEXT (required), -f/--preset TEXT, --overwrite
Show CloudCompare installation path and version.
cli-anything-cloudcompare info
# JSON output
cli-anything-cloudcompare --json infoStart the interactive REPL session with history and undo support.
# Start REPL without a project
cli-anything-cloudcompare repl
# Start REPL with an existing project
cli-anything-cloudcompare repl -p myproject.json
# Equivalent: run without subcommand
cli-anything-cloudcompare --project myproject.jsonOptions: -p/--project TEXT
Inside the REPL, type help to list available commands or session undo to revert the last operation.
| Format | Extension | Read | Write | Notes |
|---|---|---|---|---|
| LAS | .las | ✓ | ✓ | LiDAR standard, supports intensity/RGB |
| LAZ | .laz | ✓ | ✓ | Compressed LAS |
| PLY | .ply | ✓ | ✓ | ASCII or binary |
| PCD | .pcd | ✓ | ✓ | PCL format |
| XYZ | .xyz | ✓ | ✓ | Plain text XYZ |
| ASC | .asc | ✓ | ✓ | ASCII with header |
| CSV | .csv | ✓ | ✓ | Comma-separated |
| E57 | .e57 | ✓ | ✓ | ASTM scanner exchange |
| BIN | .bin | ✓ | ✓ | CloudCompare native binary |
| OBJ | .obj | ✓ | ✓ | Mesh (Wavefront) |
| STL | .stl | ✓ | ✓ | Mesh (3D printing) |
P=myproject.json
# 1. Create project and load scan
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/scan.las
cli-anything-cloudcompare --project $P cloud list # note index → 0
# 2. Denoise
cli-anything-cloudcompare --project $P cloud filter-sor 0 \
-o /data/denoised.las --nb-points 6 --std-ratio 1.0 --add-to-project
# 3. Subsample to 5 cm grid
cli-anything-cloudcompare --project $P cloud subsample 1 \
-o /data/subsampled.las -m spatial -n 0.05 --add-to-project
# 4. Extract ground plane (CSF)
cli-anything-cloudcompare --project $P cloud filter-csf 2 \
--ground /data/ground.las --offground /data/objects.las \
--scene relief --add-to-project
# 5. Export result
cli-anything-cloudcompare --project $P export cloud 3 /data/ground_final.las -f las --overwriteP=compare.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/scan_2023.las # index 0
cli-anything-cloudcompare --project $P cloud add /data/scan_2024.las # index 1
# ICP alignment (align 2024 to 2023)
cli-anything-cloudcompare --project $P transform icp \
--aligned 1 --reference 0 -o /data/aligned_2024.las \
--overlap 90 --add-to-project # index 2
# Cloud-to-cloud distance
cli-anything-cloudcompare --project $P distance c2c \
--compare 2 --reference 0 -o /data/change_map.las --add-to-project
# Export as LAS with distance scalar field
cli-anything-cloudcompare --project $P export cloud 3 /data/change_map_final.las --overwriteP=slice.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/building.las
# Extract points at 2–3 m height (floor level)
cli-anything-cloudcompare --project $P cloud sf-filter-z 0 \
-o /data/floor_slice.las --min 2.0 --max 3.0 --add-to-project
# Export
cli-anything-cloudcompare --project $P export cloud 1 /data/floor_slice_out.las --overwriteP=mesh.json
cli-anything-cloudcompare project new -o $P
cli-anything-cloudcompare --project $P cloud add /data/terrain.las
# Compute normals
cli-anything-cloudcompare --project $P cloud normals 0 \
-o /data/with_normals.ply --level 6 --orientation plus_z --add-to-project
# Delaunay mesh
cli-anything-cloudcompare --project $P cloud mesh-delaunay 1 \
-o /data/terrain_mesh.obj --max-edge-length 1.0 --add-to-project
# Export mesh
cli-anything-cloudcompare --project $P export mesh 0 /data/terrain_mesh_final.obj --overwrite| Exit Code | Meaning |
|---|---|
0 | Success |
1 | General error (see stderr for details) |
2 | Invalid arguments |
Common errors:
# CloudCompare not found
# → Install CloudCompare; check `cli-anything-cloudcompare info`
# Index out of range
# → Run `cloud list` or `mesh list` to confirm valid indices
# File already exists (no --overwrite)
# → Add --overwrite flag to export commands
# fcntl not available (Windows)
# → File locking is skipped automatically; project save still works--json flag for parseable output--add-to-project to build multi-step pipelines without re-loading filescloud list --json to discover valid cloud indices before each operationexport formats --json to discover available format presets| Component | Version |
|---|---|
| cli-anything-cloudcompare | 1.0.0 |
| CloudCompare (tested) | 2.13.2 |
| Python (minimum) | 3.10 |
© HKUDS, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cli-anything-cloudcompare of HKUDS/CLI-Anything.
Open the folder on GitHubat commit 34f5195
CLI Anything Cloudcompare next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| CLI Anything Cloudcompare this skillHKUDS/CLI-Anything | 52k | — | ~6k | Automated safety check: Pass | Apache-2.0 | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Uvastral-sh/claude-code-plugins | 314 | 2 repos | ~980 | Automated safety check: Pass | Apache-2.0 | |
| Project Managementkunchenguid/firstmate | 7.6k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Hivemind Goalsactiveloopai/hivemind | 1.6k | — | ~1.7k | Automated safety check: Notes | Apache-2.0 | |
| Ichartjswanghetommy/ichartjs | 352 | — | ~3.4k | Automated safety check: Pass | Apache-2.0 |
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
astral-sh/claude-code-plugins
Guide for using uv, the Python package and project manager. An agent skill from astral-sh/claude-code-plugins.
kunchenguid/firstmate
Agent-only procedure for Firstmate project management. An agent skill from kunchenguid/firstmate.
activeloopai/hivemind
Create, track and update team goals via the Deeplake virtual filesystem at memory/goal/.
wanghetommy/ichartjs
Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.
activeloopai/hivemind
Create, track and update team goals in Hivemind via the hivemind CLI.
HKUDS/CLI-Anything
Lets Codex build, refine, test, validate and list CLI-Anything harnesses for GUI applications or source repositories, following the project's full methodology.
HKUDS/CLI-Anything
Adapts the CLI-Anything methodology so Reasonix can build, refine, test and validate a command-line harness for an existing GUI application or source repository.
HKUDS/CLI-Anything
Guides Hermes Agent through building, refining and testing a CLI-Anything harness that wraps a GUI application or source repository in a scriptable command line.
HKUDS/CLI-Anything
Builds, refines, tests or validates a CLI-Anything harness that wraps a GUI application or source repository as a stateful Click CLI with JSON output and a REPL mode.
HKUDS/CLI-Anything
Drives Krita from the command line to create projects, add layers, apply filters, resize the canvas and export images, with JSON output for agents.
HKUDS/CLI-Anything
Defines, lists, inspects and runs parameterized GUI macros from the command line, with the runtime choosing the execution backend.
Categories
Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. CLI Anything Cloudcompare is an agent skill from HKUDS/CLI-Anything. Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software.
CLI Anything Cloudcompare fits situations like: tasks that involve Project management.
Run `npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a claude-code`. Or copy the skill folder (skills/cli-anything-cloudcompare in HKUDS/CLI-Anything) into .claude/skills/cli-anything-cloudcompare in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a codex`. Or copy the skill folder (skills/cli-anything-cloudcompare in HKUDS/CLI-Anything) into .agents/skills/cli-anything-cloudcompare in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HKUDS/CLI-Anything --skill cli-anything-cloudcompare -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cli-anything-cloudcompare, .gemini/skills/cli-anything-cloudcompare, .github/skills/cli-anything-cloudcompare and .opencode/skills/cli-anything-cloudcompare in your project.
Going by SKILL.md and its folder, CLI Anything Cloudcompare needs the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: cloudcompare.org. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
CLI Anything Cloudcompare is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with CLI Anything Cloudcompare: CCPM Project Management (automazeio/ccpm, 8.4k stars), Uv (astral-sh/claude-code-plugins, 314 stars), Project Management (kunchenguid/firstmate, 7.6k stars) and Hivemind Goals (activeloopai/hivemind, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HKUDS (a GitHub organization) maintains it in HKUDS/CLI-Anything, which has 51,644 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on September 22, 2026.
Source: HKUDS/CLI-Anything on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.