For agent users

The skill pack

The MCP server gives your agent the model. This gives it the method.

An agent that can read a conceptual schema still has to know how to build one. Modelling is a procedure with an order to it — verbalize examples first, constrain second, never assert a rule nobody confirmed — and an agent that does not know the order produces a diagram that looks like ORM and says nothing checkable.

The pack is ten slash commands and two skills distilled from Fact-Based Agents. They carry the procedure, the constraint family, the validator codes and three worked schemas, so the agent follows the method rather than improvising one.

$ factum skills install

Where should the Factum skills go?

   1) Claude Code  ~/.claude          all your projects
   2) Claude Code  ./.claude          this project only
   3) Cursor       ~/.cursor          all your projects
   4) Cursor       ./.cursor          this project only
   5) Codex CLI    ~/.codex           all your projects
   6) Codex CLI    ./.codex           this project only
   7) OpenCode     ~/.config/opencode all your projects
   8) OpenCode     ./.opencode        this project only
10 commands 2 skills 4 agents global or per project plain markdown

The commands

Each one is a procedure with a stopping point, not a prompt. /orm-model works Halpin's seven steps and stops at the end of each for a yes or no, because a constraint you did not confirm is a constraint the model should not carry.

CommandWhat it runs
/orm-modelBuild a model from real examples, following the seven-step design procedure
/orm-deriveDraft a first model from a CSV, a SQL schema, a JSON payload or an existing codebase
/orm-reviewReview a model against the validator, the anti-patterns and the pre-commit checklist
/orm-fixRepair validator errors, one code at a time
/orm-verbalizeTurn a model into FORML sentences for a domain expert, an agent, or a review
/orm-diagramLay out and render the diagram, or explain an existing one
/orm-mapGenerate the relational and property-graph schemas, and read the mapping notes
/orm-evolvePlan a schema change: diff the model, measure drift, stage the migration
/orm-memoryDesign an agent's memory, promise graph or audit log as a conceptual schema
/orm-explainExplain an ORM 2, FORML or fact-based modelling concept with a worked example

The two skills

A skill loads itself when the work calls for it — you do not have to remember it exists. Each is a SKILL.md with its reference material and example models beside it, so the agent reads the detail it needs rather than all of it.

factum-orm

The notation, the constraint family, the design procedure, the validator codes and the mapping rules — with the file format and eleven example models to take apart. Loads whenever a task mentions ORM, FORML, elementary facts or .orm.json.

factum-agentic-memory

Three finished conceptual schemas and the reasoning behind each decision: the six memory layers, a Promise Theory promise graph for multi-agent coordination, and a tamper-evident audit log. Loads when the work is agent memory, provenance or coordination.

Where it goes

Every one of these agents reads the same SKILL.md layout, so nothing is converted on the way in. What differs is the directory, and whether the agent reads slash commands at all.

AgentSkills install toSlash commands
Claude Code~/.claude/skills · ./.claude/skills yes
Cursor~/.cursor/skills · ./.cursor/skills yes
Codex CLI~/.codex/skills · ./.codex/skills skills only
OpenCode~/.config/opencode/skills · ./.opencode/skills skills only

Codex and OpenCode read the skills but not the pack's slash commands, so those are left out rather than written into a directory nothing reads — the same procedures are in the skills either way. Nothing already installed is replaced unless you ask:

factum skills list                          # what is in the pack
factum skills install --target cursor --local
factum skills install --dir ~/somewhere/else
factum skills install --force               # replace what is there
factum skills install --dry-run             # say what would happen

It pairs with the MCP server

The server carries the model

factum-mcp gives the agent eight tools over a .orm.json file: read it, verbalize it, validate it, map it, diff it, and write it back through a guarded save.

That is ground truth about your domain, and it is what stops the agent inventing semantics from your table names.

The pack carries the method

The skills give it ORM itself: what an elementary fact is, which constraint says what, the order to apply them in, and what the validator means when it refuses.

Either works alone. Together the agent knows both the domain and how to model it, which is when it stops asking you to explain uniqueness constraints and starts drawing them.

The pack is plain markdown in the repository, so it also works as a Claude Code plugin directory as it stands, and you can read every word of it before you install it.

Give your agent the method

Install the CLI and run one command. Everything runs locally, and nothing here calls a language model — the skills are instructions for the agent you already have.

npm install -g factum-orm
factum skills install