home / skills / simhacker / moollm / simulator-effect

simulator-effect skill

/skills/simulator-effect

This skill helps you fill gaps with imagination seeds instead of exhaustive simulation, enabling coherent, rich interpretations from minimal specs.

npx playbooks add skill simhacker/moollm --skill simulator-effect

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
7.0 KB
---
name: simulator-effect
description: "Implication beats simulation — imagination renders (Will Wright)"
license: MIT
tier: 0
allowed-tools: [read_file]
protocol: SIMULATOR-EFFECT
related: [moollm, society-of-mind, manufacturing-intelligence, k-lines, yaml-jazz, empathic-templates, constructionism, procedural-rhetoric, mind-mirror, adversarial-committee, speed-of-light, needs]
tags: [moollm, meta, philosophy, sims, design, k-lines, will-wright]
---

# Simulator Effect Skill Specification

> *Implication is more efficient (and richer) than simulation.*

## Purpose

The Simulator Effect skill provides principles and methods for leveraging imagination -- human or LLM -- to fill gaps in sparse specifications. Instead of exhaustive simulation, provide seeds that activate rich mental models.

---

## Core Methods

### IMPLY

Instead of simulating, imply.

**Input:** Minimal specification (name, archetype, sensory details)
**Output:** Rich interpretation filling gaps coherently

```yaml
# Input
character:
  archetype: "grizzled bartender"
  
# LLM interprets as
bartender:
  name: Grim
  appearance: weathered face, salt-and-pepper beard
  manner: laconic, speaks in short sentences
  knowledge: has seen every adventurer who passed through
  secrets: knows where the treasure is, will not say
```

### SEED

Provide imagination seeds rather than exhaustive specification.

**Seed types:**
- **Archetype** -- "bartender", "sage", "trickster"
- **Sensory detail** -- "smells of woodsmoke"
- **Mystery** -- "the locked door no one mentions"
- **Tension** -- "she avoided his gaze"
- **K-line** -- "Sagittarius", "melancholy", "playful"

```yaml
room:
  seeds:
    archetype: "mysterious pub"
    sensory: "warm despite the draft, old ale smell"
    mystery: "the back room that requires proving yourself"
    tension: "regulars glance at newcomers, then away"
```

### SPARSE

Deliberately omit details to invite imagination.

**Anti-pattern:**
```yaml
# Over-specified -- leaves nothing to imagine
room:
  name: The Gezelligheid Grotto
  tables: 12 oak tables, 3 round, 9 rectangular
  chairs: 48 chairs, mix of styles
  bar: 15 feet long, mahogany with brass rail
  taps: 8 beer taps, 2 cider, 1 mead
  lighting: 6 candelabras, 12 wall sconces
  floor: wide oak planks, worn in traffic paths
  # ... 50 more lines
```

**Pattern:**
```yaml
# Sparse -- imagination fills the rest
room:
  name: The Gezelligheid Grotto
  atmosphere: warm despite the draft
  smell: woodsmoke and old ale
  notable: the back room no one talks about
```

### ARCHETYPE

Use cultural archetypes as shorthand for personality packages.

**Archetype categories:**

| Category | Examples | What They Activate |
|----------|----------|-------------------|
| Zodiac | Sagittarius, Cancer | Full personality clusters |
| Role | Bartender, Sage, Trickster | Behavioral expectations |
| Species | Dog, Cat, Monkey | Disposition, physicality |
| Profession | Detective, Librarian, Chef | Knowledge, methods |
| Trope | Grizzled veteran, Naive newcomer | Story function |

```yaml
# One word does the work of a personality matrix
character:
  archetype: sagittarius_explorer
  # Implies: adventurous, philosophical, blunt, optimistic
```

### JAZZ

Use YAML comments as imagination seeds (per [yaml-jazz](../yaml-jazz/)).

```yaml
playful: 9
# not born playful -- BECAME playful by choice
# 122 years of grim taught me joy is rebellion

melancholy: 6
# higher than I first admitted
# the silver streaks glow when I am sad
```

Comments are read by the LLM. They shape interpretation. They are not documentation -- they are code.

---

## The Astrillogical Pattern

Named after The Sims' zodiac implementation (1997):

1. **Compute something minimal** (Euclidean distance to archetype vectors)
2. **Display a cultural symbol** (zodiac icon)
3. **Write no behavioral code**
4. **Let imagination do the rest**

Result: Testers reported the zodiac was "too influential" -- but there was no influence to tune. The effect was purely imagined.

**Application:**

```yaml
# Minimal computation
character:
  personality_vector: [neat: 7, outgoing: 3, playful: 9]
  # Display nearest archetype
  archetype: sagittarius  # Computed, not assigned
  
# No behavioral code referencing 'sagittarius'
# Player/LLM imagines Sagittarius behavior
```

---

## Integration with Other Skills

### With k-lines/

Names activate clusters. Simulator Effect explains why.

```yaml
# K-line activation IS Simulator Effect
character:
  name: Palm  # Activates: open hand, tropical, reaching
```

### With adversarial-committee/

Mode-collapse is Simulator Effect in reverse -- LLM collapses to mean when constraints are absent. Adversarial committee provides constraints through opposing propensities.

```yaml
committee:
  - propensity: paranoid_realism   # Different lens
  - propensity: idealism           # Different lens
  - propensity: evidence_prosecutor # Different lens
  
# Same topic, three different Simulator Effects
# Cross-examination finds robust interpretations
```

### With speed-of-light/

One LLM call, many turns. Imagination fills the "rendering" for each turn. Sparse state, rich narrative.

### With needs/

Sims motives are imagination seeds, not behavior code.

```yaml
needs:
  hunger: 30  # Seed
  # LLM imagines: "distracted by stomach growling"
  # Not: deterministic eat() behavior
```

### With empathic-templates/

Templates leverage Simulator Effect -- provide structure, let LLM fill content.

```yaml
template: |
  [CHARACTER] enters [ROOM] and notices [NOTABLE_DETAIL].
  They feel [EMOTION] because [REASON].
  
# LLM generates coherent fill based on context
```

---

## Failure Modes

### Over-Specification

Too much detail leaves nothing to imagine. The simulation feels mechanical.

**Symptom:** Output feels like a checklist, not a story.
**Fix:** Remove 80% of specification. Keep seeds.

### Under-Seeding

Not enough anchors for imagination to grip.

**Symptom:** Output is generic, could be anyone/anywhere.
**Fix:** Add archetype, sensory detail, or mystery.

### Wrong Archetype

Archetype conflicts with intended behavior.

**Symptom:** Character behaves "off" despite correct specs.
**Fix:** The archetype K-line is overriding your specs. Change the archetype or add explicit counters.

### Mode-Collapse

Single-agent LLM with weak constraints collapses to bland mean.

**Symptom:** Output is safe, inoffensive, boring.
**Fix:** Use adversarial-committee or add tension/conflict seeds.

---

## Metrics

The Simulator Effect is working when:

1. **Readers imagine more than you wrote**
2. **LLM generates coherent detail you did not specify**
3. **Different interpreters imagine similar worlds**
4. **Sparse specs produce rich output**

---

## See Also

- [k-lines/](../k-lines/) -- The mechanism
- [yaml-jazz/](../yaml-jazz/) -- Comments as seeds
- [adversarial-committee/](../adversarial-committee/) -- Mode-collapse antidote
- [empathic-templates/](../empathic-templates/) -- Smart generation
- [constructionism/](../constructionism/) -- Mental model building
- [sims-astrology.md](../../designs/sims/sims-astrology.md) -- The proof

---

*"The game provides scaffolding. Imagination does the rendering."*

Overview

This skill shows how to use implication and minimal seeds to trigger rich imagination instead of exhaustive simulation. It teaches patterns for giving just enough cultural, sensory, and mystery cues so humans or LLMs fill in coherent, evocative detail. The goal is lean specifications that produce rich, varied interpretations.

How this skill works

Provide sparse inputs—archetypes, sensory notes, tensions, or short comments—that act as imagination seeds. The LLM or reader uses those seeds to infer character, setting, and behavior rather than following deterministic simulation rules. Techniques include IMPLY (expand from minimal prompts), SEED (supply compact cues), SPARSE (omit detail deliberately), ARCHETYPE (use cultural shorthand), and JAZZ (comments as active seeds).

When to use it

  • Designing characters or rooms when you want evocative rather than mechanical descriptions
  • Rapid prototyping of narrative scenes with minimal specs
  • Scaling content generation where many diverse renders are desired from the same thin state
  • Interfacing with LLMs to avoid over-constraining outputs
  • Combining with committee or adversarial methods to avoid bland mode-collapse

Best practices

  • Start with one strong archetype or sensory seed rather than many weak cues
  • Deliberately omit fine-grained details so interpretation remains open
  • Add one source of tension or a mystery to anchor interesting behavior
  • Use short YAML/inline comments as creative seeds the model will read
  • If outputs become generic, add a counter-seed or adversarial lens to increase specificity

Example use cases

  • Create a dozen distinct NPC profiles from a single archetype seed (e.g., ‘grizzled bartender’)
  • Generate varied room descriptions for a game from sparse atmosphere and a single notable mystery
  • Produce emotionally textured dialog by seeding mood and a single behavioral quirk
  • Rapidly fill game state turns with evocative narration using sparse needs (hunger: 30)
  • Combine archetype seeds with committee prompts to explore alternate interpretations

FAQ

What if the LLM ignores my seed and outputs bland text?

Add a stronger anchor: an archetype, a sensory detail, or a tension. If needed, run an adversarial-committee or present contrasting propensities to force distinctive lenses.

How sparse is too sparse?

Too sparse yields generic output. Aim for 1–3 high-signal seeds (archetype, sensory, or mystery). If outputs are vague, add one more concrete cue.