Caching strategy
Skill AtulPurohit/Antigravity-Awesome-Skills/skills/caching-strategy
Design comprehensive multi-layer caching strategies across CDN, application, and database tiers for maximum performance.From its SKILL.md
npx -y skills add AtulPurohit/Antigravity-Awesome-Skills --skill caching-strategyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.1 KB, 391 tokens by cl100k_base, as published. Nobody here has run it
Caching Strategy Designer
Purpose
Design and implement caching at every layer to dramatically reduce latency and database load.
Cache Layers
- Browser Cache: Static assets, API responses with Cache-Control headers
- CDN Cache: Cloudflare/CloudFront for global edge caching
- Application Cache: Redis/Memcached for computed data
- Database Cache: Query result cache, connection pooling
Cache-Control Headers
# Immutable static assets (hash in filename)
Cache-Control: public, max-age=31536000, immutable
# API: cache for 60s, stale-while-revalidate for 5 min
Cache-Control: public, s-maxage=60, stale-while-revalidate=300
# Private user data
Cache-Control: private, no-cache
# Never cache
Cache-Control: no-store
Application Cache Pattern
# Cache-aside with stampede prevention
def get_cached(key: str, ttl: int, fetch_fn: callable):
if value := cache.get(key):
return value
# Atomic lock prevents stampede
with cache.lock(f"lock:{key}", timeout=10):
# Double-check after acquiring lock
if value := cache.get(key):
return value
value = fetch_fn()
cache.set(key, value, ttl)
return value
Invalidation Strategies
- TTL-based: Expire after fixed time (simple, may be stale)
- Event-driven: Invalidate on data change (accurate, complex)
- Tag-based: Group related cache items, flush by tag
- Cache-busting: Change URL/key when content changes
Outputs
- Caching strategy document
- Cache-Control header configuration
- Application cache implementation
- Invalidation event handlers
- Cache monitoring metrics
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.