SCHEMA-FACTORY
SkillDev toolsBuild, lint, ingest, compose Drescher-style schemas
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the SCHEMA-FACTORY skill
What this skill tells your AI
The instructions your AI receives, as published by simhacker/moollm in skills/schema-factory/SKILL.md and read by ahel’s review.
"Deterministic checks first, LLM second."
Build, lint, ingest, compose, and generate context for Drescher-style schemas.
Why This Exists
Gary Drescher's schema mechanism is strongest when it has:
- Prescriptive schema-schema — what valid schemas must look like
- Deterministic layer — evaluate and refine before asking the LLM
- Context generator — emit only needed patterns and evidence
The goal is hybrid orchestration: Python does deterministic work, Cursor/LLM handles synthesis, MOOLLM stays explicit about what came from where.
Key Files
| File | Purpose |
|---|---|
SCHEMA-SCHEMA.yml | Drives linting and ingestion |
schema_tool.py | CLI for all operations |
examples/schema-example.yml | Compact schema set |
examples/henry-minsky-blocksworld.yml | Classic microworld data |
Quick Use
# Validate schemas
python3 schema_tool.py lint examples/schema-example.yml
# Compose action chain toward goal
python3 schema_tool.py compose --schemas examples/schema-example.yml --goal postgres-running
# Generate LLM context bundle
python3 schema_tool.py context --schemas examples/schema-example.yml --goal pyvision-running
Methods
LINT
Validate schema against schema-schema.
Input: One or more schema files (YAML)
Output: Pass/fail + diagnostics
Emits: schema_lint
Checks: Required fields, type validation, reliability range, non-empty context/result
python3 schema_tool.py lint my-schemas.yml
INGEST
Update schemas from experience logs or observed transitions.
Input: Experience logs
Output: Updated schema set + evidence counts
Emits: schema_ingest
Deterministic: No LLM calls; only schema updates
python3 schema_tool.py ingest experience-log.yml --into my-schemas.yml
COMPOSE
Build action chain toward goal.
Input: Schema set + goal
Output: Composed action chain + rationale
Emits: schema_compose
python3 schema_tool.py compose --schemas my-schemas.yml --goal target-state
CONTEXT
Generate compact context bundle for LLM synthesis.
Input: Schema set + goal + optional focus items
Output: Compact context bundle
Emits: context_generate
Includes: id, action, context, result, reliability, extended_context, extended_results
python3 schema_tool.py context --schemas my-schemas.yml --goal target-state --focus item1,item2
Schema Structure
schema:
id: "unique-identifier"
action: "what-the-schema-does"
context:
- precondition-1
- precondition-2
result:
- postcondition-1
reliability: 0.85 # 0.0-1.0
# Optional
extended_context: [...]
extended_results: [...]
evidence_count: 47
marginal_attribution: {...}
Principles
- Deterministic checks first, LLM second — Python validates before synthesis
- Emit events for traceability — Know what happened where
- Prefer small, explicit context bundles — Don't dump everything
- Schema-schema can evolve — Via the same learning loop it governs
The Schema-Schema
The SCHEMA-SCHEMA.yml defines what valid schemas must look like:
- Required fields and their types
- Reliability range constraints
- Context/result non-empty rules
- Extension field patterns
This is prescriptive — schemas that don't match get lint errors.
Integration with LLM
The factory provides deterministic foundation for LLM reasoning:
# 1. Python validates and composes
schema_factory compose --goal postgres-running
# 2. Output becomes LLM context
"Here are the relevant schemas and a proposed action chain..."
# 3. LLM synthesizes and refines
"Based on these schemas, I recommend..."
# 4. Results feed back into ingest
schema_factory ingest --experience new-observations.yml
Dovetails With
- ../schema-mechanism/ — Theoretical foundation (Drescher)
- ../experiment/ — Schemas drive experiment design
- ../debugging/ — Schema failures are bugs to investigate
- ../planning/ — Schema composition is planning
"Validate structure. Compose plans. Generate context. Let the LLM shine where it should."
Signals
- GitHub stars
- 52
- Forks
- 5
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
schema-factory- Source
- github.com/simhacker/moollm