executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
serpapi-performance-tuningMeasure and improve SerpAPI latency, payload size, connection reuse, caching, and concurrency without breaking freshness or allowance controls. Use when search performance misses an SLO. Trigger with "tune SerpAPI performance".
Independent GitHub snapshot · Automated classification · Original documentation governs
Optimize the measured bottleneck while preserving result freshness, schema correctness, privacy, and account capacity.
Use Read, Glob, and Grep to inspect call paths and instrumentation, WebFetch to verify current cache and output features, and Write or Edit for measurements, cache layers, field selection, tests, and rollback controls.
For an exactly matching parameter set, SerpAPI may serve its one-hour server cache; cached searches are free and do not count toward monthly searches. no_cache=true forces a fresh fetch and must not be combined with async. JSON Restrictor reduces selected JSON fields, and output=md provides token-efficient Markdown for agent use.
Keep SERPAPI_KEY outside measurement labels, cache keys, traces, and profiles. Treat query values and result bodies according to their data classification.
Return the baseline profile, bottleneck, proposed and measured changes, cache-key/TTL contract, output format, capacity impact, canary results, and rollback thresholds.
| Condition | Response |
|---|---|
| Cache serves semantically wrong data | Disable the layer and expand the normalized key contract. |
no_cache raises usage unexpectedly | Remove it unless the freshness requirement explicitly justifies fresh fetches. |
| Parallelism causes 429s | Reduce admissions and coordinate through the shared limiter. |
| Field restriction breaks parsing | Restore required fields and lock the projection with fixtures. |
engine=google; baseline_p95=measured; bottleneck=payload; change=json-restrictor; freshness=1h; search_delta=0; schema-tests=pass; rollback=feature-flag
Observe a full traffic cycle and revisit the tuning decision when freshness, engine mix, or account capacity changes.