Gif Whatsapp
Search and send GIFs on WhatsApp. Handles the Tenor→MP4 conversion required for WhatsApp.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 2 · 1.8k · 2 current installs · 2 all-time installs
byshaharsh@Shaharsha
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (search Tenor/Giphy, convert GIF→MP4, send to WhatsApp) align with declared binaries (gifgrep, ffmpeg, curl) and the use of the platform 'message' tool. Requiring gifgrep/ffmpeg/curl is proportionate and expected for this functionality.
Instruction Scope
SKILL.md contains explicit shell commands to search (gifgrep), download (curl to /tmp), convert (ffmpeg), and send via the platform message tool. These steps are within the described workflow. Note: the skill includes an invisible Unicode control character (U+200E) as the message body to produce an empty caption — this is flagged by the scanner but is explained in the doc as intentional. Also note that the skill downloads remote content (media) which is necessary for the task but is an action you should be aware of.
Install Mechanism
Instruction-only skill with no install spec and no files written by the skill itself. Lower install risk because nothing in the registry package will be executed or extracted at install time.
Credentials
No environment variables, credentials, or config paths are requested. The skill relies on a preconfigured platform 'message' tool rather than asking for WhatsApp credentials, which is proportionate.
Persistence & Privilege
always is false and no elevated persistence or cross-skill configuration is requested. The skill will run commands at invocation only and does not request persistent agent presence or modification of other skills.
Scan Findings in Context
[unicode-control-chars] expected: The SKILL.md intentionally uses the Left-to-Right Mark (U+200E) as an invisible caption so WhatsApp sends the GIF without visible text. The scanner flagged this as a prompt-injection pattern, but in this context the character is used as a messaging artifact. Still, invisible characters can be abused in other contexts, so it's reasonable for the scanner to warn.
Assessment
This skill appears coherent and does what it says: it searches trusted GIF providers, downloads a selected GIF to /tmp, converts it to MP4 with ffmpeg, and sends it using the platform message tool. Before installing/using: ensure gifgrep/ffmpeg/curl on your agent come from trusted sources, confirm your platform's 'message' tool enforces destination checks (to avoid accidentally sending unintended files), and be comfortable with the skill downloading remote media temporarily to /tmp. The invisible Unicode character (U+200E) is explained in the doc and is normal for an empty caption, but if you have policies that ban invisible/control characters you may want to remove that step. If you need higher assurance, run the commands in a sandboxed environment or review gifgrep's behavior to confirm it restricts results to Tenor/Giphy as documented.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.1.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
🎬 Clawdis
Binsgifgrep, ffmpeg, curl
SKILL.md
GIF Sender
Send GIFs naturally in WhatsApp conversations.
CRITICAL: WhatsApp GIF Workflow
WhatsApp doesn't support direct Tenor/Giphy URLs. You MUST:
- Download the GIF
- Convert to MP4
- Send with
gifPlayback: true
Complete Workflow
Step 1: Search for GIF
gifgrep "SEARCH QUERY" --max 5 --format url
Search in English for best results.
Always get 5 results and pick the best one based on the filename/description - don't just take the first result.
Step 2: Download the GIF
curl -sL "GIF_URL" -o /tmp/gif.gif
Step 3: Convert to MP4
ffmpeg -i /tmp/gif.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/gif.mp4 -y
Step 4: Send via message tool
message action=send to=NUMBER message="" filePath=/tmp/gif.mp4 gifPlayback=true
Note: Use invisible character (left-to-right mark, U+200E) as message to send GIF without visible caption.
One-liner Example
# Search
gifgrep "thumbs up" --max 3 --format url
# Pick best URL, then:
curl -sL "https://media.tenor.com/xxx.gif" -o /tmp/g.gif && \
ffmpeg -i /tmp/g.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/g.mp4 -y 2>/dev/null
# Then send with message tool, gifPlayback=true
When to Send GIFs
✅ Good times:
- User asks for a GIF
- Celebrating good news
- Funny reactions
- Expressing emotions (excitement, facepalm, etc.)
❌ Don't overuse:
- One GIF per context is enough
- Not every message needs a GIF
Popular Search Terms
| Emotion | Search Terms |
|---|---|
| Happy | celebration, party, dancing, excited |
| Approval | thumbs up, nice, good job, applause |
| Funny | laugh, lol, haha, funny |
| Shocked | mind blown, shocked, surprised, wow |
| Sad | crying, sad, disappointed |
| Frustrated | facepalm, ugh, annoyed |
| Love | heart, love, hug |
| Cool | sunglasses, cool, awesome |
Security & Safety Notes
- Source domains: gifgrep only searches trusted GIF providers (Tenor, Giphy)
- File handling: All downloads go to
/tmpand are overwritten each time (-yflag) - Empty caption: The
character (U+200E, Left-to-Right Mark) is used as an invisible caption so WhatsApp sends the GIF without visible text. This is a standard Unicode control character, not an injection technique - WhatsApp integration: Uses the platform's built-in
messagetool — no separate WhatsApp credentials needed - ffmpeg safety: Processes only GIF files from trusted providers; no arbitrary file execution
Why This Works
- WhatsApp converts all GIFs to MP4 internally
- Direct Tenor/Giphy URLs often fail
- MP4 with
gifPlayback=truedisplays as looping GIF - Small file size = fast delivery
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
