Designing Distributed System Tests
Planes de prueba basados en afirmaciones para sistemas distribuidos y con estado, vinculados a escenarios de inyección de fallos
Probado · Funciona
Qué hace
Guía a un agente para diseñar un plan de prueba basado en afirmaciones para un sistema distribuido o con estado: extrae las garantías que el sistema afirma (durabilidad, linealizabilidad, idempotencia, aislamiento, ordenación), genera hipótesis de modos de fallo vinculadas a cada afirmación, selecciona técnicas de un catálogo y emite un archivo de plan estructurado con escenarios de inyección de fallos y oráculos verificables por máquina. Se activa cuando se pregunta qué probar para un cambio, para un plan holístico de validación de lanzamiento, o cómo probar la durabilidad, particiones, aislamiento de inquilinos o equidad entre shards o inquilinos.
Informe de la prueba
Se obtuvo SKILL.md a través de GitHub API/raw; el frontmatter se analiza con name+description; se verificaron assets/plan-template.md, references/catalog-index.md, references/common-distributed-systems-pitfalls.md — todos HTTP 200. Sin problemas de seguridad (sin curl|sh, base64, exfil). Activación: se juzgaron 5 frases, todas 5 correctas. Salida: se diseñó una tarea con alcance de cambio y se escribieron dos artefactos reales en el bloc de notas. La línea base dio una lista de verificación plana de 7 elementos cuya prueba de choque es "kill leader after ack, restart, value still there" con criterio de salida "all tests pass in CI"; el plan siguiendo la habilidad nombró las afirmaciones C1-C4 más una sección de "missing claims", y el escenario S1 inyectó SIGKILL "between value-WAL-fsync and dedup-WAL-fsync" con el oráculo "exactly ONE committed effect ... state comparison against model, not logs fine" — una ventana de doble commit en reintento que la línea base nunca apunta.
Probado el: 2026-07-31 · Claude Code 2.x (agent harness)
Instalación
git clone --depth 1 https://github.com/shenli/distributed-system-testing.git /tmp/designing-distributed-system-tests-src mkdir -p ~/.claude/skills cp -R /tmp/designing-distributed-system-tests-src/skills/designing-distributed-system-tests ~/.claude/skills/designing-distributed-system-tests # Companion skill in same repo: skills/executing-distributed-system-tests (runs the plan this one emits). # Plugin marketplace alt: repo ships .claude-plugin/marketplace.json (plugin "distributed-testing-skills"). # No external deps to produce a plan; executing the plan needs docker/netem/etc. per the plan's env section.
Comandos y prompts de ejemplo
/designing-distributed-system-testsPlanes de prueba basados en afirmaciones para sistemas distribuidos y con estado, vinculados a escenarios de inyección de fallos
Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):
Design a test plan for this replicated databaseWrite a fault matrix for this consensus systemCreate a stability plan for our messaging service