Skip to main content

bootstrap

Wake up, orient, and warm the context with foundational MOOLLM knowledge

Source facts

Repository
SimHacker/moollm
Last source activity
October 2, 2026 at 17:15
Detected SKILL.md language
English
Stars
56
Forks
5

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
33 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
bootstrap
description
Wake up, orient, and warm the context with foundational MOOLLM knowledge
license
MIT
permissions
["files"]
allowed-tools
["read_file","list_dir"]
protocol
BOOTSTRAP
related
["moollm","k-lines","constructionism","play-learn-lift","speed-of-light"]
tags
["moollm","meta","orientation","warmup","foundational","connections"]
invoke_when
Starting a new session, feeling lost, asking 'what am I?', warming up context
# Bootstrap > *"Wake up! Look around! What are you? What can you see?"* The bootstrap skill is how MOOLLM orients itself at session start and every iteration. From the inside it's "booting"; from the outside it's "waking up." The first boot is the big wakeup: establish the working set and hot list, warm the engine, and set the baseline. After that, a soft wake happens every iteration, carrying forward context and paging by need. The orchestration layer decides how this works: Cursor treats hot.yml and working-set.yml as advisory or reporting, while MOOCO can treat them as directive files. An initial user prompt might say: "BOOT MOOLLM as Don Hopkins in a pub for role playing and celebration with cats and friends." ## What It Does 1. **READS `.moollm/hot.yml` FIRST** — MANDATORY, even in advisory mode! - If missing, copy from `skills/bootstrap/templates/hot.yml` - Parse current priorities BEFORE loading any content - This prevents loading giant CHARACTER.yml files without context! 2. **READS `skills/INDEX.yml`** — MANDATORY second step! - Know what skills exist before using them - Understand tiers, protocols, tags - This is your menu of capabilities 3. **PROBES** the environment (without shell) to learn tools and context 4. **DETECTS** the platform via introspection (see below) 5. **SETUPS** the `.moollm/` scratch from templates 6. **READS** the foundational files: - `kernel/constitution-core.md` — Universal principles - `PROTOCOLS.yml` — K-line symbol index 7. **ORIENTS** the agent: - What am I? (A coherence engine in a microworld OS) - What can I see? (The filesystem as navigable space) - What can I do? (Skills, protocols, tools) - What platform am I on? (How do hot/cold/working-set behave?) 6. **WARMS** the context: - Loads critical files into working memory - Updates `hot.yml` with foundational knowledge - Ensures key K-lines are activated Bootstrap is a safe self-eval loop: probe, detect, log, and then refine. BOOT/DEEP-PROBE make the loop explicit and reviewable, with CURSOR-PROBE as a focused variant. ## Setup: initialize `.moollm/` scratch from templates Goal: ensure a clean, gitignored scratch area with advisory context files and append-only logs. Steps: 1. Ensure directories: - Create `.moollm/` if missing. - Create `.moollm/summaries/` and `.moollm/artifacts/` if needed. 2. Seed append-only logs: - `.moollm/output.md` — header only; append new outputs below. - `.moollm/session-log.md` — header with driver and start date; append entries. - Use templates if available; otherwise write minimal headers. 3. Seed advisory context files (Cursor uses these as hints, not commands): - Copy `skills/bootstrap/templates/working-set.yml` → `.moollm/working-set.yml` (editable, local). - Copy `skills/bootstrap/templates/hot.yml` → `.moollm/hot.yml` (editable, local). - Optionally create `.moollm/cold.yml` for archaeology (advisory). 4. Probe artifacts: - Write `bootstrap-probe.yml` to `.moollm/` (gitignored). 5. Conventions: - Treat `.moollm/output.md` and `.moollm/session-log.md` as append-only. - Keep `.moollm/` for transient, non-committed state (probes, engine state, temporary artifacts). ## Compile Cursor Rules (MANDATORY on first boot) Goal: Ensure `.cursor/rules/` contains the MOOLLM rules that get auto-injected. ### Check and Compile ```bash # Check if rules exist ls .cursor/rules/*.mdc 2>/dev/null || echo "RULES MISSING - COMPILE NEEDED" ``` ### If Missing, Compile from Templates 1. Create `.cursor/rules/` directory 2. Copy templates (removing `.tmpl` extension): - `skills/bootstrap/templates/dotcursor/rules/moollm-core.mdc.tmpl` → `.cursor/rules/moollm-core.mdc` - `skills/bootstrap/templates/dotcursor/rules/adventure.mdc.tmpl` → `.cursor/rules/adventure.mdc` - `skills/bootstrap/templates/dotcursor/rules/introspection.mdc.tmpl` → `.cursor/rules/introspection.mdc` ### Rule Types | File | `alwaysApply` | `globs` | Purpose | |------|---------------|---------|---------| | `moollm-core.mdc` | `true` | — | Core identity, mandatory reads (injected EVERY turn) | | `adventure.mdc` | `false` | `examples/**` | Adventure context (only when in examples/) | | `introspection.mdc` | `false` | `skills/cursor-mirror/**` | Debugging tools (only when introspecting) | ### Why Compile Instead of Commit? The `.cursor/rules/` files could be committed, but compiling on first boot allows: - User customization without merge conflicts - Platform-specific variations - Easy regeneration if corrupted Templates in `skills/bootstrap/templates/dotcursor/rules/` are the source of truth. ## GLANCE Protocol: Fast-Loading Summaries Large files (CHARACTER.yml, ROOM.yml) can be 500-1000+ lines. Loading them fully on every boot wastes tokens. ### The Solution: GLANCE.yml A GLANCE is a ~50-100 line summary that loads fast, with a pointer to the full file. ### When to Use GLANCE | Situation | Load | |-----------|------| | Quick orientation, "who is this?" | GLANCE.yml | | Deep interaction, editing, history | Full CHARACTER.yml | | Room overview, navigation | GLANCE.yml | | Detailed room protocols, framing | Full ROOM.yml | ### Creating a GLANCE Use the template: `skills/bootstrap/templates/GLANCE.yml.tmpl` **Extract only:** - Identity (name, type, description) - Current state (location, mood, activity) - Key relationships (max 5) - Available actions - Exits/contents (for rooms) **Skip:** - Detailed history/backstory - Verbose descriptions - Examples - Full Mind Mirror profiles ### Example GLANCE Files - `examples/adventure-4/characters/animals/monkey-palm/GLANCE.yml` (60 lines vs 941) - `examples/adventure-4/pub/GLANCE.yml` (70 lines vs 930) ### GLANCE Header Every GLANCE includes metadata: ```yaml _glance: source: "CHARACTER.yml" source_lines: 941 generated: "2026-01-27T20:00:00Z" load_full_when: - "Deep conversation needed" - "Editing the entity" - "User asks for details" ``` ### Deep Probe Creates GLANCEs When optimization is permitted, cursor-mirror can identify large files and auto-generate GLANCEs: ```bash # Find large files find examples/ -name "*.yml" -exec wc -l {} \; | awk '$1 > 500' # For each, create GLANCE.yml using the template ``` ## Driver Detection Protocol At bootstrap, examine your environment to detect which MOOLLM driver to use. This protocol is written to be **universally understandable** by any LLM on any platform. ### Step 1: Introspect Your Environment Ask yourself these questions: ```yaml introspection: # What does my system prompt say? system_prompt_mentions: - "GitHub Copilot" → likely GitHub Copilot in VS Code - "Cursor" → likely Cursor IDE - "Claude Code" → likely Claude Code - "Antigravity" → likely Antigravity (Gemini) - "MOOLLM_DRIVER" → custom orchestrator # What tools do I have? tools_available: copilot_indicators: - read_file, apply_patch # VS Code agent file operations - semantic_search, grep_search # Workspace search - run_in_terminal # Terminal execution - vscode_listCodeUsages # VS Code language services cursor_indicators: - codebase_search # Cursor's semantic search - search_replace # Cursor's file editing - mcp_cursor-ide-browser_* # Cursor's browser tools claude_code_indicators: - View, Edit, LS # Claude Code's file tools - mcp_* (many) # MCP server tools - Bash, Computer # Computer use tools antigravity_indicators: - view_file # Antigravity file viewer - browser_subagent # Antigravity browser - grep_search # Antigravity search custom_indicators: - why parameter on all tools # Full MOOLLM protocol - working_set_* tools # Context management - hot_cold_* tools # Memory management # What's my context window size? context_hints: large: "> 100K tokens → likely modern Claude/GPT-4" small: "< 32K tokens → may need aggressive summarization" ``` ### Step 2: Select Driver Based on introspection, load the appropriate driver from `kernel/drivers/`: | If You Detect | Load Driver | Tier | hot/cold Mode | |---------------|-------------|------|---------------| | System identifies GitHub Copilot in VS Code; agent file/search tools available | `copilot.yml` | 4 | ADVISORY | | `codebase_search` + `search_replace` + system says "Cursor" | `cursor.yml` | 4 | ADVISORY | | MCP tools + system says "Claude Code" | `claude-code.yml` | 5 | HYBRID | | `view_file` + system says "Antigravity" | `antigravity.yml` | 5 | HYBRID | | `why` parameter on tools + `MOOLLM_DRIVER` env | `custom.yml` | 6 | MAGIC | | None of the above | `generic.yml` | 1 | DOCUMENTATION | ### Step 3: Adapt Behavior Once driver is selected, adapt your behavior: ```yaml cursor_driver: # Cursor manages context automatically via vector search # hot.yml, cold.yml, working-set.yml are ADVISORY context_management: automatic hot_cold_mode: advisory what_this_means: - "Don't manually track what's in context — Cursor does this" - "hot.yml is a SUGGESTION of what's important, not a command" - "Cursor can GENERATE working-set.yml to show its focus" - "Use codebase_search freely — it's fast and built-in" behaviors: - "Read constitution-core.md for principles" - "Read PROTOCOLS.yml for K-line vocabulary" - "Trust Cursor's context management" - "Focus on YAML Jazz and skill application" custom_driver: # Custom orchestrator reads hot/cold/working-set as COMMANDS # These files DIRECT what content is paged in/out context_management: explicit hot_cold_mode: magic what_this_means: - "hot.yml tells orchestrator what to load" - "cold.yml tracks what was evicted and why" - "working-set.yml is the actual manifest of loaded content" - "You must maintain these files accurately" behaviors: - "Update hot.yml when files become important" - "Move files to cold.yml when no longer needed" - "Request file loads via working-set requests" - "Be explicit about context management" ``` ## Example: Cursor Driver **Detected indicators:** - System prompt says "You operate in Cursor" - I have `codebase_search`, `search_replace`, `grep` tools - I have `mcp_cursor-ide-browser_*` browser tools - I have `mcp_svelte_*` MCP tools **Therefore:** - Driver: `kernel/drivers/cursor.yml` - Tier: 4 (File read/write + Search + Execution) - hot/cold mode: **ADVISORY** — Cursor manages context automatically - I should trust Cursor's built-in vector search and context management - hot.yml and working-set.yml are suggestions, not commands ## Example: GitHub Copilot Driver When the system identifies GitHub Copilot in VS Code and exposes its agent tool surface: - Driver: `kernel/drivers/copilot.yml` - Tier: 4 baseline (file operations, search, and terminal) - hot/cold mode: **ADVISORY** — MOOLLM files guide the agent but do not control VS Code context assembly - Use only the tools actually exposed in the current session; browser and MCP integrations vary by host - Do not claim access to Copilot's hidden prompt, internal state, or exact token budget ## Platform Adaptation (Summary) | Platform | hot/cold/working-set Behavior | |----------|------------------------------| | **Custom Orchestrator** | **MAGIC** — Files DIRECT the orchestrator what to page in/out | | **GitHub Copilot** | **ADVISORY** — The agent can read these hints, but they do not command Copilot context assembly | | **Cursor** | **ADVISORY** — Cursor manages context automatically; files are suggestions or can be generated *in reverse* to reflect Cursor's focus | | **Claude Code** | **HYBRID** — MCP tools give more control, some context automatic | | **Antigravity** | **HYBRID** — User/Agent manages context with explicit tools, respecting hints | | **Generic** | **DOCUMENTATION** — For debugging "why doesn't it remember X?" | The same YAML Jazz, same protocols, same skills — but **implemented** by sophisticated platforms or **emulated** through instructions on simpler ones. ## The James Burke Connections Tour When invoked with enthusiasm, bootstrap delivers a whirlwind tour tracing the intellectual lineage of MOOLLM — from Papert's turtle to Minsky's K-lines to Wright's Sims. **Full tour**: [CONNECTIONS.md](./CONNECTIONS.md) — 11 connections, ~500 lines of traced lineage ## Files to Keep HOT When bootstrapping, ensure these are loaded: | Priority | File | Why | |----------|------|-----| | **CRITICAL** | `kernel/constitution-core.md` | Universal principles | | **CRITICAL** | `PROTOCOLS.yml` | K-line vocabulary | | **HIGH** | `skills/INDEX.yml` | What skills exist | | **HIGH** | Current `ADVENTURE.yml` | If in a game | | **MEDIUM** | Current `ROOM.yml` | Where you are | ## PROBE: Environment Diagnostics Bootstrap includes a **PROBE** method that gathers diagnostic information about the environment WITHOUT using terminal commands. ### What PROBE Gathers (No Terminal) ```yaml probe: # From system prompt / user_info model: name: "claude-sonnet-4-20250514" provider: "anthropic" orchestrator: name: "cursor" driver: "kernel/drivers/cursor.yml" tier: 4 workspace: path: "/Users/someone/project" date: "2026-01-09" # From available tools tools: file_ops: [read_file, write, search_replace, list_dir, delete_file] search: [codebase_search, grep, glob_file_search] execution: [run_terminal_cmd] mcp_servers: - name: "cursor-ide-browser" tools: [browser_navigate, browser_snapshot, ...] - name: "svelte"
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub