skills/media/gif-search/SKILL.md
Search and download GIFs from Tenor using curl. No dependencies beyond curl and jq. Useful for finding reaction GIFs, creating visual content, and sending GIFs in chat.
npx skillsauth add nousresearch/hermes-agent gif-searchInstall 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.
Search and download GIFs directly via the Tenor API using curl. No extra tools needed.
Set your Tenor API key in your environment (add to ~/.hermes/.env):
TENOR_API_KEY=your_key_here
Get a free API key at https://developers.google.com/tenor/guides/quickstart — the Google Cloud Console Tenor API key is free and has generous rate limits.
curl and jq (both standard on macOS/Linux)TENOR_API_KEY environment variable# Search and get GIF URLs
curl -s "https://tenor.googleapis.com/v2/search?q=thumbs+up&limit=5&key=${TENOR_API_KEY}" | jq -r '.results[].media_formats.gif.url'
# Get smaller/preview versions
curl -s "https://tenor.googleapis.com/v2/search?q=nice+work&limit=3&key=${TENOR_API_KEY}" | jq -r '.results[].media_formats.tinygif.url'
# Search and download the top result
URL=$(curl -s "https://tenor.googleapis.com/v2/search?q=celebration&limit=1&key=${TENOR_API_KEY}" | jq -r '.results[0].media_formats.gif.url')
curl -sL "$URL" -o celebration.gif
curl -s "https://tenor.googleapis.com/v2/search?q=cat&limit=3&key=${TENOR_API_KEY}" | jq '.results[] | {title: .title, url: .media_formats.gif.url, preview: .media_formats.tinygif.url, dimensions: .media_formats.gif.dims}'
| Parameter | Description |
|-----------|-------------|
| q | Search query (URL-encode spaces as +) |
| limit | Max results (1-50, default 20) |
| key | API key (from $TENOR_API_KEY env var) |
| media_filter | Filter formats: gif, tinygif, mp4, tinymp4, webm |
| contentfilter | Safety: off, low, medium, high |
| locale | Language: en_US, es, fr, etc. |
Each result has multiple formats under .media_formats:
| Format | Use case |
|--------|----------|
| gif | Full quality GIF |
| tinygif | Small preview GIF |
| mp4 | Video version (smaller file size) |
| tinymp4 | Small preview video |
| webm | WebM video |
| nanogif | Tiny thumbnail |
+, special chars as %XXtinygif URLs are lighter weightdevelopment
Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.
development
Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.
development
Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.
development
Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).