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.
A direct command skips the review prompt. Inspect the source before running it.
"Objects don't wait to be used โ they announce what they can do."
What Is It?
Advertisement is The Sims-style object interaction: every object in a room broadcasts its available actions, scored by relevance to the current context.
Instead of the user memorizing commands, objects advertise what's possible:
You approach the workbench.
Available actions (sorted by relevance):
โญ CRAFT tool (you have materials)
โข EXAMINE blueprints
โข ORGANIZE parts
โข MORE options...
The Sims Connection
In The Sims, objects have "advertisements" โ each interaction scores based on:
The Sim's current needs (hunger, fun, social)
Object properties (a fridge scores high for hunger)
Context (can't use stove if broken)
This extensible object architecture was key to The Sims' massive success:
User-created objects โ anyone could make new furniture, appliances, characters
Expansion packs โ just drop in new objects with their advertisements
No code changes โ objects self-describe their behaviors
Infinite variety โ the community created millions of objects
The same YAML file that defines what an object is also defines what it can do. Plug-in architecture for free.
MOOLLM applies this to any object:
# workbench.ymltype:objectadvertisements:-action:CRAFTscore_if:"has_materials AND has_skill"satisfies: [productivity, creativity]
-action:EXAMINEscore_if:"always"satisfies: [curiosity]
-action:MOREscore_if:"always"satisfies: [exploration]
How It Works
1. Objects Broadcast
Every object in the room has an advertisements list:
Top actions:
1. ANALYZE_SAMPLE at microscope (90) โ you have a sample!
2. WRITE_NOTES at notebook (75) โ observations pending
3. BREW at coffee_maker (65) โ you're a bit tired
SimAntics Heritage
This is SimAntics โ The Sims' behavioral engine:
First handler that responds wins. Unhandled events can:
Log a warning
Trigger POSTEL (charitable interpretation)
Invoke a default handler
Example: Custom Behavior
# workshop/ROOM.ymlhandles:CRAFT:|
# Room-level craft handler
Check if character has required skill.
Check if materials available in room.
If conditions met, delegate to object.
Otherwise, suggest where to get materials.
The room intercepts CRAFT before it reaches the object, adding room-specific logic.
ADVERTISEMENT โ Objects announce available actions
AUTONOMOUS-SELECTION โ Agent picks based on scores
SIMANTICS โ The Sims behavioral model
PIE-MENU โ Radial display of options
FLY-UNDER-RADAR โ Normalize through defaults
PROCEDURAL-RHETORIC โ Rules carry ideology
"The Sims' AI isn't centralized โ it's distributed throughout objects.""A refrigerator knows it offers food. A bed knows it offers sleep.""The Sim chooses from what's advertised nearby."
This IS MOOLLM's architecture. Objects self-describe. The coherence engine orchestrates. Intelligence is distributed throughout the world.