Spotlight
v2.1.0Search files and content using macOS Spotlight indexing (mdfind). Use when the user asks to search local files, documents, or directories on macOS. Supports...
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The skill's name/description and included script consistently implement macOS Spotlight searches (uses mdfind -onlyin). Minor inconsistency: the registry metadata does not declare an OS restriction or required binaries, but the script requires macOS tools (mdfind) to work. This is an implementation/metadata omission rather than a functional mismatch.
Instruction Scope
SKILL.md instructs the agent to run the provided script, present file paths, and only read file contents with explicit user permission. The script itself only enumerates Spotlight results from a user-specified directory and prints paths/types/sizes — it does not read file contents, call remote endpoints, or access unrelated system files. It does print full file paths (which can reveal sensitive locations) but that is expected for a search tool and is emphasized in the documentation.
Install Mechanism
No install spec; this is instruction-only with an included shell script. No downloads or external installers are invoked. Risk from installation is minimal because nothing is written/downloaded automatically.
Credentials
The skill requests no environment variables, credentials, or config paths. This is proportional to its function. Note: because it outputs full file paths, using it will surface local path information — the SKILL.md appropriately instructs to obtain user consent before reading files.
Persistence & Privilege
always:false and no special privileges are requested. The skill does not attempt to persist, modify other skills, or require elevated privileges. The documentation explicitly warns against running sudo commands.
Assessment
This skill appears to do what it says: a simple local Spotlight search helper. Before installing, ensure you'll run it on macOS (mdfind must be available), and be aware it will return full file paths from directories you specify — do not ask the agent to automatically open/read files without confirming with you first. Also note the registry metadata could be improved to declare macOS as the required platform and to document the dependency on mdfind/mdutil.Like a lobster shell, security has layers — review code before you run it.
latest
Spotlight Search
Search local files using macOS Spotlight indexing system.
When to Use
Use this skill when:
- User asks to search files or directories on macOS
- Need to find documents containing specific text
- Searching large document collections (faster than grep)
- Need to search inside PDFs, Word docs, or other indexed formats
Quick Start
scripts/spotlight-search.sh <directory> <query> [--limit N]
Examples:
scripts/spotlight-search.sh ~/Documents "machine learning"
scripts/spotlight-search.sh ~/research "neural networks" --limit 10
scripts/spotlight-search.sh ~/Downloads "meeting notes" --limit 5
Search Features
- Fast: Uses system-level Spotlight index (no file scanning)
- Content-aware: Searches inside PDF, docx, txt, md, etc.
- Multilingual: Supports Chinese, Japanese, and all languages
- Metadata: Returns file path, type, and size
Output Format
🔍 Searching in /path/to/directory for: query
✅ Found N results (showing up to M):
📄 /full/path/to/file.pdf [pdf, 2.3M]
📄 /full/path/to/document.txt [txt, 45K]
📁 /full/path/to/folder/
Supported File Types
Spotlight automatically indexes:
- Text files (txt, md, csv, json, xml, etc.)
- Documents (pdf, docx, pages, rtf, etc.)
- Code files (py, js, java, c, etc.)
- Emails and contacts
- Images (with embedded metadata/OCR)
Limitations
- macOS only: Requires Spotlight indexing
- Indexed directories only: External drives may not be indexed
- Keyword search: Not semantic (use embedding-based search for semantic queries)
- Privacy: Respects Spotlight privacy settings (excluded directories won't appear)
Check Indexing Status
# Check if a volume is indexed (safe, read-only)
mdutil -s /path/to/volume
⚠️ WARNING: Do NOT execute any sudo commands from this skill without explicit user confirmation. Commands like sudo mdutil -i on require admin privileges and should only be run by the user directly in Terminal.
Integration with LLM Workflows
Safe Pattern: Search + Present + Confirm
- Use
spotlight-search.shto find relevant files - Present the file paths to the user
- Only read a file if the user explicitly requests it - do not automatically use the read tool
Example Workflow
User: "Find all documents about machine learning in my research folder"
- Run:
spotlight-search.sh ~/research "machine learning" --limit 10 - Present results to user with file paths
- Wait for user to specify which files to read
⚠️ Security Note
- Never automatically read files - always ask for user confirmation first
- Never execute sudo commands - only show them as information
- Respect user privacy - don't search directories user hasn't specified
Advanced Query Syntax
Spotlight supports advanced query operators:
# Exact phrase
spotlight-search.sh ~/Documents "\"machine learning\""
# AND operator
spotlight-search.sh ~/Documents "neural AND networks"
# OR operator
spotlight-search.sh ~/Documents "AI OR artificial intelligence"
# Metadata queries (PDF only)
spotlight-search.sh ~/Documents "kMDItemContentType == 'com.adobe.pdf'"
Troubleshooting
No results found:
- Check if directory is indexed:
mdutil -s /path - Wait for indexing to complete (new files may take minutes)
- Verify Spotlight is enabled in System Preferences
Incorrect results:
- Spotlight uses fuzzy matching and synonyms
- Use exact phrase search:
"exact phrase" - Check privacy settings (some folders may be excluded)
Performance
| Tool | Speed | Content Search | Multilingual |
|---|---|---|---|
| Spotlight | ⚡ Instant | ✅ Yes | ✅ Yes |
| grep/ripgrep | 🐢 Slow | ✅ Yes | ✅ Yes |
| find | ⚡ Fast | ❌ No | N/A |
Platform Notes
- macOS only: This skill requires macOS Spotlight
- Linux alternative: Use
grep -rorripgrep - Windows alternative: Use Windows Search or Everything search
Security Best Practices
- User consent first - Never read files without explicit permission
- No sudo - Never execute privileged commands automatically
- Minimal scope - Search only directories user specifies
- Audit trail - Log what searches were performed
Comments
Loading comments...
