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".
-
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.
-
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.
-
Inicializa el kit del proyecto:
python3 "$SKILL_ROOT/scripts/oh_my_demo.py" init . --name product-tour -
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.
-
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.
-
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. -
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.
-
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.
-
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.
-
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 -
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.
-
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.
-
Vincula la evidencia al manifiesto exacto y valídala:
python3 "$SKILL_ROOT/scripts/oh_my_demo.py" prove . -
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.
-
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.jsonyfixtures/.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,statusycheckpasan 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;
provepasa contra el resumen final del manifiesto;- se confirma que el modo de demostración está deshabilitado en la ruta de producción.