Communitygithub.com

ai4s-research/open-science

Verifique visualmente alterações no frontend do aplicativo desktop sem precisar iniciar o aplicativo Tauri ou um modelo ativo.

O que é open-science?

Esta skill permite que desenvolvedores validem alterações no frontend do aplicativo desktop (Tauri) sem a necessidade de executar uma sessão completa do OpenCode ou um modelo de linguagem ativo. Em vez disso, ela utiliza uma página Vite descartável para montar componentes React de forma isolada, acelerando o ciclo de feedback visual. A skill é compatível com qualquer ambiente de desenvolvimento que use Vite e o ecossistema React, sendo particularmente útil em projetos como o OpenCode. O fluxo de trabalho envolve criar arquivos HTML e TSX de verificação, iniciar um servidor Vite em uma porta específica, usar a skill de controle de navegador (via API HTTP do Chrome) para capturar screenshots e interagir com o componente, e, por fim, limpar os arquivos temporários. A documentação também destaca armadilhas comuns, como o bloqueio de `evalScript` pela CSP da extensão e a necessidade de passar `"attributes": []` explicitamente no comando `readDom` para evitar erros.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Verificando alterações no frontend desktop

Execuções completas do aplicativo exigem uma sessão OpenCode + uma rodada de modelo ativo. Para alterações puramente no frontend de componentes, monte o componente em uma página Vite descartável:

  1. Crie apps/desktop/verify-<x>.html (html simples, <div id="root">, <script type="module" src="/src/verify-<x>.tsx">) e apps/desktop/src/verify-<x>.tsx (ReactDOM.createRoot, importe ./index.css para Tailwind, importe o componente via @/). O Vite serve automaticamente qualquer .html dentro de apps/desktop/.
  2. cd apps/desktop && npx vite --port 5199 --strictPort (em segundo plano). O wrapper npx pode gerar dois processos e relatar falha "porta em uso" enquanto a primeira instância está funcionando — verifique lsof -iTCP:5199 antes de tentar novamente.
  3. Interaja com a skill de controle de navegador (API HTTP do Chrome, porta 9528): createWindow → waitForSelector → readDom → screenshotTab (capturas de tela vão para ~/Downloads/). Problemas conhecidos: evalScript é bloqueado pela CSP da extensão — use readDom/scrollTab; readDom exige que "attributes": [] seja passado explicitamente ou retorna erro "Valor não serializável".
  4. Limpeza: closeTab, mate o pid do vite, exclua ambos os arquivos auxiliares, confirme que git status está limpo.

Habilidades Relacionadas