qol-plugin-removeapplisted
Install: claude install-skill qol-tools/qol-skills
# qol-plugin-removeapp
Remove App uninstalls an application and its leftovers. It is a destructive plugin, so most of its design is about proving that a path is safe to remove before removing it.
## Contract sources
- `plugin.toml` owns actions, exported launcher shortcuts, declared capabilities, platform availability, and release artifacts.
- `Cargo.toml` owns target-scoped dependencies.
Installed-app inventory comes from the shared apps library, not from a plugin-local scanner.
## Source ownership
| Path | Responsibility |
|---|---|
| `src/cli/` | Headless command surface and doctor registration. |
| `src/core/` | Removal domain: leftover kinds, plan, outcome, disposal, and the identity snapshot. |
| `src/core/classify.rs` | Attribution of a leftover to an owning bundle id and the resulting disposal. |
| `src/core/guards.rs` | Package-manager facts: manager, scope, status, index, and the guards derived from them. |
| `src/core/platform/` | Target-selected inventory, trash, and package-manager operations. |
| `src/daemon/` | Daemon lifecycle and action dispatch. |
| `src/ui/` | gpui selection and confirmation surface. |
| `src/doctor/` | Read-only checks with target-selected probes. |
## Safety model
Three independent mechanisms keep removal safe. Weakening any one of them is a correctness regression, not a simplification.
**Attribution.** A leftover is only in the plan if it can be attributed to the app being removed. Entries owned by another installed bundle id ar