[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openclaw-openclaw-skills-gifgrep":3},{"error":4,"detail":5,"metadata":23,"markdownContent":25,"rawMarkdown":20},false,{"repo_full_name":6,"owner":7,"repo_name":7,"repo_forks":8,"skill_path":9,"repo_stars":10,"name":11,"category_id":12,"description":13,"file_tree":14,"skill_md_content":20,"skill_id":21,"skill_key":22},"openclaw/openclaw","openclaw",64359,"skills/gifgrep",330752,"gifgrep",13,"Search GIF providers with CLI/TUI, download results, and extract stills/sheets.",[15],{"name":16,"path":17,"size":18,"type":19},"SKILL.md","skills/gifgrep/SKILL.md",2185,"file","---\nname: gifgrep\ndescription: Search GIF providers with CLI/TUI, download results, and extract stills/sheets.\nhomepage: https://gifgrep.com\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"🧲\",\n        \"requires\": { \"bins\": [\"gifgrep\"] },\n        \"install\":\n          [\n            {\n              \"id\": \"brew\",\n              \"kind\": \"brew\",\n              \"formula\": \"steipete/tap/gifgrep\",\n              \"bins\": [\"gifgrep\"],\n              \"label\": \"Install gifgrep (brew)\",\n            },\n            {\n              \"id\": \"go\",\n              \"kind\": \"go\",\n              \"module\": \"github.com/steipete/gifgrep/cmd/gifgrep@latest\",\n              \"bins\": [\"gifgrep\"],\n              \"label\": \"Install gifgrep (go)\",\n            },\n          ],\n      },\n  }\n---\n\n# gifgrep\n\nUse `gifgrep` to search GIF providers (Tenor/Giphy), browse in a TUI, download results, and extract stills or sheets.\n\nGIF-Grab (gifgrep workflow)\n\n- Search → preview → download → extract (still/sheet) for fast review and sharing.\n\nQuick start\n\n- `gifgrep cats --max 5`\n- `gifgrep cats --format url | head -n 5`\n- `gifgrep search --json cats | jq '.[0].url'`\n- `gifgrep tui \"office handshake\"`\n- `gifgrep cats --download --max 1 --format url`\n\nTUI + previews\n\n- TUI: `gifgrep tui \"query\"`\n- CLI still previews: `--thumbs` (Kitty/Ghostty only; still frame)\n\nDownload + reveal\n\n- `--download` saves to `~/Downloads`\n- `--reveal` shows the last download in Finder\n\nStills + sheets\n\n- `gifgrep still ./clip.gif --at 1.5s -o still.png`\n- `gifgrep sheet ./clip.gif --frames 9 --cols 3 -o sheet.png`\n- Sheets = single PNG grid of sampled frames (great for quick review, docs, PRs, chat).\n- Tune: `--frames` (count), `--cols` (grid width), `--padding` (spacing).\n\nProviders\n\n- `--source auto|tenor|giphy`\n- `GIPHY_API_KEY` required for `--source giphy`\n- `TENOR_API_KEY` optional (Tenor demo key used if unset)\n\nOutput\n\n- `--json` prints an array of results (`id`, `title`, `url`, `preview_url`, `tags`, `width`, `height`)\n- `--format` for pipe-friendly fields (e.g., `url`)\n\nEnvironment tweaks\n\n- `GIFGREP_SOFTWARE_ANIM=1` to force software animation\n- `GIFGREP_CELL_ASPECT=0.5` to tweak preview geometry\n","e9c2ff3b-5cc6-597b-826c-976c7dfbcfb9","openclaw-openclaw-skills-gifgrep",{"name":11,"description":13,"homepage":24},"https://gifgrep.com","\u003Ch1>gifgrep\u003C/h1>\n\u003Cp>Use \u003Ccode>gifgrep\u003C/code> to search GIF providers (Tenor/Giphy), browse in a TUI, download results, and extract stills or sheets.\u003C/p>\n\u003Cp>GIF-Grab (gifgrep workflow)\u003C/p>\n\u003Cul>\n\u003Cli>Search → preview → download → extract (still/sheet) for fast review and sharing.\u003C/li>\n\u003C/ul>\n\u003Cp>Quick start\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>gifgrep cats --max 5\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>gifgrep cats --format url | head -n 5\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>gifgrep search --json cats | jq &#39;.[0].url&#39;\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>gifgrep tui &quot;office handshake&quot;\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>gifgrep cats --download --max 1 --format url\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>TUI + previews\u003C/p>\n\u003Cul>\n\u003Cli>TUI: \u003Ccode>gifgrep tui &quot;query&quot;\u003C/code>\u003C/li>\n\u003Cli>CLI still previews: \u003Ccode>--thumbs\u003C/code> (Kitty/Ghostty only; still frame)\u003C/li>\n\u003C/ul>\n\u003Cp>Download + reveal\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>--download\u003C/code> saves to \u003Ccode>~/Downloads\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>--reveal\u003C/code> shows the last download in Finder\u003C/li>\n\u003C/ul>\n\u003Cp>Stills + sheets\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>gifgrep still ./clip.gif --at 1.5s -o still.png\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>gifgrep sheet ./clip.gif --frames 9 --cols 3 -o sheet.png\u003C/code>\u003C/li>\n\u003Cli>Sheets = single PNG grid of sampled frames (great for quick review, docs, PRs, chat).\u003C/li>\n\u003Cli>Tune: \u003Ccode>--frames\u003C/code> (count), \u003Ccode>--cols\u003C/code> (grid width), \u003Ccode>--padding\u003C/code> (spacing).\u003C/li>\n\u003C/ul>\n\u003Cp>Providers\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>--source auto|tenor|giphy\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>GIPHY_API_KEY\u003C/code> required for \u003Ccode>--source giphy\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>TENOR_API_KEY\u003C/code> optional (Tenor demo key used if unset)\u003C/li>\n\u003C/ul>\n\u003Cp>Output\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>--json\u003C/code> prints an array of results (\u003Ccode>id\u003C/code>, \u003Ccode>title\u003C/code>, \u003Ccode>url\u003C/code>, \u003Ccode>preview_url\u003C/code>, \u003Ccode>tags\u003C/code>, \u003Ccode>width\u003C/code>, \u003Ccode>height\u003C/code>)\u003C/li>\n\u003Cli>\u003Ccode>--format\u003C/code> for pipe-friendly fields (e.g., \u003Ccode>url\u003C/code>)\u003C/li>\n\u003C/ul>\n\u003Cp>Environment tweaks\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>GIFGREP_SOFTWARE_ANIM=1\u003C/code> to force software animation\u003C/li>\n\u003Cli>\u003Ccode>GIFGREP_CELL_ASPECT=0.5\u003C/code> to tweak preview geometry\u003C/li>\n\u003C/ul>\n"]