一键导入
schema-factory
Build, lint, ingest, compose Drescher-style schemas
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build, lint, ingest, compose Drescher-style schemas
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
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.
| 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."