From nanotars-giphy
Adds Giphy API integration to NanoTars agents for GIF search and sending as humorous reactions in conversations. Guides free API key setup with install, verify, and remove steps.
npx claudepluginhub terrifiedbug/nanotars-skills --plugin nanotars-giphyThis skill uses the workspace's default tool permissions.
Configures Giphy API access for agent containers, enabling GIF search and sending for humorous reactions in conversations.
Searches GIF providers (Tenor/Giphy) via CLI/TUI, downloads results to ~/Downloads, and extracts still frames or sprite sheets for review/docs/PRs.
Automates Giphy operations via Composio toolkit and Rube MCP. Discovers tools dynamically with RUBE_SEARCH_TOOLS, manages connections, and executes tasks like GIF search and upload.
Configures Gmail access for NanoTars agents via gog CLI, enabling search, read, and send email capabilities. Reuses Google Calendar OAuth if configured.
Share bugs, ideas, or general feedback.
Configures Giphy API access for agent containers, enabling GIF search and sending for humorous reactions in conversations.
Before installing, verify NanoTars is set up:
[ -d node_modules ] && echo "DEPS: ok" || echo "DEPS: missing"
docker image inspect nanoclaw-agent:latest &>/dev/null && echo "IMAGE: ok" || echo "IMAGE: not built"
if grep -q "ANTHROPIC_API_KEY\|CLAUDE_CODE_OAUTH_TOKEN" .env 2>/dev/null || [ -f "$HOME/.claude/.credentials.json" ]; then echo "AUTH: ok"; else echo "AUTH: missing"; fi
If any check fails, tell the user to run /nanotars-setup first and stop.
Copy plugin files:
cp -r ${CLAUDE_PLUGIN_ROOT}/files/ plugins/gif-search/
Plugin Configuration: By default this plugin is available to all groups and channel types. To restrict access, edit plugins/gif-search/plugin.json and set:
"groups" to specific group folder names (e.g., ["main"]) instead of ["*"]"channels" to specific channel types (e.g., ["whatsapp"]) instead of ["*"]Ask the user if they want to restrict access. Most users will keep the defaults.
Get a free API key:
Add to .env:
echo 'GIPHY_API_KEY=YOUR_KEY_HERE' >> .env
Rebuild and restart:
npm run build
nanotars restart # or launchctl on macOS
Test the API key:
source .env
curl -s "https://api.giphy.com/v1/gifs/search?q=thumbs+up&limit=1&api_key=$GIPHY_API_KEY" | python3 -c "
import sys, json
r = json.load(sys.stdin)
d = r.get('data', [])
if d:
print(f\"OK - got {len(d)} result(s): {d[0].get('title', 'untitled')}\")
else:
print(f\"FAILED - {r.get('message', 'no results')}\")
"
Per-group overrides: If a specific group needs a different Giphy API key, add GIPHY_API_KEY=... to groups/{folder}/.env. See /create-skill-plugin for details.
rm -rf plugins/gif-search/
GIPHY_API_KEY from .env