schema
Schema: Knowledge Ontology Generator
Transform any input into structured knowledge schemas with rich semantic metadata.
Overview
Generate ontologies from:
- Plain text and natural language
- Structured data (JSON, YAML, CSV, XML)
- Markdown files with metadata
- Code repositories
Output formats:
- Primary: Obsidian markdown (YAML frontmatter, wikilinks, tags, callouts, mermaid)
- Secondary: JSON-LD, RDF/OWL, Neo4j Cypher, GraphQL schemas
Modes
Fractal Mode
Strict hierarchical constraints for self-similar structures:
- 2-3 children per non-leaf node
- Homonymic inheritance (child labels contain parent stem)
- Uniform relation types per parent
- Topology score ≥4.0
Free Mode
Flexible generation optimized for semantic coherence:
- Variable branching factor
- Relaxed naming constraints
- Focus on meaningful relationships
Installation
Quick Install (recommended):
cd ~/.claude/skills/hm-skills/schema
./install.sh
This will:
- Install Python dependencies (jinja2, pyyaml)
- Download spaCy language model (en_core_web_sm)
- Create global
schema-genwrapper in ~/bin - Configure PATH in your shell rc file
Manual Setup:
pip3 install --user jinja2 pyyaml
python3 -m spacy download en_core_web_sm
Architecture
Four-layer pipeline with graceful degradation:
- Layer 1: Structural Extraction - AST parsing (markdown-oxide, tree-sitter, pandas)
- Layer 2: Semantic Analysis - NLP (spaCy, networkx)
- Layer 3: LLM Enrichment - Optional deep analysis (Claude API, MCP tools)
- Layer 4: Output Generation - Template-based formatting (Jinja2)
Usage
Recommended: Use the global wrapper schema-gen (automatically installed to ~/bin/schema-gen)
# Basic usage - text to Obsidian markdown
schema-gen --input "text content" --output schema.md
# Fractal mode with deep analysis
schema-gen --input data.json --mode fractal --deep
# Export to multiple formats
schema-gen --input code/ --format obsidian,jsonld,cypher
Alternative: Direct invocation from skill directory
cd /Users/mikhail/.claude/skills/hm-skills/schema
python3 -m scripts.schema_cli --input "text content" --output schema.md
Usage Examples
Input Formats
Text to Schema
# Simple text input
schema-gen --input "AI analyzes data" --output ai-schema.md
# From text file
schema-gen --input document.txt --output schema.md --mode fractal
JSON to Schema
# Structured data
schema-gen --input data.json --output schema.md
Markdown to Schema
# Extract hierarchy from markdown headings
schema-gen --input notes.md --output schema.md --verbose
Code to Schema
# Parse Python code structure (classes, functions, methods)
schema-gen --input mymodule.py --output code-schema.md --verbose
Output Formats
Single Format
# Obsidian markdown (default)
schema-gen --input data.json --output schema.md
Multiple Formats
# Export to all formats
schema-gen \
--input document.txt \
--format obsidian,jsonld,cypher,graphql \
--output output/schema.md \
--verbose
# Generates:
# - output/schema.md (Obsidian markdown)
# - output/schema.jsonld (JSON-LD linked data)
# - output/schema.cypher (Neo4j graph database)
# - output/schema.graphql (GraphQL schema)
Advanced Usage
Fractal Mode with Deep Analysis
schema-gen \
--input complex.txt \
--mode fractal \
--deep \
--verbose
Custom Output Directory
schema-gen \
--input data.json \
--output custom/path/schema.md \
--format obsidian,cypher
Output Example
Generated Obsidian markdown includes:
---
created: 2025-01-05T12:00:00
tags: [knowledge, schema]
ontology_type: free
node_count: 10
edge_count: 15
topology_score: 2.50
---
# Schema Title
> [!info] Schema Overview
> Description of the schema
## Structure
```mermaid
graph TD
root["Root"] --> child1["Child 1"]
root --> child2["Child 2"]
class root,child1,child2 internal-link
Entities
Root
Properties:
category: exampleweight: 0.8
Relationships:
- parent of → [[Child 1]]
- parent of → [[Child 2]]
## Configuration
Edit mode configuration files:
- [[config/fractal-mode.yaml]] - Strict hierarchical constraints
- [[config/free-mode.yaml]] - Flexible generation settings
Customize output templates:
- [[config/templates/obsidian.md.j2]] - Obsidian markdown
- [[config/templates/jsonld.json.j2]] - JSON-LD
- [[config/templates/cypher.cypher.j2]] - Neo4j Cypher
## Features
### Property Inheritance
Child nodes automatically inherit properties from ancestors, following breadcrumb-plugin patterns.
### Multi-Dimensional Navigation
Generate alternate navigation paths:
- Temporal (creation order, lifecycle)
- Conceptual (domain hierarchies, abstraction)
- Spatial (containment, proximity)
- Functional (purpose-based, process flows)
### Implicit Relationship Inference
Automatically detect relationships based on:
- Co-occurrence in context
- Tag overlap (>50% shared)
- Structural proximity
- Semantic similarity
## Error Handling
Graceful degradation ensures output even on failures:
- Layer 1 fails → Plain text fallback
- Layer 2 fails → Heuristic relationships
- Layer 3 fails → Skip enrichment
- Template fails → Raw JSON output
## References
- [[references/ast-parsing-guide|AST Parsing Guide]]
- [[references/semantic-patterns|Semantic Pattern Reference]]
- [[references/template-syntax|Template Variable Reference]]
- [[references/mcp-integration|MCP Tool Integration]]
## Examples
- [[examples/text-to-schema|Text to Schema]]
- [[examples/json-to-schema|JSON to Schema]]
- [[examples/markdown-to-schema|Markdown to Schema]]
- [[examples/code-to-schema|Code to Schema]]
More from zpankz/mcp-skillset
network-meta-analysis-appraisal
Systematically appraise network meta-analysis papers using integrated 200-point checklist (PRISMA-NMA, NICE DSU TSD 7, ISPOR-AMCP-NPC, CINeMA) with triple-validation methodology, automated PDF extraction, semantic evidence matching, and concordance analysis. Use when evaluating NMA quality for peer review, guideline development, HTA, or reimbursement decisions.
16software-architecture
Guide for quality focused software architecture. This skill should be used when users want to write code, design architecture, analyze code, in any case that relates to software development.
13cursor-skills
Cursor is an AI-powered code editor and development environment that combines intelligent coding assistance with enterprise-grade features and workflow automation. It extends beyond basic AI code comp...
13textbook-grounding
Orthogonally-integrated Hegelian syntopical analysis for SAQ/VIVA/concept grounding with systematic textbook citations. Implements thesis extraction → antithesis identification → abductive synthesis across multiple authoritative sources. Tensor-integrated with /m command: activates S×T×L synergies (textbook-grounding × pdf-search × qmd = 0.95). Triggers on requests for model SAQ responses, VIVA preparation, concept explanations requiring textbook evidence, or any PEX exam content needing systematic cross-reference validation.
12obsidian-process
This skill should be used when batch processing Obsidian markdown vaults. Handles wikilink extraction, tag normalization, frontmatter CRUD operations, and vault analysis. Use for vault-wide transformations, link auditing, tag standardization, metadata management, and migration workflows. Integrates with obsidian-markdown for syntax validation and obsidian-data-importer for structured imports.
12terminal-ui-design
Create distinctive, production-grade terminal user interfaces with high design quality. Use this skill when the user asks to build CLI tools, TUI applications, or terminal-based interfaces. Generates creative, polished code that avoids generic terminal aesthetics.
10