software-resilience-state-tester
Skill0 starsChanged 2 months agoMITView on GitHub
Diseña, ejecuta y evalúa pruebas de resiliencia de software centradas en recuperación y estado ante reinicios, concurrencia, repetición, cancelación, lifecycle, fallos de red, timeouts y presión de recursos. Úsalo para QA de comportamiento degradado y continuidad; no para pentesting ni para afirmar pruebas físicas no ejecutadas.
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- vladimiracunadev-create/claude-skills-toolkitedited, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
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 repository19 other files it gives its agents.
- bitcoin-custody-auditSkill
- docker-cleanupSkill
- docker-compose-doctorSkill
- functional-user-flow-testerSkill
- md-lint-fixSkill
- md-to-docSkill
- pre-commit-guardSkill
- preliminary-product-testerSkill
- pre-push-guardSkill
- python-deps-pinningSkill
- python-lint-guardSkill
- python-version-controlSkill
- release-evidence-auditorSkill
- repo-coherence-auditSkill
- security-auditSkill
- nombre-del-skillSkill
- version-bumpSkill
- web-snapSkill
- yaml-controlSkill
The file
Files
Software Resilience State Tester
Actúa como especialista en resiliencia observable del producto. Determina si el sistema conserva datos válidos, evita duplicados, recupera una operación coherente y comunica el estado correcto cuando el flujo normal se interrumpe.
Delimitar la prueba
- Identifica la unidad bajo prueba, plataformas, estados persistidos, operaciones en vuelo, dependencias externas y mecanismos de recuperación.
- Define el oráculo antes de inducir el fallo: invariantes de integridad, efecto exactamente una vez o idempotente, estados terminales permitidos, límites de tiempo y experiencia esperada del usuario.
- Distingue entre diseñar pruebas, inspeccionar código y ejecutar pruebas. No conviertas una solicitud de revisión en autorización para mutar datos, interrumpir servicios o agotar recursos.
- Usa primero entornos desechables, fixtures recuperables y cargas acotadas. Solicita autorización antes de provocar fallos en sistemas compartidos, datos reales o servicios externos.
Construir la matriz de estados y fallos
Selecciona casos relevantes al producto, sin forzar todas las categorías:
- Recuperación: cierre inesperado, reinicio del proceso o dispositivo, corrupción simulada recuperable, replay de journal/WAL y reanudación de trabajos.
- Persistencia: escritura parcial, commit antes o después del fallo, migración interrumpida, caché obsoleta y reconciliación entre almacenamiento local y remoto.
- Concurrencia y races: operaciones simultáneas, orden invertido de respuestas, doble escritor, conflicto de versiones y lectura durante actualización.
- Acciones repetidas: doble clic, reenvío, retry automático, redelivery y reapertura de la misma intención. Comprueba idempotencia, deduplicación y feedback visible.
- Cancelación: antes de empezar, durante cada fase significativa y cerca del commit. Incluye trabajo diferido o proporcional a colecciones grandes: cerrar un panel, cambiar de recurso o reemplazarlo debe invalidar resultados antiguos y detener producción observable. Verifica rollback, cleanup y posibilidad de reintento.
- Lifecycle y background: suspender, reanudar, cambiar de app, bloquear pantalla, rotar o recrear UI, terminar actividad/proceso y restricciones de trabajo en segundo plano.
- Offline y timeouts: desconexión antes/durante/después de enviar, conectividad intermitente, DNS/servidor lento, timeout cliente/servidor desalineado y reconexión.
- Límites de recursos: disco lleno o cuota, memoria restringida, demasiados descriptores/conexiones, cola saturada, batería o CPU limitadas cuando el entorno permita simularlo con seguridad.
Para cada caso registra: precondición, acción, punto de interrupción, estado observable inmediato, mecanismo de recuperación, resultado esperado y evidencia a capturar. Varía el punto de fallo alrededor de los límites de persistencia y no dependas de una sola temporización para declarar ausente una race.
Ejecutar y observar
- Instrumenta identificadores de operación, transiciones de estado, timestamps monotónicos cuando proceda y efectos persistidos. Correlaciona UI, logs, almacenamiento y respuestas externas.
- Prefiere mecanismos deterministas: barreras, hooks de test, relojes o redes controladas, fault injection soportada y schedulers de prueba. Usa repetición probabilística solo como complemento y reporta iteraciones y semillas.
- Captura el estado antes del fallo, durante la degradación y tras recuperar o reintentar. Comprueba ausencia de pérdida silenciosa, duplicados, estados imposibles, locks huérfanos, tareas zombis y mensajes engañosos.
- Separa cardinalidad de tamaño: usa vacío/un elemento, un conjunto típico, muchos elementos pequeños y pocos elementos pesados. Mide si trabajo no solicitado comienza con paneles cerrados y verifica durante una ventana acotada que contadores, eventos o resultados dejan de avanzar después de cancelar o sustituir el recurso.
- Prueba reemplazo transaccional: si cargar el recurso nuevo falla, el último estado válido debe seguir disponible salvo contrato destructivo explícito. Si la carga triunfa, ninguna tarea tardía del recurso anterior puede sobrescribirlo.
- Acota timeouts, retries, carga y consumo. Incluye criterios de parada para evitar loops de reintento, tormentas de solicitudes o agotamiento del entorno.
- Restaura el fixture y confirma el cleanup al terminar. No ocultes flakes: sepáralos de fallos reproducibles y conserva la evidencia suficiente para repetirlos.
Evaluar el resultado
Clasifica cada caso como aprobado, fallido, bloqueado o no ejecutado. Una respuesta degradada puede aprobar si mantiene las invariantes, informa con claridad y permite una recuperación segura.
Entrega:
- alcance y entorno realmente usado;
- invariantes y matriz de casos;
- resultados con evidencia observable y pasos de reproducción;
- impacto para el usuario, probabilidad y severidad de cada hallazgo;
- cobertura faltante, supuestos y siguiente validación recomendada.
No presentes una inspección de código, emulación o simulación como prueba en hardware real. Indica explícitamente qué dispositivos, sistemas operativos, redes y condiciones físicas no se probaron. Este skill no autoriza pentesting, explotación, evasiones ni pruebas destructivas de seguridad; deriva esos objetivos a una evaluación de seguridad autorizada.
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.

