Agent Skills: Simulation Skill

Abstract base for runtime state — adventure, city-sim, ecosystem all inherit from this

UncategorizedID: simhacker/moollm/simulation

Install this agent skill to your local

pnpm dlx add-skill https://github.com/SimHacker/moollm/tree/HEAD/skills/simulation

Skill Files

Browse the full folder contents for simulation.

Download Skill

Loading file tree…

skills/simulation/SKILL.md

Skill Metadata

Name
simulation
Description
"Abstract base for runtime state — adventure, city-sim, ecosystem all inherit from this"

Simulation Skill

Abstract base for runtime state management. Concrete simulations (adventure, city-sim, ecosystem) inherit from this.

Motto: "The simulation is the world. The world is the simulation."

[!IMPORTANT] This is the abstract base. Don't create SIMULATION.yml directly. Use ADVENTURE.yml (for narrative exploration) or create your own concrete type. The concrete file INCLUDES all simulation properties plus type-specific ones.

Key Concepts

  • SIMULATION.yml — Source of truth for "now"
  • Global parameters — Configurable via chat
  • Git time machine — Commits = deterministic undo
  • Turn tracking — Increments on significant actions

Global Parameters

Time Control

| Parameter | Default | Chat Command | |-----------|---------|--------------| | paused | false | PAUSE / RESUME | | advancement | normal | SET TIME ADVANCEMENT [none\|slow\|normal\|fast] | | turn | 0 | TICK [n] / REWIND [n] |

Git Automation

| Parameter | Default | Chat Command | |-----------|---------|--------------| | auto_commit | false | SET AUTO COMMIT [on\|off] | | auto_push | false | SET AUTO PUSH [on\|off] | | git_remote | origin | SET GIT REMOTE [name] | | git_branch | main | SET GIT BRANCH [name] |

Display

| Parameter | Default | Chat Command | |-----------|---------|--------------| | narration_level | normal | SET NARRATION [minimal\|normal\|verbose] | | show_mechanics | false | SET SHOW MECHANICS [on\|off] | | debug_mode | false | DEBUG [on\|off] |

Output (all ON by default)

| Parameter | Default | Chat Command | |-----------|---------|--------------| | write_to_chat | true | SET CHAT OUTPUT [on\|off] | | write_to_transcript | true | SET TRANSCRIPT [on\|off] | | transcript_path | ./README.md | SET TRANSCRIPT PATH [path] | | include_yaml_islands | true | SET YAML ISLANDS [on\|off] | | include_links | true | SET LINKS [on\|off] | | link_format | markdown | SET LINK FORMAT [markdown\|plain\|none] |

Transcript paths are relative to adventure directory:

  • ./README.md (default)
  • ./logs/session-log.md
  • ./narrative/chapter-1.md

Example output with all flags ON:

You're in the pub with Marieke.

You examine the lamp:

object:
  id: brass-lamp
  state: lit
  oil: 75%
  # Warm. Faithful. Flickering slightly.

Gameplay

| Parameter | Default | Chat Command | |-----------|---------|--------------| | difficulty | normal | SET DIFFICULTY [easy\|normal\|hard] |

SIMULATION.yml Structure

simulation:
  turn: 47
  paused: false
  
parameters:
  git:
    auto_commit: true
    auto_push: false
    
  gameplay:
    difficulty: normal
    permadeath: false
    
  display:
    show_mechanics: false
    
player:
  character: characters/don-hopkins/
  location: pub/
  
party:
  members: [characters/don-hopkins/, pub/cat-cave/terpie.yml]
  
selection:
  targets: []
  
active_buffs: []
world_state: {}
flags: {}

Commands

| Command | Effect | |---------|--------| | STATUS | Current simulation state | | SHOW SETTINGS | List all parameters | | SET [param] [value] | Configure parameter | | GET [param] | Query parameter value | | PAUSE / RESUME | Time control | | TICK [n] | Force advance turns | | SAVE / LOAD | Persistence |

Git Time Machine

With auto_commit: true, every turn is a git commit:

# Commits look like:
Turn 47: Entered pub
Turn 48: Ordered Monkey's Blessing
Turn 49: Pet Terpie (+Serenity buff)

Time travel commands:

  • REWIND [n] — Go back n turns
  • BRANCH [name] — Create alternate timeline
  • TIMELINES — List all branches
  • MERGE TIMELINE [branch] — Merge narratives

See Also