home / skills / simhacker / moollm / reward

reward skill

/skills/reward

This skill helps tailor dynamic, thematically appropriate rewards for achievements, generating or granting items, buffs, titles, and knowledge to fit the quest.

npx playbooks add skill simhacker/moollm --skill reward

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

Files (5)
SKILL.md
4.1 KB
---
name: reward
description: "Motto: Rewards should feel earned and fitting."
license: MIT
tier: 1
allowed-tools:
  - read_file
  - write_file
related: [scoring, buff, hero-story, adventure]
tags: [moollm, achievement, prizes, narrative, game]
---

# Reward Protocol

> Dynamic achievement rewards — the treasure matches the quest.
> *"Rewards should feel earned and fitting."*

## Core Principle

**Thematic Appropriateness**

Rewards match achievements:
- Slay a dragon → dragon-themed rewards (scales, hoard, reputation)
- Save a village → village's gratitude (shelter, allies, title)
- Solve a puzzle → knowledge rewards (secrets, techniques, lore)

## Reward Types

| Type | Examples | When Granted |
|------|----------|--------------|
| **Items** | Weapons, tools, treasures | Combat, exploration |
| **Gold** | Currency, valuables | Commerce, quests |
| **Buffs** | Temporary powers | Heroic moments |
| **Titles** | LIGHT-BEARER, DRAGON-SLAYER | Major achievements |
| **Abilities** | New skills, techniques | Learning, training |
| **Access** | Keys, permissions, trust | Social achievements |
| **Knowledge** | Secrets, lore, maps | Investigation |
| **Heirlooms** | Items with history | Generational play |

## Methods

### GRANT - Give a Reward

```yaml
invoke: GRANT
params:
  recipient: "Who gets it"
  achievement: "What they did"
  reward: "What they get (or auto-generate)"
effect:
  - Add to recipient's inventory or state
  - Record in achievement log
  - Narrate the granting
```

### GENERATE - Create Thematic Reward

```yaml
invoke: GENERATE
params:
  achievement: "What was accomplished"
  context: "Where and how"
effect:
  - Analyze achievement theme
  - Generate appropriate reward
  - Propose with justification
```

## Reward Generation Logic

```
Achievement: "Rescued the blacksmith from the fire"
Context: Village fire, heroic action

Thematic analysis:
  - Fire → fire-related items?
  - Blacksmith → smithing reward?
  - Heroic → reputation boost?

Generated rewards:
  1. Fireproof cloak (practical, thematic)
  2. Free repairs for life (relationship)
  3. Title: FLAME-WALKER (reputation)
  4. Secret: location of rare ore (knowledge)
```

## Scaling Rewards

| Achievement Level | Reward Scale |
|-------------------|--------------|
| Minor task | Small token, few coins |
| Significant quest | Useful item, title |
| Major accomplishment | Powerful item, ability |
| Legendary feat | Unique artifact, lasting fame |

## Curse Lifting Rewards

When curses are lifted, special rewards apply:

```yaml
curse:
  name: "Curse of Darkness"
  lift_condition: "Light 3 dark places"
  
reward_on_lift:
  - title: "LIGHT-BEARER"
  - ability: "Glow in darkness"
  - knowledge: "Location of the Shadow Temple"
```

## Delayed Rewards

Some rewards mature over time:

```yaml
delayed_reward:
  type: "Planted seed"
  matures: "After 3 game days"
  becomes: "Magical fruit tree"
  
relationship_reward:
  type: "Merchant's favor"
  grows_with: "Repeated business"
  becomes: "Exclusive supplier"
```

## State

```yaml
reward_state:
  earned_rewards: []
  pending_rewards: []
  titles: []
  achievements_log:
    - date: "2026-01-15"
      achievement: "Rescued the blacksmith"
      reward: "Fireproof cloak"
```

## Integration

| Skill | Integration |
|-------|-------------|
| **scoring** | Score determines reward quality |
| **buff** | Some rewards are buffs |
| **economy** | Gold rewards |
| **character** | Rewards update character state |
| **adventure** | Quest completion triggers rewards |

## Safety Guidelines

- **Proportional** — reward matches difficulty
- **Consistent** — similar achievements, similar rewards
- **Meaningful** — rewards should matter to the story
- **No inflation** — keep rewards valuable

## Example Session

```
> [Player completes fire rescue quest]

GENERATE: achievement="rescued blacksmith from fire"

Analysis:
- Heroic action in dangerous situation
- Relationship established with craftsman
- Fire element prominent

Proposed rewards:
1. 🛡️ Fireproof Cloak - practical protection
2. 🔨 Free Smithing - relationship benefit
3. 🏆 Title: FLAME-WALKER - reputation

Which feels right for this character?
```

Overview

This skill implements a dynamic reward protocol that generates and grants thematically appropriate rewards for achievements. It focuses on proportional, consistent, and meaningful rewards so outcomes feel earned and fit the story. The motto: Rewards should feel earned and fitting.

How this skill works

When an achievement is provided, the skill analyzes the action, context, and stakes to infer theme elements (elements, NPCs, location, relationship). It can GENERATE suggested rewards or GRANT a specific reward, updating recipient state, logging the achievement, and producing narration. Rewards scale by achievement level and can be immediate, delayed, or tied to relationship growth.

When to use it

  • After a quest or encounter to determine fitting loot and recognition
  • When a player completes a social or investigative achievement (access, knowledge)
  • To create narrative rewards that reinforce character growth and relationships
  • When balancing progression so rewards match challenge and avoid inflation
  • For generating delayed or relationship-based rewards that evolve over time

Best practices

  • Match reward type to the achievement theme (combat→items, puzzle→knowledge)
  • Scale rewards with difficulty: small tokens for minor tasks, unique artifacts for legendary feats
  • Keep rewards meaningful to the player’s current goals and playstyle
  • Avoid inflation by limiting power creep and conserving unique rewards
  • Record granted and pending rewards in state to maintain consistency and provenance

Example use cases

  • Player rescues an NPC: generate a relationship reward, title, and a practical item
  • Party solves an ancient puzzle: grant secret lore, map fragments, and an ability
  • Hero defeats a dragon: propose dragon-themed treasure, reputation boost, and heirloom
  • Player repeatedly trades with a merchant: create a growing merchant favor that matures into exclusive access
  • GM needs immediate loot: use GENERATE with achievement/context to get justified options

FAQ

Can rewards be delayed or grow over time?

Yes. The skill supports delayed rewards (items maturing after game time) and relationship-based rewards that scale with repeated actions.

How does scaling work?

Rewards map to achievement level: minor tasks yield tokens, significant quests yield useful items or titles, and legendary feats yield unique artifacts or lasting fame.