audit-resilience
Skill9 starsChanged 43 days agoMITView on GitHub
Read-only production-resilience audit: timeouts, bounded retries, circuit breakers, idempotency, rate limits, graceful degradation, PII in logs. Use when "resilience audit" or "will this survive real traffic?".
1 other project uses a version of this.
Adopted by
Most recently taken up by
- kensaurus/skillsword for word, first seen Oct 1, 2026
Other versions1 project uses a version of this.
Word for word · 1
- kensaurus/skills★ 9100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository165 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/approved-plan-execution.mdcCursor rule
- .cursor/rules/skill-workflows.mdcCursor rule
- .cursor/rules/verification-before-completion.mdcCursor rule
- llms.txtllms.txt
- audit-accessibilitySkill
- audit-agent-speedSkill
- audit-analyticsSkill
- audit-auth-flowsSkill
- audit-backend-architectureSkill
- audit-bundle-sizeSkill
- audit-cicdSkill
- audit-codemod-safetySkill
- audit-code-qualitySkill
- audit-code-reviewSkill
- audit-db-schemaSkill
- audit-doctrineSkill
- audit-env-paritySkill
- audit-fe-apiSkill
- audit-gate-logicSkill
- audit-i18nSkill
- audit-infra-costSkill
- audit-langfuse-llmSkill
- audit-llm-securitySkill
- audit-monetization-iapSkill
- audit-payment-systemSkill
- audit-performanceSkill
- audit-realworldSkill
- audit-registry-listingSkill
- audit-responsiveSkill
- audit-securitySkill
- audit-skill-conflictsSkill
- audit-ui-statesSkill
- audit-uiux-design-systemSkill
- audit-ux-journeysSkill
- audit-uxSkill
- backend-db-performanceSkill
- backend-error-handlingSkill
- backend-observabilitySkill
- backend-patternsSkill
- backend-realtimeSkill
- burndown-fullSkill
- complete-everythingSkill
- data-pipelineSkill
- data-visualizationSkill
- debug-errorSkill
- debug-fe-be-integrationSkill
- debug-sentry-monitorSkill
- deploy-npmSkill
- deploy-verifySkill
- design-apiSkill
- design-canvasSkill
- design-emailSkill
- design-frontendSkill
- design-generative-artSkill
- design-mobile-firstSkill
- design-motionSkill
- design-prdSkill
- design-systemSkill
- design-themeSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 62
Follow /research: current-year resilience patterns for the detected stack (retry/backoff libraries, circuit-breaker options, …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
audit-resilience — The "80% Problem" Non-Functional Audit
Degree of freedom: MIXED — Phases 1 and 4 [HIGH freedom]; Phase 0/2
surface greps [LOW freedom — run exactly].
Agents nail the happy path (CRUD, passing tests) and silently skip what decides whether code survives real traffic: a webhook with no idempotency key double-charges; a fetch with no timeout hangs the request; a retry storm with no backoff takes down the dependency; PII lands in plaintext logs. This audit finds those gaps before production does.
Read-only. This skill inventories resilience gaps and hands each to the right fix skill. It does not change code.
How to reason
- Observe — quote the call/mutation and whether timeout, retry+jitter, or idempotency key exists
- Interpret — hang, retry storm, double-write, or silent catch?
- Classify — Implemented / Partial / Missing (per matrix row)
- Severity — payment/webhook without idempotency, or no timeout on a live path = Critical
Worked example
Observe:
POST /api/webhooks/stripeinserts a payment with noIdempotency-Key/ dedupe (app/api/webhooks/stripe/route.ts:44);fetchto Stripe has nosignal/ timeout. Interpret: Stripe retry double-charges; a hung fetch exhausts the pool. Classify: idempotency Missing; timeout Missing. Severity: Critical. Finding: webhook | no idempotency + no timeout | Critical |backend-patterns
Phase 0 — Detect the surfaces [LOW freedom — run exactly]
# Outbound calls + clients
rg -n "fetch\(|axios|got\(|httpx|requests\.|HttpClient|ky\(" -g "*.{ts,tsx,js,py,go}" -l
# Mutations / writes / external effects
rg -n "prisma\.|\.insert\(|\.update\(|\.delete\(|supabase\.|INSERT|UPDATE|DELETE" -g "*.{ts,py,sql}" -l
# Webhooks / payments / queues
rg -n "webhook|stripe|paypal|queue|kafka|sqs|bull|cron|schedule" -g "*.{ts,tsx,js,py}" -l
# Logging (for PII / audit-log review)
rg -n "console\.(log|error)|logger\.|logging\.|print\(" -g "*.{ts,tsx,js,py}" -cRecord: HTTP clients, external services, mutation/webhook/payment paths, queue/cron jobs, and the logging approach. If there are no external calls or mutations (pure static site / library), note reduced applicability.
Phase 1 — Research current patterns [HIGH freedom]
Follow /research: current-year resilience patterns for the detected stack (retry/backoff
libraries, circuit-breaker options, idempotency-key conventions, the platform's rate-limit
primitives). Anchor to installed versions.
Phase 2 — Resilience matrix (per external call / mutation / endpoint) [HIGH freedom; greps LOW]
For each surface, mark Implemented / Partial / Missing with file:line:
| Concern | What to check | Why it matters |
| Timeout | Every outbound call has an explicit timeout | No timeout = hung requests exhaust the pool |
| Retry + backoff | Transient failures retried with exponential backoff + jitter, capped | Naive retries cause retry storms |
| Circuit breaker | Repeated downstream failure trips a breaker / stops hammering | Prevents cascading failure |
| Idempotency | Writes/webhooks/payments use an idempotency key or dedupe | Prevents double-charge / double-write on retry |
| Rate limiting | Public/expensive endpoints are rate-limited per client | Prevents abuse and cost blowups |
| Cancellation | Long/aborted requests are cancellable (AbortSignal/context) | Frees resources on navigation/timeout |
| Graceful degradation | Fallback/empty/cached path when a dependency is down | App stays usable, not white-screen |
| Error propagation | Failures surface as structured errors, not swallowed | Silent catch hides outages |
rg -n "timeout|AbortController|AbortSignal|signal:" -g "*.{ts,tsx,js}" -c # timeouts/cancellation
rg -n "retry|backoff|p-retry|exponential|jitter" -g "*.{ts,tsx,js,py}" -c # retry policy
rg -n "idempotenc|dedupe|Idempotency-Key" -g "*.{ts,tsx,js,py}" -c # idempotency
rg -n "rate.?limit|rateLimit|throttle|Ratelimit" -g "*.{ts,tsx,js,py}" -c # rate limiting
rg -n "catch\s*\([^)]*\)\s*\{\s*\}" -g "*.{ts,tsx,js}" # empty catch (swallowed errors)Phase 3 — Observability & sensitive-data handling [HIGH freedom; PII grep LOW]
| Concern | What to check |
| Audit logging | Sensitive/mutating actions (auth, payment, role change, delete) are logged with actor + timestamp |
| PII in logs | No emails/tokens/card data/passwords logged in plaintext; redaction in place |
| Structured errors | Errors carry codes/context (not bare strings); correlation/trace id present |
| Health/timeouts surfaced | Failures are observable (Sentry/logs), not only user-visible |
rg -n "password|token|secret|email|ssn|card|cvv" -g "*.{ts,tsx,js,py}" | rg -n "log|console|print"Phase 4 — Prioritized report (read-only) [HIGH freedom]
## Resilience Audit — [repo] — [date]
**Surfaces:** [N outbound calls · M mutations · K webhooks/payments · queues/cron]
### Critical (data loss / double-charge / outage risk)
| Gap | Surface | file:line | Fix via |
|---|---|---|---|
| No idempotency key on payment webhook | /api/webhooks/stripe | ... | backend-patterns |
### High / Medium
| Concern | Implemented | Partial | Missing | Fix via |
|---|---|---|---|---|
| Timeouts | [n] | [n] | [n] | backend-error-handling |
| Retry+backoff | ... | ... | ... | backend-patterns |
| PII in logs | ... | ... | ... | backend-observability |
### Recommended order
1. [Critical idempotency/timeout gaps] → backend-patterns / backend-error-handling
2. [Rate limiting + LLM cost] → plan-llm-cost-guardrails
3. [Observability + PII redaction] → backend-observabilityForbidden: claiming production-readiness from passing tests alone; treating an empty
catch as handled; skipping the payment/webhook idempotency check.
Self-critique before reporting [LOW freedom — do not skip]
- Evidenced —
file:lineon the call, not "probably has a timeout" - Reproducible — the Phase 0/2 grep still hits that surface
- Severity justified — Critical = double-charge / data-loss / pool-exhaust
- Right owner — implement via
backend-patterns/backend-error-handling; LLM quota →plan-llm-cost-guardrails - No-false-safety — passing tests ≠ production-ready; empty
catch≠ handled
Related
backend-error-handling— implement timeouts, retries, structured errors, fallbacksbackend-patterns— circuit breakers, idempotency, queue/retry architecturebackend-observability— audit logging, PII redaction, tracing, alertingplan-llm-cost-guardrails— rate limiting + quota abuse for LLM/expensive endpointsplan-input-validation— the trust-boundary validation side of hardeningplan-data-integrity— destructive-op and data-loss protectionstest-load— prove timeouts/retries under concurrent trafficaudit-ui-states— front-end empty/error/offline renderingcomplete-everything— close the audited gaps to done with verification
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

