uninstall

$npx mdskill add terrylica/cc-skills/uninstall

Uninstalls FloatingClock by removing the app, preferences, and confirming with the user

  • User wants to completely remove FloatingClock and its settings
  • Uses Bash commands and AskUserQuestion for interaction
  • Confirms with user before proceeding with uninstall steps
  • Executes removal and provides clear feedback on results
SKILL.md
.github/skills/uninstallView on GitHub ↗
---
name: uninstall
description: Quit FloatingClock, remove it from /Applications, and clear its saved preferences. Use when the user wants to completely uninstall the.
allowed-tools: Bash, AskUserQuestion
---

# /floating-clock:uninstall

Remove FloatingClock completely: terminate it, remove it from `/Applications/`, and clear its NSUserDefaults.

> **Self-Evolving Skill**: This skill improves through use. If the uninstall step misses a path (new pref domain, new auxiliary file) — fix this file immediately, don't defer. Only update for real, reproducible issues.

## Steps

1. Confirm with the user first — uninstall is destructive:

   ```
   AskUserQuestion(
     header: "Uninstall",
     question: "Remove FloatingClock from /Applications/ and clear all saved settings?",
     options: [
       { label: "Yes, uninstall", description: "Quits app, removes bundle, clears preferences" },
       { label: "Cancel", description: "Do nothing" }
     ],
     multiSelect: false
   )
   ```

2. If cancelled, print `Uninstall cancelled.` and exit.

3. If confirmed:

   ```bash
   pkill -f "FloatingClock.app/Contents/MacOS/floating-clock" 2>/dev/null || true
   rm -rf /Applications/FloatingClock.app
   defaults delete com.terryli.floating-clock 2>/dev/null || true
   echo "FloatingClock uninstalled. (The plugin itself remains — remove it separately via 'claude plugin marketplace remove' if desired.)"
   ```

## Post-Execution Reflection

After this skill completes, check before closing:

1. **Did the pref domain delete succeed?** — If `defaults` returned an error other than "not found", investigate.
2. **Are there any auxiliary files left behind?** — Check `~/Library/Saved Application State/`, log files, etc., and add to the cleanup if so.
3. **Did the AskUserQuestion confirmation flow work as expected?** — If the user wanted finer control (e.g., keep prefs), add an option.

Only update if the issue is real and reproducible — not speculative.
More from terrylica/cc-skills