AGENT
Use when designing a new HTTP/GraphQL API or changing an existing one — modeling resources, defining endpoint contracts, choosing status codes, pagination,…
A complete summary of a hypothetical PR, in the standard format. Use this as the model for tone, structure, and the Summary → Risk areas → Test plan flow. Note how the summary leads with the security-relevant change, surfaces a buried config change the description didn't
$ npx -y skills add vanara-agents/skills --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
A complete summary of a hypothetical PR, in the standard format. Use this as the model for tone, structure, and the Summary → Risk areas → Test plan flow. Note how the summary leads with the security-relevant change, surfaces a buried config change the description didn't
A complete summary of a hypothetical PR, in the standard format. Use this as the model for tone, structure, and the Summary → Risk areas → Test plan flow. Note how the summary leads with the security-relevant change, surfaces a buried config change the description didn't mention, and turns every risk area into a concrete test-plan item.
---
**Summary** Introduces a Redis-backed read-through cache for `GET /products` and `GET /products/:id`, added in `services/productCache.js` and wired into `routes/products.js` (+264/-31 across 7 files). The PR is described as "add caching," but it also changes `getProduct()` to swallow cache-miss errors and fall through to the DB silently (`services/productCache.js:44`) and bumps the connection-pool size in `config/db.js:12` from 10 to 50 — both worth review alongside the cache logic. First thing to look at: the cache-invalidation path on writes, which is where read-through caches usually go wrong.
**Risk areas**
DB. Good for availability, but it means a misconfigured Redis degrades silently to full DB load with no signal. Confirm this path at least logs/metrics the fallback.
`products:list` aggregate key, so the list endpoint can serve stale data after an edit.
sustain 50 connections per instance × instance count before merging.
invalidation-on-write. The staleness risk above is currently unproven.
**Test plan**
data (currently untested; covers the stale-list risk).
logged/metered (not silent).
reverted to a justified value.
---
Why this summary works: it summarizes the branch at HEAD (not the last commit), it does not claim anything the diff doesn't show (it says the fallback "means" DB load, anchored to line 44, rather than asserting Redis is misconfigured), it surfaces the two changes the description omitted, and every risk area has a matching test-plan item — including the missing invalidation test.
🐒 Free agents, skills & packs for Claude Code One subscription. An army of Claude Code agents. 30 production-grade agents, skills, and packs for Claude Code — free, Apache-2.0, install with one command.
Repo: vanara-agents/skills
Use when designing a new HTTP/GraphQL API or changing an existing one — modeling resources, defining endpoint contracts, choosing status codes, pagination,…
This shows how the api-designer agent reviews a flawed draft. Findings are severity-ranked so the implementer fixes the contract-breakers first. Severity…
The contract is the deliverable. Express it as an **OpenAPI 3.1** document so it is human-readable *and* machine-checkable. This reference covers how to…
Run through this before declaring an API contract done. It is ordered the way you should *design*: resources first, cross-cutting rules last. Every box is a…
APIs are forever once published: a consumer you've never met may depend on any field you expose. Design so you can **add without breaking**, and version…
Copy-paste templates for leaving review comments. Keep each comment to one finding: an anchor, the problem, and the fix.