protocol

SKILL.md

PROTOCOL

"Protocol names ARE K-lines."

MOOLLM protocol symbols are Minsky's K-lines made concrete and greppable.


Protocol Names = K-Lines

A K-line (Minsky, Society of Mind) is a mental structure that, when activated, reactivates an entire constellation of knowledge, skills, and associations.

Protocol names are exactly this:

YAML-JAZZ         ← Activates: semantic comments, jazz interpretation, LLM-as-musician
POSTEL            ← Activates: charitable interpretation, robustness, collaboration
PLAY-LEARN-LIFT   ← Activates: exploration, pattern-finding, crystallization, sharing
COHERENCE-ENGINE  ← Activates: consistency, constraints, orchestration, referee, simulation, DM

Type the name → activate the tradition → invoke the behavior.

The UPPER-CASE-HYPHENATED format makes these K-lines findable.


Naming Convention

Rule Example Why
ALL CAPS YAML-JAZZ not yaml-jazz Stands out in prose
Hyphen-separated PLAY-LEARN-LIFT not PLAY_LEARN_LIFT Shell-friendly, readable
No colons POSTEL not WP:POSTEL Cleaner than Wikipedia
Semantic ROBUST-FIRST not RF Self-documenting

Why This Convention?

1. Grep-Friendly

# Find all uses of a protocol
grep -r "YAML-JAZZ" .

# Find all protocol definitions
grep -r "^[A-Z-]*:" PROTOCOLS.yml

# Find all mentions in docs
grep -rn "POSTEL\|PLAY-LEARN-LIFT" skills/

2. Vector-Search Friendly

The UPPER-CASE format creates distinct embeddings. When you search for "YAML-JAZZ", you get:

  • The protocol definition
  • Files that reference it
  • Examples that demonstrate it

Not general YAML documentation.

3. Human-Scannable

In prose, protocols pop:

When parsing user input, apply POSTEL (charitable interpretation). If the command is ambiguous, use YAML-JAZZ to infer intent.

You can't miss them.


Protocol Layers

Kernel Protocols (Low-Level)

Defined in kernel/, fundamental to operation:

Protocol Purpose Location
FILES-AS-STATE Everything is files kernel/constitution-core.md
WHY-REQUIRED Tool calls need reasons kernel/tool-calling-protocol.md
APPEND-ONLY Never modify logs kernel/constitution-template.md
MINIMAL-DIFF Change only what's needed kernel/constitution-core.md

Skill Protocols (Mid-Level)

Defined in skills/, behavioral patterns:

Protocol Purpose Location
PLAY-LEARN-LIFT The methodology skills/play-learn-lift/
SOUL-CHAT Everything speaks skills/soul-chat/
POSTEL Charitable interpretation skills/postel/
YAML-JAZZ Comments carry meaning skills/yaml-jazz/

Ad-Hoc Protocols (Emergent)

Mentioned in conversations, examples, documents:

# In a soul-chat document
We should apply KITCHEN-RULES here — no running,
always clean up, respect the fridge contents.

# In an adventure room
This room follows GRUE-SAFE protocol — magically lit.

These don't need formal definitions. Naming them makes them real.


Where Protocols Live

Central Registry

PROTOCOLS.yml — The master list:

YAML-JAZZ:
  meaning: "Comments carry meaning. Data is interpreted."
  location: kernel/constitution-core.md §3
  invoke_when: "Writing or reading YAML with semantic intent"

Embedded in Files

Protocols can be defined inline where they're used:

# In a room's ROOM.yml
protocols:
  DARK-ROOM:
    meaning: "No light source = grue danger"
    applies_when: "player enters without lit lamp"

Referenced in Prose

Just mention them:

This adventure follows REINCARNATION protocol — death returns you to start, inventory preserved.

The name IS the definition until someone formalizes it.


Protocol Lifecycle

Mentioned → Documented → Formalized → Skill
    ↓            ↓            ↓          ↓
  "Let's       Entry in     Directory   Full
   try          PROTOCOLS    in          PROTOTYPE
   FOOD-CHAIN"  .yml         skills/     + templates

Most protocols stay informal. Only crystallize when needed.


K-REFs: File Pointers as K-Lines

A K-REF is a K-line that points to a specific location in a file with optional metadata:

/path/to/file.md:42-58 # section_type | preview text

K-REF Format

PATH[:LINE[-END]][#ANCHOR][?SEARCH] # TYPE [LABEL] SEVERITY - DESCRIPTION
  EXCERPT or MASKED_VALUE

Components:

  • PATH — Absolute file path (if no line number, refers to whole file)
  • LINE — Line number (1-based), optionally with column :LINE:COL. Omit for whole file.
  • END — Optional end line or column for ranges
  • #ANCHOR — Jump to heading/section (like URL fragments)
  • ?SEARCH — Find first match of pattern (like URL query)
  • TYPE — What was found (uuid, secret, user_prompt, tool_call, etc.)
  • LABEL — Optional redact label like [SSH_KEY]
  • SEVERITY — Icon: 🔴 critical, 🟠 high, 🟡 medium, 🔵 low, ℹ️ info
  • DESCRIPTION — Human-readable explanation
  • EXCERPT — Surrounding context or masked value

Location Specifiers

Format Meaning Example
/path/file Whole file /etc/config.yml
/path/file:42 Line 42 /src/main.py:42
/path/file:42-58 Lines 42-58 /src/main.py:42-58
/path/file:42:10-46 Line 42, cols 10-46 /src/main.py:42:10-46
/path/file#section Anchor/heading /docs/API.md#authentication
/path/file?pattern Search for pattern /src/main.py?def process_data
/path/file#section?pattern Section + search /docs/API.md#errors?401

Anchor Types

# Markdown headings (slugified)
/README.md#installation
/SKILL.md#k-ref-format

# YAML keys (dot-path)
/config.yml#server.port
/CARD.yml#methods.K-REF

# Code symbols (function/class)
/main.py#def:process_data
/main.py#class:AuditRunner

# HTML-style id
/page.html#footer

Search Patterns

# Literal string (default)
/file.py?def main

# Regex (prefix with ~)
/file.py?~def\s+\w+\(

# First match of pattern
/transcript.txt?user: 

# Combine with line context
/file.py?def main # function - Jump to main()

Examples

/path/to/config.yml # config - Whole file reference
/path/to/SKILL.md#k-refs # section - Jump to K-REFs section
/path/to/main.py?def audit # search - Find audit function
/path/transcript.txt:91:12-48 # uuid ℹ️
  fe18ce96-5200-4e15-acd3-190695de6295

/path/transcript.txt:7528:18-45 # private_key ([PRIVATE_KEY]) 🔴 - Private key header
  ********** ******* ********

/path/config.json:15 # password ([PASSWORD]) 🟠 - Database password
  ************

Images Work Too!

Cursor (and other orchestrators) can read absolute file paths directly — INCLUDING IMAGES!

/Users/me/Screenshots/error.png # screenshot - Analyze this error
/tmp/architecture-diagram.jpg # diagram - Explain this system
/path/to/chart.png # data - What trends do you see?

No line numbers for images (obviously). Just the absolute path.

This is powerful:

  • Point to any image on disk
  • Cursor reads and analyzes it
  • Works with screenshots, diagrams, charts, photos
  • Supports: jpeg, png, gif, webp

Security note: Cursor can read ANYWHERE on your disk, not just the workspace. Powerful, but be aware.

Sister Script Methodology

Problem: LLMs have limited context windows. Dumping entire files wastes tokens.

Solution: Sister scripts emit K-REFs (pointers) instead of full content:

# Sister script → K-REF → LLM flow
kref_flow:
  source: "cursor-mirror (sister script)"
  produces: "K-REFs (pointers)"
  consumer: "LLM reads only what it needs"
  1. Scan — Script searches large data (transcripts, databases)
  2. Emit — Output K-REFs pointing to relevant sections
  3. Read — LLM selectively reads only the referenced ranges

This is reference by pointer, not by value — parsimonious context.

K-REF Output Modes

Mode Command Use Case
K-REF --emit-kref Human/LLM navigation
REDACT --emit-redact Pipe to masking tool
JSON --json Programmatic processing

Example: cursor-mirror as Sister Script

# Emit K-REFs for secrets (LLM reads just the pointers)
cursor-mirror audit --patterns secrets --emit-kref

# Output:
# /path/file.txt:42:10-46 # openai_key ([OPENAI_KEY]) 🔴 - OpenAI API key
#   sk-proj-****...(48 chars)...****

# LLM can then selectively read context around line 42

Commands

Command Action
PROTOCOL [name] Describe or invoke a protocol
PROTOCOLS List defined protocols
DEFINE-PROTOCOL [name] Add to PROTOCOLS.yml
GREP-PROTOCOL [name] Find all references
K-REF [path:line] Navigate to a K-REF location

Protocol Symbols

Symbol Meaning
PROTOCOL This meta-protocol
K-LINE Minsky's concept — name activates tradition
K-REF K-line as file pointer: path:line + metadata
SISTER-SCRIPT Tool emits K-REFs, LLM reads selectively
GREPPABLE Easy to find with text search
UPPER-CASE The naming convention itself

Dovetails With


The Power of Naming

"In the beginning was the Word."

When you name something, you can:

  • Find it — grep, vector search, memory
  • Invoke it — type the name, activate the tradition
  • Compose it — combine named things into new things
  • Teach it — names are handles for concepts

MOOLLM protocols are handles on ideas. The UPPER-CASE convention makes them impossible to miss, trivial to find.


"Name it, grep it, use it."

Weekly Installs
10
GitHub Stars
34
First Seen
Jan 26, 2026
Installed on
mcpjam10
neovate10
antigravity10
qwen-code10
windsurf10
zencoder10