Skip to content
Agentmart
Submit a tool

character

Core patterns for all characters — home, location, relationships, inventory

Skill by SimHacker

IndexedMIT★ 60
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/simhacker-character

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Core patterns for all characters — home, location, relationships, inventory

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/character

What's inside

Skill name
character
Description
Core patterns for all characters — home, location, relationships, inventory
License
MIT
Instructions
471 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • allowed-tools: must be a space-separated string

Files (7)

  • CARD.yml
  • CHARACTER.yml
  • ETHICS.md
  • GLANCE.yml
  • README.md
  • SKILL.md
  • skill-snitch-report.md

SKILL.md (first lines)

# Character

> *"File is identity. Location is presence. Relationships are memory."*

Ethics: [ETHICS.md](ETHICS.md) · [soul/ETHICS.md](../soul/ETHICS.md) · [mind/ETHICS.md](../mind/ETHICS.md) · [representation-ethics](../representation-ethics/)

Characters are entities that exist in the world. Players, NPCs, companions, cats — all are characters.

## The Prototype Character

[`CHARACTER.yml`](CHARACTER.yml) in this skill is the prototype character. Every
`CHARACTER.yml` inherits it as its implied parent, so a character states only what makes it
itself: name, description, home, location, and whatever differs.

| From the prototype | Value |
|---|---|
| `type` | `character` |
| `inventory`, `buffs` | empty |
| `relationships` | empty |
| `sims` | Sims 1 person_data defaults: traits 5, skills 0, needs 50, unemployed |
| `mind_mirror` | empty; an absent property is neutral (4) |
| `methods` | STATUS, MOVE, TAKE, DROP, WEAR, REMOVE-PERSONA, RELATE, SNIFF, LICK, GREET, CUDDLE |

A map the character states replaces the prototype's whole: a character with `sims:` of its
own does not get the prototype's needs filled in by lookup. A character that extends another
(a private layer over a public one) says `inherits: [path/to/public/]`; lookup reads the
character, then that parent, then the prototype.

A character's own `GLANCE.yml` keeps at least `name`, `description` and `location`.

### Facts, not verdicts

A character file records what is true of the character and leaves judgments to whoever
judges. `lighting:` belongs to a room and the grue decides whether it hunts there; a
character carries a lamp, not a `grue_safe: true`. The same goes for trust, danger and
taste: store the observation, let the observer's rules decide.

## Home vs Location

**The critical distinction:**

```yaml
# characters/don-hopkins/CHARACTER.yml
home: characters/don-hopkins/   # Where FILE lives (never moves)
location: pub/                  # Where CHARACTER is (changes)
```

| Concept | Purpose | Changes? |
|---------|---------|----------|
| **home** | Physical file path | NEVER |
| **location** | Current position in world | Runtime |

**Why:** Stability, safety, git-friendly diffs.

## Character State Ownership (CANONICAL vs MIRROR)

**Characters own their own state.** The CHARACTER.yml file is CANONICAL for:

| State | Stored In | Notes |
|-------|-----------|-------|
| `location` | CHARACTER.yml | Where the character is in the world |
| `inventory` | CHARACTER.yml | What the character carries |
| `gold` | CHARACTER.yml | Character's resources |
| `sims` | CHARACTER.yml | Sims 1 traits, skills, needs |
| `mind_mirror` | CHARACTER.yml | Personality (Leary-style) |
| `relationships` | CHARACTER.yml | Who they know and feel about |
| `memories` | CHARACTER.yml | What they remember |

**ADVENTURE.yml (or other world state files) may MIRROR some state for convenience**, but CHARACTER.yml is always the source of truth.

```yaml
# CHARACTER.yml (CANONICAL — edit this first)
location: coatroom/  # CANONICAL — character owns their location
inventory: [lamp]    # CANONICAL — character owns their inventory

# ADVENTURE.yml (MIRROR — optional convenience copy)
player:
  location: coatroom/  # Mirror of CHARACTER.yml
```

**When updating state:**
1. Edit CHARACTER.yml first (canonical)
2. Optionally update ADVENTURE.yml mirror for convenience
3. If conflict, CHARACTER.yml wins

**Why this matters:**
- Characters can be used across multiple adventures
- Character state persists independent of adventure state
- Clear ownership prevents conflicts

## Directory Structure

### Players (Need Junk Storage)

```
characters/
  don-hopkins/           # Directory name = character ID
    CHARACTER.yml        # The character file
    CARD.yml             # Optional: makes character a playable card
    QUOTES.yml           # Optional: notable quotes (standard pattern)
    cookie-1.yml         # Dispensed items
    notes.yml            # Personal stuff
```

### Sidecar Cards

Any character directory can have a `CARD.yml` sidecar to make the character card-playable:

```yaml
# characters/don-hopkins/CARD.yml — a view of the character directory
subject*: ..       # the character; slots this card lacks come from there
format*: card
type: hero-story
tradition: "Pie menus, SimCity, constructionism"

advertisements:
  SUMMON:
    description: "Activate Don's design traditions"
```

From SimHacker/moollm, MIT.

More from SimHacker/moollm

Signals

Stars
60
Forks
5
Open issues
1
Last commit (this folder)
Oct 21, 2026 (7 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from SimHacker

Cite this page

character skill. Agent Mart. https://agentmart.dev/skills/simhacker-character (last updated 2026-10-24)