Communitygithub.com

shaunbent/govuk-proposal-pages

Crie páginas HTML únicas para propostas, pitches e explicadores no estilo visual do GOV.UK Design System, usando componentes visuais em vez de longos textos. Use quando alguém pedir uma proposta, pitch, one-pager, explicador ou página para liderança "no estilo GOV.UK", ou quiser um documento HTML autossuficiente para compartilhar e comentar.

O que é govuk-proposal-pages?

Esta skill permite construir páginas HTML únicas e autossuficientes que seguem o estilo visual do GOV.UK Design System, ideal para propostas, pitches e explicadores. Em vez de longos parágrafos, a skill prioriza componentes visuais como grades de cartões, fluxos, tabelas de comparação e diagramas, seguindo o princípio de "mostrar o conteúdo, não narrá-lo". O resultado é um único arquivo `.html` com CSS, fontes e imagens incorporadas (como base64), que funciona sem JavaScript e sem necessidade de build. A skill oferece um catálogo completo de componentes (cerca de 30), desde elementos de página (banner de status, herói) até diagramas (leque, silos, fluxo) e tabelas, cada um com classe CSS, quando usar e quando evitar. O workflow começa pela coleta de conteúdo e definição da estrutura, seguido pela cópia do arquivo `page-starter.html` e substituição dos placeholders com o markup dos componentes disponível em `docs/index.html`. É compatível com qualquer agente que suporte a criação de arquivos HTML, como Claude Code, Cursor ou Codex, e é particularmente útil para documentação técnica, propostas de arquitetura ou apresentações para liderança que precisam ser compartilhadas como arquivos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shaunbent/govuk-proposal-pages-skill/tree/HEAD

Perguntar na sua IA favorita

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

Documentação

Páginas de proposta no estilo GOV.UK

Propósito

Produzir uma única página HTML autossuficiente que defenda uma direção, explique uma ideia ou apresente uma mudança, usando os estilos reais do GOV.UK Design System e uma pequena biblioteca de componentes reutilizáveis.

O princípio orientador: mostre o conteúdo, não o narre. Uma lista de coisas que uma equipe possui se torna uma grade de cartões. Um conjunto de etapas se torna um fluxo. Uma comparação se torna uma tabela com as diferenças destacadas. A prosa é o tecido conjuntivo entre os componentes, não a principal forma de transportar a informação.

Descreva o conteúdo; esta skill cuida da aparência.

A saída é um único arquivo HTML

As páginas criadas com esta skill são compartilhadas como arquivos, frequentemente enviados para o SharePoint ou uma biblioteca de documentos similar e vinculados a partir dali. Portanto:

  • Tudo vive em um único arquivo .html. CSS, fontes e imagens são incorporados (fontes e imagens como data URIs base64). Sem folhas de estilo, scripts, fontes ou imagens externas.
  • A página deve ser lida corretamente com o JavaScript desativado. Algumas bibliotecas de documentos removem ou bloqueiam scripts nas prévias. Componentes interativos (como o alternador de visualização) são melhorias: o estado padrão mostrado sem JavaScript deve fazer sentido por si só.
  • Sem etapa de build para o leitor. O arquivo abre diretamente em um navegador.

Arquivos

  • page-starter.html é uma página em branco: o CSS do GOV.UK Frontend, as fontes GDS Transport incorporadas como base64, o CSS completo dos componentes, um banner de status, um herói e um rodapé com um registro de alterações. Cada nova página começa como uma cópia deste arquivo. O GDS Transport é licenciado apenas para uso no GOV.UK; fora do GOV.UK, substitua por outra fonte tipográfica (veja NOTICE.md).
  • docs/index.html é a página de documentação para esta skill, e foi construída com a própria skill. Sua seção "Componentes" é a referência visual: cada componente, nomeado e rotulado, com quando usar, quando evitar e um exemplo ao vivo. Copie o markup dos componentes dos blocos gx-specimen__demo lá. Não copie as classes gx-; elas apenas estilizam a página de documentação. Ela usa o mesmo CSS de componentes que o starter, então o markup copiado funciona sem alterações.

Estrutura do documento

Defina o argumento antes de escolher os componentes. A maioria das propostas segue esta ordem; remova as seções que o conteúdo não precisa.

SeçãoO que fazComponentes que geralmente encaixam
Status e heróiDiz o que é o documento e a única coisa a ser absorvidaBanner de status, herói
O que éExplica a ideia, se o público pode não conhecê-laCategorias, leque, camadas, par de código
O que nos dáOs benefícios, cedo, para cada grupo na salaGrade de benefícios, cartão largo
Por que agoraO problema como está, com evidênciasSilos, estatísticas, tabela de comparação, muitos-para-um, citação de pesquisa
Como funcionaA abordagem propostaFluxo, antes e depois, hub e spoke, funil, exemplo prático
Quem faz o quêResponsabilidadesResponsabilidades, painel
Por onde começamosEscopo e ordemFases, linha do tempo
RiscosO que pode dar erradoRisco
Perguntas em abertoO que você precisa dos leitoresPerguntas em aberto
SucessoComo você saberá que funcionouMedidas de sucesso, resultado
RodapéVersão e registro de alteraçõesRegistro de alterações

Coloque "Por que agora" primeiro apenas quando os leitores já entendem o espaço da solução (veja "Princípios editoriais").

Catálogo de componentes

Cada componente tem um nome. As pessoas que usam esta skill podem pedir componentes pelo nome ("use um funil para mostrar de onde vêm as aplicações"), e você deve usar os mesmos nomes ao sugeri-los. A seção "Componentes" de docs/index.html mostra cada um ao vivo, com sua classe, quando usar e quando evitar. Copie o markup de lá.

Móveis da página

NomeClasseUse quando
Banner de statuspt-topbannerToda página. Mostra a versão e uma linha sobre o que é o documento.
Heróipt-heroToda página. Uma tag de sobrancelha, o título e a frase mais contundente do documento.
Nota de apoiopt-noteInformações meta sob um diagrama, tabela ou conjunto de estatísticas: fontes, ressalvas, "ilustrativo".
Registro de alteraçõespt-footerO rodapé de toda página. Entrada mais recente primeiro.

Cartões

NomeClasseUse quando
Grade de benefíciospt-owns-gridTrês ou quatro coisas entregues, possuídas ou ganhas.
Cartão largopt-owns-card--wideUm item que precisa de mais espaço que seus irmãos, ou para evitar que um cartão fique sozinho em uma linha.
Princípiospt-works-gridTrês princípios ou formas de trabalhar.
Categoriaspt-categoriesTipos de uma coisa, cada um com um pequeno visual que mostra a categoria.
Painelpt-cardUm ponto que precisa de mais espaço que um cartão de grade, estilizado como todos os outros cartões.
Riscogovuk-inset-text pt-card pt-card--warningUm risco a ser protegido, declarado de forma direta e baseado em experiência.
Resultadopt-card pt-card--successNo que isso se torna se funcionar.

Números

NomeClasseUse quando
Estatísticaspt-baseline-gridNúmeros de destaque. Cada número tem um rótulo simples, e o conjunto soma um total declarado quando possível.

Diagramas

NomeClasseUse quando
Lequept-fanoutUma fonte alimentando várias saídas.
Funilpt-faninVárias fontes que se juntam em uma coisa: entradas para uma decisão, dados alimentando um registro, equipes contribuindo para um serviço. Funciona melhor com três a cinco entradas. O exemplo desenha quatro curvas, começando em y 12.5, 37.5, 62.5 e 87.5; para um número diferente de entradas, inicie cada curva no centro de sua entrada (para três: 16.7, 50 e 83.3).
Hub e spokept-hubUma coisa central com até quatro partes que se conectam a ela.
Silospt-silosA mesma coisa mantida separadamente em vários lugares, sem nada conectando-os. Sinalize a cópia que difere.
Muitos-para-umpt-many-to-oneVários nomes ou rotas que levam à mesma coisa: duplicatas, aliases, trabalho sobreposto.
Antes e depoispt-before-afterA mesma coisa hoje e como proposta, lado a lado.
Camadaspt-layersNíveis que se constroem uns sobre os outros, unidos por setas rotuladas. Os rótulos dos conectores são em peso regular.
Fluxopt-flowUm processo com etapas numeradas e um estado final. Marque destinos não decididos como abertos com uma tag "Abordagem a acordar".
Fasespt-phasesEtapas do trabalho em uma ordem real. A etapa atual é preenchida.
Linha do tempopt-timelineMarcos datados. Marcos passados preenchidos, futuros vazados.
Espectropt-spectrumOnde as coisas se situam em um intervalo entre dois extremos: maturidade, esforço, risco.
Equipespt-squadsComo as equipes se relacionam, especialmente em reestruturações. Marque uma equipe mudando de estado como tracejada.

Tabelas e listas

NomeClasseUse quando
Tabela de comparaçãopt-compareVárias opções ou lugares lado a lado. Agrupe linhas e destaque o valor ímpar em toda a célula.
Responsabilidadespt-splitQuem é responsável pelo quê, dois grupos lado a lado.
Perguntas em abertopt-questionsPerguntas que você quer respondidas, cada uma marcada com para quem é.
Medidas de sucessopt-check-listCinco ou seis resultados verificáveis.

Exemplos e evidências

NomeClasseUse quando
Exemplo práticopt-exampleUm caso concreto: um visual, depois como cada lugar lida com ele hoje.
Citação de pesquisapt-quoteO que um usuário, colega ou parte interessada realmente disse, com quem disse.
Par de códigopt-code-pairDados, código ou configuração, sozinhos ou lado a lado. Rotule trechos simplificados como "Ilustrativo".
Ponto de corpt-swatchUma cor ou status mostrado inline, em uma tabela ou frase. Sempre emparelhado com um rótulo de texto.

Interativos

NomeClasseUse quando
Alternador de visualizaçãopt-viewsAlternar um diagrama entre dois estados, como "Hoje" e "Proposto". Opcional, precisa de JavaScript.

Se o conteúdo não se encaixar em nenhum destes, escreva um parágrafo curto (tudo bem, com moderação) ou adicione um componente (veja "Estendendo a biblioteca").

Princípios editoriais

Estrutura

  • Um documento, uma linha condutora. Cada componente deve servir ao argumento central. Se algo é interessante mas não essencial, corte.
  • Explique a ideia antes de defender quando o público pode não conhecê-la. Problema-primeiro funciona quando as pessoas já entendem o espaço da solução. Quando não entendem, uma seção de problemas parece uma lista de reclamações sem saída. Veja "Estrutura do documento" para a ordem padrão.
  • Coloque os benefícios no início. Os leitores decidem se se importam na primeira ou segunda tela.
  • Mostre todo o escopo com o primeiro exemplo. Se o primeiro exemplo é restrito, os leitores assumem que toda a proposta é restrita. Quando a ideia se aplica amplamente, comece com um exemplo que sugira a abrangência, depois use o caso restrito como evidência.
  • Corte seções que não precisam estar lá. Se uma seção é sobre uma decisão para uma conversa diferente, deixe-a de fora.

Linguagem

  • Introduza um termo antes de usá-lo. Isso inclui cabeçalhos, rótulos e grupos de tabela. Se o termo aparece antes de ser explicado, use uma descrição simples.
  • Dê a cada termo um trabalho. Se duas palavras semelhantes aparecem (por exemplo "decisão" para uma escolha única e "abordagem" para o método todo), mantenha cada uma em seu próprio significado ao longo do texto.
  • Descreva uma abordagem como "uma forma comum", não "a forma", a menos que realmente seja a única forma. É mais preciso e convida à discussão.
  • Use palavras que descrevem, não culpam. "Definido em alguns lugares, em outros não" descreve uma situação. "Lacunas" ou "faltando" implica que alguém falhou.
  • Quando o autor fornece o texto, use-o como está. Corrija apenas a gramática e diga o que mudou.

Evidências

  • Use dados reais da fonte (o sistema, a planilha, a exportação), não números lembrados ou estimados. Diga de onde vêm os números.
  • Sinalize qualquer coisa lida de uma captura de tela ou resumo para que possa ser verificada antes de a página ser compartilhada.
  • Não superestime o status. Se algo foi bem recebido mas não formalmente acordado, diga isso precisamente, ou deixe o status de fora.
  • Marque escolhas não decididas como não decididas. Uma tag "Abordagem a acordar" em uma opção é melhor do que apresentar um palpite como uma decisão.

Tom com públicos mistos

  • Seja equilibrado. Ao mostrar um problema que envolve várias equipes ou lugares, mostre a parte de cada um. Uma página que destaca um único grupo é lida defensivamente por esse grupo.
  • Enquadre benefícios compartilhados para cada grupo na sala. Descreva o que cada grupo ganha em seus próprios termos. Não mencione o atrito entre grupos no documento, mesmo que seja a real motivação. Os benefícios podem abordá-lo sem descrevê-lo.

Estilo da casa

O estilo padrão da casa, mude conforme necessário:

  • Inglês do Reino Unido, cabeçalhos em letra minúscula (exceto primeira palavra e nomes próprios), vírgula Oxford
  • Sem travessões; reestruture com vírgula, dois pontos, ponto e vírgula ou ponto final
  • Sem construções "não é X, é Y"
  • Sem metáforas militares ou de combate
  • "governo" em minúsculo, a menos que faça parte de um nome
  • Simples, direto, confiante; cada palavra ganha seu lugar, e linhas de introdução não repetem linhas de destaque

Regras visuais

  • Um tratamento de cartão para todos. Os cartões são brancos, com borda cinza de 1px, borda superior azul de 4px, um ícone opcional, um cabeçalho pequeno (govuk-heading-s) e texto do corpo pequeno (govuk-body-s). Não invente estilos de cartão únicos; reformate o novo conteúdo para corresponder.
  • Sem órfãos nas grades. Se uma grade deixar um cartão sozinho em uma linha, torne esse cartão largo ou altere o número de colunas.
  • Amostras de cor são círculos, combinando com as páginas de cores do GOV.UK Design System.
  • Tabelas de comparação destacam a célula inteira, não um fundo inline atrás do texto, para que os valores permaneçam alinhados em cada coluna. Cada célula e cabeçalho de grupo compartilham a mesma borda esquerda.
  • Rótulos de conectores em diagramas são peso regular. Negrito é para cabeçalhos e para a coisa sendo apontada.
  • Notas de apoio (pt-note): texto do corpo pequeno de 16px na cor de texto secundária (#505a5f). Use para informações meta sob um diagrama, tabela ou conjunto de estatísticas: ressalvas, fontes, rótulos "ilustrativo".
  • Blocos de código lado a lado têm a mesma altura.
  • Diagramas usam box-sizing: border-box (definido no CSS do componente) para que padding e bordas nunca empurrem um componente para fora de sua caixa.
  • A tag do herói fica em uma linha. Tags do GOV.UK têm uma largura máxima de 160px por padrão; o CSS do componente a levanta para o herói e banner.
  • Fontes ou imagens personalizadas devem ser incorporadas, e apenas se sua licença permitir. Verifique a licença primeiro. Fontes tipográficas personalizadas geralmente precisam de centralização vertical manual: meça o texto renderizado e ajuste o padding.
  • Acessibilidade: dê aos diagramas uma alternativa de texto (role="img" com um aria-label que declare o que o diagrama mostra), mantenha estados de foco visíveis em controles interativos e não confie apenas na cor para mostrar uma diferença (as células destacadas também estão em negrito).

Componentes interativos

O alternador de visualização (pt-views) permite que um leitor alterne um diagrama entre estados, por exemplo "hoje" e "proposto", ou "claro" e "escuro". É opcional:

  • O estado padrão deve ser aquele que faz sentido sem JavaScript.
  • Use elementos <button> reais com aria-pressed.
  • Mantenha o script inline e pequeno; o starter inclui um que você pode reutilizar.

Fluxo de construção

  1. Reúna o conteúdo primeiro: o argumento, as evidências, para quem é e o que você quer que eles façam. Escolher componentes antes de o conteúdo estar claro produz uma página polida com substância fina.
  2. Planeje as seções usando "Estrutura do documento", e escolha os componentes pelo nome do catálogo. Se a pessoa pediu componentes específicos, use-os.
  3. Copie page-starter.html para um novo arquivo. Preencha o banner, herói e rodapé.
  4. Copie o markup de cada componente da seção "Componentes" de docs/index.html e substitua o conteúdo placeholder. Nunca deixe texto placeholder na página.
  5. Se a página usar um alternador de visualização, mantenha o script no final do starter; caso contrário, exclua-o.
  6. Verifique a página em um navegador, certificando-se de que os dados são reais, os links estão atualizados e os componentes estão completos. Remova comentários HTML não utilizados.
  7. Se uma decisão importante estiver faltando, adicione uma pergunta aberta.
  8. Adicione uma entrada ao registro de alterações. Entrada mais recente primeiro.
  9. Compartilhe o arquivo, muitas vezes enviando-o para uma biblioteca de documentos.

Estendendo a biblioteca

Se o conteúdo não se encaixar em nenhum componente existente:

  • Um parágrafo curto de prosa é aceitável, em vez de forçar um componente que não se encaixa. A prosa é o tecido conjuntivo entre os componentes, não o condutor principal.
  • Para um novo componente, modele-o a partir de um existente. Dê a ele uma classe descritiva, documente-o no docs/index.html com quando usar e quando evitar, e certifique-se de que corresponda visualmente à família de componentes existente.

Manutenção e upstream

  • O CSS, fontes e markup dos componentes em page-starter.html e docs/index.html são atualizados periodicamente para refletir as alterações do GOV.UK Frontend.
  • Os arquivos de origem para a construção da página estão em src/. Veja package.json para scripts.
  • Para relatar problemas ou sugerir melhorias, use o rastreador de problemas. Pull requests são bem-vindos.

Consulte o arquivo NOTICE.md para informações de licenciamento de terceiros.

Habilidades Relacionadas