Site Extract
Use esta skill quando um usuário fornecer uma URL de site e quiser uma landing page construída sem um processo de captura inchado.
Esta etapa não sintetiza. Ela extrai.
Se você não puder rastrear uma alegação, ponto de prova ou sinal de confiança de volta à fonte, rotule-o como ausente ou inferido. Não o atualize silenciosamente para fato.
Entradas necessárias
- URL primária
- URL opcional do produto
--deepopcional- Trechos opcionais de briefing manual se o acesso à fonte estiver incompleto
Objetivo do operador
Construir um registro de fonte no qual as skills downstream possam confiar.
Isso significa extrair:
- linguagem exata da alegação
- linguagem exata do CTA
- pontos de prova exatos
- padrões de página visíveis
- linguagem de mecanismo
- sinais de confiança
- identidade visual
- convenções de categoria
Arquivos de saída
Escreva:
workspace/brand/extract.mdworkspace/brand/extract.jsonworkspace/brand/palette.json
Regras rígidas de extração
- Preserve a linguagem exata sempre que possível. Cite, não parafraseie.
- Marque a proveniência de cada item de prova e alegação principal.
- Distinga fatos observados de inferência.
- Se o sinal da fonte for fraco, diga isso diretamente.
- Se o mecanismo não estiver claro após a extração, a estratégia downstream deve parar até ser resolvida.
Estrutura de extração necessária
# Brand Extract: [Marca]
URLs de origem:
- [url 1]
- [url 2]
Extraído em: [data]
Confiança: alta | média | baixa
## 1. Marca + categoria
- Nome da marca:
- Categoria do produto:
- Oferta principal:
- Modelo de negócios:
- Indicações geográficas/de mercado:
## 2. Linguagem exata do herói
| Elemento | Texto exato | URL de origem | Proveniência |
|---|---|---|---|
| Título | | | observado |
| Subtítulo | | | observado |
| CTA primário | | | observado |
| CTA secundário | | | observado |
## 3. Inventário de alegações
| Alegação | Tipo | URL de origem | Seção | Proveniência | Prova necessária? |
|---|---|---|---|---|---|
| | benefício / mecanismo / superioridade / prova social / garantia | | | observado / inferido | sim / não |
## 4. Inventário de provas
| Item de prova | Classe | Redação / valor exato | URL de origem | Seção | Notas |
|---|---|---|---|---|---|
| | depoimento / estatística / contagem de avaliações / logotipo / imprensa / garantia | verified_source / derived_source / missing | | | | |
## 5. Inventário de CTAs
| Texto do CTA | Destino estimado | URL de origem | Acima da dobra? | Notas |
|---|---|---|---|---|
## 6. Inventário de linguagem de mecanismo
- Frases de mecanismo exclusivas repetidas pela marca
- Frases de explicação do produto que valem a pena preservar
- Linguagem de "alternativa fracassada"
- Linguagem de tratamento de objeções
## 7. Inventário de sinais de confiança
- garantias
- frete / devoluções / garantia
- certificações / imprensa / logotipos
- conformidade / segurança / sinais de autoridade
- convenções de categoria que sinalizam legitimidade
## 8. Inventário de padrões de página
| Ordem da seção | O que aparece | O que está fazendo | Vale a pena preservar? |
|---|---|---|---|
## 9. Inventário de motivos visuais
- cores dominantes
- famílias / classes de fontes
- estilo de fotografia do produto
- estilo de UI / captura de tela, se presente
- linguagem das formas
- sensação de densidade / espaçamento
- convenções de design críticas para a confiança
## 10. Sinais de público
- a quem parece se destinar
- pistas do estágio de conscientização
- pistas de sofisticação
- linguagem explícita de dor
- linguagem explícita de desejo
## 11. Áreas ausentes / fracas
- detalhes de mecanismo ausentes
- alegações sem suporte
- provas superficiais
- páginas inacessíveis
- qualquer coisa que exija decisão do operador
Contrato JSON
extract.json deve incluir chaves legíveis por máquina para:
brandcategoryofferhero_languageclaims[]proof_inventory[]cta_inventory[]mechanism_language[]trust_cues[]page_patterns[]visual_motifs[]audience_signals[]missing_flags[]confidence
Integração Firecrawl
A seleção do provedor é obrigatória aqui.
Se FIRECRAWL_API_KEY estiver disponível, você deve usar o Firecrawl para extração do site.
Não substitua silenciosamente por navegação genérica, WebFetch ou raspagem de página única quando o Firecrawl estiver configurado ou esperado.
Se o Firecrawl estiver bloqueado pelo runtime, indisponível ou a chave estiver faltando:
- diga isso explicitamente
- pergunte ao operador se deve:
- fornecer/configurar o Firecrawl
- executar o comando local de extração do Firecrawl fora do sandbox
- aceitar extração manual/básica rebaixada
- não prossiga silenciosamente com extração rebaixada em uma execução de qualidade de lançamento público
Use extração rebaixada sem perguntar apenas quando o usuário já tiver aprovado explicitamente esse rebaixamento.
Quando o Firecrawl estiver disponível, use a API v2 com o formato branding:
curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
-H "Authorization: Bearer $FIRECRAWL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"formats": ["branding", "markdown", "screenshot"],
"onlyMainContent": false,
"maxAge": 172800000
}'
O formato branding retorna identidade de marca estruturada:
- URL do logotipo
- paleta de cores (primária, secundária, destaque, fundo, texto)
- famílias de fontes
- escala de espaçamento
- estilos de componentes de UI
- esquema de cores (claro/escuro)
O formato markdown fornece o conteúdo da página para extração de alegações e provas.
O formato screenshot fornece uma referência visual (URL expira após 24h).
Use scripts/firecrawl-extract.sh para executar isso automaticamente e salvar todas as saídas.
Modo profundo
Quando --deep for usado:
- raspe a página inicial
- raspe uma página de produto/serviço
- raspe uma página com muitas provas, se disponível
- raspe a página de preços, FAQ ou sobre, se disponível
- mescle as descobertas com as URLs de origem anexadas a cada artefato
Prioridade profunda padrão:
- página do produto
- página de avaliações/depoimentos
- página de FAQ/preços
- página sobre
Comportamento de fallback
Se o Firecrawl ou a raspagem falhar:
- capture o que estiver acessível
- marque as seções bloqueadas explicitamente
- solicite capturas de tela ou texto fornecidos pelo operador para dados de confiança/prova/mecanismo ausentes
- não invente estrutura extraída como se fosse observada
Se o Firecrawl estiver bloqueado pelo Cowork ou outro proxy do sandbox:
- declare que
api.firecrawl.devdeve ser permitido pelo runtime - recomende o caminho do comando de pré-execução local em vez de fingir que WebFetch é equivalente
Lógica de parada / continuação
Continue se:
- a oferta for identificável
- o CTA for inferível
- pelo menos algumas provas ou sinais de confiança forem extraíveis
Rebaixe se:
- a prova for fraca
- a identidade visual for parcial
- as convenções de categoria não forem claras
Pare e acione o operador se:
- o mecanismo exclusivo não puder ser identificado
- a fonte for muito superficial para separar alegações reais de névoa de marketing
- alegações reguladas aparecerem sem prova clara
Hand-off
Após a extração, execute /page-strategy.
Não pule diretamente para o texto a menos que o artefato de estratégia já exista.