protocol

📁 simhacker/moollm 📅 Jan 26, 2026
1
总安装量
1
周安装量
#43291
全站排名
安装命令
npx skills add https://github.com/simhacker/moollm --skill protocol

Agent 安装分布

mcpjam 1
claude-code 1
windsurf 1
zencoder 1
cline 1

Skill 文档

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.”