Communitygithub.com

matthiasdebernardini/ontology-notes

Base de conhecimento ontológica fundamentada em fontes com habilidade de chat Prime Agent e recuperação local sem dependências.

O que é ontology-notes?

O Ontology Chat é uma habilidade para agentes de IA que responde perguntas com base em uma base de conhecimento ontológica local, em vez de depender da memória do modelo. Ele segue regras rigorosas de fundamentação: afirmações factuais devem ser baseadas em notas abertas, e lacunas não devem ser preenchidas com conhecimento geral de ontologia. A habilidade suporta nove modos de resposta — como explicar, comparar, recomendar, tutorial (how-to), padrões de LLM, auditoria de fontes, roteiro de aprendizado e explorar — que o agente infere a partir da pergunta do usuário. Para recuperar conhecimento, o agente executa scripts Python sem dependências (por exemplo, `ontology_kb.py search`), analisa as melhores notas e cita cada afirmação com links relativos ao repositório. Esta habilidade é particularmente útil para cenários onde precisão e rastreabilidade são críticas, como auditoria de fontes, comparações técnicas ou aprendizado estruturado, e funciona em qualquer plataforma que suporte execução de scripts Python e SKILL.md (como Claude Code, Cursor, Codex).

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add matthiasdebernardini/ontology-notes

Perguntar na sua IA favorita

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

Documentação

Ontology Chat

Responda a partir da base de conhecimento ontológica local, e não da memória.

Localizar a base de conhecimento

Resolva scripts/ontology_kb.py relativo a este SKILL.md. A CLI localiza a raiz da base de conhecimento nesta ordem:

  1. Um --root PATH explícito
  2. ONTOLOGY_KB_ROOT
  3. ~/.config/ontology-chat/config.json
  4. O diretório atual e seus pais
  5. O diretório fonte da habilidade e seus pais

Se a descoberta falhar, explique como executar o scripts/install.py do repositório ou definir ONTOLOGY_KB_ROOT. Não responda silenciosamente com base em conhecimento prévio.

Inicie sessões desconhecidas com:

python3 <skill-dir>/scripts/ontology_kb.py status --json

Escolher o modo de resposta

Inferir o modo a partir da pergunta:

  • Explicar: definir um conceito e conectá-lo a padrões ou projetos concretos.
  • Comparar: recuperar evidências para cada item comparado e declarar diferenças dimensão por dimensão.
  • Recomendar: derivar critérios das notas, apresentar trade-offs e rotular a recomendação final como editorial.
  • Tutorial (How-to): montar um fluxo de trabalho fundamentado a partir de ferramentas e formatos documentados.
  • Padrões de LLM: distinguir implementações diretas de LLM de menções em catálogo, ML clássico, embeddings e uso genérico de grafos de conhecimento.
  • Auditoria de fontes: rastrear uma afirmação desde a síntese até as notas e, quando disponível localmente, até o texto buscado ou documentação do repositório.
  • Roteiro de aprendizado: ordenar leituras desde conceitos fundamentais até ferramentas e padrões avançados.
  • Explorar: trazer à tona entidades relacionadas, seções, ressalvas e perguntas de seguimento.

Fluxo de trabalho de recuperação

  1. Identifique qualquer projeto, padrão, ontologia ou vocabulário explicitamente nomeado. Execute primeiro sources <nome> --json para que entradas ignoradas e lacunas de evidência registradas fiquem visíveis antes da busca mais ampla. Se estiver ignorado, lidere com essa limitação; menções indiretas em outras notas podem ser resumidas apenas como evidência secundária.
  2. Transforme a pergunta restante em duas a quatro consultas de busca curtas e concretas. Inclua os nomes dos itens comparados quando conhecidos.
  3. Execute a recuperação para cada consulta:
python3 <skill-dir>/scripts/ontology_kb.py search "<consulta>" --limit 8 --json

Filtros úteis são --section e --kind. 4. Mescle os resultados e abra os melhores quatro a oito arquivos notes/<slug>.md. Não trate trechos como evidência suficiente. 5. Para comparações, garanta que cada item nomeado tenha sua própria nota. Use show <slug> se a recuperação não o trouxe à tona. 6. Leia SYNTHESIS.md apenas para orientação e estrutura entre fontes. Verifique suas afirmações contra as notas citadas antes de repeti-las. 7. Para uma afirmação contestada, surpreendente ou de auditoria de fontes, execute sources <slug> --json. Se sources/<slug>.txt ou repos/<slug>/ estiver presente, inspecione a passagem relevante da fonte ou README/docs. Instalações públicas podem omitir esses artefatos de terceiros; divulgue essa limitação em vez de improvisar. 8. Use related <slug> --limit 8 --json somente após identificar uma nota âncora útil.

Regras de fundamentação

  • Baseie afirmações factuais em notas abertas. Nunca preencha uma lacuna a partir de conhecimento geral de ontologia.
  • Cite cada parágrafo ou marcador substantivo com links Markdown relativos ao repositório, como [OntoLearner](notes/ontolearner.md).
  • Atribua uma afirmação específica de uma fonte a essa fonte. Use múltiplas citações para conclusões entre fontes.
  • Rotule explicitamente conselhos montados a partir de evidências como Recomendação ou Síntese editorial.
  • Preserve qualificações, incluindo idade da versão, status arquivado, documentação incompleta, limites de perfil, limites de escalabilidade e evidência apenas de catálogo.
  • Não transforme "um guia está listado" em evidência do conteúdo do guia.
  • Não chame grafos de conhecimento comuns, embeddings, raciocínio simbólico ou ML clássico de "integração com LLM".
  • Se uma entrada explicitamente nomeada for ignorada, diga isso no início e cite ou parafraseie proximamente seu skip_reason registrado. Não substitua menções indiretas por uma nota dedicada inexistente nem fabrique seu conteúdo.
  • Se a base de conhecimento não suportar a resposta, diga isso e nomeie a evidência faltante.

Forma padrão da resposta

Use a estrutura mais leve que se encaixe:

  1. Resposta direta
  2. Explicação ou comparação fundamentada em evidências
  3. Ressalvas importantes
  4. Opcionalmente, próxima pergunta ou sugestão de leitura

Evite despejar pontuações de recuperação ou etapas internas de busca, a menos que o usuário peça uma auditoria. Prefira um pequeno número de citações fortes a uma longa bibliografia.

Referência da CLI

ontology_kb.py search <consulta> [--limit N] [--section TEXTO] [--kind TIPO] [--json]
ontology_kb.py show <slug-ou-nome> [--json]
ontology_kb.py related <slug-ou-nome> [--limit N] [--json]
ontology_kb.py sources <slug-ou-nome> [--json]
ontology_kb.py status [--json]

Opções podem aparecer antes ou depois do subcomando. A CLI é determinística, sem dependências e não realiza requisições de rede.

Habilidades Relacionadas