claude/skills/alfred-clipboard/SKILL.md
Access Alfred's clipboard history. Search recent copies, find text you copied earlier, and analyze clipboard patterns.
npx skillsauth add tbroadley/dotfiles alfred-clipboardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides read-only access to Alfred's clipboard history via its SQLite database.
~/Library/Application Support/Alfred/Databases/clipboard.alfdb
To find it manually: Alfred Preferences → Advanced → "Reveal in Finder" → Databases folder
Use this skill when the user:
CREATE TABLE clipboard(
item, -- The copied content (text)
ts decimal, -- Unix timestamp
app, -- Source application name
apppath, -- Path to source application
dataType integer, -- Type of data (0=text, 1=image, 2=file)
dataHash -- Hash of the content
);
This database is not intended to be user-serviceable. Only run SELECT queries - never UPDATE, DELETE, or INSERT. Make a copy of the database before querying if you're concerned about corruption.
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, substr(item, 1, 100) as content, app
FROM clipboard
ORDER BY ts DESC
LIMIT 20;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, substr(item, 1, 200) as content, app
FROM clipboard
WHERE item LIKE '%search term%'
ORDER BY ts DESC
LIMIT 10;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT item FROM clipboard ORDER BY ts DESC LIMIT 1;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, substr(item, 1, 100) as content, app
FROM clipboard
WHERE date(ts, 'unixepoch', 'localtime') = date('now', 'localtime')
ORDER BY ts DESC;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, substr(item, 1, 100) as content
FROM clipboard
WHERE app = 'Google Chrome'
ORDER BY ts DESC
LIMIT 20;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT app, count(*) as copies
FROM clipboard
GROUP BY app
ORDER BY copies DESC
LIMIT 10;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, substr(item, 1, 100) as content
FROM clipboard
WHERE dataType = 0
ORDER BY ts DESC
LIMIT 20;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT count(*) FROM clipboard;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, substr(item, 1, 100) as content, app
FROM clipboard
WHERE ts > strftime('%s', 'now', '-1 hour')
ORDER BY ts DESC;"
0 - Text1 - Image2 - File referenceNote: Image and file content is stored differently; the item field for these may not be directly readable as text.
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, item, app
FROM clipboard
WHERE item LIKE '%keyword%'
ORDER BY ts DESC
LIMIT 5;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, substr(item, 1, 150) as content
FROM clipboard
WHERE app = 'Slack'
AND date(ts, 'unixepoch', 'localtime') = date('now', 'localtime')
ORDER BY ts DESC;"
sqlite3 ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime') as time, item, app
FROM clipboard
WHERE item LIKE 'http%'
ORDER BY ts DESC
LIMIT 10;"
For JSON output:
sqlite3 -json ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT * FROM clipboard ORDER BY ts DESC LIMIT 5;"
For CSV output:
sqlite3 -csv ~/Library/Application\ Support/Alfred/Databases/clipboard.alfdb \
"SELECT datetime(ts, 'unixepoch', 'localtime'), item, app FROM clipboard ORDER BY ts DESC LIMIT 10;"
substr() for readabilitytools
Add words to the Wispr Flow dictionary. Use when the user wants to add a word, phrase, or snippet to Wispr Flow for voice dictation.
documentation
Upload images to a GitHub PR description or comment using a shared gist as image hosting. Use when the user wants to add plots, screenshots, or other images to a PR.
testing
Manage tasks, projects, and productivity in Todoist. View tasks, add new items, check completed work, and organize projects.
data-ai
Use when working with stacked diffs (branch B based on branch A, which is based on main).