web-to-markdown
Converta páginas web em Markdown limpo acionando um navegador instalado localmente (via web2md).
Portão de disparo explícito (deve ser aplicado)
Esta skill NÃO DEVE ser usada a menos que o usuário tenha escrito explicitamente exatamente uma frase como:
use a skill web-to-markdown ...use a skill web-to-markdown ...
Se o usuário não solicitou explicitamente esta skill pelo nome, interrompa e peça que ele reemita a solicitação incluindo: use a skill web-to-markdown.
O que esta skill faz
- Processa páginas renderizadas em JS (Puppeteer → Chrome do usuário).
- Funciona melhor com navegadores da família Chromium (Chrome/Chromium/Brave/Edge) via
puppeteer-core. - Extrai conteúdo principal (Readability).
- Converte para Markdown (Turndown) com links limpos e frontmatter YAML opcional.
Fora do escopo
- Não use Playwright ou outras stacks de automação de navegador; o mecanismo é
web2md.
Inputs que você deve coletar (pergunte apenas se ausentes)
url(ou uma lista de URLs)- Preferência de saída:
- Imprimir no stdout (
--print), OU - Salvar em arquivo (
--out ./file.md), OU - Salvar em diretório (
--out ./some-dir/para auto-nomear pelo título da página)
- Imprimir no stdout (
- Controles de renderização opcionais para páginas complicadas:
--chrome-path <path>(se a detecção automática de Chrome falhar)--interactive(mostrar Chrome e pausar para que o usuário complete verificações/login, depois pressione Enter)--wait-until load|domcontentloaded|networkidle0|networkidle2--wait-for '<css selector>'--wait-ms <milliseconds>--headful(debug)--no-sandbox(às vezes necessário em containers/CI)--user-data-dir <dir>(login/sessão; use um diretório de perfil dedicado)
Fluxo de trabalho
- Confirme que o usuário invocou explicitamente a skill (
use a skill web-to-markdown). - Valide se as URL(s) começam com
http://ouhttps://. - Garanta que
web2mdestá instalado:- Execute:
command -v web2md - Se ausente, instrua o usuário a instalá-lo:
- Se disponível via npm:
npm install -g web2md - Se do código-fonte: Clone o repositório, depois execute
npm install && npm run build && npm link
- Se disponível via npm:
- Execute:
- Converta:
- URL única → arquivo:
web2md '<url>' --out ./page.md
- URL única → arquivo auto-nomeado em diretório:
mkdir -p ./out && web2md '<url>' --out ./out/
- Verificação humana / paredes de login (interativo):
mkdir -p ./out && web2md '<url>' --interactive --user-data-dir ./tmp/web2md-profile --out ./out/- Depois: complete a verificação na janela do navegador e pressione Enter no terminal para continuar.
- Imprimir no stdout:
web2md '<url>' --print
- URLs múltiplas (lote):
- Crie diretório de saída (ex.
./out/) e execute um comandoweb2mdpor URL usando--out ./out/
- Crie diretório de saída (ex.
- URL única → arquivo:
- Valide a saída:
- Se escrever arquivos, verifique se existem e não estão vazios (ex.
ls -la <path>ewc -c <path>).
- Se escrever arquivos, verifique se existem e não estão vazios (ex.
- Retorne:
- O(s) caminho(s) do arquivo salvo, ou o Markdown (modo stdout).
Padrões (recomendados)
- Para a maioria das páginas:
--wait-until networkidle2 - Para aplicações pesadas: comece com
--wait-until domcontentloaded --wait-ms 2000, depois adicione--wait-for 'main'(ou outro seletor estável) se necessário.