Pular para o conteúdo
Skillpedia
Sites e telas (frontend)40 mil · #5325

react-container-presentation-component

Ajuda seu agente a criar componentes React usando o padrão Container/Presentation. Ele segue as convenções do projeto para arquivos e estilo.

O que ela faz

Esta ferramenta cria componentes de código para um site ou aplicativo feito com React. Ela ajuda a organizar o código seguindo um padrão específico chamado 'Container/Presentation'.

Quando usar

  • ✓Quando você quer criar um novo componente de código para seu projeto React.
  • ✓Quando você precisa organizar melhor o código do seu projeto seguindo um padrão específico.
  • ✓Quando você quer garantir que o código siga as regras de organização e estilo definidas.

Exemplo do que pedir para a IA

“Crie um componente React chamado 'UserProfile' seguindo o padrão Container/Presentation, classificado como 'ui'.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/react-container-presentation-component/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/react-container-presentation-component/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você informa o nome do componente e se ele é de 'ui' (interface) ou 'features' (funcionalidade). A ferramenta então cria os arquivos necessários, seguindo as regras de organização e estilo do projeto.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill react-container-presentation-component

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/react-container-presentation-component/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Componente Container/Presentation

Use esta habilidade para criar um componente React em src/components que siga o padrão Container/Presentation.

Consulte as referências incluídas nesta habilidade para obter regras detalhadas.

  • references/component-architecture.md
  • references/typescript-and-scss-rules.md

Se a entrada /react-container-presentation-component estiver incompleta, faça perguntas antes de criar arquivos.

Quando Usar

  • Quando o usuário executar /react-container-presentation-component
  • Quando o usuário solicitar explicitamente um componente React que siga o padrão Container/Presentation
  • Quando o usuário quiser ajuda para decidir ou implementar a classificação ui vs features dentro do padrão Container/Presentation

Perguntas Necessárias

Se alguma das seguintes informações estiver faltando, pergunte ao usuário usando ask_user.

  1. Nome do componente
  2. Tipo (ui ou features)
  3. Se deve substituir componentes existentes (apenas ao criar ui)

Requisitos das perguntas:

  • Forneça o tipo como opções (ui, features)
  • Exija que o nome do componente esteja em PascalCase
  • Para ui, pergunte se o uso direto de Mantine ou outras bibliotecas de UI em features existentes deve ser substituído pelo novo componente

Procedimento

  1. Verificar componentes existentes
  • Verifique se src/components/ui/<ComponentName> ou src/components/features/<ComponentName> já existem.
  • Se existir, não sobrescreva; confirme a abordagem preferida com o usuário.
  1. Decidir diretório de destino
  • ui: src/components/ui/<ComponentName>
  • features: src/components/features/<ComponentName>
  1. Re-verificar classificação (apenas quando ui for especificado)
  • Mesmo quando ui for especificado, antes de criar arquivos, revise Reclassification Rule em references/component-architecture.md.
  • Se a implementação incluir gerenciamento de estado, efeitos colaterais, processamento assíncrono, atualizações de contexto/store ou lógica de negócios, trate-a como features.
  • Se o resultado for mais próximo de features, não prossiga como ui; use ask_user e confirme uma das seguintes opções antes de continuar.
    • Create as features
    • Keep ui and move state/logic to parent or features
  1. Criar arquivos necessários
  • ui: index.tsx, index.module.scss, index.stories.tsx
  • features: index.tsx, use<ComponentName>.tsx, presentation.tsx, types.ts, presentation.module.scss, presentation.stories.tsx
  1. Substituir usos existentes (apenas ao criar ui)
  • Somente com a aprovação do usuário, substitua implementações diretas equivalentes usando Mantine ou outras bibliotecas de UI em features existentes pelo novo componente ui.
  1. Validar
  • Execute os comandos de build e lint e certifique-se de que ambos passem; se problemas forem introduzidos por arquivos recém-adicionados ou atualizados, corrija-os.
  • Siga Storybook Minimum em references/component-architecture.md para decisões de estado do Story.
  • Pergunte ao usuário via ask_user se deve executar uma verificação do Storybook (por exemplo: "Executar" / "Pular por enquanto").
  • Execute npm run storybook somente se o usuário selecionar "Executar".
  • Se o usuário selecionar "Pular por enquanto", mencione explicitamente no relatório final que a execução do Storybook foi pulada.

Contrato de Saída

  • Relate a lista de arquivos criados.
  • Se substituições foram realizadas, relate a lista de arquivos alterados e detalhes da substituição.
  • Forneça um exemplo de uso do componente criado.
  • Relate se a verificação do Storybook foi executada (executada/pulada) e, se executada, inclua o comando usado.
  • Explique por que o componente foi classificado como ui ou features.
  • Resuma onde o estado, os efeitos colaterais e as responsabilidades de renderização foram colocados.
  • Confirme se houve alguma violação de direção de dependência.
  • Declare claramente quaisquer itens não resolvidos.
Perguntas frequentes

O que é o padrão Container/Presentation?

É uma forma de organizar o código onde um componente ('container') cuida da lógica e dados, e outro ('presentation') cuida apenas de como mostrar as coisas na tela.

O que são 'ui' e 'features'?

'ui' são componentes que cuidam apenas da aparência, como botões ou campos de texto. 'features' são componentes que têm lógica, como buscar dados ou gerenciar um formulário.

O que acontece se um componente com o mesmo nome já existir?

A ferramenta não sobrescreve automaticamente. Ela pergunta o que você prefere fazer, como renomear ou não criar o componente.

Detalhes

Descrição original do autor

Create a React component using the Container/Presentation pattern in src/components by asking for the component name and type (ui or features), then scaffold files that follow this repository's TypeScript, Storybook, and SCSS conventions. Use when the user explicitly asks for a Container/Presentation-based component or runs /react-container-presentation-component.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5325
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas