[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CAD9ECBXAC6ZMB1Y05JB0T":3,"skill-same:01M6CAD9ECBXAC6ZMB1Y05JB0T":105},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":62,"install":63,"resources":76},"01M6CAD9ECBXAC6ZMB1Y05JB0T","gif-search",null,"Search\u002Fdownload GIFs from Tenor via curl + jq.","jleechanorg\u002Fjleechan-skills","jleechanorg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F221404966?v=4","01M6C1VJ99XG950X1DWPEBCBGX","01M6C1VJDK5YVDNT3362RT5WSB",6,"MIT","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002Fhermes\u002Fskills\u002Fmedia\u002Fgif-search\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36],"search","gif search","gif","macos","linux","windows","api","Media","download","hermes","hermes agent","curl","jq","via","2026-11-10 10:12:30",false,"---\nname: gif-search\ndescription: \"Search\u002Fdownload GIFs from Tenor via curl + jq.\"\nversion: 1.1.0\nauthor: Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nprerequisites:\n  env_vars: [TENOR_API_KEY]\n  commands: [curl, jq]\nmetadata:\n  hermes:\n    tags: [GIF, Media, Search, Tenor, API]\n---\n\n# GIF Search (Tenor API)\n\nSearch and download GIFs directly via the Tenor API using curl. No extra tools needed.\n\n## When to use\n\nUseful for finding reaction GIFs, creating visual content, and sending GIFs in chat.\n\n## Setup\n\nSet your Tenor API key in your environment (add to `${HERMES_HOME:-~\u002F.hermes}\u002F.env`):\n\n```bash\nTENOR_API_KEY=your_key_here\n```\n\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.\n\n## Prerequisites\n\n- `curl` and `jq` (both standard on macOS\u002FLinux)\n- `TENOR_API_KEY` environment variable\n\n## Search for GIFs\n\n```bash\n# Search and get GIF URLs\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'\n\n# Get smaller\u002Fpreview versions\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'\n```\n\n## Download a GIF\n\n```bash\n# Search and download the top result\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')\ncurl -sL \"$URL\" -o celebration.gif\n```\n\n## Get Full Metadata\n\n```bash\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}'\n```\n\n## API Parameters\n\n| Parameter | Description |\n|-----------|-------------|\n| `q` | Search query (URL-encode spaces as `+`) |\n| `limit` | Max results (1-50, default 20) |\n| `key` | API key (from `$TENOR_API_KEY` env var) |\n| `media_filter` | Filter formats: `gif`, `tinygif`, `mp4`, `tinymp4`, `webm` |\n| `contentfilter` | Safety: `off`, `low`, `medium`, `high` |\n| `locale` | Language: `en_US`, `es`, `fr`, etc. |\n\n## Available Media Formats\n\nEach result has multiple formats under `.media_formats`:\n\n| Format | Use case |\n|--------|----------|\n| `gif` | Full quality GIF |\n| `tinygif` | Small preview GIF |\n| `mp4` | Video version (smaller file size) |\n| `tinymp4` | Small preview video |\n| `webm` | WebM video |\n| `nanogif` | Tiny thumbnail |\n\n## Notes\n\n- URL-encode the query: spaces as `+`, special chars as `%XX`\n- For sending in chat, `tinygif` URLs are lighter weight\n- GIF URLs can be used directly in markdown: `![alt](url)`\n","# GIF Search (Tenor API)\n\nSearch and download GIFs directly via the Tenor API using curl. No extra tools needed.\n\n## When to use\n\nUseful for finding reaction GIFs, creating visual content, and sending GIFs in chat.\n\n## Setup\n\nSet your Tenor API key in your environment (add to `${HERMES_HOME:-~\u002F.hermes}\u002F.env`):\n\n```bash\nTENOR_API_KEY=your_key_here\n```\n\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.\n\n## Prerequisites\n\n- `curl` and `jq` (both standard on macOS\u002FLinux)\n- `TENOR_API_KEY` environment variable\n\n## Search for GIFs\n\n```bash\n# Search and get GIF URLs\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'\n\n# Get smaller\u002Fpreview versions\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'\n```\n\n## Download a GIF\n\n```bash\n# Search and download the top result\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')\ncurl -sL \"$URL\" -o celebration.gif\n```\n\n## Get Full Metadata\n\n```bash\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}'\n```\n\n## API Parameters\n\n| Parameter | Description |\n|-----------|-------------|\n| `q` | Search query (URL-encode spaces as `+`) |\n| `limit` | Max results (1-50, default 20) |\n| `key` | API key (from `$TENOR_API_KEY` env var) |\n| `media_filter` | Filter formats: `gif`, `tinygif`, `mp4`, `tinymp4`, `webm` |\n| `contentfilter` | Safety: `off`, `low`, `medium`, `high` |\n| `locale` | Language: `en_US`, `es`, `fr`, etc. |\n\n## Available Media Formats\n\nEach result has multiple formats under `.media_formats`:\n\n| Format | Use case |\n|--------|----------|\n| `gif` | Full quality GIF |\n| `tinygif` | Small preview GIF |\n| `mp4` | Video version (smaller file size) |\n| `tinymp4` | Small preview video |\n| `webm` | WebM video |\n| `nanogif` | Tiny thumbnail |\n\n## Notes\n\n- URL-encode the query: spaces as `+`, special chars as `%XX`\n- For sending in chat, `tinygif` URLs are lighter weight\n- GIF URLs can be used directly in markdown: `![alt](url)`\n",{"name":5,"author":42,"license":14,"version":43,"metadata":44,"platforms":51,"description":7,"prerequisites":52},"Hermes Agent","1.1.0",{"hermes":45},{"tags":46},[47,30,48,49,50],"GIF","Search","Tenor","API",[27,26,28],{"commands":53,"env_vars":54},[34,35],[55],"TENOR_API_KEY","main","05df7380981a2c4af868ce0fa57962ae0eea62a9","hermes\u002Fskills\u002Fmedia\u002Fgif-search",0,"https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills","https:\u002F\u002Fgithub.com\u002Fjleechanorg","2026-11-14 03:18:13",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add jleechanorg\u002Fjleechan-skills --skill gif-search",{"tool":69,"command":70},"bunx","bunx skills add jleechanorg\u002Fjleechan-skills --skill gif-search",{"tool":72,"command":73},"pnpm","pnpm dlx skills add jleechanorg\u002Fjleechan-skills --skill gif-search","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002Fhermes\u002Fskills\u002Fmedia\u002Fgif-search\u002FSKILL.md",true,[77,83,87,91,95,99],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fchemical-analysis.md","REFERENCE","参考文档",19413,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fdrugbank-database\u002Freferences\u002Fchemical-analysis.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fdata-access.md",6062,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fdrugbank-database\u002Freferences\u002Fdata-access.md",{"path":88,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fdrug-queries.md",11772,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fdrugbank-database\u002Freferences\u002Fdrug-queries.md",{"path":92,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Finteractions.md",13794,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fdrugbank-database\u002Freferences\u002Finteractions.md",{"path":96,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Ftargets-pathways.md",18253,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fdrugbank-database\u002Freferences\u002Ftargets-pathways.md",{"path":100,"resourceType":101,"resourceTypeDesc":102,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Fdrugbank_helper.py","SCRIPT","脚本",11822,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fdrugbank-database\u002Fscripts\u002Fdrugbank_helper.py",[106,124,146,160,174,190],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":37},"01M716Y5MTJ6GYJZ2ATXCJK8G4","instinct","Use when the user invokes \u002Finstinct or \u002Fin, or asks to \"message Instinct\", \"ask Instinct\", \"tell Instinct\", \"check Instinct\", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Finstinct\u002FSKILL.md",[],[108,113,114,115,116,117,118,119,120,121,122,123],"user","when","replies","check","use","identity","whatsapp","gmail","read","message","ask",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":135,"publishedAt":37},"01M716Y4HF7FVVMJSA2CCVN5VF","hr","Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhr\u002FSKILL.md",[130],{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[126,136,137,138,139,140,141,142,143,144,145],"resume","compatibility","provenance","for","history","produce","alias","briefing","state","fresh",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":37},"01M716Y1FFNFKFJYYKF8HQA6T8","history-resume","Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhistory-resume\u002FSKILL.md",[152],{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},[140,136,154,155,113,156,143,157,139,158,159,144,145],"history resume","branch","analysis","repository","worktree","sources",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":37},"01M716XWXJ8EPHK4RH9T14TR85","grok","Alias for the canonical grokbot browser conversation workflow; \u002Fgrok talks to the Grok bot the same way \u002Fdot talks to Dot.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgrok\u002FSKILL.md",[],[162,167,168,169,139,170,142,171,172,173],"dot","bot","workflow","canonical","conversation","browser","grokbot",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":37},"01M70N9Q07DTE0EW5KFXMMMSJ0","codexa-bench","Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcodexa-bench\u002FSKILL.md",[],[181,182,183,117,184,139,185,186,187,188,189],"codexa bench","work","split","default","duplicate","task","compare","normal","codex",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":194,"licenseFileUrl":195,"sourceHtmlUrl":196,"categories":197,"keywords":207,"publishedAt":37},"01M6C24S2X60SP8BBFGAEKPEGW","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[198,201,204],{"categoryNo":199,"categoryName":200,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":202,"categoryName":203,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":205,"categoryName":206,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000032","设计师",[208,209,210,117,211,212,213,113,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,114,232],"frontend","design","frontend design","generic","ui design","react","html","components","code","artifacts","ui","aesthetics","Production","web components","landing","applications","quality","web","css","create","examples","with","react components","web ui","pages"]