Goal

SkillDev tools

Quest objectives that drive narrative — the WANTS of adventure

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 Goal skill

What this skill tells your AI

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

"A goal is not always meant to be reached. Often it serves simply as something to aim at." — Bruce Lee


What Is It?

A Goal is a quest objective that drives the adventure forward. It defines what the player is trying to achieve and when they've succeeded (or failed).

Goals create narrative tension — the gap between current state and desired state.


Schema Mechanism Connection

From Gary Drescher's theory:

Context → Action → Result

Goals define the desired Result that motivates Action. The adventure is a laboratory for learning causal chains that achieve goals.


Goal Properties

PropertyPurpose
idUnique identifier
nameShort display name
descriptionWhat you're trying to achieve
statuspending, active, complete, failed
complete_whenNatural language condition
fail_whenWhen goal becomes impossible
rewardWhat you get on completion
progressPartial completion tracking

Completion Conditions

Natural language conditions that compile to JS/PY:

complete_when: "player has the treasure"
complete_when_js: "(ctx) => ctx.player.inventory.includes('treasure')"

Rewards

Goals can grant various rewards:

reward:
  buff: "Hero's Glory"           # Temporary effect
  item: "champion-medal"         # Object
  unlock: "secret-room"          # New access
  narrative: "The kingdom celebrates!"  # Story beat

Progress Tracking

For multi-step goals:

progress:
  collected: 3
  needed: 5

Goal Hierarchies

Goals can nest:

parent: defeat-dragon
children:
  - find-magic-sword
  - learn-dragon-weakness
  - reach-dragon-lair

Complete all children to complete the parent.


Failure Conditions

Goals can fail:

fail_when: "time reaches midnight AND prisoner is not freed"
fail_message: "You were too late."

Examples

Simple Quest

goal:
  id: find-treasure
  name: "Find the Treasure"
  complete_when: "player has the treasure"

Timed Challenge

goal:
  id: rescue-mission
  name: "Save the Prisoner"
  complete_when: "prisoner is freed"
  fail_when: "10 turns pass without rescue"
  priority: urgent

Collection Quest

goal:
  id: gather-keys
  name: "Collect All Keys"
  complete_when: "player has 5 enchanted keys"
  progress:
    collected: 2
    needed: 5

Related Skills


Protocol Symbol

SCHEMA-MECHANISM — Goals drive causal learning

Signals

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