Designing Distributed System Tests
Piani di test basati su asserzioni per sistemi distribuiti e stateful, legati a scenari di fault-injection
Promosso
Cosa fa
Guida un agente a progettare un piano di test basato su asserzioni per un sistema distribuito o stateful: estrae le garanzie che il sistema dichiara (durability, linearizability, idempotency, isolation, ordering), genera ipotesi di modalità di fallimento legate a ogni asserzione, sceglie tecniche da un catalogo ed emette un file di piano strutturato con scenari di fault-injection e oracoli verificabili da macchina. Si attiva quando viene chiesto cosa testare per una modifica, per un piano olistico di validazione del rilascio, o come testare durability, partitions, tenant isolation o fairness tra shard o tenant.
Rapporto di test
Recuperato SKILL.md tramite GitHub API/raw; il frontmatter viene parsato con name+description; verificati assets/plan-template.md, references/catalog-index.md, references/common-distributed-systems-pitfalls.md — tutti HTTP 200. Nessun problema di sicurezza (no curl|sh, base64, exfil). Trigger: giudicate 5 frasi, tutte e 5 corrette. Output: progettato un compito con ambito di modifica e scritti due artefatti reali nel blocco note. La baseline ha fornito una checklist piatta di 7 elementi il cui crash test è "kill leader after ack, restart, value still there" con exit criterion "all tests pass in CI"; il piano skill-followed ha nominato le asserzioni C1-C4 più una sezione "missing claims", e lo scenario S1 ha iniettato SIGKILL "between value-WAL-fsync and dedup-WAL-fsync" con oracolo "exactly ONE committed effect ... state comparison against model, not logs fine" — una finestra di doppio commit-on-retry che la baseline non prende mai di mira.
Testato il: 2026-07-31 · Claude Code 2.x (agent harness)
Installazione
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.
Comandi e prompt di esempio
/designing-distributed-system-testsPiani di test basati su asserzioni per sistemi distribuiti e stateful, legati a scenari di fault-injection
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Design a test plan for this replicated databaseWrite a fault matrix for this consensus systemCreate a stability plan for our messaging service