|
| 1 | +# Demo: GitHub Copilot + MCP + Skills + Custom Agents |
| 2 | + |
| 3 | +Este material foi escrito para quem está assistindo à demonstração. |
| 4 | + |
| 5 | +## O que está acontecendo nesta demo |
| 6 | + |
| 7 | +Nesta apresentação, uma issue do GitHub é usada como ponto de partida para uma implementação real dentro deste projeto. Em vez de depender de um único comando genérico, o fluxo foi dividido em etapas com responsabilidades claras. |
| 8 | + |
| 9 | +O objetivo é mostrar como diferentes mecanismos do GitHub Copilot podem trabalhar juntos: |
| 10 | + |
| 11 | +- `GitHub MCP` traz o contexto externo da issue |
| 12 | +- a skill `issue-to-brief` transforma esse contexto em um briefing técnico |
| 13 | +- o custom agent `refactor` implementa a mudança no código de produção |
| 14 | +- o custom agent `test` valida o resultado com testes automatizados |
| 15 | +- a skill `pr-summary` organiza o fechamento técnico da execução |
| 16 | + |
| 17 | +## Conceitos principais |
| 18 | + |
| 19 | +### MCP |
| 20 | + |
| 21 | +O MCP funciona como uma ponte entre o agente e sistemas externos. Nesta demo, ele é usado para acessar as informações da issue no GitHub sem depender de cópia manual para o prompt. |
| 22 | + |
| 23 | +### Skill |
| 24 | + |
| 25 | +Uma skill não é o componente que executa a mudança no código. Ela serve para orientar o raciocínio do agente em uma etapa específica do fluxo. |
| 26 | + |
| 27 | +Nesta demo, duas skills são usadas: |
| 28 | + |
| 29 | +- `issue-to-brief`: organiza a issue em um briefing técnico acionável |
| 30 | +- `pr-summary`: consolida o resultado final em um resumo claro e rastreável |
| 31 | + |
| 32 | +### Custom agent |
| 33 | + |
| 34 | +Um custom agent é um especialista com instruções próprias para um tipo de tarefa. |
| 35 | + |
| 36 | +Nesta demo, há dois: |
| 37 | + |
| 38 | +- `refactor`: cuida da implementação no código de produção |
| 39 | +- `test`: cuida da validação por meio de testes automatizados |
| 40 | + |
| 41 | +## Fluxo da demonstração |
| 42 | + |
| 43 | +### 1. A issue é lida e entendida |
| 44 | + |
| 45 | +A primeira etapa não é alterar código. Primeiro, o sistema lê a issue do GitHub e organiza o problema em termos técnicos. |
| 46 | + |
| 47 | +### 2. O problema vira um briefing técnico |
| 48 | + |
| 49 | +Depois de ler a issue, a skill `issue-to-brief` transforma o conteúdo em algo mais útil para desenvolvimento. |
| 50 | + |
| 51 | +Esse briefing normalmente destaca: |
| 52 | + |
| 53 | +- objetivo da mudança |
| 54 | +- critérios de aceite |
| 55 | +- impacto provável no código |
| 56 | +- riscos de regressão |
| 57 | +- partes do contrato HTTP que devem ser preservadas |
| 58 | + |
| 59 | +### 3. A implementação vai para um especialista em código |
| 60 | + |
| 61 | +Com o briefing pronto, o trabalho segue para o custom agent `refactor`. |
| 62 | + |
| 63 | +Esse agent foi configurado para atuar especificamente em refatoração e implementação de código de produção, com foco arquitetural e com menor risco de regressão. |
| 64 | + |
| 65 | +### 4. A validação vai para um especialista em testes |
| 66 | + |
| 67 | +Depois da implementação, a tarefa segue para o custom agent `test`. |
| 68 | + |
| 69 | +Isso mostra que testes não foram tratados como uma consequência opcional da implementação. Eles entram como uma etapa própria, com foco próprio e com critérios objetivos de validação. |
| 70 | + |
| 71 | +### 5. O resultado final é consolidado |
| 72 | + |
| 73 | +Por fim, a skill `pr-summary` organiza um fechamento técnico da execução. |
| 74 | + |
| 75 | +Esse fechamento conecta: |
| 76 | + |
| 77 | +- a issue original |
| 78 | +- o que foi alterado no código |
| 79 | +- o que foi validado em testes |
| 80 | +- riscos, limitações e pendências |
| 81 | + |
| 82 | +## Prompts usados na apresentação |
| 83 | + |
| 84 | +Os prompts abaixo são os que serão usados durante a demonstração. |
| 85 | + |
| 86 | +### Prompt 1: Ler a issue e gerar o briefing |
| 87 | + |
| 88 | +```text |
| 89 | +Leia a issue #2 do repositorio devsuperior/ia-java-spring-2026 via GitHub MCP. |
| 90 | +
|
| 91 | +Use a skill `issue-to-brief` #file:.github/skills/issue-to-brief/SKILL.md para transformar a issue em um briefing técnico acionável para este projeto |
| 92 | +``` |
| 93 | + |
| 94 | +### Prompt 2: Implementar com o agent de refatoração |
| 95 | + |
| 96 | +```text |
| 97 | +Agora implemente a issue com o custom agent `refactor`, seguindo o briefing gerado. |
| 98 | +
|
| 99 | +Preserve o contrato HTTP existente, faça mudanças incrementais e ao final entregue a lista de classes que precisam ser analisadas pelo agent de testes. |
| 100 | +``` |
| 101 | + |
| 102 | +### Prompt 3: Validar com o agent de testes |
| 103 | + |
| 104 | +(altere o agente antes de executar o prompt) |
| 105 | +```text |
| 106 | +Agora use o custom agent `test` para criar ou ajustar os testes necessários com base nas classes listadas pela etapa anterior. |
| 107 | +
|
| 108 | +Execute os testes relevantes, informe os comandos executados, o resultado e a cobertura JaCoCo quando disponível. |
| 109 | +``` |
| 110 | + |
| 111 | +### Prompt 4: Gerar o fechamento final |
| 112 | + |
| 113 | +Antes faça: |
| 114 | +- altere a branch para `feature/tabela` |
| 115 | +- git add e git commit das mudanças |
| 116 | +- git push |
| 117 | + |
| 118 | +```text |
| 119 | +Use a skill `pr-summary` #file:.github/skills/pr-summary/SKILL.md para gerar o fechamento técnico desta execução. |
| 120 | +O commit e push já foi feito, mapeie a branch atual e seguida para próxima tarefa. |
| 121 | +Faça o PR dessa branch para a main, usando via GitHub MCP, usando o resumo curto gerado e referenciando a issue #2. |
| 122 | +``` |
| 123 | + |
| 124 | +## O que observar durante a apresentação |
| 125 | + |
| 126 | +Durante a demo, vale prestar atenção em cinco sinais: |
| 127 | + |
| 128 | +1. O sistema primeiro entende a issue antes de alterar qualquer arquivo. |
| 129 | +2. O contexto da tarefa vem do GitHub, não de uma descrição manual resumida. |
| 130 | +3. A responsabilidade é distribuída entre skill e custom agents. |
| 131 | +4. O teste aparece como etapa de validação, não como detalhe opcional. |
| 132 | +5. O fechamento final conecta problema, implementação e evidências. |
| 133 | + |
| 134 | +## Estrutura usada no repositório |
| 135 | + |
| 136 | +Os arquivos mais relevantes para esta demonstração são: |
| 137 | + |
| 138 | +- `.github/agents/refactor.agent.md` |
| 139 | +- `.github/agents/test.agent.md` |
| 140 | +- `.github/skills/issue-to-brief/SKILL.md` |
| 141 | +- `.github/skills/pr-summary/SKILL.md` |
| 142 | +- `ISSUE-SEPARAR-USUARIO-EXPERIENCIA.md` |
| 143 | + |
| 144 | +## Resultado esperado |
| 145 | + |
| 146 | +Ao final da apresentação, a expectativa é que fique claro que: |
| 147 | + |
| 148 | +- o MCP traz contexto externo de forma integrada |
| 149 | +- skills ajudam a organizar e orientar o fluxo |
| 150 | +- custom agents permitem especialização por responsabilidade |
| 151 | +- implementação e validação podem ser encadeadas de forma mais disciplinada |
0 commit comments