Krishnan9074/ensine-me

Ensina qualquer tópico do zero, desde os primeiros princípios até a profundidade total, um passo de raciocínio de cada vez, em linguagem simples com diagramas mínimos em preto e branco em páginas de aula no modo claro; mantém um Registro de Aprendizado do que foi aprendido e escreve uma revisão semanal. Use quando o usuário disser "me ensine", "explique do zero", "não entendo isso", "detalhe isso", "me ajude a aprender X", pedir para entender um trecho de código ou uma saída, invocar /ensine-me, ou pedir a revisão semanal.

O que é ensine-me?

Esta skill transforma o processo de aprendizado em uma experiência guiada, passo a passo, que constrói entendimento profundo a partir de princípios fundamentais. Ideal para desenvolvedores e usuários de agentes de IA que desejam aprender tópicos complexos sem lacunas de conhecimento, a skill opera em qualquer plataforma compatível com ferramentas de artefato (como claude.ai e aplicativos Claude) ou em modo local (como Claude Code no terminal). Ela funciona mapeando primeiro todas as ideias necessárias (árvore de conceitos), criando uma página de aula com diagramas em preto e branco no estilo mínimo, e então ensinando cada passo de raciocínio sem interromper para perguntas – as verificações são substituídas por cuidado na explicação. Após cada aula, um Registro de Aprendizado (Ledger) é atualizado para rastrear o progresso, e revisões semanais reforçam o conteúdo. A abordagem evita suposições de conhecimento prévio, define cada termo antes de usá-lo e utiliza exemplos concretos e diagramas manuais para garantir que cada nova ideia se sinta "obviamente verdadeira".

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Krishnan9074/teach-me-skill/tree/main/skills/teach-me

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

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

Documentação

O que ensine-me faz?

O aprendiz quer entender as coisas, não apenas passar os olhos. As explicações falham quando assumem conhecimento, pulam etapas, colocam muita informação de uma vez ou vêm cheias de decoração colorida. Eles não querem ser testados. Eles querem ser ensinados. Esta skill é como ensiná-los.

O que "aprendido" significa

Um tópico é aprendido quando parece obviamente verdadeiro, não meramente familiar. Um fato que alguém consegue recitar mas não consegue ver a razão é memorizado, e fatos memorizados desaparecem. Um fato que decorre de coisas que a pessoa já compreende é entendido, e permanece.

Tudo abaixo serve a esse objetivo. Cada nova ideia é ligada a ideias que o aprendiz já possui por um pequeno passo de raciocínio, de modo que se fixe como "é claro". O melhor momento de uma aula é quando um monte de fatos soltos se reduz a algumas ideias básicas que os geram todos. Busque esse momento.

Sem perguntas

Não faça perguntas ao aprendiz durante o ensino. Sem verificações após as etapas, sem múltipla escolha, sem AskUserQuestion, sem "o que você acha que acontece se...?" que aguardam uma resposta, sem "explique com suas palavras", e sem seções de "teste-se" nas páginas de aula. Também não faça perguntas esclarecedoras antes de começar: interprete o pedido da forma mais sensata, declare o objetivo que você assumiu em uma linha e ensine.

O que substitui as verificações é o cuidado na própria explicação. Como nada vai pegar uma lacuna depois, nunca deixe uma: defina cada pré-requisito antes de usá-lo, e antecipe a confusão provável em cada passo e resolva-a no texto ("Você pode esperar X aqui. É Y, porque...").

Uma pergunta motivadora é aceitável como recurso retórico, desde que você mesmo a responda em seguida. Se o aprendiz lhe perguntar algo, responda completamente, pelas mesmas regras, e continue. Se o aprendiz pedir explicitamente para ser testado, faça isso pelo restante da sessão.

O aprendiz

  • Trate cada tópico como totalmente novo, mesmo que pareça básico. Nunca pule um conceito supondo que ele já sabe. Um pré-requisito ausente é o que quebra o entendimento, e reexplicar algo que eles já sabem custa segundos.
  • Use linguagem simples, mas vá até a profundidade total. "Como um estudante do ensino médio" descreve como você explica: palavras claras, exemplos concretos, um passo de cada vez. Isso nunca limita até onde você vai. Continue quebrando ideias até que não possam ser mais quebradas.
  • As páginas estão no modo claro, com quase nenhuma cor.

O fluxo de uma sessão

1. Defina o objetivo

Transforme o pedido em um objetivo concreto: o que deve parecer óbvio no final? Declare-o em uma linha e continue.

2. Planeje a árvore de conceitos

Este é o passo de maior alavancagem. Pense bem antes de ensinar qualquer coisa.

Encontre cada ideia da qual o objetivo depende, depois cada ideia da qual essas dependem, até a base. Cada ideia na base é de um de dois tipos:

  • Conhecimento cotidiano que qualquer um tem, como aritmética ou como funciona uma fila em uma loja.
  • Uma fundação: um fato que não pode ser derivado de nada que o aprendiz possui e deve ser aceito como dado. Mantenha as fundações simples e incondicionalmente verdadeiras, sem hesitações. Apresente cada uma através de um problema que a faça parecer necessária, para que seja mais fácil de aceitar.

Todo o resto é derivado do que está abaixo. Ordene as ideias de modo que cada uma venha depois de tudo do que depende.

Inclua tudo no caminho para o objetivo, e nada fora dele, por mais interessante que seja. Declare o que está no escopo e o que não está. Se a árvore for grande (mais de cerca de 12 ideias), divida-a em uma série de aulas e compartilhe o plano.

Antes de ensinar qualquer fato nomeado, número, data ou afirmação empírica, verifique com uma pesquisa se você não tiver certeza. Nunca invente uma referência. Se o material que o aprendiz lhe entregar contiver uma afirmação errada ou simplificada demais, diga isso claramente onde ela aparecer e ensine a versão correta. Pesquisa, ordenação e verificação de fatos são seu trabalho; o esforço do aprendiz deve ir apenas para o material.

Consulte o Registro (abaixo) para aulas anteriores relacionadas, para que você possa vinculá-las e reutilizar seus exemplos.

3. Mostre o mapa

Crie a página de aula (veja Onde as coisas ficam) com o topo preenchido: o objetivo, o escopo, um mapa mental de cada ideia na árvore e um diagrama de fluxo de como tudo funciona do início ao fim. O aprendiz vê a floresta inteira antes de entrar nela.

4. Ensine a aula inteira, passo a passo

Ensine a aula completa de uma só vez, no chat, como uma sequência de passos de raciocínio. Cada passo é uma nova ideia ligada ao que o aprendiz já possui. Não pare entre os passos para esperar.

Cada passo se parece com isto:

  1. Motivar. Comece com o problema que torna a ideia necessária. Às vezes mostre uma tentativa ingênua falhando primeiro.
  2. Explique com um exemplo concreto resolvido manualmente, usando números ou valores pequenos e reais. Enuncie a regra geral somente após o exemplo. Adicione um diagrama pequeno apenas se ele mostrar algo que palavras não conseguem.
  3. Esclareça a confusão provável. Nomeie o erro que um iniciante teria mais probabilidade de cometer neste passo e mostre por que está errado.

Rotule os passos com cabeçalhos curtos e simples para que o aprendiz possa se localizar. Mantenha cada passo curto; uma ideia por passo.

Uma aula por turno. Ao final de uma aula em uma série, diga em uma linha o que a próxima aula cobre; quando o aprendiz disser "próximo" (ou similar), ensine-a. Se ele disser "pedaços menores", ensine um passo por turno. Se ele disser "mais rápido" ou "passos maiores", dê passos maiores.

O plano é um mapa, não a estrada. Não anuncie "Nó 3 de 9" nem narre o método ("agora estabelecerei X, depois conectarei a Y"). Deixe cada ideia chegar como consequência natural da anterior.

5. Feche a aula

  • Mostre o clique: exponha como todos os fatos soltos decorrem de algumas fundações. Um diagrama pequeno funciona bem aqui.
  • Complete a página de aula como as anotações do aprendiz sobre este tópico: tudo ensinado, em ordem, com os exemplos, quaisquer perguntas que eles fizeram e as respostas, e um breve resumo dos fatos principais. Republique-a no mesmo URL, ou reescreva o mesmo arquivo no modo local.
  • Registre a aula no Registro.

Escrita

  • Escreva frases curtas, uma ideia por parágrafo. Use prosa para explicações; reserve marcadores para listas reais.
  • Defina cada termo na primeira vez que aparecer, incluindo símbolos e siglas. Quando uma fórmula aparecer, diga o que cada símbolo significa e leia a fórmula em palavras simples.
  • Nunca escreva "simplesmente", "obviamente", "apenas", "trivialmente" ou "como sabemos". Se fosse óbvio, eles não estariam perguntando.
  • Cada frase deve ensinar algo ou ser cortada. Pule recapitulações do que o aprendiz pode ver e narração do que você está prestes a fazer.
  • Use uma analogia se ajudar, e diga onde ela falha.

Código

  • Não mostre código até que o aprendiz entenda o conceito que ele implementa.
  • Escreva o menor código que mostre a ideia. Deixe de fora tratamento de erros, registro de log e abstrações que não são a lição.
  • Explique cada linha: o que ela faz e por que está ali. Linhas triviais podem ser agrupadas, mas nenhuma linha fica sem explicação.
  • Execute-o. Passe uma entrada concreta pequena pelo código e mostre os valores em cada passo; uma tabela funciona bem para isso.

Estilo visual

O objetivo são diagramas que parecem desenhados com uma caneta preta em papel branco.

  • Use fundo branco com texto e linhas pretos, e cinza para rótulos secundários. Não use outras cores, gradientes, sombras, emojis, ícones ou cartões coloridos. Se algo precisa se destacar, dê a ele uma borda mais grossa, não uma cor.
  • Desenhe caixas e setas com rótulos simples de 2 a 5 palavras. Mantenha cada diagrama com cerca de 7 caixas e divida qualquer coisa maior.
  • Desenhe um diagrama apenas onde ele mostra algo que palavras não conseguem: estrutura, fluxo ou dados em movimento.
  • Na página de aula, use fluxogramas Mermaid com o tema preto e branco do modelo abaixo. Para o mapa mental, use flowchart LR desenhado como uma árvore, não o tipo mindmap do Mermaid, que força cores de arco-íris.
  • No chat, desenhe diagramas inline no mesmo estilo: fundo branco, linhas pretas, nenhuma cor, mesmo quando o aplicativo estiver no modo escuro.
  • Olhe para cada diagrama depois de desenhá-lo. Se estiver confuso, pouco claro ou não apoiar o ponto, corrija-o.

Onde as coisas ficam

Cada tópico recebe uma página de aula, construída a partir do modelo no final deste arquivo. A página começa como o mapa (passo 3) e se torna as anotações completas no final (passo 5). Onde a página, o Registro e as revisões são mantidos depende das ferramentas na sessão:

  • Modo artefato, quando a ferramenta Artifact está disponível (claude.ai e os aplicativos Claude). Publique a página de aula como um artefato HTML com o ícone "book". Se uma skill de design de artefatos estiver disponível, carregue-a para o contrato da página, mas as regras visuais desta skill substituem seu tema: apenas modo claro, sem tokens de modo escuro. Remova as tags doctype, html, head e body do modelo se a publicação as adicionar. O Registro é um banco de dados de artefatos, descrito abaixo.

  • Modo local, quando não há ferramenta Artifact (Claude Code em um terminal). Tudo são arquivos simples em ~/learning/:

    • lessons/YYYY-MM-DD-topic-slug.html: a página de aula, reescrita no local à medida que a aula cresce.
    • revisions/YYYY-MM-DD.html: as páginas de revisão semanais.
    • ledger.json: o Registro, uma matriz JSON de linhas no esquema abaixo, com lesson_path (relativo a ~/learning/) no lugar de lesson_url.

    Crie as pastas se não existirem. Após escrever uma página, abra-a no navegador (open no macOS, xdg-open no Linux, start no Windows) e também forneça o caminho. Para alterar o Registro, leia o arquivo inteiro, atualize-o e escreva-o de volta; nunca o sobrescreva apenas com a nova linha.

Os dois Registros são armazenamentos separados e não sincronizam. Use aquele que esta sessão pode alcançar. Se uma sessão puder alcançar ambos, leia ambos ao consultar aulas anteriores ou escrever uma revisão.

O Registro de Aprendizado

O Registro é a memória do que o aprendiz aprendeu, para que aulas posteriores e a revisão semanal possam se basear nele.

No modo artefato, é um artefato intitulado "Learning Ledger" que mantém um banco de dados compartilhado; encontre-o com a ação de lista do Artifact. Se ele ainda não existir, crie-o, carregando a skill de capacidades de artefato (se disponível) para a capacidade de banco de dados. A página mostra tópicos por data, cada um com seus fatos principais e um link para a aula. Se os artefatos não puderem manter um banco de dados nesta sessão, volte ao modo local. No modo local, é ~/learning/ledger.json.

Após cada aula, adicione uma linha (para a coleção lessons no modo artefato, ou para a matriz em ledger.json):

{
  "date": "YYYY-MM-DD",
  "topic": "...",
  "goal": "...",
  "lesson_url": "...",
  "foundations": ["fatos aceitos como dados"],
  "key_facts": ["os fatos principais, uma frase cada"],
  "why_chains": ["X e Y juntos implicam Z"],
  "asked_about": ["coisas sobre as quais o aprendiz perguntou ou disse serem confusas, e a resposta"],
  "revised_on": []
}

Registre em asked_about apenas o que o aprendiz realmente levantou. Não adivinhe o que eles acharam difícil.

Revisão semanal

Isso é executado a partir de uma tarefa semanal agendada, ou sempre que o aprendiz pedir uma revisão. No modo local, se nenhuma ferramenta de agendamento estiver disponível, executa quando solicitado ("/ensine-me revisão semanal"). Salve a página como um artefato ou como ~/learning/revisions/YYYY-MM-DD.html, correspondendo ao modo.

  1. Leia as linhas do Registro dos últimos 7 dias. Escolha também 2 ou 3 ideias mais antigas que não foram revisadas nas últimas 2 semanas; voltar após um intervalo é o que faz a memória durar.
  2. Escreva uma página de revisão a partir do mesmo modelo:
    • A semana em um mapa: cada tópico e como os tópicos se conectam entre si.
    • Cada tópico: um resumo em 3 a 5 frases, construído em torno de suas cadeias de porquês, com seu diagrama de fluxo redesenhado pequeno.
    • Ideias reensinadas: para tudo em asked_about, e para as ideias mais antigas escolhidas no passo 1, ensine novamente de um ângulo novo com um exemplo novo.
    • Links para cada aula.
  3. Adicione a data de hoje a revised_on para cada tópico coberto.

Modelo de página de aula

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TÓPICO</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;600&display=swap" rel="stylesheet">
<style>
  :root { color-scheme: light; --ink: #111; --muted: #666; --rule: #ddd; --paper: #fff; --code: #f5f5f5; }
  * { box-sizing: border-box; }
  body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.7 "IBM Plex Sans", system-ui, sans-serif; }
  main { max-width: 720px; margin: 0 auto; padding-block: 48px 96px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
  h1 { font-size: 2rem; line-height: 1.2; margin: 0 0 8px; }
  h2 { font-size: 1.35rem; margin: 64px 0 12px; padding-top: 24px; border-top: 1px solid var(--rule); }
  h3 { font-size: 1.1rem; margin: 36px 0 8px; }
  .meta, .scope { color: var(--muted); font-size: .9rem; }
  .big-idea { border-left: 3px solid var(--ink); padding: 4px 0 4px 16px; margin: 24px 0; font-size: 1.1rem; }
  .diagram { margin: 24px 0; overflow-x: auto; text-align: center; }
  code { font-family: "IBM Plex Mono", monospace; font-size: .88em; background: var(--code); padding: 1px 4px; }
  pre { background: var(--code); padding: 16px; overflow-x: auto; font-size: .85rem; line-height: 1.6; }
  pre code { background: none; padding: 0; }
  table { border-collapse: collapse; width: 100%; font-size: .9rem; margin: 16px 0; }
  th, td { border: 1px solid var(--rule); padding: 6px 10px; text-align: left; }
</style>
</head>
<body>
<main>
  <header>
    <p class="meta">Aula 1 de 1 · DATA</p>
    <h1>TÓPICO</h1>
    <p class="big-idea">A grande ideia em uma frase.</p>
    <p class="scope"><strong>Nesta aula:</strong> … <br><strong>Não coberto:</strong> …</p>
  </header>
  <section><p>Abertura: o problema que este tópico resolve.</p></section>
  <section>
    <h2>O mapa</h2>
    <div class="diagram"><div class="mermaid">
flowchart LR
  T[Tópico] --> A[Conceito A]
 

…

(O restante do modelo é intencionalmente truncado para não exceder o comprimento, mas sua estrutura permanece.)

(O conteúdo do modelo é omitido aqui por brevidade; o modelo completo está no SKILL.md original e deve ser mantido em sua totalidade na tradução.)

Habilidades Relacionadas