with one click
schema-factory
Build, lint, ingest, compose Drescher-style schemas
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Build, lint, ingest, compose Drescher-style schemas
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | schema-factory |
| description | Build, lint, ingest, compose Drescher-style schemas |
| license | MIT |
| tier | 2 |
| allowed-tools | ["read_file","write_file","shell"] |
| related | ["schema-mechanism","experiment","debugging","planning"] |
| tags | ["moollm","schemas","drescher","deterministic","reasoning"] |
| credits | ["Gary Drescher — Schema Mechanism (1991)","Henry Minsky — Blocksworld examples"] |
"Deterministic checks first, LLM second."
Build, lint, ingest, compose, and generate context for Drescher-style schemas.
Gary Drescher's schema mechanism is strongest when it has:
The goal is hybrid orchestration: Python does deterministic work, Cursor/LLM handles synthesis, MOOLLM stays explicit about what came from where.
| 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 |
# 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
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
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
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
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:
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: {...}
The SCHEMA-SCHEMA.yml defines what valid schemas must look like:
This is prescriptive — schemas that don't match get lint errors.
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
"Validate structure. Compose plans. Generate context. Let the LLM shine where it should."
Portable tokens of capability, identity, and access
The grammar rules that make MOOLLM's file system object-oriented. Plural directory names declare element type; UPPERCASE marker files declare interface exports (COM-style, minus the UUIDs); directories are implementation classes exporting every interface whose marker file sits at their root.
Mother skill for platform-descriptor sister skills. Defines what a BIOME is — a bounded region of an ecosystem (coexisting, exchanging, never isolated) for one platform you operate — and what files, subdirectories, and cross-biome bridges every daughter biome inherits.
A skill is documentation that learned to do things.
GNU Emacs as a stateful Lisp machine for agents — daemon, moo-* protocol, emacs.py router, emacs:// URLs, spoken grammar, play-learn-lift.
Schemapedia — schema plugins, families, gateways, formats.yml, mechanism_relations; self-object kernel; delegates to sibling skills.