[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-deepgram-gifgrep":3,"mdc--pzgmzt-key":32,"related-org-deepgram-gifgrep":433,"related-repo-deepgram-gifgrep":590},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":30,"mdContent":31},"gifgrep","search and download GIFs with CLI","Search GIF providers with CLI\u002FTUI, download results, and extract stills\u002Fsheets.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"deepgram","Deepgram","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fdeepgram.png",[12,16,19],{"name":13,"slug":14,"type":15},"Media","media","tag",{"name":17,"slug":18,"type":15},"CLI","cli",{"name":20,"slug":21,"type":15},"Search","search",23,"https:\u002F\u002Fgithub.com\u002Fdeepgram\u002Fdglabs-deepclaw","2026-07-12T08:28:25.178498",null,9,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":25},[],"https:\u002F\u002Fgithub.com\u002Fdeepgram\u002Fdglabs-deepclaw\u002Ftree\u002FHEAD\u002Fskills\u002Fgifgrep","---\nname: gifgrep\ndescription: Search GIF providers with CLI\u002FTUI, download results, and extract stills\u002Fsheets.\nhomepage: https:\u002F\u002Fgifgrep.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\u002Ftap\u002Fgifgrep\",\n              \"bins\": [\"gifgrep\"],\n              \"label\": \"Install gifgrep (brew)\",\n            },\n            {\n              \"id\": \"go\",\n              \"kind\": \"go\",\n              \"module\": \"github.com\u002Fsteipete\u002Fgifgrep\u002Fcmd\u002Fgifgrep@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\u002FGiphy), browse in a TUI, download results, and extract stills or sheets.\n\nGIF-Grab (gifgrep workflow)\n\n- Search → preview → download → extract (still\u002Fsheet) 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\u002FGhostty only; still frame)\n\nDownload + reveal\n\n- `--download` saves to `~\u002FDownloads`\n- `--reveal` shows the last download in Finder\n\nStills + sheets\n\n- `gifgrep still .\u002Fclip.gif --at 1.5s -o still.png`\n- `gifgrep sheet .\u002Fclip.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",{"data":33,"body":51},{"name":4,"description":6,"homepage":34,"metadata":35},"https:\u002F\u002Fgifgrep.com",{"openclaw":36},{"emoji":37,"requires":38,"install":40},"🧲",{"bins":39},[4],[41,46],{"id":42,"kind":42,"formula":43,"bins":44,"label":45},"brew","steipete\u002Ftap\u002Fgifgrep",[4],"Install gifgrep (brew)",{"id":47,"kind":47,"module":48,"bins":49,"label":50},"go","github.com\u002Fsteipete\u002Fgifgrep\u002Fcmd\u002Fgifgrep@latest",[4],"Install gifgrep (go)",{"type":52,"children":53},"root",[54,61,75,80,90,95,143,148,175,180,211,216,271,276,316,321,403,408],{"type":55,"tag":56,"props":57,"children":58},"element","h1",{"id":4},[59],{"type":60,"value":4},"text",{"type":55,"tag":62,"props":63,"children":64},"p",{},[65,67,73],{"type":60,"value":66},"Use ",{"type":55,"tag":68,"props":69,"children":71},"code",{"className":70},[],[72],{"type":60,"value":4},{"type":60,"value":74}," to search GIF providers (Tenor\u002FGiphy), browse in a TUI, download results, and extract stills or sheets.",{"type":55,"tag":62,"props":76,"children":77},{},[78],{"type":60,"value":79},"GIF-Grab (gifgrep workflow)",{"type":55,"tag":81,"props":82,"children":83},"ul",{},[84],{"type":55,"tag":85,"props":86,"children":87},"li",{},[88],{"type":60,"value":89},"Search → preview → download → extract (still\u002Fsheet) for fast review and sharing.",{"type":55,"tag":62,"props":91,"children":92},{},[93],{"type":60,"value":94},"Quick start",{"type":55,"tag":81,"props":96,"children":97},{},[98,107,116,125,134],{"type":55,"tag":85,"props":99,"children":100},{},[101],{"type":55,"tag":68,"props":102,"children":104},{"className":103},[],[105],{"type":60,"value":106},"gifgrep cats --max 5",{"type":55,"tag":85,"props":108,"children":109},{},[110],{"type":55,"tag":68,"props":111,"children":113},{"className":112},[],[114],{"type":60,"value":115},"gifgrep cats --format url | head -n 5",{"type":55,"tag":85,"props":117,"children":118},{},[119],{"type":55,"tag":68,"props":120,"children":122},{"className":121},[],[123],{"type":60,"value":124},"gifgrep search --json cats | jq '.[0].url'",{"type":55,"tag":85,"props":126,"children":127},{},[128],{"type":55,"tag":68,"props":129,"children":131},{"className":130},[],[132],{"type":60,"value":133},"gifgrep tui \"office handshake\"",{"type":55,"tag":85,"props":135,"children":136},{},[137],{"type":55,"tag":68,"props":138,"children":140},{"className":139},[],[141],{"type":60,"value":142},"gifgrep cats --download --max 1 --format url",{"type":55,"tag":62,"props":144,"children":145},{},[146],{"type":60,"value":147},"TUI + previews",{"type":55,"tag":81,"props":149,"children":150},{},[151,162],{"type":55,"tag":85,"props":152,"children":153},{},[154,156],{"type":60,"value":155},"TUI: ",{"type":55,"tag":68,"props":157,"children":159},{"className":158},[],[160],{"type":60,"value":161},"gifgrep tui \"query\"",{"type":55,"tag":85,"props":163,"children":164},{},[165,167,173],{"type":60,"value":166},"CLI still previews: ",{"type":55,"tag":68,"props":168,"children":170},{"className":169},[],[171],{"type":60,"value":172},"--thumbs",{"type":60,"value":174}," (Kitty\u002FGhostty only; still frame)",{"type":55,"tag":62,"props":176,"children":177},{},[178],{"type":60,"value":179},"Download + reveal",{"type":55,"tag":81,"props":181,"children":182},{},[183,200],{"type":55,"tag":85,"props":184,"children":185},{},[186,192,194],{"type":55,"tag":68,"props":187,"children":189},{"className":188},[],[190],{"type":60,"value":191},"--download",{"type":60,"value":193}," saves to ",{"type":55,"tag":68,"props":195,"children":197},{"className":196},[],[198],{"type":60,"value":199},"~\u002FDownloads",{"type":55,"tag":85,"props":201,"children":202},{},[203,209],{"type":55,"tag":68,"props":204,"children":206},{"className":205},[],[207],{"type":60,"value":208},"--reveal",{"type":60,"value":210}," shows the last download in Finder",{"type":55,"tag":62,"props":212,"children":213},{},[214],{"type":60,"value":215},"Stills + sheets",{"type":55,"tag":81,"props":217,"children":218},{},[219,228,237,242],{"type":55,"tag":85,"props":220,"children":221},{},[222],{"type":55,"tag":68,"props":223,"children":225},{"className":224},[],[226],{"type":60,"value":227},"gifgrep still .\u002Fclip.gif --at 1.5s -o still.png",{"type":55,"tag":85,"props":229,"children":230},{},[231],{"type":55,"tag":68,"props":232,"children":234},{"className":233},[],[235],{"type":60,"value":236},"gifgrep sheet .\u002Fclip.gif --frames 9 --cols 3 -o sheet.png",{"type":55,"tag":85,"props":238,"children":239},{},[240],{"type":60,"value":241},"Sheets = single PNG grid of sampled frames (great for quick review, docs, PRs, chat).",{"type":55,"tag":85,"props":243,"children":244},{},[245,247,253,255,261,263,269],{"type":60,"value":246},"Tune: ",{"type":55,"tag":68,"props":248,"children":250},{"className":249},[],[251],{"type":60,"value":252},"--frames",{"type":60,"value":254}," (count), ",{"type":55,"tag":68,"props":256,"children":258},{"className":257},[],[259],{"type":60,"value":260},"--cols",{"type":60,"value":262}," (grid width), ",{"type":55,"tag":68,"props":264,"children":266},{"className":265},[],[267],{"type":60,"value":268},"--padding",{"type":60,"value":270}," (spacing).",{"type":55,"tag":62,"props":272,"children":273},{},[274],{"type":60,"value":275},"Providers",{"type":55,"tag":81,"props":277,"children":278},{},[279,288,305],{"type":55,"tag":85,"props":280,"children":281},{},[282],{"type":55,"tag":68,"props":283,"children":285},{"className":284},[],[286],{"type":60,"value":287},"--source auto|tenor|giphy",{"type":55,"tag":85,"props":289,"children":290},{},[291,297,299],{"type":55,"tag":68,"props":292,"children":294},{"className":293},[],[295],{"type":60,"value":296},"GIPHY_API_KEY",{"type":60,"value":298}," required for ",{"type":55,"tag":68,"props":300,"children":302},{"className":301},[],[303],{"type":60,"value":304},"--source giphy",{"type":55,"tag":85,"props":306,"children":307},{},[308,314],{"type":55,"tag":68,"props":309,"children":311},{"className":310},[],[312],{"type":60,"value":313},"TENOR_API_KEY",{"type":60,"value":315}," optional (Tenor demo key used if unset)",{"type":55,"tag":62,"props":317,"children":318},{},[319],{"type":60,"value":320},"Output",{"type":55,"tag":81,"props":322,"children":323},{},[324,386],{"type":55,"tag":85,"props":325,"children":326},{},[327,333,335,341,343,349,350,356,357,363,364,370,371,377,378,384],{"type":55,"tag":68,"props":328,"children":330},{"className":329},[],[331],{"type":60,"value":332},"--json",{"type":60,"value":334}," prints an array of results (",{"type":55,"tag":68,"props":336,"children":338},{"className":337},[],[339],{"type":60,"value":340},"id",{"type":60,"value":342},", ",{"type":55,"tag":68,"props":344,"children":346},{"className":345},[],[347],{"type":60,"value":348},"title",{"type":60,"value":342},{"type":55,"tag":68,"props":351,"children":353},{"className":352},[],[354],{"type":60,"value":355},"url",{"type":60,"value":342},{"type":55,"tag":68,"props":358,"children":360},{"className":359},[],[361],{"type":60,"value":362},"preview_url",{"type":60,"value":342},{"type":55,"tag":68,"props":365,"children":367},{"className":366},[],[368],{"type":60,"value":369},"tags",{"type":60,"value":342},{"type":55,"tag":68,"props":372,"children":374},{"className":373},[],[375],{"type":60,"value":376},"width",{"type":60,"value":342},{"type":55,"tag":68,"props":379,"children":381},{"className":380},[],[382],{"type":60,"value":383},"height",{"type":60,"value":385},")",{"type":55,"tag":85,"props":387,"children":388},{},[389,395,397,402],{"type":55,"tag":68,"props":390,"children":392},{"className":391},[],[393],{"type":60,"value":394},"--format",{"type":60,"value":396}," for pipe-friendly fields (e.g., ",{"type":55,"tag":68,"props":398,"children":400},{"className":399},[],[401],{"type":60,"value":355},{"type":60,"value":385},{"type":55,"tag":62,"props":404,"children":405},{},[406],{"type":60,"value":407},"Environment tweaks",{"type":55,"tag":81,"props":409,"children":410},{},[411,422],{"type":55,"tag":85,"props":412,"children":413},{},[414,420],{"type":55,"tag":68,"props":415,"children":417},{"className":416},[],[418],{"type":60,"value":419},"GIFGREP_SOFTWARE_ANIM=1",{"type":60,"value":421}," to force software animation",{"type":55,"tag":85,"props":423,"children":424},{},[425,431],{"type":55,"tag":68,"props":426,"children":428},{"className":427},[],[429],{"type":60,"value":430},"GIFGREP_CELL_ASPECT=0.5",{"type":60,"value":432}," to tweak preview geometry",{"items":434,"total":589},[435,451,465,479,491,503,515,526,542,554,566,578],{"slug":436,"name":436,"fn":437,"description":438,"org":439,"tags":440,"stars":448,"repoUrl":449,"updatedAt":450},"deepclaw-voice","configure phone calls with Deepgram Voice","Set up phone calling to OpenClaw using Deepgram Voice Agent API",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[441,444,445],{"name":442,"slug":443,"type":15},"API Development","api-development",{"name":9,"slug":8,"type":15},{"name":446,"slug":447,"type":15},"Voice","voice",78,"https:\u002F\u002Fgithub.com\u002Fdeepgram\u002Fdeepclaw","2026-07-12T08:29:25.371332",{"slug":452,"name":452,"fn":453,"description":454,"org":455,"tags":456,"stars":22,"repoUrl":23,"updatedAt":464},"1password","manage secrets with 1Password CLI","Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading\u002Finjecting\u002Frunning secrets via op.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[457,460,461],{"name":458,"slug":459,"type":15},"Automation","automation",{"name":17,"slug":18,"type":15},{"name":462,"slug":463,"type":15},"Security","security","2026-07-12T08:28:49.991939",{"slug":466,"name":466,"fn":467,"description":468,"org":469,"tags":470,"stars":22,"repoUrl":23,"updatedAt":478},"apple-notes","manage Apple Notes on macOS","Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[471,472,475],{"name":17,"slug":18,"type":15},{"name":473,"slug":474,"type":15},"Knowledge Management","knowledge-management",{"name":476,"slug":477,"type":15},"macOS","macos","2026-07-12T08:29:01.538106",{"slug":480,"name":480,"fn":481,"description":482,"org":483,"tags":484,"stars":22,"repoUrl":23,"updatedAt":490},"apple-reminders","manage Apple Reminders via CLI","Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON\u002Fplain output.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[485,486,487],{"name":17,"slug":18,"type":15},{"name":476,"slug":477,"type":15},{"name":488,"slug":489,"type":15},"Task Management","task-management","2026-07-12T08:29:14.035414",{"slug":492,"name":492,"fn":493,"description":494,"org":495,"tags":496,"stars":22,"repoUrl":23,"updatedAt":502},"bear-notes","manage Bear notes via CLI","Create, search, and manage Bear notes via grizzly CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[497,498,499],{"name":17,"slug":18,"type":15},{"name":473,"slug":474,"type":15},{"name":500,"slug":501,"type":15},"Notes","notes","2026-07-12T08:28:51.246011",{"slug":504,"name":504,"fn":505,"description":506,"org":507,"tags":508,"stars":22,"repoUrl":23,"updatedAt":514},"blogwatcher","monitor blogs and RSS feeds","Monitor blogs and RSS\u002FAtom feeds for updates using the blogwatcher CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[509,510,511],{"name":458,"slug":459,"type":15},{"name":17,"slug":18,"type":15},{"name":512,"slug":513,"type":15},"Monitoring","monitoring","2026-07-12T08:29:02.762321",{"slug":516,"name":516,"fn":517,"description":518,"org":519,"tags":520,"stars":22,"repoUrl":23,"updatedAt":525},"blucli","control BluOS audio playback","BluOS CLI (blu) for discovery, playback, grouping, and volume.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[521,524],{"name":522,"slug":523,"type":15},"Audio","audio",{"name":17,"slug":18,"type":15},"2026-07-12T08:28:21.009637",{"slug":527,"name":527,"fn":528,"description":529,"org":530,"tags":531,"stars":22,"repoUrl":23,"updatedAt":541},"bluebubbles","send and manage iMessages","Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel=\"bluebubbles\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[532,535,538],{"name":533,"slug":534,"type":15},"Communications","communications",{"name":536,"slug":537,"type":15},"iMessage","imessage",{"name":539,"slug":540,"type":15},"Messaging","messaging","2026-07-12T08:28:57.517914",{"slug":543,"name":543,"fn":544,"description":545,"org":546,"tags":547,"stars":22,"repoUrl":23,"updatedAt":553},"camsnap","capture frames and clips from cameras","Capture frames or clips from RTSP\u002FONVIF cameras.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[548,549,552],{"name":458,"slug":459,"type":15},{"name":550,"slug":551,"type":15},"Camera","camera",{"name":13,"slug":14,"type":15},"2026-07-12T08:28:28.096134",{"slug":555,"name":555,"fn":556,"description":557,"org":558,"tags":559,"stars":22,"repoUrl":23,"updatedAt":565},"clawhub","manage agent skills with ClawHub","Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new\u002Fupdated skill folders with the npm-installed clawhub CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[560,563,564],{"name":561,"slug":562,"type":15},"Agents","agents",{"name":458,"slug":459,"type":15},{"name":17,"slug":18,"type":15},"2026-07-12T08:28:30.589001",{"slug":567,"name":567,"fn":568,"description":569,"org":570,"tags":571,"stars":22,"repoUrl":23,"updatedAt":577},"coding-agent","run coding agents for programmatic control","Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[572,573,574],{"name":561,"slug":562,"type":15},{"name":458,"slug":459,"type":15},{"name":575,"slug":576,"type":15},"Coding","coding","2026-07-12T08:29:08.6658",{"slug":579,"name":579,"fn":580,"description":581,"org":582,"tags":583,"stars":22,"repoUrl":23,"updatedAt":588},"eightctl","control Eight Sleep pod settings","Control Eight Sleep pods (status, temperature, alarms, schedules).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[584,585],{"name":458,"slug":459,"type":15},{"name":586,"slug":587,"type":15},"Hardware","hardware","2026-07-12T08:28:39.322181",73,{"items":591,"total":633},[592,598,604,610,616,622,627],{"slug":452,"name":452,"fn":453,"description":454,"org":593,"tags":594,"stars":22,"repoUrl":23,"updatedAt":464},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[595,596,597],{"name":458,"slug":459,"type":15},{"name":17,"slug":18,"type":15},{"name":462,"slug":463,"type":15},{"slug":466,"name":466,"fn":467,"description":468,"org":599,"tags":600,"stars":22,"repoUrl":23,"updatedAt":478},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[601,602,603],{"name":17,"slug":18,"type":15},{"name":473,"slug":474,"type":15},{"name":476,"slug":477,"type":15},{"slug":480,"name":480,"fn":481,"description":482,"org":605,"tags":606,"stars":22,"repoUrl":23,"updatedAt":490},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[607,608,609],{"name":17,"slug":18,"type":15},{"name":476,"slug":477,"type":15},{"name":488,"slug":489,"type":15},{"slug":492,"name":492,"fn":493,"description":494,"org":611,"tags":612,"stars":22,"repoUrl":23,"updatedAt":502},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[613,614,615],{"name":17,"slug":18,"type":15},{"name":473,"slug":474,"type":15},{"name":500,"slug":501,"type":15},{"slug":504,"name":504,"fn":505,"description":506,"org":617,"tags":618,"stars":22,"repoUrl":23,"updatedAt":514},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[619,620,621],{"name":458,"slug":459,"type":15},{"name":17,"slug":18,"type":15},{"name":512,"slug":513,"type":15},{"slug":516,"name":516,"fn":517,"description":518,"org":623,"tags":624,"stars":22,"repoUrl":23,"updatedAt":525},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[625,626],{"name":522,"slug":523,"type":15},{"name":17,"slug":18,"type":15},{"slug":527,"name":527,"fn":528,"description":529,"org":628,"tags":629,"stars":22,"repoUrl":23,"updatedAt":541},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[630,631,632],{"name":533,"slug":534,"type":15},{"name":536,"slug":537,"type":15},{"name":539,"slug":540,"type":15},54]