Communitygithub.com

matthiasdebernardini/ontology-notes

온톨로지 지식 베이스와 대화할 수 있는 Prime Agent 스킬로, 메모리에 의존하지 않고 현지 저장소에서 답변을 제공합니다.

ontology-notes란 무엇인가요?

이 스킬은 로컬 온톨로지 지식 베이스(ontology knowledge base)를 기반으로 질문에 답변하는 에이전트 스킬입니다. 주로 Claude Code, Cursor, Codex와 같은 AI 개발 도구에서 사용되며, 의존성 없이 순수 Python 스크립트만으로 동작합니다. 사용자는 개념 설명, 비교, 추천, 사용 방법, LLM 패턴 분석, 출처 감사, 학습 경로 등 다양한 모드로 질문할 수 있으며, 에이전트는 지식 베이스에서 관련 노트를 검색하고 열어서 증거 기반의 신뢰할 수 있는 답변을 생성합니다. 검색 과정은 `search`, `show`, `related`, `sources`, `status` 등의 CLI 명령어를 통해 이루어지며, 모든 주장은 열린 노트에 근거해야 하고 추측이나 일반 지식으로 빈 공간을 채우는 것을 금지합니다. 이를 통해 사용자는 AI가 문서화된 지식에만 의존하여 정확하고 검증 가능한 결과를 얻을 수 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add matthiasdebernardini/ontology-notes

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

온톨로지 채팅

메모리가 아닌 로컬 온톨로지 지식 베이스에서 답변합니다.

지식 베이스 찾기

SKILL.md를 기준으로 scripts/ontology_kb.py의 경로를 확인합니다. CLI는 다음 순서로 지식 베이스 루트를 찾습니다.

  1. 명시적인 --root PATH
  2. ONTOLOGY_KB_ROOT 환경 변수
  3. ~/.config/ontology-chat/config.json
  4. 현재 디렉터리와 상위 디렉터리
  5. 스킬 소스 디렉터리와 상위 디렉터리

발견에 실패하면 저장소의 scripts/install.py를 실행하거나 ONTOLOGY_KB_ROOT를 설정하는 방법을 설명하세요. 이전 지식으로 조용히 답변하지 마세요.

새로운 세션은 다음 명령어로 시작하세요:

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

응답 모드 선택

질문에서 모드를 추론하세요:

  • 설명(Explain): 개념을 정의하고 구체적인 표준이나 프로젝트와 연결합니다.
  • 비교(Compare): 비교 대상 각각에 대한 증거를 검색하고 차원별로 차이점을 설명합니다.
  • 추천(Recommend): 메모에서 기준을 도출하고, 장단점을 제시하며, 최종 추천을 편집자의 의견으로 표시합니다.
  • 방법(How-to): 문서화된 도구와 형식을 기반으로 체계적인 워크플로우를 구성합니다.
  • LLM 패턴(LLM patterns): 직접적인 LLM 구현과 카탈로그 언급, 고전적 ML, 임베딩, 일반 지식 그래프 사용을 구분합니다.
  • 출처 감사(Source audit): 주장을 종합→메모→(로컬에서 가능한 경우) 가져온 텍스트나 저장소 문서까지 추적합니다.
  • 학습 경로(Learning path): 기본 개념부터 도구, 고급 패턴 순서로 읽을 자료를 정리합니다.
  • 탐색(Explore): 관련 항목, 섹션, 주의사항, 후속 질문을 제시합니다.

검색 워크플로우

  1. 명시적으로 이름이 언급된 프로젝트, 표준, 온톨로지 또는 어휘를 식별합니다. 먼저 sources <name> --json을 실행하여 건너뛴 항목과 기록된 증거 공백을 더 넓은 검색 전에 확인할 수 있도록 합니다. 항목이 건너뛰어졌다면 그 제한 사항을 먼저 언급하고, 다른 메모의 간접적인 언급은 보조 증거로만 요약할 수 있습니다.
  2. 나머지 질문을 두세 개의 짧고 구체적인 검색어로 변환합니다. 비교 대상의 이름을 알고 있다면 포함합니다.
  3. 각 검색어에 대해 검색을 실행합니다:
python3 <skill-dir>/scripts/ontology_kb.py search "<query>" --limit 8 --json

유용한 필터는 --section과 --kind입니다. 4. 결과를 병합하고 가장 관련성 높은 4~8개의 notes/<slug>.md 파일을 엽니다. 스니펫만으로 충분한 증거로 간주하지 마세요. 5. 비교의 경우, 이름이 언급된 모든 항목에 대해 자체 메모가 있는지 확인하세요. 검색에서 나오지 않았다면 show <slug>를 사용하세요. 6. SYNTHESIS.md는 방향성과 교차 소스 구조 파악용으로만 읽으세요. 인용된 메모를 확인하기 전에는 해당 주장을 반복하지 마세요. 7. 논란의 여지가 있거나 놀랍거나 출처 감사가 필요한 주장의 경우 sources <slug> --json을 실행하세요. sources/<slug>.txt 또는 repos/<slug>/ 디렉터리가 존재하면 관련 소스 구절이나 README/문서를 확인하세요. 공개 설치에서는 이러한 타사 자료가 생략될 수 있으며, 그 제한을 공개하고 임의로 내용을 채우지 마세요. 8. 유용한 앵커 노트를 식별한 후에만 related <slug> --limit 8 --json을 사용하세요.

근거 규칙

  • 사실적 주장은 열린 메노트에 기반해야 합니다. 일반 온톨로지 지식으로 빈 공간을 절대 채우지 마세요.
  • 모든 중요한 단락이나 불릿은 저장소 상대 마크다운 링크(예: [OntoLearner](notes/ontolearner.md))로 인용하세요.
  • 특정 출처에 대한 주장은 해당 출처로 귀속시키세요. 교차 출처 결론에는 여러 인용을 사용하세요.
  • 증거로부터 조합된 조언은 추천 또는 편집자 종합으로 명시적으로 표시하세요.
  • 버전 연령, 보관 상태, 불완전한 문서, 프로필 한계, 확장 한계, 카탈로그 전용 증거 등의 한계를 보존하세요.
  • "가이드가 등재되어 있다"는 것을 가이드 내용의 증거로 바꾸지 마세요.
  • 일반 지식 그래프, 임베딩, 기호 추론, 고전적 ML을 "LLM 통합"이라고 부르지 마세요.
  • 명시적으로 이름이 언급된 항목이 건너뛰어졌다면 처음에 그 사실을 말하고 기록된 skip_reason을 인용하거나 비슷하게 바꿔 설명하세요. 존재하지 않는 전용 메모에 대한 간접적인 언급으로 대체하거나 내용을 조작하지 마세요.
  • 지식 베이스가 답변을 지원하지 않는다면 그 사실을 말하고 누락된 증거를 명시하세요.

기본 답변 형식

상황에 맞는 가장 간결한 구조를 사용하세요:

  1. 직접 답변
  2. 증거 기반 설명 또는 비교
  3. 중요한 주의사항
  4. 선택적 다음 질문 또는 읽을거리 제안

사용자가 감사를 요청하지 않는 한 검색 점수나 내부 검색 단계를 노출하지 마세요. 긴 참고 문헌보다는 소수의 강력한 인용을 선호하세요.

CLI 참조

ontology_kb.py search <query> [--limit N] [--section TEXT] [--kind KIND] [--json]
ontology_kb.py show <slug-or-name> [--json]
ontology_kb.py related <slug-or-name> [--limit N] [--json]
ontology_kb.py sources <slug-or-name> [--json]
ontology_kb.py status [--json]

옵션은 하위 명령어 앞이나 뒤에 올 수 있습니다. CLI는 결정적이며, 의존성이 없고, 네트워크 요청을 수행하지 않습니다.

관련 스킬