Communitygithub.com

Mosin112/build-prototype

Use esta skill quando o usuário quiser um protótipo, maquete, demonstração clicável ou 'algo para mostrar' de um item com árvores de comportamento aprovadas. Passo 4 do pipeline de uma só etapa — constrói um protótipo HTML clicável e auto-contido, no qual cada ramo da árvore pode ser demonstrado, e prova essa cobertura com o verificador.

O que é build-prototype?

O skill "build-prototype" é o quarto passo de um pipeline único que transforma árvores de comportamento aprovadas em um protótipo HTML auto-contido, clicável e revisável por stakeholders. Ele exige que cada ramo da árvore — incluindo caminhos de erro e bordas — seja demonstrável por meio de controles de cenário (toggles) e que um mapa de cobertura em JSON registre qual tela demonstra cada linha de árvore, com possibilidade de pular diretamente para ela. Além disso, um script de verificação integrado (`pm_check.py`) valida se toda linha está coberta e se as telas referenciadas existem, garantindo que o protótipo seja um artefato de contrato, não apenas um design visual. O skill é compatível com qualquer plataforma que processe árvores de comportamento (ex.: ferramentas de gerenciamento de requisitos como PM Harness), e seu resultado pode ser aberto localmente, anexado a tickets ou publicado como link sem dependências externas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Mosin112/pm-harness/tree/HEAD/skills/build-prototype

Perguntar na sua IA favorita

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

Documentação

Passo 4 · Protótipo Clicável

O protótipo permite que as partes interessadas sintam as árvores de comportamento antes da engenharia começar. É uma demonstração do contrato, não uma especificação de design: deve mostrar todos os ramos, incluindo erros e casos de borda, não apenas o caminho feliz.

Leia primeiro: as árvores aprovadas em work/<item>/03-trees/, o conceito, context/product.md e context/writing-style.md. Use ../../examples/price-alerts/04-prototype/index.html (relativo a este skill) como a implementação de referência da estrutura abaixo.

Requisitos

  1. Um arquivo auto-contido: work/<item>/04-prototype/index.html. Inline todos os CSS e JS. Sem etapa de build, sem requisições externas, exceto fontes web opcionais, para que possa ser aberto a partir do disco, anexado a um ticket ou publicado como link.

  2. Telas: cada estado distinto é um elemento com data-screen="<id>". Apenas um fica visível por vez. A navegação ocorre através dos botões do próprio protótipo, como no produto real.

  3. Controles de cenário: um painel lateral, claramente separado da interface do produto, com alternadores para cada estado while e condição if das árvores (verificado/não verificado, limite atingido, notificações desligadas, simular movimentação de preço…). Alterar um alternador deve mudar o que a interface do produto faz, de modo que todos os ramos sejam alcançáveis.

  4. Mapa de cobertura: um bloco <script type="application/json" id="tree-coverage"> que mapeia cada linha then e and de cada árvore para a tela que a demonstra:

    {
      "trees": {
        "functional/price-alert-creation": [
          { "line": "então o alerta é salvo como ativo", "screen": "alerts" },
          { "line": "e a direção do alerta é definida como acima ou abaixo do preço atual", "screen": "alerts" }
        ],
        "functional/price-alert-trigger": [
          { "line": "então nenhuma notificação adicional é enviada", "screen": null, "reason": "Não visível: ausência de notificação" }
        ]
      }
    }
    

    screen: null é permitido apenas com uma reason (resultados exclusivos de backend ou "nada acontece").

  5. Painel de cobertura visível: renderize o mapa de cobertura no painel lateral como uma lista de verificação das linhas da árvore; clicar em uma linha salta para sua tela com o cenário correto definido. Isso é o que transforma o protótipo em uma ferramenta de revisão.

  6. Texto realista: use as mensagens exatas das árvores. Marque dados de amostra como tal.

  7. Marca: siga todos os tokens de design em context/product.md; caso contrário, use um estilo neutro e acessível. Funciona em largura de telefone. Foco visível no teclado.

Verificação

Execute python3 .pm-harness/pm_check.py prototype work/<item>/03-trees work/<item>/04-prototype/index.html. Ele falha se alguma linha da árvore estiver faltando no mapa de cobertura ou apontar para uma tela que não existe. Corrija até passar.

Portão

Mostre ao PM a árvore Journey no protótipo e, em seguida, qualquer ramo que ele escolher. Colete feedback. Se o feedback mudar o comportamento, atualize as árvores primeiro, execute novamente a verificação das árvores e, depois, atualize o protótipo. Quando o PM aprovar, defina stage: prototype em 01-idea.md e ofereça /pm-harness:create-eng-tickets. Se a equipe do PM usar Figma para o design final, informe quais telas um designer deve levar adiante.

Habilidades Relacionadas