AgentSkillsCN

ontology

基于本体论的实体发现与记忆线索验证。 定义自定义命名空间、实体类型、属性与关系。 触发条件包括:“实体发现”、“验证本体论”、“定义命名空间”、“解析实体引用”、“列出本体论”、“展示命名空间”、“实体类型”、“实体关系”、“属性”、“发现模式”、“认知记忆类型”。

SKILL.md
--- frontmatter
name: ontology
description: |
  Ontology-based entity discovery and validation for mnemonic memories.
  Define custom namespaces, entity types, traits, and relationships.

  Triggers: "entity discovery", "validate ontology", "define namespaces",
  "resolve entity references", "list ontologies", "show namespaces", "entity types",
  "entity relationships", "traits", "discovery patterns", "cognitive memory types"
allowed-tools:
  - Bash(python3 *)
  - Bash
  - Read
  - Write
  - Glob
  - Grep
<!-- BEGIN MNEMONIC PROTOCOL -->

Memory

Search first: /mnemonic:search {relevant_keywords} Capture after: /mnemonic:capture {namespace} "{title}"

Run /mnemonic:list --namespaces to see available namespaces from loaded ontologies.

<!-- END MNEMONIC PROTOCOL -->

Ontology Skill

Provides custom ontology support for extending mnemonic with domain-specific knowledge structures.

Requirements

  • PyYAML - Optional but recommended for YAML parsing. The library works without it but with limited functionality.

Capabilities

  • Load and validate ontology definitions (YAML)
  • Define custom namespaces beyond the 9 base namespaces
  • Create typed entities (semantic, episodic, procedural)
  • Establish relationships between entities
  • Use traits/mixins for reusable field sets
  • Entity discovery patterns

Cognitive Memory Type Triad

All entity types inherit from one of three base memory types:

TypePurposeExamples
SemanticFacts, conceptsComponents, technologies, decisions
EpisodicEvents, experiencesIncidents, debug sessions
ProceduralStep-by-step processesRunbooks, deployments

Usage

ontology_validator.py

Validate ontology YAML files against the schema.

bash
python ${SKILL_DIR}/lib/ontology_validator.py <file> [--json]
OptionDescription
<file>Ontology YAML file to validate (required)
--jsonOutput validation results as JSON

ontology_registry.py

Load and query ontologies.

bash
python ${SKILL_DIR}/lib/ontology_registry.py [OPTIONS]
OptionDescription
--listList all loaded ontologies
--namespacesList all available namespaces
--typesList all entity types
--validate <NS>Validate a specific namespace
--jsonOutput as JSON

entity_resolver.py

Resolve and search entity references across memories.

bash
python ${SKILL_DIR}/lib/entity_resolver.py [OPTIONS]
OptionDescription
--build-indexBuild complete entity index from memory files
--search <query>Search for entities by name or content
--resolve <ref>Resolve entity reference (e.g., @[[Name]])
--jsonOutput results as JSON

Entity Reference Syntax

  • Simple: @[[Entity Name]] - Resolves by name
  • Typed: [[technology:postgres-id]] - Resolves by type and ID

Discovery Patterns

Ontologies can define patterns for automatic namespace suggestion during memory capture.

Content Patterns

Match text content to suggest appropriate namespaces:

yaml
discovery:
  content_patterns:
    - pattern: "\\bdecided to\\b|\\bwe will use\\b"
      namespace: _semantic/decisions
    - pattern: "\\blearned that\\b|\\bthe fix was\\b"
      namespace: _semantic/knowledge

File Patterns

Match file paths for contextual namespace hints:

yaml
discovery:
  file_patterns:
    - pattern: "auth|login|session"
      namespaces:
        - _semantic/knowledge
        - _semantic/decisions
      context: authentication

Configuration

yaml
discovery:
  enabled: true
  confidence_threshold: 0.8  # Minimum confidence to suggest

See fallback/ontologies/mif-base.ontology.yaml for complete examples.

Files

  • lib/ontology_registry.py - Load and manage ontologies
  • lib/ontology_validator.py - Validate ontology YAML
  • lib/ontology_loader.py - Centralized loading with MIF submodule support
  • lib/entity_resolver.py - Resolve entity references
  • fallback/ontologies/mif-base.ontology.yaml - Standard mnemonic namespaces
  • fallback/schema/ontology/ontology.schema.json - JSON Schema