Communitygithub.com

Encontre Seus Desconhecidos

Habilidade que ajuda a descobrir e nomear lacunas de conhecimento entre a intenção do usuário e a implementação real, antes, durante e depois do desenvolvimento.

O que é Encontre Seus Desconhecidos?

Esta skill, 'Encontre Seus Desconhecidos', é uma caixa de ferramentas para desenvolvedores e agentes de IA (como Claude Code, Cursor, Codex) projetada para eliminar suposições durante o desenvolvimento de software. Ela guia o agente a diagnosticar que tipo de 'desconhecido' está presente — desde 'desconhecidos desconhecidos' (tópicos que o usuário nunca considerou) até 'desconhecidos conhecidos' (detalhes que o usuário sabe que faltam) — antes de aplicar técnicas específicas. O fluxo começa com um diagnóstico, escolhendo entre varredura de pontos cegos, prototipação ou entrevista com o usuário, e então avança para planejamento, implementação e verificação, sempre gerando artefatos (protótipo, especificação, notas de implementação, relatório de aceitação) que alimentam a próxima etapa. A skill também se integra com outras habilidades, como 'interview-me' para esclarecer intenções ou 'grill-me' para testar suposições, garantindo que o trabalho seja validado antes de ser considerado completo. É ideal para tarefas complexas ou domínios desconhecidos, mas recomenda-se não executar todas as técnicas em tarefas triviais.

Funciona com~Claude Code✓Codex CLI~Cursor
npx skills add Alizen-1009/my_skills

Perguntar na sua IA favorita

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

Documentação

O que Encontre Seus Desconhecidos faz?

Visão Geral

A lacuna entre a descrição da tarefa pelo usuário (seu prompt, contexto, referências) e o trabalho real (o código-fonte, suas restrições, a realidade) é onde os desconhecidos vivem. Quando o agente encontra um desconhecido, ele adivinha a intenção do usuário. O trabalho desta skill é eliminar suposições: ajudar o usuário a descobrir e nomear seus desconhecidos antes, durante e depois da implementação, iterativamente — não como um plano único feito de antemão.

Isto é uma caixa de ferramentas, não um pipeline fixo. Primeiro diagnostique, depois aplique apenas as técnicas que se encaixam. Não execute todas elas em uma tarefa trivial.

Os Quatro Desconhecidos

Classifique o que está faltando antes de escolher uma técnica:

  • Conhecidos conhecidos — já declarados no prompt.
  • Conhecidos desconhecidos — o usuário sabe que ainda não decidiu isso.
  • Desconhecidos conhecidos — muito óbvios para escrever, mas o usuário os reconhece ao vê-los (geralmente gosto visual/UX).
  • Desconhecidos desconhecidos — nunca considerados; o usuário não sabe o que não sabe.

Passo 0 — Diagnosticar

Antes de fazer qualquer coisa, decida quais desconhecidos dominam e escolha as técnicas de acordo:

  • Domínio desconhecido ou canto desconhecido do código-fonte → Varredura de pontos cegos (desconhecidos desconhecidos).
  • Difícil de descrever, "vou saber quando ver" → Protótipo (desconhecidos conhecidos).
  • Direção clara, detalhes confusos → Entrevistar o usuário + Rascunhar um plano (conhecidos desconhecidos).

Sempre dê contexto sobre quem é o usuário e o que ele já sabe — isso aprimora cada técnica abaixo.

Passar o Bastão para Outras Skills

Use esta skill como uma camada de descoberta, não como o fluxo de trabalho completo. Depois de nomear os desconhecidos, escolha a menor skill de acompanhamento que resolva a próxima incerteza.

Desconhecido ou próxima necessidadePassar paraUsar quando
O usuário não expressou totalmente a intençãointerview-meFaça uma pergunta de cada vez até que a necessidade subjacente esteja clara.
O plano precisa ser testado sob pressãogrill-me ou grill-with-docsTeste as suposições; use a variante com docs quando ADRs ou atualizações de glossário devem ser capturadas.
Fatos externos estão faltandoresearch ou source-driven-developmentReúna evidências de fontes primárias antes de decidir.
O usuário saberá quando verprototypeMostre opções concretas com dados falsos antes de se comprometer com a implementação.
O trabalho precisa de uma especificação formalspec-driven-developmentConverta restrições e decisões descobertas em um PRD/especificação.
O trabalho é grande demais para executar diretamenteplanning-and-task-breakdown ou writing-plansDivida a especificação alinhada em fatias ordenadas e verificáveis.
Limites de interface são incertosapi-and-interface-design ou design-an-interfaceDecida contratos de API, módulo ou tipo.
A forma do código-fonte é a incertezacodebase-design ou improve-codebase-architectureEncontre o limite de módulo, abstração ou direção de refatoração corretos.
O comportamento de UI ou qualidade visual é incertofrontend-ui-engineeringTransforme protótipos ou preferências escolhidos em trabalho de UI de produção.
Um bug está presente, mas a causa não está clarasystematic-debugging ou diagnosing-bugsReproduza, isole, levante hipóteses, instrumente e corrija.
A implementação abrange tarefas independentessubagent-driven-development ou dispatching-parallel-agentsDivida o trabalho apenas quando as tarefas não compartilham estado ou dependências sequenciais.
O trabalho parece completoverification-before-completion, requesting-code-review ou code-reviewVerifique as evidências, então revise antes de reivindicar conclusão ou mesclar.

Antes de passar o bastão, resuma:

  • O que é conhecido agora.
  • O que permanece desconhecido.
  • Qual decisão mudaria a implementação.
  • Qual artefato deve seguir adiante: protótipo, especificação, plano, notas de implementação ou relatório de aceitação.

Técnicas por Fase

Cada técnica tem um gatilho e um modelo de prompt pronto para enviar. Adapte as partes entre colchetes.

Explorar (encontrar os desconhecidos)

1. Varredura de pontos cegos — primeiro movimento em uma área desconhecida.

Estou adicionando [X] mas mal conheço o módulo [Y] neste código-fonte. Faça uma passagem de pontos cegos — encontre meus "desconhecidos desconhecidos" e explique-os, para que eu possa escrever um prompt melhor para você.

2. Protótipo — quando não pode ser descrito, mostre. Use dados falsos, sem backend.

Antes de tocar no aplicativo real, crie um arquivo HTML que simule [a interface] com dados falsos. Me dê 4 direções de design completamente diferentes para que eu possa ver qual parece certa.

3. Entrevistar o usuário — extraia os pontos confusos restantes.

Me faça uma pergunta de cada vez. Mire em áreas ambíguas e priorize perguntas cuja resposta mudaria a arquitetura.

Planejar (alinhar a intenção)

4. Mostrar uma referência — a melhor referência é o código-fonte, não uma captura de tela.

[caminho / biblioteca] implementa o [comportamento] que eu quero. Leia, depois reimplemente a mesma semântica em [nossa pilha].

5. Rascunhar um plano — traga à tona as decisões com maior probabilidade de mudança primeiro.

Escreva um plano de implementação em HTML, mas coloque as decisões que tenho maior probabilidade de ajustar no topo: mudanças no modelo de dados, novas interfaces de tipo, qualquer coisa visível ao usuário. Coloque refatorações mecânicas por último — confio em você nessas.

Implementar (capturar desconhecidos que surgem no meio do trabalho)

6. Anotações ao longo do caminho — inicie uma nova sessão, alimente a especificação/protótipo, então:

Mantenha um arquivo implementation-notes.md. Se um caso de borda te tirar do plano, escolha a opção conservadora, registre-a em uma seção "Desvios" e continue.

Entregar (alinhar outros, verificar se você entendeu)

7. Explicador de passagem de bastão

Empacote o protótipo, a especificação e as notas de implementação em um documento que eu possa colocar no chat para obter aceitação. Coloque um GIF de demonstração no topo.

8. Teste de aceitação — a regra rígida do autor: passe antes de mesclar.

Quero ter certeza de que entendi esta mudança completamente. Faça um relatório HTML com o contexto da mudança, intuição e o que foi feito — depois um teste no final que eu tenha que passar.

Regras Operacionais

  • Sempre que estiver prestes a adivinhar a intenção do usuário, pare e aplique a técnica correspondente.
  • Encadeie os artefatos: protótipo → especificação → notas de implementação → relatório de aceitação; cada um é entrada para o próximo, para que uma nova sessão não perca contexto.
  • Para uma tarefa pequena, varredura de pontos cegos + rascunhar plano + teste de aceitação já captura a maior parte do valor. Não exagere.

Habilidades Relacionadas