
Habilidades de agentes de IA para pruebas de sistemas distribuidos
Dos habilidades que ayudan a un agente de codificación con IA a diseñar pruebas significativas, ejecutarlas y explicar los resultados para sistemas que almacenan datos o se ejecutan en múltiples procesos o máquinas.
Comienza con una promesa del producto —como "una vez que el guardado tiene éxito, los datos siguen ahí después de un reinicio"— y conviértela en pruebas que tu agente pueda ejecutar y verificar. Usa estas habilidades para bases de datos, colas, motores de flujo de trabajo y servicios donde los reintentos, las solicitudes simultáneas o los fallos podrían perder o duplicar datos. Un servicio que se ejecuta en una sola máquina también puede beneficiarse.
No necesitas ser un experto en pruebas. Describe la funcionalidad y lo que debería seguir siendo cierto; la habilidad de diseño ayuda a elegir las pruebas y explicar por qué importan.
Las habilidades son instrucciones en Markdown, plantillas y material de referencia. Tu agente de codificación las sigue usando las herramientas de prueba y el entorno de ejecución de tu proyecto. Este repositorio no incluye un ejecutor de pruebas de bases de datos ni un clúster listo para usar.
| Habilidad | Se le proporciona | Produce |
|---|---|---|
| Diseñar pruebas | Un código base y el cambio o funcionalidad que deseas probar | Un plan que explica qué probar, cómo verificarlo y cuánta prueba realizar |
| Ejecutar pruebas | Un plan y un entorno de pruebas | Resultados, registros y datos de respaldo, pasos para reproducir fallos e un informe |
Puedes usar la habilidad de diseño por sí sola. La ejecución es un paso separado que lee el plan guardado, de modo que puedes revisar el trabajo y su costo antes de ejecutarlo.
Comienza con el inicio rápido, la configuración de Codex o la guía del entorno de pruebas.
Pega esto en tu agente de codificación:
Read https://raw.githubusercontent.com/shenli/distributed-system-testing/main/INSTALL.md
and follow the instructions to install or update
distributed-testing-skills for this agent.
La guía de instalación utiliza un checkout compartido en
~/.local/share/distributed-testing-skills/ y configura punteros o
enlaces simbólicos para tu agente. Reutiliza el mismo prompt para actualizar. Las rutas explícitas
en los prompts a continuación también te permiten cargar una skill sin descubrimiento automático.
Sustituye tu ruta de instalación si elegiste una ubicación diferente.
Para Claude Code, el repositorio también incluye una opción de instalación mediante plugin:
/plugin marketplace add shenli/distributed-system-testing
/plugin install distributed-testing-skills@distributed-testing-skills
Inicia tu agente en el repositorio que quieres probar. Para un cambio específico:
Use ~/.local/share/distributed-testing-skills/skills/designing-distributed-system-tests/SKILL.md
Design a test plan for the current branch's changes to adding log entries,
retrying failed requests, and recovering after a crash.
Reuse the existing tests and setup instructions.
Save the plan to docs/testing-plans/append-recovery.md.
Sustituye la funcionalidad de ejemplo por la tuya. Para una revisión más amplia, solicita un plan a nivel de proyecto y nombra las partes que se deben incluir. Ese modo revisa las pruebas existentes e identifica la cobertura faltante en todo el sistema en lugar de un solo cambio.
Revisa las promesas que se verifican, las pruebas propuestas, las herramientas requeridas y los tiempos de ejecución. Un error tipográfico en la documentación o un cambio de impacto similarmente bajo debería recibir una recomendación de pruebas ligera en lugar de un plan de pruebas distribuido.
Use ~/.local/share/distributed-testing-skills/skills/executing-distributed-system-tests/SKILL.md
Run the small initial checks (the smoke tier) from
docs/testing-plans/append-recovery.md against this project's local test
environment. Keep temporary test scripts and results under
./test-sessions/. Use default mode; do not modify project source files.
Report what ran, what failed, and what remains untested.
La habilidad de ejecución descubre las herramientas existentes, pregunta qué hay disponible en tu entorno y luego verifica los requisitos. Las dependencias faltantes o los fallos simulados ineficaces deben notificarse en lugar de contarse silenciosamente como pruebas exitosas. Empieza poco a poco y luego solicita las ejecuciones más largas y exhaustivas definidas en el plan.
Consulta USAGE.md para obtener indicaciones detalladas, rutas de salida personalizadas y el modo de autor.
Ejecuta la indicación de instalación anterior en Codex. La guía enlaza ambas carpetas de habilidades desde el checkout compartido en ~/.agents/skills/, donde Codex las descubre. Para una instalación solo de proyecto, usa el .agents/skills/ de ese proyecto en su lugar. Estas ubicaciones y la compatibilidad con enlaces simbólicos se describen en la
documentación oficial de habilidades de Codex.
Abre el proyecto que quieres probar. En Codex CLI o en la extensión del IDE, usa
/skills para comprobar que aparecen ambas habilidades, o escribe $ para seleccionar una. Si una habilidad recién instalada no aparece, reinicia Codex. También puedes usar las indicaciones explícitas con ruta de archivo del inicio rápido. Consulta la
guía oficial de invocación.
Por ejemplo, pide a Codex que diseñe un plan:
$designing-distributed-system-tests
Design a test plan for this project's retry and recovery behavior.
I have Docker locally and can run disposable containers.
Start with normal operation, then simultaneous requests and restarts.
Save the plan to docs/testing-plans/retry-recovery.md.
Después de revisarlo, ejecute las pruebas iniciales:
$executing-distributed-system-tests
Run the smoke tier of docs/testing-plans/retry-recovery.md.
Use default mode and save results under ./test-sessions/.
Docker is available; use the project's documented container setup.
Report any missing tools or permissions and which tests they prevent.
Instalar una skill proporciona instrucciones, no Docker, acceso remoto ni un clúster de pruebas. Codex debe poder alcanzar el entorno donde se ejecutarán los comandos. Para pruebas remotas, proporciónale los hosts de prueba, tu método de conexión existente y los comandos de configuración del proyecto. Si el acceso no está disponible, aún puede diseñar el plan, pero no puede informar que se ejecutaron pruebas remotas.
Usa la configuración más pequeña que pueda responder a tu pregunta. Estos son puntos de partida para adaptar a tu aplicación, no requisitos de hardware ni recetas de despliegue incluidas.