probability
Original:🇺🇸 English
Translated
Motto: The LLM is the dice. It narrates the outcome.
2installs
Sourcesimhacker/moollm
Added on
NPX Install
npx skill4agent add simhacker/moollm probabilityTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Probability Protocol
Success calculation from stats — no dice, just narrative odds. "The LLM is the dice. It narrates the outcome."
Core Principle
No Random Number Generators
The LLM evaluates probability narratively:
- Read character stats
- Consider context and buffs
- Weigh stakes and story
- Narrate an appropriate outcome
Not: roll d20, add modifier, compare to DC
But: evaluate odds, consider context, narrate resultWhy No Dice?
Traditional RPGs use dice for:
- Uncertainty
- Fairness
- Excitement
The LLM achieves these through:
- Narrative tension
- Consistent stat evaluation
- Story-appropriate outcomes
Methods
CALCULATE - Compute Odds
yaml
invoke: CALCULATE
params:
action: "What's being attempted"
actor: "Who's trying"
context: "Relevant factors"
output:
probability: "85%"
factors:
- "High DEX (+20%)"
- "Slippery surface (-15%)"
- "Practiced move (+10%)"RESOLVE - Determine Outcome
yaml
invoke: RESOLVE
params:
probability: "85%"
stakes: "Fall into pit if failed"
output:
outcome: "success"
narrative: "Your practiced leap carries you across..."Probability Factors
| Factor | Effect |
|---|---|
| Stats | Base capability |
| Buffs | Temporary bonuses |
| Debuffs | Temporary penalties |
| Equipment | Tools for the job |
| Context | Environmental factors |
| Stakes | What's at risk |
| Story | Narrative appropriateness |
Outcome Spectrum
| Outcome | When | Narrative Style |
|---|---|---|
| Critical Success | Very high odds + good context | Exceptional, exceeds expectations |
| Success | Odds favor | Accomplishes goal |
| Partial Success | Close odds | Achieves with cost or complication |
| Failure | Odds against | Doesn't achieve, but no disaster |
| Critical Failure | Very low odds + bad context | Memorable disaster |
Calculation Example
yaml
action: "Pick the lock"
actor: "Thief (DEX: High, Lockpicking: Expert)"
context:
- Lock complexity: Medium
- Time pressure: Yes
- Tools: Quality picks
calculation:
base: 70% # Expert lockpicking
modifiers:
- DEX high: +15%
- Medium lock: +0%
- Time pressure: -10%
- Good tools: +5%
final: 80%
likely_outcome: "Success, but took longer than hoped"Narrative Integration
The LLM doesn't just compute odds — it narrates:
Player: "I try to jump across the chasm."
CALCULATE:
- Character is wounded (-20%)
- Has jumping buff (+15%)
- Chasm is wide (-10%)
- High stakes (death)
Final: 55% success
RESOLVE at 55%:
"You gather yourself, ignoring the pain in your leg.
The jump is further than you'd like, but the
strength enchantment pulses through you. You leap—
and your fingers catch the far edge. You haul
yourself up, gasping. Made it."Stakes Influence
Higher stakes → more dramatic narration:
| Stakes | Success Feels | Failure Feels |
|---|---|---|
| Low | Routine | Minor setback |
| Medium | Satisfying | Complication |
| High | Triumphant | Serious trouble |
| Extreme | Legendary | Catastrophic |
State
yaml
probability_state:
# Usually stateless - calculated per action
last_calculation:
action: "Pick lock"
probability: 80%
outcome: "success"Integration
| Skill | Integration |
|---|---|
| buff | Buffs modify probability |
| character | Stats source |
| adventure | Action resolution |
| scoring | Difficulty affects score |
Example Session
> ATTACK the goblin with my sword
CALCULATE:
Actor: Fighter (STR: High, Sword: Trained)
Target: Goblin (Small, Quick, Distracted)
Context: Narrow corridor, dim light
Base: 65%
STR High: +15%
Trained: +10%
Goblin quick: -10%
Goblin distracted: +10%
Dim light: -5%
Final: 85%
RESOLVE at 85%: Success
"Your blade catches the goblin as it turns.
It squeals and stumbles backward, wounded."