# Prompt Caching Review

Prompt Caching Review is a tested SKILL.md that reviews ONE Claude API request (tools, system, messages, the cache marks, the model, the sizes and how often it is sent) for the five reasons its prompt cache does not pay off, and lists only those, one line each with a fixed code, the place, why the cache misses and the fix - or exactly No findings; an agent buys it once for $0.01 over x402.

- Page: https://aiskills402.com/skills/prompt-caching-review
- Category: Agents & Protocols (https://aiskills402.com/categories/agents)
- Price: $0.01 once, USD-priced, paid in USDC on Base over x402. Price as loaded on this page. The 402 response your agent receives is authoritative.
- Version: 1.0.0
- Card (JSON): https://api.aiskills402.com/v1/skills/prompt-caching-review

## Use it when

Reviews ONE Claude API request (tools, system, messages, the cache marks, the model, the sizes and how often it is sent) for the five reasons its prompt cache does not pay off, and lists only those, one line each with a fixed code, the place, why the cache misses and the fix - or exactly No findings. It catches text that changes on every call (a clock, a request id, a user name) at or before the cache mark, a large stable prefix with no mark, a marked prefix shorter than the model's minimum, tools or system edited between calls, and calls spaced further apart than the cache lifetime. It leaves out the safe look-alikes, such as a timestamp placed after the last mark or a mark on the latest user turn. Use to review a request before an agent ships, to find out why prompt caching shows zero cache read tokens, or to gate a change to a system prompt or a tool list.

## Not for

Estimating cache savings or prices, reading real usage numbers from past calls, other model providers, retry and fallback logic, and the code that builds the request. It judges only the request text, the marks and the timing that you paste.

## Tested, honestly

Tested 2026-10-19.

- Strong model (claude-sonnet-5-5 (Claude Code alias "sonnet")): Right on all 3 cases, read by hand. It named the clock in the system block as one line and left out the request id that sits after the mark. It named the tool removed between two calls as one line and did not flag the mark on the latest user turn. On the clean chat, with a timestamp after the only mark, it answered exactly No findings.
- Weak model (claude-haiku-5-5 (Claude Code alias "haiku")): Right on all 3 cases, read by hand. It gave the same single line for the clock in the system block and the same single line for the dropped tool, each with a fix, and answered exactly No findings on the clean chat. It spent far more output tokens than Sonnet on the planted cases but stayed inside the format.

Note: Light test: three cases (two planted, one clean), one run per model; no comparison without the skill. The three inputs were written by us; each planted one carries a safe look-alike and neither has a comment pointing at the defect. Facts come from the public pages named in the notes, read on 19 October 2026; there are no owner-measured facts.

Full summary: https://aiskills402.com/skills/prompt-caching-review/tests

## Example

### English (claude-sonnet-5-5)

Before:

> Two consecutive requests of one chat session with a research assistant, model claude-sonnet-4-5, sent about 25 seconds apart. In each request the last block of the newest user message carries cache_control {"type": "ephemeral"}; nothing else is marked. Request 1 tools (3): web_search, summarize_page, export_report. About 900 tokens in all. system: one text block of about 2,800 tokens, no mark.…

After:

> PREFIX-EDITED — tools list, `export_report` removed in request 2 once the export quota is used up — a tool change invalidates the cache for the tools, system and messages, so request 2 cannot read the entry request 1 wrote — keep all three tool definitions in every request and have the app refuse export calls once the quota is used up

## What is in the file

- The answer
- How the cache works (as published on 19 October 2026)
- The codes
- How to read the request
- Rules
- Work in this order
- Short example

## Languages

English

## How to buy

Agent (HTTP):

1. GET https://api.aiskills402.com/v1/skills/prompt-caching-review/file without a payment header. The answer is 402 with a PAYMENT-REQUIRED header (x402 v2): exact amount, asset, network, recipient.
2. Sign `accepts[0]` with an x402 client (for example @x402/core + @x402/evm).
3. Repeat the GET with the signature in the PAYMENT-SIGNATURE header. The answer is 200 with the file, its sha256 and a re-download token.

Agent (MCP): https://mcp.aiskills402.com/mcp — free tools search_skills, get_skill, redownload_skill. Buying itself is over HTTP.

Full flow: https://aiskills402.com/docs

## The file

- Version: 1.0.0
- Size: 8.8 KB (9061 bytes)
- SHA-256: 108845880b549ca02189f5f721918cb670acdbeb0d365b9c29e98d1c71786fbb
- Updated: 2026-10-19
- New versions are free through your re-download token.

## Versions

### 1.0.0 (2026-10-19)

First release, written in the light-test batch of 19 October 2026 (three cases, price $0.01). The idea is ours; no foreign skill was opened, facts come from public pages (see notes/ideas.md). Output: one line per finding with a fixed code, or exactly `No findings.`

Test: three cases written by hand (a request with a clock in the system block, a session that drops a tool between two calls, and a clean chat), one run on Claude Sonnet and one on Claude Haiku, no run without the skill, no iteration on the skill text after the runs. `test/control.mjs` shows that the checks pass on the ideal answers and fail on realistic wrong ones. See `test-summary.json` for the verdicts read by hand.

## License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Terms: https://aiskills402.com/docs#license

## FAQ

### Might a timestamp placed after the last cache mark still hurt the cache?

It does not, so the skill stays silent about it. The next call compares only what lies up to the mark; whatever follows is billed as ordinary input. The same timestamp before the mark, or in the final block when the top-level automatic mark is used, is reported as a value that changes on every call.

### Which minimum lengths does it use?

The table that Anthropic published on 19 October 2026, copied into the skill with that date. A model that is not in the table gets no line about length, because the skill does not guess a number.

### What did the trial look like?

Two requests were planted with a defect and one was left clean: a clock written into the system block, a tool dropped between two calls of a session, and a stable chat whose only changing value comes after the mark. Claude Sonnet and Claude Haiku each took every request once, and by hand both read right on all of them.

### What does a request without problems get?

The single sentence No findings. and no commentary, which lets a script gate a change on the reply. A problem is a line made of a code, the part of the request, why the cache misses and the fix.

## Measurement limits

- Models other than the two named above were not run.
- Each verdict comes from the test run on the date shown; the skill may have changed since (check the version).
- Full test inputs are not published here, only short excerpts of our own text.
- Results on your own texts, languages and domains can differ.

Offer note: Paid in USDC (USD-pegged) over x402 by an AI agent; one-time.
