Skill de site: procedimento
Esta skill cria um site para um cliente a partir de um briefing. Cada cliente recebe um plano aprovado, uma base de código e um script de verificação. O plano aprovado controla as rotas, os títulos, as descrições, os cabeçalhos e o sitemap.
Neste documento, <skill-dir> é a pasta que contém este arquivo, e <client-folder> é a pasta para este cliente. Se o usuário não tiver uma convenção de pastas, use clients/<client>/.
Pré-requisitos
- Leia as anotações para este cliente, se existirem. Forneça ao usuário as regras que se aplicam, em 2 ou 3 linhas.
- Encontre o briefing, o perfil da empresa, o logotipo e as fotos.
- Certifique-se de que Node.js, Python 3 e
rsyncestejam disponíveis.
AVISO: NÃO COLOQUE UM FATO NO SITE SE O BRIEFING NÃO O FORNECER. UM CERTIFICADO, NOME DE CLIENTE, NÚMERO OU DEPOIMENTO INVENTADO É UM RISCO LEGAL E DE CONFIANÇA PARA O CLIENTE.
Fase 1: Fatos
- Leia
references/brief-intake.md. - Leia cada arquivo fonte por completo.
- Escreva
<client-folder>/site-brief/facts.md. - Rastreie o site atual se o cliente tiver um. Registre cada URL para o mapa de redirecionamento.
- Escreva
<client-folder>/site-brief/questions-for-client.mdse faltarem fatos.
PORTÃO 1. Mostre ao usuário o resumo da ficha de fatos e a lista de lacunas. Pare até o usuário responder. Continue com as lacunas apenas se o usuário concordar. Uma página que precisa de um fato faltante fica fora do plano ou permanece sem esse fato.
Fase 2: Plano do site
- Leia
references/site-plan.md. - Faça a pesquisa de palavras-chave para o mercado do cliente.
- Copie
<skill-dir>/assets/site-plan.template.jsonpara<client-folder>/site-brief/site-plan.json. - Preencha uma entrada para cada página.
- Compare o plano com a proposta, se existir. Cada item no escopo deve ter uma página ou um recurso. Um formulário no escopo precisa de hospedagem
serverou uma substituição acordada. - Execute o portão do plano. Corrija cada FALHA.
python3 <skill-dir>/scripts/site_gate.py plan <client-folder>/site-brief/site-plan.json
PORTÃO 2. Mostre ao usuário uma tabela com estas colunas: URL, palavra-chave primária, volume mensal, título. Também informe a escolha de hospedagem. Pare até o usuário aprovar. Em seguida, escreva a aprovação no plano como "approved_by" e "approved_on". O portão de build falha sem esses campos.
Fase 3: Estrutura
- Selecione a pasta
<client-folder>/website/. - Execute o script de estrutura. O script funciona com espaços e letras maiúsculas no caminho.
bash <skill-dir>/scripts/scaffold.sh "<client-folder>/website" static
- Use
serverno lugar destaticapenas se o plano precisar de um recurso de servidor (consultereferences/launch.md). - Copie o
site-plan.jsonaprovado parasrc/lib/site-plan.json. - Substitua cada valor
__FILLemsrc/lib/site.tspor um valor da ficha de fatos. - Leia os guias para metadados, imagens, fontes e exportações estáticas em
node_modules/next/dist/docs/01-app/.
NOTA: O Next.js muda entre versões principais. Os guias em node_modules correspondem à versão instalada. Seus dados de treinamento não correspondem.
Fase 4: Direção de design
- Leia
references/design-and-copy.md. - Crie os tokens de cor e tipo a partir do logotipo. Coloque-os em
globals.css. - Crie
public/logo.webp,public/og.webp(1200 por 630 pixels) esrc/app/icon.pnga partir do logotipo. - Construa o cabeçalho, o rodapé e apenas a página inicial.
- Inicie a pré-visualização. Use
npx serve out -l 3210para um site estático, após um build. Usenpm run devpara um site de servidor. - Abra
http://127.0.0.1:3210em um navegador. Verifique a página em 375, 768 e 1280 pixels.
NOTA: Um navegador embutido pode retornar HTTP 431 para localhost. O endereço 127.0.0.1 não tem essa falha.
PORTÃO 3. Mostre ao usuário a página inicial. Pare até o usuário aprovar o design. Todas as outras páginas usam este design.
CUIDADO: NÃO CONSTRUA AS OUTRAS PÁGINAS ANTES DO PORTÃO 3. UMA MUDANÇA TARDIA NO DESIGN CAUSA UMA MIGRAÇÃO DE TODAS AS PÁGINAS.
Fase 5: Páginas
- Leia
references/seo-build-spec.md. - Coloque o conteúdo em arquivos de dados tipados em
src/lib/(por exemplo,services.ts). Mantenha os arquivos de página enxutos. - Use uma rota dinâmica com
generateStaticParamspara cada tipo de página repetido. - Obtenha cada título, descrição e H1 do plano com
pageMetadata()egetPage(). - Escreva o texto para o comprador, na voz do cliente. Use apenas fatos de
facts.md. - Adicione links internos conforme a especificação.
- Construa o site.
npm run build
- Execute o portão de build. Corrija cada FALHA em sua causa. Não altere o portão para obter aprovação.
python3 <skill-dir>/scripts/site_gate.py build <client-folder>/website
- Execute
npx tsc --noEmitenpm run lint.
Fase 6: Revisão
- Verifique cada tipo de página no navegador em 375, 768 e 1280 pixels.
- Verifique cada CTA: telefone, WhatsApp, e-mail e formulário.
- Se o usuário exigir, prepare o texto da página para o cliente em um documento. Siga
references/design-and-copy.md. - Implante uma pré-visualização apenas quando o usuário solicitar. Um build de pré-visualização não é indexável.
PORTÃO 4. Forneça ao usuário a URL de pré-visualização e o resultado do portão. Pare até o usuário aprovar o lançamento.
Fase 7: Lançamento
- Leia
references/launch.md. - Construa com
SITE_INDEXABLE=1. - Execute o portão de build com
--release. O portão deve passar. - Execute as etapas de lançamento em
references/launch.md.
AVISO: NÃO CONECTE O DOMÍNIO OU ENVIE PARA PRODUÇÃO SEM UMA APROVAÇÃO NA SESSÃO ATUAL. O DOMÍNIO ATIVO AFETA OS NEGÓCIOS DO CLIENTE.
Encerramento
- Forneça ao usuário uma lista das ações do cliente que permanecem.
- Registre caminhos, decisões e lições nas anotações deste cliente.
- Informe ao usuário que o site está pronto para trabalho de conteúdo de SEO.
Regras fixas
| Regra | Motivo |
|---|---|
| Uma URL para cada serviço | Um site de uma página não dá a um serviço uma URL que possa ranquear |
| Uma palavra-chave primária para cada URL | Duas páginas em uma palavra-chave competem entre si |
| O plano é a única fonte para títulos e rotas | O portão compara o HTML construído com o plano |
| Sem contadores animados de estatísticas | O HTML mostra 0 antes do script ser executado |
| Portões são scripts | Cada falha que os scripts capturam passou primeiro por uma pessoa |
Referências
| Arquivo | Leia em |
|---|---|
references/brief-intake.md | Fase 1 |
references/site-plan.md | Fase 2 |
references/design-and-copy.md | Fase 4 e Fase 6 |
references/seo-build-spec.md | Fase 5 |
references/launch.md | Fase 2 (hospedagem) e Fase 7 |