[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GD0S99RVHXMSBET8TAQGD6":3,"skill-same:01M6GD0S99RVHXMSBET8TAQGD6":79},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":63,"updatedAt":64,"install":65,"resources":78},"01M6GD0S99RVHXMSBET8TAQGD6","gif-search",null,"Search\u002Fdownload GIFs from Tenor via curl + jq.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fb2\u002Fb2bca8494b644e57f7ba2c04c4f0e386ad76414048b4b6f1d4920c977ee67c78\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37],"search","gif search","gif","macos","linux","windows","api","Media","download","hermes","hermes agent","curl","jq","via","2026-11-10 10:12:30",false,"---\r\nname: gif-search\r\ndescription: \"Search\u002Fdownload GIFs from Tenor via curl + jq.\"\r\nversion: 1.1.0\r\nauthor: Hermes Agent\r\nlicense: MIT\r\nplatforms: [linux, macos, windows]\r\nprerequisites:\r\n  env_vars: [TENOR_API_KEY]\r\n  commands: [curl, jq]\r\nmetadata:\r\n  hermes:\r\n    tags: [GIF, Media, Search, Tenor, API]\r\n---\r\n\r\n# GIF Search (Tenor API)\r\n\r\nSearch and download GIFs directly via the Tenor API using curl. No extra tools needed.\r\n\r\n## When to use\r\n\r\nUseful for finding reaction GIFs, creating visual content, and sending GIFs in chat.\r\n\r\n## Setup\r\n\r\nSet your Tenor API key in your environment (add to `~\u002F.hermes\u002F.env`):\r\n\r\n```bash\r\nTENOR_API_KEY=your_key_here\r\n```\r\n\r\nGet a free API key at https:\u002F\u002Fdevelopers.google.com\u002Ftenor\u002Fguides\u002Fquickstart — the Google Cloud Console Tenor API key is free and has generous rate limits.\r\n\r\n## Prerequisites\r\n\r\n- `curl` and `jq` (both standard on macOS\u002FLinux)\r\n- `TENOR_API_KEY` environment variable\r\n\r\n## Search for GIFs\r\n\r\n```bash\r\n# Search and get GIF URLs\r\ncurl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=thumbs+up&limit=5&key=${TENOR_API_KEY}\" | jq -r '.results[].media_formats.gif.url'\r\n\r\n# Get smaller\u002Fpreview versions\r\ncurl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=nice+work&limit=3&key=${TENOR_API_KEY}\" | jq -r '.results[].media_formats.tinygif.url'\r\n```\r\n\r\n## Download a GIF\r\n\r\n```bash\r\n# Search and download the top result\r\nURL=$(curl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=celebration&limit=1&key=${TENOR_API_KEY}\" | jq -r '.results[0].media_formats.gif.url')\r\ncurl -sL \"$URL\" -o celebration.gif\r\n```\r\n\r\n## Get Full Metadata\r\n\r\n```bash\r\ncurl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=cat&limit=3&key=${TENOR_API_KEY}\" | jq '.results[] | {title: .title, url: .media_formats.gif.url, preview: .media_formats.tinygif.url, dimensions: .media_formats.gif.dims}'\r\n```\r\n\r\n## API Parameters\r\n\r\n| Parameter | Description |\r\n|-----------|-------------|\r\n| `q` | Search query (URL-encode spaces as `+`) |\r\n| `limit` | Max results (1-50, default 20) |\r\n| `key` | API key (from `$TENOR_API_KEY` env var) |\r\n| `media_filter` | Filter formats: `gif`, `tinygif`, `mp4`, `tinymp4`, `webm` |\r\n| `contentfilter` | Safety: `off`, `low`, `medium`, `high` |\r\n| `locale` | Language: `en_US`, `es`, `fr`, etc. |\r\n\r\n## Available Media Formats\r\n\r\nEach result has multiple formats under `.media_formats`:\r\n\r\n| Format | Use case |\r\n|--------|----------|\r\n| `gif` | Full quality GIF |\r\n| `tinygif` | Small preview GIF |\r\n| `mp4` | Video version (smaller file size) |\r\n| `tinymp4` | Small preview video |\r\n| `webm` | WebM video |\r\n| `nanogif` | Tiny thumbnail |\r\n\r\n## Notes\r\n\r\n- URL-encode the query: spaces as `+`, special chars as `%XX`\r\n- For sending in chat, `tinygif` URLs are lighter weight\r\n- GIF URLs can be used directly in markdown: `![alt](url)`\r\n","# GIF Search (Tenor API)\r\n\r\nSearch and download GIFs directly via the Tenor API using curl. No extra tools needed.\r\n\r\n## When to use\r\n\r\nUseful for finding reaction GIFs, creating visual content, and sending GIFs in chat.\r\n\r\n## Setup\r\n\r\nSet your Tenor API key in your environment (add to `~\u002F.hermes\u002F.env`):\r\n\r\n```bash\r\nTENOR_API_KEY=your_key_here\r\n```\r\n\r\nGet a free API key at https:\u002F\u002Fdevelopers.google.com\u002Ftenor\u002Fguides\u002Fquickstart — the Google Cloud Console Tenor API key is free and has generous rate limits.\r\n\r\n## Prerequisites\r\n\r\n- `curl` and `jq` (both standard on macOS\u002FLinux)\r\n- `TENOR_API_KEY` environment variable\r\n\r\n## Search for GIFs\r\n\r\n```bash\r\n# Search and get GIF URLs\r\ncurl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=thumbs+up&limit=5&key=${TENOR_API_KEY}\" | jq -r '.results[].media_formats.gif.url'\r\n\r\n# Get smaller\u002Fpreview versions\r\ncurl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=nice+work&limit=3&key=${TENOR_API_KEY}\" | jq -r '.results[].media_formats.tinygif.url'\r\n```\r\n\r\n## Download a GIF\r\n\r\n```bash\r\n# Search and download the top result\r\nURL=$(curl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=celebration&limit=1&key=${TENOR_API_KEY}\" | jq -r '.results[0].media_formats.gif.url')\r\ncurl -sL \"$URL\" -o celebration.gif\r\n```\r\n\r\n## Get Full Metadata\r\n\r\n```bash\r\ncurl -s \"https:\u002F\u002Ftenor.googleapis.com\u002Fv2\u002Fsearch?q=cat&limit=3&key=${TENOR_API_KEY}\" | jq '.results[] | {title: .title, url: .media_formats.gif.url, preview: .media_formats.tinygif.url, dimensions: .media_formats.gif.dims}'\r\n```\r\n\r\n## API Parameters\r\n\r\n| Parameter | Description |\r\n|-----------|-------------|\r\n| `q` | Search query (URL-encode spaces as `+`) |\r\n| `limit` | Max results (1-50, default 20) |\r\n| `key` | API key (from `$TENOR_API_KEY` env var) |\r\n| `media_filter` | Filter formats: `gif`, `tinygif`, `mp4`, `tinymp4`, `webm` |\r\n| `contentfilter` | Safety: `off`, `low`, `medium`, `high` |\r\n| `locale` | Language: `en_US`, `es`, `fr`, etc. |\r\n\r\n## Available Media Formats\r\n\r\nEach result has multiple formats under `.media_formats`:\r\n\r\n| Format | Use case |\r\n|--------|----------|\r\n| `gif` | Full quality GIF |\r\n| `tinygif` | Small preview GIF |\r\n| `mp4` | Video version (smaller file size) |\r\n| `tinymp4` | Small preview video |\r\n| `webm` | WebM video |\r\n| `nanogif` | Tiny thumbnail |\r\n\r\n## Notes\r\n\r\n- URL-encode the query: spaces as `+`, special chars as `%XX`\r\n- For sending in chat, `tinygif` URLs are lighter weight\r\n- GIF URLs can be used directly in markdown: `![alt](url)`\r\n",{"name":5,"author":43,"license":15,"version":44,"metadata":45,"platforms":52,"description":7,"prerequisites":53},"Hermes Agent","1.1.0",{"hermes":46},{"tags":47},[48,31,49,50,51],"GIF","Search","Tenor","API",[28,27,29],{"commands":54,"env_vars":55},[35,36],[56],"TENOR_API_KEY","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002Fb2\u002Fb2bca8494b644e57f7ba2c04c4f0e386ad76414048b4b6f1d4920c977ee67c78",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add zapabob\u002FSkills --skill gif-search",{"tool":71,"command":72},"bunx","bunx skills add zapabob\u002FSkills --skill gif-search",{"tool":74,"command":75},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill gif-search","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fb2\u002Fb2bca8494b644e57f7ba2c04c4f0e386ad76414048b4b6f1d4920c977ee67c78\u002FSKILL.md",true,[],[80,107,142,167,194,211],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":97,"publishedAt":38},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[86,89,92],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[82,98,27,99,100,28,29,101,24,102,103,30,31,33,34,104,57,105,37,106],"openclaw","cli","github","official","https","social-media","twitter","social","post",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":124,"publishedAt":38},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[113,116,119,120,121],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":117,"categoryName":118,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},{"categoryNo":122,"categoryName":123,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000036","内容创作者",[125,126,127,128,27,129,28,130,29,131,132,133,134,135,136,137,138,139,140,141],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":149,"publishedAt":38},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[148],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[144,27,28,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":176,"publishedAt":38},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[173],{"categoryNo":174,"categoryName":175,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[177,27,178,179,29,180,181,182,183,184,185,157,186,187,188,189,190,191,192,193],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":201,"publishedAt":38},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[200],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},[196,27,202,100,28,203,204,205,206,207,208,33,34,209,210],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":219,"publishedAt":38},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[217,218],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},[220,221,222,28,223,150,224,225,226,153,227,30,228,229,230,231,232,233,234,235],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]