Communitygithub.com

master-class

Transforma anotações de laboratório, notas ou pastas (Obsidian, notebooks, código) em um curso completo em vídeo narrado, armazenado no mesmo vault do Obsidian — um MP4 + uma nota por lição e um índice do curso (MOC). Ensina a intenção do curso (problema antes da solução, equívocos, intuição, limites), não o código linha a linha. Use quando solicitado a "criar uma master class / curso / videoaulas / tutoriais em vídeo" a partir de material de estudo.

O que é master-class?

A skill "master-class" transforma material de estudo em um curso em vídeo que o aluno realmente assistiria, focando na pedagogia (leitura, mapa do curso, roteiros). A renderização (diagramas, voz, MP4, notas do Obsidian) é feita pela skill companheira "master-class-render". O fluxo de trabalho começa com a leitura aprofundada do material, segue para a criação de um mapa do curso (que requer aprovação do usuário), depois para a escrita de roteiros para cada lição, validação via linter, e finalmente a renderização. As regras de ensino são não negociáveis: problema antes da solução, ensinar a intenção (não a implementação), desmontar um equívoco por lição, usar um exemplo concreto que percorre todo o curso, e variar aberturas e fechamentos. A qualidade depende quase inteiramente das etapas 1 a 4, que devem ser executadas no modelo de pedagogia especificado (padrão: claude-sonnet-5.5). A skill suporta Obsidian, notebooks, e qualquer estrutura de notas; opera no contexto do terminal do usuário (via Claude Code) e gerencia a delegação de subagentes conforme necessário.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/carlos-carvajal-slalom/master-class-skills/tree/main/master-class

Perguntar na sua IA favorita

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

Documentação

Master class

Transforma material de estudo em um curso em vídeo que o aluno realmente assistiria. Esta skill é responsável pela pedagogia (leitura, mapa do curso, roteiros). A renderização (diagramas, voz, MP4, notas do Obsidian) é feita pela skill companheira master-class-render.

Roteamento de modelo (instrução explícita do usuário)

PEDAGOGY_MODEL: claude-sonnet-5.5    # leitura, mapa do curso, roteiros (etapas 1–4). Modelo mais barato que mantém a qualidade; altere aqui se necessário.

A qualidade depende quase inteiramente das etapas 1–4, portanto elas devem ser executadas no PEDAGOGY_MODEL. As etapas 0, 5 e 6 são mecânicas e executadas no modelo que estiver conduzindo esta sessão.

  • Se você já está executando como PEDAGOGY_MODEL (ou o usuário disser para pular a delegação), execute as etapas 1–4 você mesmo.
  • Caso contrário, delegue. Inicie um subagente general-purpose com model: PEDAGOGY_MODEL. A definição do modelo aqui é uma solicitação explícita do usuário. Seu prompt deve incluir: o caminho de origem, o idioma de saída, o caminho da pasta de origem, qualquer foco/contexto que o usuário forneceu, e "Leia ~/.copilot/skills/master-class/SKILL.md e siga as etapas 1–2 exatamente; escreva course-map.md, depois pare e retorne o mapa."
    • Mostre o mapa retornado ao usuário e aguarde aprovação (a menos que o usuário tenha solicitado execução sem aprovações).
    • Em seguida, envie a aprovação/alterações para o mesmo agente (write_agent): "Aprovado [+ alterações]. Agora execute as etapas 3–4 exatamente: escreva cada roteiro, faça o lint até não haver erros, escreva scripts/README.md e retorne o resumo do lint."
    • Depois, continue você mesmo com a etapa 5 (renderização), que não precisa de um modelo grande.
  • Se o usuário nomear um modelo diferente para pedagogia na solicitação, use esse modelo.

Lista de leitura (antes de escrever qualquer coisa)

  1. references/cheatsheet.md: uma página com as regras importantes.
  2. references/learner-profile.md: quem é o aluno, como ele pensa, quais analogias funcionam.
  3. references/lesson-template.md: o esqueleto preenchível para cada lição.
  4. Exemplos aprovados, todos de um curso (Lab 02, Tool Use & MCP): examples/course-map.md, 01 (uma frase errada → mecanismo), 05 (uma história → uma regra), 08 (ponderando opções → por que um padrão existe). Imite a profundidade e a voz deles, não as palavras.
  5. Opcional: references/teaching-research.md, as evidências e fontes por trás das regras.

Regras de ensino não negociáveis

  1. Problema antes da solução. Toda lição começa com uma situação concreta onde algo falha ou dói. A tecnologia é nomeada apenas após o problema e as alternativas óbvias rejeitadas.
  2. Ensine a intenção, não a implementação. Se o material ensina X, o aluno deve entender o que é X, por que existe, quando usar e quando não usar. Código é evidência para um conceito já explicado (≤ 6 linhas), nunca uma demonstração passo a passo.
  3. Desmonte um equívoco por lição, em voz alta.
  4. Concreto → abstrato, com um exemplo único que percorre todo o curso.
  5. A forma de pensar do aluno: contexto → restrição real → opções consideradas e por que cada uma foi rejeitada → decisão → custo/compromisso → quando não usar. Pergunte "existe algo melhor?" explicitamente.
  6. Pausa de recuperação em cada lição: pergunta → … (o renderizador insere uma pausa de 4 s) → resposta com sua razão.
  7. Ponte: toda lição termina com o problema que a próxima resolve.
  8. Sem limite de duração, mas um objetivo de aprendizado por lição (normalmente 4–6 min).
  9. Varie aberturas, fios condutores e fechamentos; nunca um molde fixo.
  10. Nunca invente fatos ou números. Afirmações técnicas vêm das fontes lidas ou de documentação oficial verificada; cenários hipotéticos devem ser claramente cenários.

Fluxo de trabalho

0 · Pergunte primeiro

  • Idioma de saída: sempre pergunte, a menos que o usuário já tenha dito.
  • Caminho de origem, se ausente. Padrões (confirme apenas se o layout do vault for diferente):
    • anotações → <pasta do laboratório>/Master class/
    • vídeos → <pasta do laboratório>/_attachments/master-class/
    • fontes → <pasta do laboratório>/_attachments/master-class/source/ (course-map.md, scripts/, scenes/)
  • Aplique o Roteamento de modelo acima.

1 · Leia com profundidade limitada

  • Leia o laboratório/anotação completamente. Para notebooks, leia o markdown e os conceitos que o código demonstra; nunca execute notebooks e nunca leia segredos ou .env.
  • Siga [[wikilinks]]/documentos vinculados até 2 níveis de profundidade, apenas se relevantes para a intenção do material. Pule laboratórios futuros, pré-requisitos já cobertos e tangentes.
  • A Web é permitida para verificar ou completar o porquê (documentação oficial e especificações). Cite-a.
  • Mantenha um registro: lido / descartado + motivo.

2 · Mapa do curso → pare para aprovação

Escreva <source>/course-map.md como examples/course-map.md:

  • a intenção em 2–3 frases, como o que o aluno será capaz de decidir;
  • o registro de leitura;
  • uma tabela de lições: # · lição · problema que abre · equívoco · analogia/abertura · resolve → deixa em aberto, com a lição 00 como visão geral e a última lição como a síntese em decisões.

3 · Roteiros, uma lição por vez

Para cada lição, em ordem:

  1. Releia a folha de dicas, o modelo, a linha da lição no mapa e um exemplo.
  2. Copie references/lesson-template.md para <source>/scripts/NN - Título curto.script.md e preencha-o. O sufixo .script.md é obrigatório, caso contrário o Obsidian confunde roteiros com notas de lição.
  3. Faça o lint (etapa 4) e corrija antes de passar para a próxima lição.

A narração é escrita para o ouvido: sem listas, tabelas ou URLs; números como as pessoas falam; ids/código em crases (lidos como palavras). A batida de recuperação é intitulada Pausa de recuperação e tem … entre pergunta e resposta. Se a Tela for a própria pergunta, escreva-a como *"pergunta"*.

Por fim, escreva <source>/scripts/README.md: tabela de lições + autoavaliação da rubrica.

4 · Lint + rubrica (deve passar antes de renderizar)

python3 ~/.copilot/skills/master-class/scripts/lint_script.py "<source>/scripts" --sources "<pasta do laboratório>" <outras anotações lidas>

Corrija todo ERRO. Corrija todo AVISO a menos que seja intencional (por exemplo, um número hipotético em um cenário claramente hipotético). O linter não pode julgar estes itens, então verifique você mesmo:

  • Porquê antes de como: a tecnologia aparece apenas após as alternativas rejeitadas
  • Compreensível sem ver nenhum código
  • O equívoco é declarado e desmontado explicitamente
  • A pergunta do Gancho é respondida explicitamente
  • A Tela complementa a narração (sem texto duplicado)
  • Lido em voz alta, soa como um professor, não como tópicos
  • Aberturas/fechamentos variam entre lições consecutivas

5 · Renderizar → master-class-render

Leia ~/.copilot/skills/master-class-render/SKILL.md e siga-o: escreva as cenas, depois construa os MP4s, notas de lição e MOC com um comando, e então verifique.

6 · Relatório

Caminhos (MOC primeiro), número de lições e duração total, resultado do lint, qualquer item não verificado e um resumo do registro de leitura.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas