[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M754W12423MF7YNXNT6Q4VQ2":3,"skill-same:01M754W12423MF7YNXNT6Q4VQ2":83},{"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":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":29,"commitSha":30,"skillDirectory":5,"forksCount":14,"repositoryHtmlUrl":31,"repositoryHomepageUrl":6,"ownerHtmlUrl":32,"ownerBlogUrl":33,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M754W12423MF7YNXNT6Q4VQ2","openrouter-caching-strategy",null,"Implement response caching to reduce costs and latency. Use when dealing with repeated queries or high-volume scenarios. Trigger with phrases like 'openrouter cache', 'cache responses', 'openrouter caching', 'reduce api calls'.","SamuelChien\u002Fmega-skills-collection","SamuelChien","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4652114?v=4","01M74KK34WVHA0P5ZYSJRDDFMG","Samuel Chien","01M74KK35FQN1N9VZ9EPTH3P2S",0,"MIT","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: openrouter-caching-strategy\ndescription: |\n  Implement response caching to reduce costs and latency. Use when dealing with repeated queries or high-volume scenarios. Trigger with phrases like 'openrouter cache', 'cache responses', 'openrouter caching', 'reduce api calls'.\nallowed-tools: Read, Write, Edit, Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\n---\n# Openrouter Caching Strategy\n\n## Overview\n\nThis skill shows how to implement caching layers for OpenRouter responses to reduce costs, lower latency, and handle repeated queries efficiently.\n\n## Prerequisites\n\n- OpenRouter integration\n- Cache storage (in-memory, Redis, or filesystem)\n\n## Instructions\n\n1. **Generate cache keys**: Hash the model ID, messages array, and key parameters (temperature, max_tokens) into a deterministic cache key\n2. **Implement exact-match caching**: Store responses keyed by the hash; return cached responses for identical requests (works best with `temperature: 0`)\n3. **Add TTL-based expiration**: Set cache entries to expire after a configurable period (e.g., 1 hour for factual queries, 5 minutes for dynamic content)\n4. **Consider semantic caching**: For fuzzy matching, use embedding similarity to find cached responses for semantically similar (but not identical) prompts\n5. **Track cache hit rates**: Log cache hits vs misses to measure cost savings and tune your caching strategy\n\n## Output\n\n- Cache hit rate metrics showing percentage of requests served from cache\n- Cost savings report comparing cached vs uncached request costs\n- Latency improvement measurements (cached responses return in \u003C5ms vs 500ms+ for API calls)\n\n## Error Handling\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| Stale cached responses | TTL too long for dynamic content | Reduce TTL or add cache invalidation triggers |\n| Cache key collisions | Hash function not including all relevant parameters | Include model, messages, temperature, max_tokens, and tools in the key |\n| Memory pressure | In-memory cache growing unbounded | Set max cache size with LRU eviction; use Redis for large caches |\n\nSee `${CLAUDE_SKILL_DIR}\u002Freferences\u002Ferrors.md` for full error reference.\n\n## Examples\n\nSee `${CLAUDE_SKILL_DIR}\u002Freferences\u002Fexamples.md` for runnable code samples.\n\n## Resources\n\n- [OpenRouter Documentation](https:\u002F\u002Fopenrouter.ai\u002Fdocs)\n- [OpenRouter Models](https:\u002F\u002Fopenrouter.ai\u002Fmodels)\n- [OpenRouter API Reference](https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fapi-reference)\n- [OpenRouter Status](https:\u002F\u002Fstatus.openrouter.ai)\n","# Openrouter Caching Strategy\n\n## Overview\n\nThis skill shows how to implement caching layers for OpenRouter responses to reduce costs, lower latency, and handle repeated queries efficiently.\n\n## Prerequisites\n\n- OpenRouter integration\n- Cache storage (in-memory, Redis, or filesystem)\n\n## Instructions\n\n1. **Generate cache keys**: Hash the model ID, messages array, and key parameters (temperature, max_tokens) into a deterministic cache key\n2. **Implement exact-match caching**: Store responses keyed by the hash; return cached responses for identical requests (works best with `temperature: 0`)\n3. **Add TTL-based expiration**: Set cache entries to expire after a configurable period (e.g., 1 hour for factual queries, 5 minutes for dynamic content)\n4. **Consider semantic caching**: For fuzzy matching, use embedding similarity to find cached responses for semantically similar (but not identical) prompts\n5. **Track cache hit rates**: Log cache hits vs misses to measure cost savings and tune your caching strategy\n\n## Output\n\n- Cache hit rate metrics showing percentage of requests served from cache\n- Cost savings report comparing cached vs uncached request costs\n- Latency improvement measurements (cached responses return in \u003C5ms vs 500ms+ for API calls)\n\n## Error Handling\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| Stale cached responses | TTL too long for dynamic content | Reduce TTL or add cache invalidation triggers |\n| Cache key collisions | Hash function not including all relevant parameters | Include model, messages, temperature, max_tokens, and tools in the key |\n| Memory pressure | In-memory cache growing unbounded | Set max cache size with LRU eviction; use Redis for large caches |\n\nSee `${CLAUDE_SKILL_DIR}\u002Freferences\u002Ferrors.md` for full error reference.\n\n## Examples\n\nSee `${CLAUDE_SKILL_DIR}\u002Freferences\u002Fexamples.md` for runnable code samples.\n\n## Resources\n\n- [OpenRouter Documentation](https:\u002F\u002Fopenrouter.ai\u002Fdocs)\n- [OpenRouter Models](https:\u002F\u002Fopenrouter.ai\u002Fmodels)\n- [OpenRouter API Reference](https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fapi-reference)\n- [OpenRouter Status](https:\u002F\u002Fstatus.openrouter.ai)\n",{"name":5,"author":24,"license":15,"version":25,"description":26,"allowed-tools":27,"compatible-with":28},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Implement response caching to reduce costs and latency. Use when dealing with repeated queries or high-volume scenarios. Trigger with phrases like 'openrouter cache', 'cache responses', 'openrouter caching', 'reduce api calls'.\n","Read, Write, Edit, Grep","claude-code, codex, openclaw","main","c2b1fdccc779e99ac814e55fb69ca8d71215dd0f","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection","https:\u002F\u002Fgithub.com\u002FSamuelChien","http:\u002F\u002Fsamuelchien.com\u002F","2026-05-26 08:27:14",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add SamuelChien\u002Fmega-skills-collection --skill openrouter-caching-strategy",{"tool":41,"command":42},"bunx","bunx skills add SamuelChien\u002Fmega-skills-collection --skill openrouter-caching-strategy",{"tool":44,"command":45},"pnpm","pnpm dlx skills add SamuelChien\u002Fmega-skills-collection --skill openrouter-caching-strategy","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002FSKILL.md",true,[49,55,59,63,67,71,75,79],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"references\u002Fcache-invalidation.md","REFERENCE","参考文档",988,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Fcache-invalidation.md",{"path":56,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":57,"sourceHtmlUrl":58},"references\u002Fcaching-strategies.md",2436,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Fcaching-strategies.md",{"path":60,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Fcost-savings-analysis.md",1482,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Fcost-savings-analysis.md",{"path":64,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Ferrors.md",323,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Ferrors.md",{"path":68,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fexamples.md",4175,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Fexamples.md",{"path":72,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fin-memory-caching.md",2527,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Fin-memory-caching.md",{"path":76,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fredis-caching.md",2078,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Fredis-caching.md",{"path":80,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fsemantic-caching.md",1612,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenrouter-caching-strategy\u002Freferences\u002Fsemantic-caching.md",[84,91,98,105,112,120],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":19},"01M76R4WZQZAXGGXMQCA0FZ716","zustand-store-ts","Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state\u002Faction separation. Use when building React state management, creating global stores, or implementing reactive state patterns with Zustand.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzustand-store-ts\u002FSKILL.md",[],[],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":19},"01M76R4T9KENDH7FENGZQHBW4G","zustand-store-creator","Zustand Store Creator - Auto-activating skill for Frontend Development.\nTriggers on: zustand store creator, zustand store creator\nPart of the Frontend Development skill category.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzustand-store-creator\u002FSKILL.md",[],[],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":19},"01M76R3YWN84B7SANJ52X799ZE","zero-trust-config-helper","Zero Trust Config Helper - Auto-activating skill for Security Advanced.\nTriggers on: zero trust config helper, zero trust config helper\nPart of the Security Advanced skill category.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzero-trust-config-helper\u002FSKILL.md",[],[],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":19},"01M76R3HNSV2AEYSKHM915GJ58","zapier-integration-helper","Zapier Integration Helper - Auto-activating skill for Business Automation.\nTriggers on: zapier integration helper, zapier integration helper\nPart of the Business Automation skill category.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzapier-integration-helper\u002FSKILL.md",[],[],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":19},"01M76R3DJSKAT4FA7DV4BF3GCE","zai-cli","Execute z.AI CLI providing vision, search, reader, and GitHub exploration via CLI and MCP.\nUse when user needs image\u002Fvideo analysis, OCR, UI-to-code conversion, error diagnosis,\nreal-time web search, web page to markdown extraction, or GitHub code exploration.\nTrigger with phrases like \"analyze this image\", \"search the web for\", \"read this page\",\n\"explore this repo\", or \"use zai\". Requires Z_AI_API_KEY.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzai-cli\u002FSKILL.md",[],[],{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":19},"01M76R2KAM699XE9AJVAWE4H2E","yt-research","Research competitor YouTube channels, niches, and trending topics for your content strategy.\nUse this skill whenever the user says \"research channels\", \"analyze competitors\", \"find trending topics\",\n\"niche analysis\", \"competitive research\", \"what are other creators doing\", \"scrape YouTube channels\",\nor wants to understand the competitive landscape for a specific tool or topic area. Use when working with yt research. Trigger with 'yt', 'research'.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fyt-research\u002FSKILL.md",[],[]]