/install software-list-export
Software List Export
Use for software inventory and migration prep. Output one CSV the user can review and use as a reinstall checklist on a new computer.
Workflow
- Detect the operating system first: Windows, macOS, or Linux.
- Ask the user first where to save the CSV file and the possible filename (both are optional), otherwise use the current directory, and default name is
software-list-{timestamp}.csv. Use current time as the {timestamp}. - Collect installed software from native sources:
- Windows: Use
scripts/export-software-list.ps1. If fail, preferwinget list, then supplement with uninstall registry entries for software not covered bywinget. The checked-in script already implements this Windows workflow and prints raw structured records to stdout. - macOS: prefer
brew listandbrew list --cask, includemas listif available, then supplement with/Applicationsand~/Applications. - Linux: prefer the distro package manager (
apt,dnf,pacman,zypper), then includeflatpakandsnapwhen present.
- Windows: Use
- Normalize software names, merge duplicates, and keep the most useful version/source details.
- Rank results by yourself, not in the script, you should think, sort and edit the csv directly. The model should place the most user-oriented software first. End-user apps should come before runtimes, redistributables, drivers, SDKs, language packs, browser helpers, and other support components. End user apps often has meanful names.
- For each item, add a likely download or package home URL when it can be determined with reasonable confidence. Do not fabricate URLs. If the URL is not provided directly by CLI or package-manager output, note in
commentsthat the URL may not be a real download URL. - After processing the raw records, export the final results to a CSV with the columns
name,version,download_url,comments. - Tell the user the path to the CSV file.
Platform Notes
- Windows PowerShell 5 compatibility matters. Avoid newer syntax such as
??that is only available in later PowerShell versions. scripts/export-software-list.ps1is Windows-only. Do not run it on macOS or Linux.scripts/export-software-list.ps1is a raw collector, not a full exporter. It prints structured CLI output and does not write the final CSV file.- On Windows,
winget listoutput is column-aligned text and may contain wrapped or localized content. Prefer parsing by header column positions instead of splitting on repeated spaces. - Use uninstall registry entries as the conservative fallback on Windows when
wingetdata is incomplete or ambiguous. - If a URL comes from registry metadata, heuristics, or other non-CLI sources, treat it as a likely vendor or product URL rather than a guaranteed installer link.
- If terminal output shows PSReadLine rendering errors but the export command still reports a valid CSV path and successful completion, treat the export as successful and report the file path to the user.
- When encoding may affect non-ASCII app names, prefer UTF-8 output for the CSV.
- On Windows, common non-user-facing items include
Microsoft Visual C++ Redistributable,.NET,SDKruntimes/targeting packs, drivers, updates, WebView runtimes, and OEM helper components. Push these behind user-facing apps instead of showing them first.
Output Example
name,version,download_url,comments
"TRAE","1.0.0","https://trae.com/","Detected from local installation. Likely reinstallable manually from vendor site."
"Git","2.49.0","https://git-scm.com/downloads","Detected from package manager. Likely reinstallable automatically."
Scripts
- Primary helper:
scripts/export-software-list.ps1 - Scope: Windows only
- Expected usage: run the script on Windows, capture its structured CLI output, then let the model rank/filter the records and write the final CSV separately.
Rules
- Use the language that the user asked for.
- DO NOT read, delete, or modify any files except the CSV file you are creating or editing.
- If there is any agreement required, ask the user first.
- On Windows, prefer running the checked-in helper script before inventing new export logic during the task.
- On macOS and Linux, do not use the Windows helper script.
- Prefer system-native inventory sources before heuristics.
- Keep the helper script focused on collection. Let the model handle ranking, user-facing ordering, and final CSV writing.
- Mark uncertainty in
commentswhen version, source, or reinstall path is incomplete. - If the URL is not provided in CLI or package-manager output, state in
commentsthat the URL may not be real or may be a vendor/product page instead of a direct download. - If a package manager export is available, note in
commentswhether the app is likely reinstallable automatically or only manually. - On Windows, prefer reliability over coverage: avoid aggressive matching that creates false duplicates between registry entries and
wingetresults. - Prefer a user-friendly ordering. Sort user-facing apps first, and de-prioritize infrastructure entries such as redistributables, runtimes, frameworks, patches, drivers, SDKs, and similar dependencies.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install software-list-export - After installation, invoke the skill by name or use
/software-list-export - Provide required inputs per the skill's parameter spec and get structured output
What is Software List Export?
Export installed software to CSV with versions and likely download URLs. Invoke when the user wants a machine inventory or reinstall list for a new computer. It is an AI Agent Skill for Claude Code / OpenClaw, with 44 downloads so far.
How do I install Software List Export?
Run "/install software-list-export" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Software List Export free?
Yes, Software List Export is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Software List Export support?
Software List Export is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Software List Export?
It is built and maintained by auto-Dog (@auto-dog); the current version is v1.0.0.