Simulation Skill

SkillDev tools

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

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Simulation Skill skill

What this skill tells your AI

The instructions your AI receives, as published by simhacker/moollm in skills/simulation/SKILL.md and read by ahel’s review.

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

ParameterDefaultChat Command
pausedfalsePAUSE / RESUME
advancementnormalSET TIME ADVANCEMENT [none|slow|normal|fast]
turn0TICK [n] / REWIND [n]

Git Automation

ParameterDefaultChat Command
auto_commitfalseSET AUTO COMMIT [on|off]
auto_pushfalseSET AUTO PUSH [on|off]
git_remoteoriginSET GIT REMOTE [name]
git_branchmainSET GIT BRANCH [name]

Display

ParameterDefaultChat Command
narration_levelnormalSET NARRATION [minimal|normal|verbose]
show_mechanicsfalseSET SHOW MECHANICS [on|off]
debug_modefalseDEBUG [on|off]

Output (all ON by default)

ParameterDefaultChat Command
write_to_chattrueSET CHAT OUTPUT [on|off]
write_to_transcripttrueSET TRANSCRIPT [on|off]
transcript_path./README.mdSET TRANSCRIPT PATH [path]
include_yaml_islandstrueSET YAML ISLANDS [on|off]
include_linkstrueSET LINKS [on|off]
link_formatmarkdownSET 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

ParameterDefaultChat Command
difficultynormalSET 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

CommandEffect
STATUSCurrent simulation state
SHOW SETTINGSList all parameters
SET [param] [value]Configure parameter
GET [param]Query parameter value
PAUSE / RESUMETime control
TICK [n]Force advance turns
SAVE / LOADPersistence

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

Signals

GitHub stars
52
Forks
5
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
simulation
Source
github.com/simhacker/moollm