home / skills / simhacker / moollm / naming
This skill enforces and explains big-endian file naming as semantic binding, organizing files by TYPE-VARIANT.ext for rapid discovery.
npx playbooks add skill simhacker/moollm --skill namingReview the files below or copy the command above to add this skill to your agents.
---
name: naming
description: Big-endian file naming as semantic binding
license: MIT
tier: 1
allowed-tools: []
related: [room, character, yaml-jazz, k-lines]
tags: [moollm, naming, filesystem, semantic, convention]
---
# Naming Skill
> *"The filesystem is a semantic network."*
This skill wraps [kernel/NAMING.yml](../../kernel/NAMING.yml).
## Core Pattern
```
TYPE-VARIANT.ext
```
| Part | Meaning | Examples |
|------|---------|----------|
| TYPE | Category/role | `cat`, `staff`, `ROOM` |
| VARIANT | Specific instance | `terpie`, `marieke` |
| ext | File type | `.yml`, `.md` |
## Examples
```
pub/
├── ROOM.yml # Type only — the pub itself
├── cat-terpie.yml # Type-variant
├── cat-stroopwafel.yml
├── staff-marieke.yml
└── menu-strains.yml # Menu type, strains variant
```
## Sorting Advantage
```bash
ls *.yml | sort
# cat-stroopwafel.yml
# cat-terpie.yml
# menu-strains.yml
# ROOM.yml
# staff-marieke.yml
```
Categories cluster. Finding "all cats" → `cat-*.yml`
## Special Filenames
| Name | Purpose |
|------|---------|
| `ROOM.yml` | Room definition |
| `CHARACTER.yml` | Character definition |
| `SKILL.md` | Skill specification |
| `README.md` | Human landing page |
| `INDEX.yml` | Registry |
## Canonical Forms
See [kernel/NAMING.yml](../../kernel/NAMING.yml) for:
- Full naming rules
- Big-endian rationale
- Minsky K-line connection
## Dovetails With
### Kernel
- [kernel/NAMING.yml](../../kernel/NAMING.yml) — definitive reference
This skill documents a big-endian file naming convention that treats the filesystem as a semantic network. It standardizes filenames as TYPE-VARIANT.ext to make category-first sorting and discovery intuitive. The pattern clusters related items and supports simple shell globs for retrieval.
Files are named with the category or role first (TYPE), followed by a dash and the specific instance (VARIANT), then the extension. This ordering causes lexicographic sorting to group related types together, so queries like "all cats" map to cat-*.ext. Special canonical filenames (e.g., ROOM.yml, CHARACTER.yml, INDEX.yml) provide room-level or registry semantics.
Why put TYPE first instead of variant or date?
TYPE-first (big-endian) makes lexicographic sorting cluster related items, enabling simple globs and visual grouping without additional indexing.
How do I handle files that belong to multiple types?
Prefer a primary TYPE in the filename and include secondary types as metadata inside the file. For cross-listing, use INDEX.yml entries or duplicating lightweight pointer files.