Typical spread — score is acceptable. The "spread" is the standard deviation between the 4 judges' average scores — small spread means they agree, large spread means take the score with a grain of salt.
Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install gifgrepgit clone https://github.com/openclaw/openclaw.gitcp openclaw/skills/gifgrep/SKILL.md ~/.claude/skills/gifgrep/SKILL.md“Output is well-formed and covers the core ask (Postgres 16, Redis 7, volumes, healthchecks), but misses the explicit depends_on orchestration requirement and lacks env-file hygiene. Hardcoded credentials and missing Redis persistence reduce production-readiness. RULE E applied: well-formed but missing specifics that a real dev would need to add.”
“Output is well-formed but lacks specifics and edge case handling, reducing its usefulness and completeness.”
“The output is a static, hardcoded JSON snippet that does not perform the requested filesystem search; it ignores the task entirely (rule C) and provides no actionable command or script (rule E), making it nearly useless for a real developer.”
“The JSON structure is reasonable but not actionable: hashes are invalid and the agent omitted the expected reproducible pipeline and edge-case handling, reducing correctness, completeness, and usefulness.”
---
name: gifgrep
description: Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
homepage: https://gifgrep.com
metadata:
{
"openclaw":
{
"emoji": "🧲",
"requires": { "bins": ["gifgrep"] },
"install":
[
{
"id": "brew",
"kind": "brew",
"formula": "steipete/tap/gifgrep",
"bins": ["gifgrep"],
"label": "Install gifgrep (brew)",
},
{
"id": "go",
"kind": "go",
"module": "github.com/steipete/gifgrep/cmd/gifgrep@latest",
"bins": ["gifgrep"],
"label": "Install gifgrep (go)",
},
],
},
}
---
# gifgrep
Use `gifgrep` to search GIF providers (Tenor/Giphy), browse in a TUI, download results, and extract stills or sheets.
GIF-Grab (gifgrep workflow)
- Search → preview → download → extract (still/sheet) for fast review and sharing.
Quick start
- `gifgrep cats --max 5`
- `gifgrep cats --format url | head -n 5`
- `gifgrep search --json cats | jq '.[0].url'`
- `gifgrep tui "office handshake"`
- `gifgrep cats --download --max 1 --format url`
TUI + previews
- TUI: `gifgrep tui "query"`
- CLI still previews: `--thumbs` (Kitty/Ghostty only; still frame)
Download + reveal
- `--download` saves to `~/Downloads`
- `--reveal` shows the last download in Finder
Stills + sheets
- `gifgrep still ./clip.gif --at 1.5s -o still.png`
- `gifgrep sheet ./clip.gif --frames 9 --cols 3 -o sheet.png`
- Sheets = single PNG grid of sampled frames (great for quick review, docs, PRs, chat).
- Tune: `--frames` (count), `--cols` (grid width), `--padding` (spacing).
Providers
- `--source auto|tenor|giphy`
- `GIPHY_API_KEY` required for `--source giphy`
- `TENOR_API_KEY` optional (Tenor demo key used if unset)
Output
- `--json` prints an array of results (`id`, `title`, `url`, `preview_url`, `tags`, `width`, `height`)
- `--format` for pipe-friendly fields (e.g., `url`)
GIF asset hygiene
- Before recommending or using an animated GIF URL, verify it resolves successfully, has `Content-Type: image/gif`, and is actually animated (multiple frames or loop metadata; e.g. inspect with `file`, `identify`, or a small script).
- Record attribution/license/source URL alongside the asset.
- Do not hotlink when a local asset is needed: download/copy it into the project and reference the local file.
Environment tweaks
- `GIFGREP_SOFTWARE_ANIM=1` to force software animation
- `GIFGREP_CELL_ASPECT=0.5` to tweak preview geometry