# How to Uninstall text-to-cad: Complete Guide to Removing AI CAD Skills

> Uninstall text-to-cad easily using our guide. Learn how to remove AI CAD skills safely by running the uninstall script and preserving your files.

- Repository: [earthtojake/text-to-cad](https://github.com/earthtojake/text-to-cad)
- Tags: how-to-guide
- Published: 2026-07-24

---

**To uninstall `text-to-cad`, run [`scripts/install/uninstall-skills.sh`](https://github.com/earthtojake/text-to-cad/blob/main/scripts/install/uninstall-skills.sh) from the repository root, which removes only the symlinks pointing to the current checkout while preserving user-created files or external links.**

The `text-to-cad` repository by earthtojake installs its capabilities by creating symbolic links from supported AI agents' *skills* directories back to the local repository's `skills/` folder. The uninstaller reverses this process safely, targeting only links it originally created. This guide covers the complete uninstallation workflow using the Bash script at [`scripts/install/uninstall-skills.sh`](https://github.com/earthtojake/text-to-cad/blob/main/scripts/install/uninstall-skills.sh).


## How the text-to-cad Uninstaller Works

The uninstallation process operates in three distinct stages orchestrated by the main script. First, it determines which agents to target by building a list of supported platforms (`codex`, `claude`, `gemini`, `universal`, `project`) and resolving each agent's destination directory via the `agent_destination` function (lines 59-79).

Second, the script iterates over every skill in the catalogue by calling [`list-skills.sh`](https://github.com/earthtojake/text-to-cad/blob/main/list-skills.sh) (lines 8-12). For each skill, it checks whether a symlink exists in the agent's destination directory using `remove_skill_link`. If the symlink resolves to the repository's source path (`$REPO_ROOT/skills/<skill>`), the script removes only that specific link (lines 46-55).

Finally, the `prune_empty_destination` function cleans up now-empty skill folders unless you supply the `--keep-empty-dirs` flag (lines 69-81). Because the script verifies that each symlink points to the current checkout before deletion, it is safe to run repeatedly or on partially installed environments.


## Step-by-Step Uninstallation Guide

### Prerequisites

Ensure you are in the repository root directory and have Bash available. The uninstaller does not require elevated privileges unless your agent directories have restricted permissions.

### Dry Run First (Recommended)

Always preview the changes before executing the deletion. The `--dry-run` flag prints actions without modifying the filesystem (lines 16-24).

```bash
scripts/install/uninstall-skills.sh --dry-run

```

This outputs which symlinks would be removed and which directories would be pruned for each configured agent.

### Uninstall Specific Agents

Target individual agents using the `-a` or `--agent` flag. This is useful if you only want to remove `text-to-cad` from Claude and Gemini while keeping it active for Codex.

```bash
scripts/install/uninstall-skills.sh -a claude -a gemini

```

To prevent the script from removing empty parent directories after unlinking skills, add the `--keep-empty-dirs` flag:

```bash
scripts/install/uninstall-skills.sh -a claude -a gemini --keep-empty-dirs

```

### Uninstall All Agents

To completely remove `text-to-cad` from all supported agents in one command, use the `--all` flag:

```bash
scripts/install/uninstall-skills.sh --all

```

This processes every agent directory (`codex`, `claude`, `gemini`, `universal`, and `project`) and removes only the symlinks that resolve to your current repository location.


## Understanding the Uninstall Script

The core logic resides in [`scripts/install/uninstall-skills.sh`](https://github.com/earthtojake/text-to-cad/blob/main/scripts/install/uninstall-skills.sh). Understanding its functions helps troubleshoot edge cases.

### Target Agent Resolution

The `agent_destination` function (lines 59-79) maps agent names to their respective skill directories. For example, it resolves Codex to `${HOME}/.codex/skills` and Claude to its equivalent path. The script stores these mappings internally and iterates through them when `--all` is specified or checks only the specified agents when using `-a`.

### Symlink Removal Logic

The `remove_skill_link` function (lines 46-55) performs safety checks before deletion. It verifies that the file is actually a symbolic link and that the resolved path matches `$REPO_ROOT/skills/<skill-name>`. This prevents accidental deletion of user-created skills or symlinks pointing to other installations.

### Directory Cleanup

After processing all skills for a given agent, `prune_empty_destination` (lines 69-81) checks if the skills directory is empty. If it contains no files or subdirectories, the function removes it to keep your home directory clean. This behavior is suppressed when you pass `--keep-empty-dirs`.


## Available Command-Line Flags

The uninstaller supports several flags to control its behavior:

| Flag | Effect |
|------|--------|
| `--dry-run` | Prints actions without touching the filesystem (lines 16-24) |
| `--keep-empty-dirs` | Leaves empty skill directories in place (lines 51-53) |
| `--list-agents` | Shows each agent's resolved skill path and exits (lines 25-30) |
| `-a` or `--agent <agent>` | Targets a specific agent; can be repeated multiple times |
| `--all` | Uninstalls for all supported agents simultaneously |

View the resolved paths for all agents before uninstalling:

```bash
scripts/install/uninstall-skills.sh --list-agents

```


## Summary

- **text-to-cad** integrates with AI agents via symlinks in each agent's `skills` directory, not by copying files.
- The [`scripts/install/uninstall-skills.sh`](https://github.com/earthtojake/text-to-cad/blob/main/scripts/install/uninstall-skills.sh) script removes only symlinks that resolve to the current repository's `skills/` folder, making it safe to run on shared systems.
- Use `--dry-run` to preview changes, `--all` to uninstall from every supported agent, and `-a <agent>` to target specific platforms.
- Empty directories are automatically pruned unless you specify `--keep-empty-dirs`.


## Frequently Asked Questions

### Will uninstalling text-to-cad delete my custom skills?

No. The uninstaller only removes symbolic links that point specifically to `${REPO_ROOT}/skills/<skill-name>`. It leaves alone any files, directories, or symlinks you created manually or that point to other locations. The `remove_skill_link` function (lines 46-55) explicitly validates the symlink target before deletion.

### Can I uninstall text-to-cad from only one AI agent while keeping it for others?

Yes. Use the `-a` or `--agent` flag followed by the agent name. For example, `scripts/install/uninstall-skills.sh -a claude` removes the integration only for Claude while preserving the symlinks for Codex, Gemini, and other supported agents.

### What happens if I run the uninstaller after deleting the text-to-cad repository?

If you delete the repository before running the uninstaller, the symlinks in your agent directories will become **dangling links** (pointing to non-existent paths). The uninstall script will not remove these because it verifies that the symlink target matches the repository path before deletion. You would need to manually delete the broken symlinks from each agent's skills directory, typically located in paths like `~/.codex/skills/`.

### Is it safe to run the uninstall script multiple times?

Yes. The script is idempotent for the current checkout. Since it only deletes symlinks that resolve to the current repository's `skills/` directory, running it repeatedly on the same checkout has no effect after the first successful run. It will simply report that no matching symlinks were found for each agent.