Communitygithub.com

ai4s-research/open-science

Verifica visualmente los cambios del frontend de escritorio sin iniciar la app Tauri ni un modelo en vivo.

¿Qué es open-science?

Esta habilidad permite validar cambios puramente visuales en componentes del frontend de la aplicación de escritorio (apps/desktop) sin necesidad de ejecutar la aplicación Tauri completa ni tener un modelo de lenguaje activo. En lugar de iniciar toda la sesión de OpenCode, se monta el componente en una página Vite desechable, se sirve con un servidor de desarrollo Vite en segundo plano y se inspecciona visualmente usando el controlador de navegador (browser-control skill) a través de la API HTTP de Chrome. Es útil para desarrolladores que trabajan en la UI y quieren iterar rápidamente sobre componentes sin la sobrecarga del contexto completo de la aplicación. Soporta React, Tailwind y Vite, y está diseñado para entornos donde el control del navegador se realiza mediante la API HTTP de Chrome en el puerto 9528. El flujo incluye creación de ventana, espera de selectores, lectura del DOM y captura de pantallas para verificación visual.

Compatible con~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/ai4s-research/open-science/tree/HEAD/apps/desktop/.claude/skills/verify

Preguntar en tu IA favorita

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

Documentación

Verificar cambios del frontend de escritorio

Las ejecuciones completas de la aplicación requieren una sesión de OpenCode + un turno de modelo en vivo. Para cambios puramente de frontend, monta el componente en una página Vite desechable:

  1. Cree apps/desktop/verify-<x>.html (HTML plano, <div id="root">, <script type="module" src="/src/verify-<x>.tsx">) y apps/desktop/src/verify-<x>.tsx (ReactDOM.createRoot, importe ./index.css para Tailwind, importe el componente mediante @/). Vite sirve automáticamente cualquier .html bajo apps/desktop/.
  2. cd apps/desktop && npx vite --port 5199 --strictPort (en segundo plano). El envoltorio npx puede duplicar el proceso e informar un fallo "puerto en uso" mientras la primera instancia funciona correctamente; verifique lsof -iTCP:5199 antes de reintentar.
  3. Controle con la habilidad de control del navegador (API HTTP de Chrome, puerto 9528): createWindow → waitForSelector → readDom → screenshotTab (las capturas se guardan en ~/Downloads/). Advertencias: evalScript está bloqueado por la CSP de la extensión; use readDom/scrollTab en su lugar; readDom requiere un "attributes": [] explícito o arrojará error "Value is unserializable".
  4. Limpie: closeTab, mate el PID de vite, elimine ambos archivos de andamiaje y confirme que git status esté limpio.

Skills relacionados