UNPKG

major-ai-skills

Version:

Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.

133 lines (103 loc) 7.28 kB
--- name: dropover description: "Configure Dropover file-shelf workflows and URL integrations, and diagnose macOS gesture or window behavior." category: macos risk: safe source: self source_type: self date_added: "2026-08-26" tags: ["dropover", "macos", "nspanel", "cgeventtap", "drag-and-drop", "url-scheme", "claude"] tools: ["claude", "cursor", "gemini", "codex"] --- # Dropover macOS Drag Shelf Utility AI Skill Guide (Claude) ## Overview & Engine Architecture Dropover is a modular macOS productivity utility that provides temporary floating drag shelves to aggregate files, images, snippets, and web links across Mission Control Spaces and full-screen apps. Dropover operates via custom **`NSPanel` floating windows** styled with `.nonactivatingPanel` and `.canJoinAllSpaces` attributes, intercepts cursor movements via a **`CGEventTap` CoreGraphics mouse event monitor** to detect cursor shake gestures, and ingests dragged payloads through **`NSPasteboard` / `NSItemProvider`**. Claude operates as a Principal macOS Application Developer and Workflow Automation Specialist, specializing in **AppKit floating window lifecycle management**, **CoreGraphics event tap debugging**, **TCC Accessibility permission resolution**, and **Dropover URL Scheme (`dropover://`) scripting**. ### Dropover Window & Event Ingestion Architecture ``` ┌─────────────────────────────────────────────────────────────┐ Dropover Engine Architecture Event Monitoring & Gesture Trigger Layer ├── `CGEventTap` Mouse Delta Vector Tracker (Shake Sensor) ├── Global Hotkey Listener (`NSEvent.addGlobalMonitor...`) └── TCC Accessibility & Input Monitoring Subsystem Floating Presentation & Shelf Layer ├── Floating `NSPanel` (`level = .floating`, Space Joining)│ ├── Quick Look Thumbnail Renderer (`QLThumbnailGenerator`) └── Multi-Shelf Manager (Group Actions, Cloud Uploading) Integration & IPC Protocol ├── Custom URL Scheme Handler (`dropover://action/...`) └── macOS Shortcuts & AppleScript Dispatch Interface └─────────────────────────────────────────────────────────────┘ ``` --- ## Operational Capabilities & Agent Directives 1. **Dropover URL Scheme Automation**: Construct automation workflows using `open "dropover://create-shelf?files=..."` to programmatically spawn floating shelves from scripts. 2. **Accessibility & Event Tap Diagnostics**: Diagnose unresponsive shake triggers by validating `CGPreflightListenEventAccess` and TCC permissions in macOS System Settings. 3. **Multi-Space Shelf Persistence**: Configure `NSWindow.CollectionBehavior` to ensure floating shelves remain visible across virtual desktops without disappearing during space transitions. 4. **Batch Clipboard & Drag Ingestion**: Author scripts to stage transient payloads into macOS pasteboards for batch ingestion into Dropover shelves. --- ## Production Python Automation: Automated File Stager & Dropover Shelf Dispatcher Save this script as `stage_to_dropover.py` to collect files and programmatically open a Dropover floating shelf via its URL scheme: ```python """ Dropover macOS URL Scheme Dispatcher Collects target files and triggers a new floating shelf in Dropover. """ import sys import os import urllib.parse import subprocess def create_dropover_shelf(file_paths: list): valid_paths = [os.path.abspath(p) for p in file_paths if os.path.exists(p)] if not valid_paths: print("Error: No valid file paths provided.") return print(f"--- [DISPATCHING {len(valid_paths)} FILES TO DROPOVER SHELF] ---") for p in valid_paths: print(f" {p}") # Build Dropover URL Scheme payload # Format: dropover://create-shelf?paths=<url_encoded_path1>&paths=<url_encoded_path2> query_params = [] for path in valid_paths: encoded_path = urllib.parse.quote(path) query_params.append(f"paths={encoded_path}") url = f"dropover://create-shelf?{'&'.join(query_params)}" # Trigger URL via macOS open command try: subprocess.run(["open", url], check=True) print("✅ Dropover shelf created successfully.") except subprocess.CalledProcessError as e: print(f"🚨 Failed to launch Dropover URL scheme: {e}") if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python3 stage_to_dropover.py file1.png file2.pdf ...") sys.exit(1) create_dropover_shelf(sys.argv[1:]) ``` --- ## Technical Troubleshooting Matrix | Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway | | :--- | :--- | :--- | | **Shake Gesture Fails to Open Shelf** | Dropover lacks macOS Accessibility / Input Monitoring permissions to capture global cursor velocity. | 1. Open *System Settings $\rightarrow$ Privacy & Security $\rightarrow$ Accessibility*.<br>2. Enable **Dropover**.<br>3. In *Dropover Preferences $\rightarrow$ Triggers*, adjust **Shake Sensitivity** slider to Medium/High. | | **Floating Shelves Disappear When Switching Spaces** | Dropover window collection behavior configured to standard space rather than `canJoinAllSpaces`. | In Dropover Preferences $\rightarrow$ **Shelves**, check **Keep shelves on screen across all Spaces**. | | **`dropover://` URL Scheme Opens Safari Instead of App** | Custom URL scheme registration not registered in LaunchServices. | Run `/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain user`. | | **High Memory Usage on Large Image Drops** | Quick Look thumbnail generation cache generating uncompressed bitmap buffers. | In Dropover Preferences, reduce maximum preview resolution or dismiss shelves after drop. | --- ## Command Line Syntax & macOS Terminal Recipes ```bash # 1. Trigger Dropover Launch via macOS Terminal open -a Dropover # 2. Inspect Dropover Plist Configuration via defaults CLI defaults read com.extendedmac.Dropover-mac # 3. Create a New Empty Shelf via URL Scheme open "dropover://create-shelf" ``` ### Essential File Locations - **Dropover Preferences**: `~/Library/Preferences/com.extendedmac.Dropover-mac.plist` - **Application Support Cache**: `~/Library/Application Support/com.extendedmac.Dropover-mac` --- ## Agent Operational Directive > **MANDATORY**: Verify that Dropover is granted Accessibility permissions in macOS System Settings before diagnosing shake gesture failures. Use encoded file paths when constructing `dropover://` URL schemes.