Scripts to make your Mac life easier

A collection of shell scripts and Python tools built up over time for real everyday use — cleaning up iCloud, migrating between Macs, keeping screenshots organized, monitoring runaway processes, and more.

↗ View on GitHub ↓ Download all scripts
📇
abbu-to-csv
Export your Apple Contacts .abbu backup to CSV — no third-party apps, no iCloud required. Just Python 3.
storage contacts shell
📦
bigfiles
Find your Mac's biggest folders and see whether they're actively used or safe to archive — with colored verdicts for each.
storage shell
☁️
cleanicloud
Interactively find and remove iCloud Drive duplicates and large file clusters — asks before deleting anything.
storage icloud shell
🔥
cpu-guard
Watches noisy macOS background daemons (Spotlight, iCloud, Photos) and sends a notification when any of them hogs CPU. Never kills anything automatically.
monitoring python
💿
drive-dedup
Two-phase Python toolkit: scan an external drive for duplicates, then consolidate everything into a clean dated folder structure. Optionally uses Claude AI to categorize ambiguous files.
storage python ai-optional
🔄
github-autopush
Auto-push your git repos to GitHub in the background via a macOS LaunchAgent. Interactive manager to toggle repos on/off and view sync history.
productivity git shell
💬
imessage-cleanup
Extract all your iMessage photo and video attachments organized by sender name, and optionally free up the iCloud storage they consume.
storage icloud shell
🖥️
mac-migrator
Bundle your Mac's LaunchAgents, dotfiles, SSH keys, shell config, and app settings into a portable archive — then restore it cleanly on a new machine.
migration shell
📄
pdf-to-xls
Convert a PDF to an Excel spreadsheet in one command. Auto-installs its own dependencies (poppler, pandas) via Homebrew.
productivity shell
📊
personalcontacts-analyzer
Archive Gmail headers locally in SQLite and analyze your communication patterns — who you email, how often, on what topics — without ever reading message bodies.
contacts python gmail
📸
screenshot-tidy
Automatically moves screenshots off your Desktop into a Screenshots folder the moment they're taken. Installs as a LaunchAgent — set and forget.
productivity shell launchagent