M (@onlymoein) header
M (@onlymoein) profile picture

Building https://xitter.gq/t.co/TmUKm0blW0

Nearby
Joined December 2025
Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)Photo by M (@onlymoein)
Pinned Tweet
Liquid Glass 27 for the web, as React components. Left is native iOS 27. Right is liquidglass. npm install @onlymoein/liquidglass github.com/onlymoein/liquidg…
5
14
1
201
14,901
Your dashboard sends no-cache. Safe at the CDN? Not quite. Shared caches collapse concurrent identical requests, even on no-cache. Per-user pages need private. Broken: Cache-Control: no-cache Fixed: Cache-Control: private, no-cache + ETag What does your account page send?
3
25
Want to know which of your routes read cookies or sessions before you give them a TTL? npx skills add onlymoein/master-cache-skill Tomorrow: what happens when a hot key expires under load.
6
The tempting fix is Vary: Cookie. Don't. With analytics cookies in the mix it's effectively Vary: *, so nothing hits. Send private instead, or strip cookies at the edge on public paths.
2
Only part of the page is per-user? Don't make the whole thing private. The skill splits it: a public shell that can cache, and a private island (client fetch, PPR, 'use cache: private', ESI). It also strips Set-Cookie from the shell.
11
My homepage budget was 60s. The first caching plan said: app 60 + edge 60 + SWR 300 = 420s worst case Tiers stack when each refills from a stale one below. The validator caught it. Fixed: edge 20 + SWR 10 + app 30 = 60s. Ever added TTLs across tiers?
2
102
Other checks that fail a plan: shared cache on a personalized route, no invalidation path, immutable without a versioned URL, a cached POST.
7
Why they stack: the edge serves a 60s-stale page, then the app refills from its own 60s-stale copy, then SWR keeps serving after that. Worst case is the sum, not the max. After the fix the plan validated: 0 errors, 0 warnings.
1
11
Run the same check on your plan: npx skills add onlymoein/master-cache-skill Then ask: "validate this caching plan against the staleness budget." Tomorrow: what the skill does when a route might depend on who's asking.
8
iOS 27 Liquid Glass, now on the web. Drag it, tune it, press every control — none of it is a video. onlymoein.github.io/liquidgl… npm install @onlymoein/liquidglass
2
7
71
3,018
master-cache-skill isn't another tool to learn. It's a plain Agent Skill, so it runs in the agent you already use. I ran the one-line install: it copied to 17 agents (Cursor, Amp, Antigravity, Cline and 13 more). Claude Code gets it as a plugin. Which agent do you code in?
3
2
221
Same skill in every agent, so the same checks back it: 36 unit tests, a linter and the plan validator, run in CI on Python 3.9 and 3.13. The scripts use only the Python standard library. Everything except the optional live header probe runs offline.
1
20
Install it where you already work: npx skills add onlymoein/master-cache-skill Claude Code: /plugin marketplace add onlymoein/master-cache-skill /plugin install caching-strategy@master-cache-skill Tomorrow: the validator that caught a 420s worst case on my 60s budget.
13
Your LLM prompt cache can miss on every request. It's a byte-exact prefix match. One timestamp, request ID or user name in the system prompt and every request pays full price. master-cache-skill has your agent move it to the end of the prompt. What's in your system prompt?
2
2
92
Sneakier breakers: json.dumps without sort_keys=True, per-user tool lists, and switching models mid-chat (caches are model-scoped). Semantic caching comes last on its list, only for public, non-personalized answers.
1
9
Ask your agent "why is my prompt cache missing?" after installing: npx skills add onlymoein/master-cache-skill
7