apple-notes
Manage Apple Notes via the memo CLI on macOS (create, view, search, edit).
Search and download GIFs from Tenor using curl. No dependencies beyond
$ npx -y skills add graniet/kheish --skill gif-search --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gif-searchContext preview
The summary Claude sees to decide when to auto-load this skill.
Search and download GIFs from Tenor using curl. No dependencies beyond
description: 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.
version: 1.1.0
license: MIT
prerequisites:
env_vars:
- TENOR_API_KEY
commands:
- curl
- jq
metadata:
catalog:
tags:
- GIF
- Media
- Search
- Tenor
- APIThis skill is repo-local and stays inactive until explicitly activated.
When the original instructions refer to legacy tool names, use these Kheish mappings:
When the instructions mention local helper files, resolve them from `${KHEISH_SKILL_DIR}`.
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 `~/.kheish/.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.
# 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.gifcurl -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 |
Manage Apple Notes via the memo CLI on macOS (create, view, search, edit).
Manage Apple Reminders via remindctl CLI (list, add, complete, delete).
Track Apple devices and AirTags via FindMy.app on macOS using AppleScript
Send and receive iMessages/SMS via the imsg CLI on macOS.
Delegate coding tasks to Claude Code (Anthropic's CLI agent). Use for
--- description: Delegate coding tasks to OpenAI Codex CLI agent. Use for building features, refactoring, PR reviews, and batch…