with one click
gif-search
Search/download GIFs from Tenor via curl + jq.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Search/download GIFs from Tenor via curl + jq.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Operate the Antigravity CLI (agy): plugins, auth, sandbox.
Join a Google Meet call, transcribe live captions, optionally speak in realtime, and do the followup work afterwards. Use when the user asks the agent to sit in on a meeting, take notes, summarize, respond in-call, or action items from it.
Configure, extend, or contribute to Hermes Agent.
Use when a Hermes Kanban worker wants to run Codex CLI as an isolated implementation lane while Hermes keeps ownership of task lifecycle, reconciliation, testing, and handoff.
Decomposition playbook + anti-temptation rules for an orchestrator profile routing work through Kanban. The "don't do the work yourself" rule and the basic lifecycle are auto-injected into every kanban worker's system prompt; this skill is the deeper playbook when you're specifically playing the orchestrator role.
Pitfalls, examples, and edge cases for Hermes Kanban workers. The lifecycle itself is auto-injected into every worker's system prompt as KANBAN_GUIDANCE (from agent/prompt_builder.py); this skill is what you load when you want deeper detail on specific scenarios.
| name | gif-search |
| description | Search/download GIFs from Tenor via curl + jq. |
| version | 1.1.0 |
| author | Hermes Agent |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| prerequisites | {"env_vars":["TENOR_API_KEY"],"commands":["curl","jq"]} |
| metadata | {"hermes":{"tags":["GIF","Media","Search","Tenor","API"]}} |
Search and download GIFs directly via the Tenor API using curl. No extra tools needed.
Useful for finding reaction GIFs, creating visual content, and sending GIFs in chat.
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 weight