CommunityProgramación y desarrollogithub.com

choism4/oh-my-demo

Crea demostraciones de producto veraces y repetibles en ramas reales de la aplicación.

¿Qué es oh-my-demo?

Oh My Demo es una skill para agentes de IA (como Claude Code, Cursor o Codex) que permite grabar demostraciones de producto auténticas y repetibles directamente desde la aplicación real, eliminando la necesidad de postproducción. La skill actúa como una capa de ensayo y configuración sobre el código base, preparando el estado inicial, las señales del operador, el ritmo, los datos de prueba y la ruta de reinicio para que el usuario pueda presionar 'grabar' y completar el recorrido sin cortes ni fallos. Soporta cualquier framework web o de interfaz de usuario; el agente inspecciona el repositorio, crea una rama aislada, ejecuta un CLI incorporado para inicializar un manifiesto de verdades (clasificando cada afirmación como real, simulada o de operador) y verifica que al menos el 80% del comportamiento sea real. La skill también incluye diagnósticos, validación de activos, repetición de tomas y una prueba final de aislamiento en producción, todo documentado en referencias detalladas para adaptadores, esquemas de manifiesto y ensayos.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add choism4/oh-my-demo

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Oh My Demo

Graba la aplicación real de una sola toma. Omite la postproducción.

Trata esta skill como una capa de ensayo y configuración sobre la aplicación principal, no como un generador de aplicaciones simuladas. Prepara el estado inicial, las señales del operador, el ritmo, los datos de prueba declarados y la ruta de reinicio para que el usuario pueda presionar grabar y completar el recorrido sin tener que cortar después de fallos. Preserva la UI de producción, la navegación, los comandos, el estado local y la lógica empresarial disponible. Reemplaza solo la frontera más pequeña, lenta, costosa, remota, inestable o inacabada necesaria para una grabación fiable.

Flujo predeterminado

Resuelve SKILL_ROOT al directorio que contiene este archivo, luego ejecuta el CLI empaquetado con python3 "$SKILL_ROOT/scripts/oh_my_demo.py".

  1. Inspecciona el repositorio, su banco de pruebas, los datos de prueba existentes y la ruta exacta visible para el usuario que se va a grabar. Inspecciona el estado de git y los diffs relevantes antes de cambiar nada.

  2. Crea una rama dedicada o un árbol de trabajo aislado. Nunca coloques la sustitución de datos de prueba solo para demostración en la rama de producción.

  3. Inicializa el kit del proyecto:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" init . --name product-tour
    
  4. Construye un libro de verdades en .oh-my-demo/manifest.json. Clasifica cada afirmación como:

    • real: la aplicación visible ejecuta su implementación de producción.
    • simulated: una frontera declarada devuelve datos de prueba deterministas.
    • operator: asistencia de grabación como relleno de texto, ritmo o reinicio; no incluyas estas conveniencias en el porcentaje de verdad.
  5. Mantén la proporción real ponderada al 80% o más. Reduce la afirmación o implementa más de la ruta real cuando una característica principal simulada rompería el presupuesto. No manipules los pesos para ocultarlo.

  6. Inventaria cada entrada, referencia, dato de prueba, resultado y línea base. Copia los recursos de demostración bajo .oh-my-demo/ u otra raíz del manifiesto en lugar de vincularlos a rutas absolutas específicas de la máquina del operador. Para medios grandes, elige Git LFS o un paquete de artefactos autenticado con suma de verificación y materialízalo localmente antes de la verificación previa.

  7. Da a los controles visibles objetivos semánticos estables. Prefiere IDs de accesibilidad, IDs de prueba o un registro del host en lugar de selectores CSS generados o coordenadas.

  8. Añade solo el adaptador host más pequeño necesario para sembrar el estado, restaurar una línea base o satisfacer el contrato de la frontera de producción. Mantén los sustantivos específicos del producto fuera del runtime reutilizable del manifiesto.

  9. Modela la toma como etapas conscientes del estado, explícitamente desencadenadas. Centraliza los intervalos de escritura, el tiempo de carga legible, las revelaciones escalonadas y los reajustes de la ventana gráfica. Nunca avances a la siguiente etapa narrada sin un desencadenante humano.

  10. Ejecuta diagnósticos y falla de forma cerrada antes de abrir la aplicación:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" doctor .
    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" status .
    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" check . --record
    
  11. Ensaya a través de la aplicación visible real a la velocidad de narración. Verifica los estados pendientes, las revelaciones de resultados, las mutaciones acumuladas, el enlace de audio/vídeo y la respuesta de la ventana gráfica antes de avanzar.

  12. Reinicia y repite la misma toma al menos dos veces. Incluye al menos una pasada operada por humanos; la automatización por sí sola no puede demostrar que la audiencia pueda percibir el comportamiento.

  13. Vincula la evidencia al manifiesto exacto y valídala:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" prove .
    
  14. Ejecuta una verificación enfocada con producción deshabilitada. Confirma que la activación de la demostración está desactivada por defecto y que las compilaciones normales no resuelven datos de prueba en silencio.

  15. Informa tres listas separadas: comportamiento real, fronteras simuladas y conveniencias del operador. Archiva trabajo de seguimiento del producto solo para afirmaciones de producto simuladas, no para controles de demostración.

Superficies incorporadas

Usa el CLI como la columna vertebral determinista:

  • init: crea .oh-my-demo/manifest.json, evidence.json y fixtures/.
  • doctor: diagnostica Python, git worktree, rama, manifiesto, herramientas multimedia y activación explícita.
  • status: muestra el presupuesto de verdad ponderado y las fronteras simuladas.
  • check: verifica previamente la rama, la revisión base, los activos, los hashes, la duración de los medios, los rangos finales, los metadatos de rotación, las rutas Unicode y el enlace de datos de prueba.
  • prove: requiere dos pases de reinicio y reproducción, un pase de operador visible para humanos, vinculación del resumen del manifiesto y aislamiento con producción deshabilitada.

Usa el razonamiento de la skill para inspeccionar y modificar la aplicación host. No finjas que el CLI puede implementar adaptadores específicos del framework por sí mismo.

Contrato de tiempo de ejecución

Mantén pequeño el vocabulario de acciones reutilizables:

focus, set-value, type-text, click, submit, navigate, wait, resolve-fixture, repeat, reset, assert e invoke-adapter.

Asigna las operaciones de dominio a adaptadores propiedad del host. Una edición de lienzo, siembra de base de datos, inserción en línea de tiempo, gesto móvil o comando TUI sigue siendo invoke-adapter; la implementación del host es propietaria de sus tipos y comportamiento reales.

Para campos de texto, resuelve un destino de texto declarado o un elemento elegible enfocado, rechaza campos sensibles, enfócalo, actualiza a través de la ruta de estado controlado del framework cuando esté disponible, y envía solo cuando se solicite explícitamente.

Contrato de seguridad

  • Requiere una activación explícita en tiempo de ejecución y una rama de demostración dedicada.
  • Requiere un desencadenante humano para cada etapa grabada.
  • Prohíbe la publicación en vivo, mensajería, facturación, cobro u otros efectos secundarios remotos de flujos escenificados.
  • Nunca omitas la autenticación, autorización, política del modelo, contabilidad de tokens, firma o comprobaciones de lanzamiento.
  • Nunca rellenes contraseñas, tokens, datos de pago, códigos de recuperación o campos similares a secretos.
  • Reinicia solo el estado declarado en el manifiesto o una instantánea versionada propiedad del host. Nunca apuntes a un directorio personal, raíz del repositorio, variable no resuelta, comodín o ruta fuera de la raíz declarada.
  • Trata un dato de prueba como prueba de la ruta del consumidor solo, nunca como prueba de que su productor remoto funciona.
  • Oculta elementos de depuración solo cuando no sean relevantes para la afirmación del producto. Nunca ocultes un hecho relevante para lo que se le está diciendo a la audiencia.

Enrutamiento de referencias

Lee references/distribution.md al decidir cómo la skill, el CLI, el kit del proyecto y los adaptadores host dividen la responsabilidad.

Lee references/manifest-schema.md al crear o extender .oh-my-demo/manifest.json.

Lee references/adapters-and-safety.md antes de implementar un adaptador host, frontera de datos de prueba, ruta de reinicio o integración de campo de texto.

Lee references/rehearsal.md antes de la primera ejecución completa, después de una toma fallida o cuando una mutación tiene éxito pero no es perceptible.

Lee references/evidence-schema.md antes de afirmar que la demostración es repetible o de llenar .oh-my-demo/evidence.json.

Puerta de finalización

No des la configuración por terminada hasta que todo lo siguiente sea verdadero:

  • doctor, status y check pasan en la rama de demostración dedicada;
  • la proporción real ponderada es al menos del 80%;
  • cada afirmación simulada tiene procedencia, un punto de inyección estrecho, su equivalente de producción y una aserción visible;
  • el reinicio restaura el mismo estado inicial dos veces;
  • al menos un ensayo operado por humanos es perceptible a la velocidad de narración;
  • prove pasa contra el resumen final del manifiesto;
  • se confirma que el modo de demostración está deshabilitado en la ruta de producción.

Skills relacionados