B. Quality, Speed & Resilience · Prompt 14
Slow Network, Offline & API Failure Handling
Get the free PDFWhy it matters
Apps are often tried on fast Wi-Fi. Users are on crowded mobile networks, and third-party APIs fail more often than a demo suggests.
Modeled on
Browser network throttling and Lighthouse's throttled mobile audits.
How to run this prompt
- Switch to a mode that does not edit files. In Cursor that is Ask or Plan. In Claude Code that is Plan mode.
- Paste the audit prompt. Wait for the report. It must stop and ask which IDs to fix.
- Read the report. Keep the IDs you agree with.
- Switch to a mode that can edit. Paste the fix prompt and the IDs you chose.
- Switch back to the read-only mode and paste the same audit prompt again. Confirm those IDs are gone.
- Cursor: audit in Ask mode or Plan mode. Fix in Agent mode.
- Claude Code: audit in Plan mode (Shift+Tab cycles to it). Fix in Normal mode, which can edit.
- Any other tool: audit in Chat, Discuss, or Plan mode, whichever answers without editing files. If the tool has no such mode, the prompt itself forbids edits. Fix in the mode that is allowed to edit files.
The audit prompt
MODE: AUDIT ONLY. Do not create, edit, or delete any file. Do not run commands
that change anything: no installs, migrations, git commits, deploys, or "--fix" flags.
If your tool has an Ask, Plan, Chat, or Discuss mode, use it for this prompt.
Before you start:
- Tell me the stack you detect (framework, language, database, auth, hosting,
payment provider) and which folders you will review.
- If a check below does not apply to this stack, write "Not applicable" and why.
- If you can run read-only commands, run the ones listed. If you cannot, list them
so I can run them and paste the output.
Slow Network, Offline & API Failure Handling: what to check
Review behavior when the network is slow, drops, or an API fails. Do not need a device. Read the client and server code.
1. List network calls and say whether each has a timeout, an error path, and a user-visible failure. A call with no timeout can hang.
2. Check retries. They should apply to safe, idempotent calls, use backoff, and stop after a maximum. Retrying a payment or a create on every failure can duplicate it.
3. Check screens for loading, empty, error, and retry. Flag a spinner with no timeout and a blank region when the request fails.
4. Check submit, upload, payment, and save when the connection drops: is data lost, can the action run twice, and is the user told?
5. If a payment, maps, email, or AI provider errors, does the app show a degraded path or does the whole page throw?
6. Note large bundles, unoptimized images, and request waterfalls that would dominate on a slow mobile link. Cite the component, not a guessed millisecond score.
7. For a PWA or mobile client, say what is cached offline and what the UI says when offline. If there is no service worker, say so.
8. Write a manual test plan using the browser's Slow 4G and Offline modes, and by blocking one API host. Say what I should see at each step. Do not claim you ran it unless you did.
Evidence rules:
- Every finding cites a file path and line number, or the exact command output used.
- Mark each finding Confirmed (seen in the code) or Needs manual check (depends on
something outside the repo, such as a dashboard setting or production data).
- Never print a full secret. Show the first 4 characters and the location only.
- If you are not sure, say so. Do not invent files, settings, or results.
Severity: Critical = exploitable now, or leaks real data or money. High = serious
with little effort. Medium = weakens defenses or needs a second bug. Low = hygiene.
Report:
- Summary: count of findings by severity.
- Table: ID | Severity | Confirmed? | Finding | Evidence | Why it matters | Suggested fix | Effort
(IDs for this prompt use the prefix P14, for example P14-1, P14-2.)
- Checked and fine: what you verified is already OK.
- Could not check: what I need to look at myself, and where.
Then stop. Do not fix anything. Ask me which IDs I want fixed.