CommunityPesquisa e Análise de Dadosgithub.com

knowledge-transfer

Transferência de conhecimento assistida por IA para Claude Code e Codex: documentos de integração e memórias de IA filtradas por privacidade, verificadas contra o código atual antes da importação.

O que é knowledge-transfer?

O skill ferdinandobons/knowledge-transfer automatiza a passagem de conhecimento de projeto entre colegas, especialmente útil em cenários de onboarding ou saída de membros da equipe. Ele gera um pacote dentro do repositório contendo um documento de integração não técnico e as memórias acumuladas pela IA sobre o projeto, filtradas para remover informações pessoais e sensíveis. Suporta Claude Code (como skill autônomo ou plugin) e agentes que leem SKILL.md, como Codex. O fluxo possui duas fases principais: exportação (quando o colega que sai cria o pacote, analisa o projeto, filtra memórias conforme regras de privacidade e gera os arquivos) e importação (quando o novo colega verifica cada memória contra o código atual, classifica como válida, desatualizada com correção óbvia ou descartada, e instala as memórias no agente). Inclui contratos detalhados para formato do pacote, filtro de privacidade, modelo do documento e instalação de memórias.

Funciona com✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add ferdinandobons/knowledge-transfer

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

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

Documentação

O que knowledge-transfer faz?

Transfira o conhecimento do projeto entre colegas: um breve documento de integração não técnico mais as memórias acumuladas pela IA do projeto, empacotadas dentro do repositório do projeto para que o novo membro comece orientado e sua IA comece informada.

Uso

Skill autônomo para Claude Code:

/knowledge-transfer            # modo de detecção automática (veja abaixo)
/knowledge-transfer export     # colega saindo: construir o pacote de transferência
/knowledge-transfer import     # novo colega: verificar + instalar memórias, ler o documento

Instalação como plugin no Claude Code:

/knowledge-transfer:knowledge-transfer
/knowledge-transfer:knowledge-transfer export
/knowledge-transfer:knowledge-transfer import

Codex ou outro agente que leia SKILL.md:

$knowledge-transfer            # modo de detecção automática
$knowledge-transfer export     # colega saindo
$knowledge-transfer import     # novo colega

Detecção de modo (sem argumento)

  1. Se handover/manifest.json existir na raiz do projeto → anuncie modo de importação.
  2. Caso contrário → anuncie modo de exportação.

Indique o modo detectado em uma linha e prossiga. O usuário pode substituir a qualquer momento.

Contratos

Leia estes antes de produzir qualquer coisa:

  • references/package-format.md — estrutura do pacote e esquema do manifesto
  • references/privacy-filter.md — o que pode e não pode ser exportado
  • references/onboarding-template.md — estrutura, tom e tamanho do documento
  • references/agent-memory.md — como localizar e instalar memórias no Claude, Codex ou outro agente

Fase de exportação

Executada a partir da raiz do projeto pelo colega que está saindo do projeto.

1. Analise o projeto

  • Leia o README, arquivos de orientação do agente (CLAUDE.md, AGENTS.md, GEMINI.md, .cursor/rules/, etc., se presentes), a estrutura de alto nível, pontos de entrada e arquivos de configuração principais. Use subagentes para bases de código grandes, em vez de ler tudo inline.
  • Identifique: o que o projeto faz, os 3–7 componentes principais e 2–3 fluxos lógicos ponta a ponta que valem a pena narrar.
  • Detecte o idioma dominante do projeto (README, documentação, mensagens de commit recentes); o documento de integração é escrito nesse idioma. Se não estiver claro ou for misto → Inglês.

2. Leia as memórias

  • Localize a fonte de memória do projeto do agente atual usando references/agent-memory.md.
  • Leia apenas memórias com escopo neste projeto ou repositório. Não exporte preferências globais do usuário ou histórico de projetos não relacionados.
  • Nenhum diretório de memória ou nenhuma memória → prossiga apenas com o documento, defina memories: {"exported": 0, "excluded": 0} no manifesto e informe ao usuário que o pacote não contém memórias.

3. Filtre as memórias

Aplique references/privacy-filter.md estritamente a cada memória. Produza as versões portáteis (reescritas, neutras) e a lista de exclusão por memória com motivos.

4. Escreva o pacote

  • Se handover/ já existir, PARE e pergunte antes de sobrescrever.
  • Escreva handover/ONBOARDING.md seguindo references/onboarding-template.md.
  • Escreva cada memória sobrevivente em handover/memories/<slug>.md no formato portátil.
  • Escreva handover/manifest.json conforme o esquema (SHA do commit de git rev-parse HEAD; omita commit se não for um repositório git, omita author se o git config não tiver nome).

5. Lista de verificação final — verifique antes de declarar concluído

  • grep toda a árvore handover/ em busca do nome, e-mail e nome de usuário do colega: zero ocorrências.
  • Nenhuma memória do tipo user em handover/memories/.
  • ONBOARDING.md tem 600–1000 palavras (wc -w) e contém as seis seções do modelo.
  • Cada arquivo/caminho citado em uma memória exportada existe no projeto.
  • manifest.json é analisado e as contagens correspondem aos arquivos reais.

Relate ao usuário: conteúdo do pacote, lista de exclusão com motivos e sugira commitar handover/ no repositório. Não faça commit sem perguntar.


Fase de importação

Executada pelo novo colega, a partir da raiz do projeto, após clonar.

1. Leia o pacote

  • Leia handover/manifest.json, handover/ONBOARDING.md e cada arquivo em handover/memories/.
  • handover/ ausente → pare: explique que o colega saindo precisa executar /knowledge-transfer export primeiro e depois commitar o resultado.
  • manifest.version desconhecido → pare e diga que o skill é muito antigo para este pacote.

2. Verifique cada memória contra o código atual

  • Se o repositório for git e o manifesto tiver commit, execute git diff --stat <commit>..HEAD para ver quais áreas mudaram desde a exportação.
  • Para cada memória, verifique se os arquivos, caminhos e identificadores que ela cita ainda existem (Glob/Grep, não suposição). Classifique:
    • válida — tudo certo → instale como está;
    • desatualizada, correção óbvia — por exemplo, um arquivo citado foi renomeado e o novo caminho é inequívoco (git log --follow, ou uma única ocorrência na pesquisa) → atualize o corpo da memória, depois instale;
    • desatualizada, sem correção óbvia — descarte, anote o motivo em uma linha.

3. Instale

  • Instale cada memória aceita através do mecanismo de memória do agente atual (veja references/agent-memory.md), mantendo o conteúdo da memória portátil intacto e adaptando apenas o invólucro/índice de armazenamento se o agente de destino exigir.
  • Conflito de slug com uma memória existente: NÃO sobrescreva. Relate o conflito e pergunte ao usuário qual manter.
  • Se o armazenamento de memória de destino tiver um arquivo de índice, acrescente uma linha de índice para cada memória instalada (crie-o se estiver ausente). Se o agente atual proibir gravações diretas de memória, crie ou apresente o artefato de atualização de memória aprovado.

4. Relatório

Apresente ao usuário, nesta ordem:

  1. O conteúdo completo de ONBOARDING.md (é curto por design).
  2. O resumo da importação: instaladas / atualizadas / descartadas, uma linha de raciocínio cada.
  3. Uma nota final: perguntas técnicas agora podem contar com as memórias importadas.

Casos extremos

SituaçãoComportamento
Nenhuma memória na exportaçãoPacote apenas com documento; diga isso explicitamente.
Projeto não é um repositório gitManifesto sem commit; a verificação de importação recai apenas em verificações de existência.
handover/ existe na exportaçãoPergunte antes de sobrescrever.
handover/ ausente na importaçãoPare com instruções para o colega que está saindo.
Conflito de slug na importaçãoNunca sobrescreva; exponha e pergunte.
manifest.version desconhecidoPare; peça ao usuário para atualizar o skill.

Habilidades Relacionadas