The AI Coding Governance System β Roles, Memory, Skills, in Plain Markdown
The nine Muses of Greek mythology were daughters of Mnemosyne β the Titaness of Memory. They transformed their mother's gift of total recall into mastery of the arts and sciences.
MUSE inherits this lineage. It ensures no insight is lost across AI conversations, transforming raw session data into structured knowledge that drives execution.
MUSE is a pure-Markdown governance system for AI pair programming. It goes beyond format specs (like AGENTS.md or .cursorrules) by providing a full system β role isolation, persistent memory, 65 skills, cross-role directives, and visual dashboards β all with zero code dependencies.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β L3 Memory Infrastructure mem0 Β· MemOS Β· memsearchβ β MUSE doesn't compete here
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β L2 Governance System π MUSE β β Only player at this layer
β Roles Β· Memory Β· Skills Β· Directives Β· Dashboardβ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β L1 Workflow Kits Spec Kit Β· sudocode β β MUSE covers this + more
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β L0 Format Specs AGENTS.md Β· .cursorrules β β MUSE is compatible
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
AGENTS.md defines the format. MUSE builds the system on top of it.
Inspired by LCM (Lossless Context Management) + lossless-claw. MUSE implements LCM's core design principles using pure Markdown SOPs β zero code dependencies.
π δΈζζζ‘£ / Chinese Docs
Problem: AI coding assistants have context window limits. Format specs like .cursorrules or AGENTS.md give your AI instructions β but they can't manage memory, roles, or cross-session knowledge. Long conversations forget early content. New conversations start from scratch.
Solution: MUSE wraps your AI with a governance protocol β role isolation, persistent dual-layer memory, 65 reusable skills, cross-role directive queue, and visual dashboards. All in plain Markdown.
| Without MUSE | With MUSE |
|---|---|
| AI forgets early context in long conversations | Pre/Post Compaction protocols preserve critical info |
| New conversations need manual context setup | /resume auto-assembles context in 5 steps |
| One persona for all tasks | Role isolation: build / QA / growth each see only their context |
| No cross-session memory | Dual-layer: memory/ (short-term) + MEMORIES.md (long-term) |
| Same mistakes repeated | /distill distills lessons β /search finds them later |
| No visibility into project health | Web Dashboard + VS Code Extension |
π― Benchmark (run
./scripts/benchmark.shon your own project):
/resumeloads 16.9Γ more context than a bare.cursorrulescold start- 15/15 governance features vs 0/15 for format-spec-only setups
- 344 lines of accumulated project knowledge vs 0 retained across sessions
Works with: Claude Code Β· OpenClaw Β· OpenCode Β· Cursor Β· Windsurf Β· Gemini CLI Β· Codex CLI β or any AI tool that supports system prompts.
| Tool | Install Command | Format |
|---|---|---|
| Claude Code / OpenClaw | ./scripts/install.sh --tool claude |
.agent/skills/ + CLAUDE.md |
| OpenCode | ./scripts/install.sh --tool opencode |
.agents/skills/ + CLAUDE.md |
| Cursor | ./scripts/install.sh --tool cursor |
.cursor/rules/*.mdc |
| Windsurf | ./scripts/install.sh --tool windsurf |
.windsurf/rules/*.md |
| Gemini CLI | ./scripts/install.sh --tool gemini |
.gemini/skills/ + GEMINI.md |
| Codex CLI | ./scripts/install.sh --tool codex |
AGENTS.md (single file) |
Recommended companion: nah β context-aware permission guard for Claude Code. Deterministic classifier that auto-allows safe operations, asks for ambiguous ones, and blocks dangerous patterns (e.g. curl | bash). Eliminates permission fatigue without sacrificing safety. pip install nah && nah install
# Clone MUSE
git clone https://github.com/myths-labs/muse.git
# Run interactive setup β configures language, model, and preferences
cd muse && ./setup.shThe setup wizard will ask for your language, AI model, and docs preferences, then configure everything automatically.
# Clone MUSE
git clone https://github.com/myths-labs/muse.git
# Install for your tool (auto-converts to the right format)
cd muse && ./scripts/install.sh --tool cursor --target /path/to/your-project
# Or auto-detect installed tools
./scripts/install.sh --target /path/to/your-projectSupported: claude, openclaw, opencode, cursor, windsurf, gemini, codex, or all.
# Clone MUSE
git clone https://github.com/myths-labs/muse.git
# Copy templates to your project
cp muse/templates/CLAUDE.md your-project/CLAUDE.md
cp muse/templates/USER.md your-project/USER.md
cp muse/templates/MEMORIES.md your-project/MEMORIES.md
mkdir -p your-project/memory your-project/.muse
# Copy skills & workflows
cp -r muse/skills your-project/.agent/skills
cp -r muse/workflows your-project/.agent/workflows
# Add MUSE entries to your .gitignore
cat muse/templates/.gitignore-template >> your-project/.gitignoreYour project should look like:
your-project/
βββ CLAUDE.md # π Constitution (AI iron rules)
βββ ETHOS.md # π‘ Builder philosophy (5 principles)
βββ USER.md # π€ Your preferences
βββ MEMORIES.md # π§ Long-term lessons
βββ .muse/ # π Role states
β βββ build.md # βοΈ Dev execution
βββ memory/ # Short-term memory
β βββ YYYY-MM-DD.md
βββ .agent/
β βββ skills/ # Skills library
β βββ workflows/ # resume/bye/sync/distill/ctx/sprint/retro
βββ [your code]
This is MUSE's core β the AI's "constitution". Edit to match your project:
# Iron Rules
1. All communication in [your language]
2. Check Skills before ANY task
3. Large files: view β€300 lines at a time
4. Context β₯ 80%: immediately exit
5. Verify before claiming done
6. End conversations with /byeYou: /resume β AI reads constitution β reads memory β starts work
... work ...
You: /ctx β Check if context is enough
... continue ...
You: /bye β One-click wrap-up, auto-save
Sprint workflow (v2.29+):
You: /sprint β Think β Plan β Build β Review β Test β Ship β Reflect
You: /retro β Weekly stats from git log + memory (commits, shipped, lessons)
graph TB
subgraph "π Constitution Layer"
A["CLAUDE.md"] --> B["Iron Rules + Safety"]
A --> C["ETHOS.md<br/>Builder Philosophy"]
end
subgraph "π Role Layer"
R[".muse/*.md<br/>build Β· qa Β· growth"] --> S["Role Isolation"]
R --> T["π‘ Directive Queue<br/>cross-role messaging"]
end
subgraph "π§ Memory Layer"
D["memory/*.md<br/>short-term"] -->|"/distill"| E["MEMORIES.md<br/>long-term"]
D --> D1["Drift Detection<br/>stale >7d auto-flag"]
E --> E1["4 Categories<br/>preference Β· feedback<br/>project Β· reference"]
end
subgraph "π€ Coordinator"
CO["coordinator-mode"] --> CO1["Understand β Dispatch"]
CO --> CO2["Sub-agent Synthesis"]
end
subgraph "β‘ Skills Layer (65)"
G["Trigger Skills<br/>on-demand"]
H["Lifecycle Skills<br/>strategic-compact"]
end
subgraph "π Workflow Layer"
I["/resume"] --> J["Work"]
J -->|"/sprint"| SP["ThinkβPlanβBuild<br/>βReviewβTestβShip"]
J -->|"/ctx"| K{"Healthy?"}
K -->|"π’"| J
K -->|"π΄"| L["/bye"]
L --> D
L --> L1["Digital Twin<br/>profile update"]
end
| LCM Concept | MUSE Implementation | Description |
|---|---|---|
| SQLite persistence | memory/ + MEMORIES.md |
Markdown as database |
| Leaf nodes | memory/YYYY-MM-DD.md |
Daily conversation snapshots |
| Condensed nodes | MEMORIES.md |
Cross-day distilled lessons |
| Condensation | /distill |
Leaf β long-term memory |
| Assembler | /resume |
Context assembly |
| lcm_grep | ./scripts/search.sh (TF-IDF) |
Ranked semantic search |
| compact:before | Pre-Compaction Protocol | Save before compress |
| contextThreshold | /ctx 80% red line |
Auto health check |
| Command | Description | Input |
|---|---|---|
/start |
First-time setup β configures project, roles, language | None (interactive) |
/resume [scope] |
Boot β restore context & start work | build, growth, etc. |
/sprint |
Feature sprint β Think β Plan β Build β Review β Test β Ship β Reflect | None (guided) |
/retro |
Weekly retrospective β stats from git log + memory | None needed |
/settings |
Change language, AI model, or preferences | Subcommand (optional) |
/ctx |
Context health check (π’π‘π΄) | None needed |
/bye |
One-click wrap-up β save, sync, archive | None needed |
/distill |
Condense memory/ β MEMORIES.md |
None needed |
/search |
TF-IDF search across memory, roles, skills | Query string |
/sync [direction] |
Cross-file sync in multi-role setup | Direction (optional) |
/sync receive |
Pull updates from other roles mid-conversation | None needed |
/resume [project] qa |
Start QA verification (independent from build) | Project name (optional) |
/resume crash |
Recover from context blowout | None needed |
MUSE doesn't wait for context to run out. Every 10 interaction rounds, it silently updates memory/CRASH_CONTEXT.md. If a sudden blowout occurs, at most 10 rounds of progress are lost.
| Layer | Trigger | Reliability |
|---|---|---|
| L0 | Every 10 rounds (silent) | βββ |
| L1 | π΄ context detection | ββ |
| L2 | /resume crash scans convo/ |
β |
Every /bye automatically checks memory/ accumulation. Reminds you to /distill when:
- β₯ 7 days of un-distilled logs
- β₯ 5 new log files since last distill
- β₯ 15 total files and never distilled
| Type | When Loaded | Examples |
|---|---|---|
| Always-on | Every turn automatically | CLAUDE.md iron rules, Safety |
| Trigger | When task matches | git-commit, systematic-debugging |
| Lifecycle | On specific events | strategic-compact (compression), verification (completion) |
| Tier | Description | Ships with MUSE? | Examples |
|---|---|---|---|
| π Core | Required for MUSE to function | β Built-in | context-health-check, strategic-compact, verification-before-completion, using-superpowers |
| π§ Toolkit | General dev tools, recommended | β Included | git-commit, systematic-debugging, security-review, tdd-workflow, frontend-design, ui-ux-pro-max, +19 more |
| π― Domain | User-created, domain-specific | β Private | Your own custom skills |
memory/ lessons repeat β /distill finds pattern β write to MEMORIES.md
β appears β₯3 times β upgrade to CLAUDE.md constitution
β methodology is generic enough β create new Skill
β useful across projects β contribute to MUSE Toolkit
project/
βββ CLAUDE.md # π Constitution
βββ README.md # Public README
βββ LICENSE # License
βββ USER.md # Preferences (private)
βββ MEMORIES.md # Long-term lessons (private)
βββ assets/ # π¨ Project assets (public)
β βββ logo.png # Project logo
β βββ banner.png # README/social banner
β βββ screenshots/ # App screenshots
β βββ diagrams/ # Architecture diagrams
β βββ social/ # Social media assets (OG images, previews)
βββ .muse/ # π Role states (private)
β βββ build.md / qa.md / growth.md / ...
βββ memory/ # Short-term memory (private)
β βββ YYYY-MM-DD.md
βββ convo/ # Conversation archives (private)
β βββ YYMMDD/
βββ docs/ # Documentation
β βββ [public docs] # β git push β
β βββ internal/ # Strategy/fundraising (private)
βββ src/ | packages/ # Source code
βββ .agent/ # Skills + Workflows (private)
| Category | Pattern | Example |
|---|---|---|
| Memory logs | YYYY-MM-DD.md |
2026-03-12.md |
| Conversations | YYMMDD-NN-desc.md |
260312-02-muse_setup.md |
| Crash archives | +_CRASH suffix |
260312-05-debug_CRASH.md |
| .muse roles | [role].md lowercase |
build.md, qa.md |
| Subdirectory | Purpose | Naming Pattern |
|---|---|---|
assets/ (root) |
Logo, banner, favicon | logo.png, banner.png, favicon.ico |
assets/screenshots/ |
App/feature screenshots | feature-name.png or YYMMDD-feature.png |
assets/diagrams/ |
Architecture, flow charts | component-name-diagram.png |
assets/social/ |
OG images, social cards | og-default.png, x-card.png |
Tip: Keep
assets/in git (public). Large video files (>10MB) should use Git LFS or external hosting.
Just 3 things:
CLAUDE.mdβ Constitution (required)memory/β Short-term memory (required)MEMORIES.mdβ Long-term memory (recommended)
Add the role system:
.muse/build.mdβ Dev state.muse/qa.mdβ Quality verificationUSER.mdβ Personal preferences
Add GM + all roles + sync:
.muse/strategy.mdβ Strategy (global, one per workspace).muse/gm.mdβ Project GM (project-level CEO).muse/build.md+qa.md+growth.md+ops.md+research.md+fundraise.md/syncworkflow β Cross-role sync
MUSE includes a built-in MCP (Model Context Protocol) server β a zero-dependency Bash implementation that lets Claude Code, Cursor, and other tools access your project's role files, memory, and directives through a standard protocol.
# From your MUSE-enabled project
./scripts/mcp-server.sh --help| Tool | Description |
|---|---|
muse_get_status |
Read all L0 lines β project overview (~400 tokens) |
muse_list_roles |
List all role files with summaries |
muse_get_role |
Deep-read a specific role file |
muse_send_directive |
Send π‘ cross-role directive |
muse_write_memory |
Append to today's memory log |
muse_search_memory |
Search across memory files |
Add to your tool's MCP config (e.g., ~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"muse": {
"command": "/path/to/muse/scripts/mcp-server.sh",
"args": ["--project-root", "/path/to/your/project"]
}
}
}Requires:
jq(brew install jqon macOS,apt install jqon Linux)
Q: Does MUSE require installation? No. MUSE is pure Markdown files. Copy them to your project and you're ready. Zero dependencies.
Q: Which AI tools does it support?
Seven tools with native install support: Claude Code, OpenClaw, OpenCode, Cursor, Windsurf, Gemini CLI, and Codex CLI. Run ./scripts/install.sh --tool <name> to install in the correct format for each tool. Additionally, ./scripts/convert-skills.sh --tool <name> exports all 65 skills to Cursor, Windsurf, Copilot, OpenClaw, OpenCode, Aider, or Antigravity formats. Import from agency-agents (35K+ β) with --import agency-agents.
Q: How is this different from lossless-claw? lossless-claw is a code plugin (SQLite + DAG + sub-agents) that requires the OpenClaw runtime. MUSE is pure Markdown SOPs, works with any AI tool, zero dependencies. Same principles, different implementation.
Q: What if memory/ files pile up?
Archive files older than 30 days to memory/archive/. Use /distill to extract key lessons into MEMORIES.md first, then safely archive the originals.
Q: Is there a visual dashboard? Yes! Two options:
- Online: Visit muse.mythslabs.ai/dashboard and load your project folder β 100% client-side, data stays in your browser.
- Local: Run
./scripts/dashboard.shto generate a self-contained HTML dashboard at.muse/dashboard.html.
Q: How do I discover and share skills?
Use ./scripts/skill-discovery.sh with commands like recommend "frontend", categories, stats, export <name>, or registry. See CHANGELOG for details.
Q: Is there a VS Code extension?
Yes β vscode-extension/ provides an activity bar with Roles, Skills, and Memory tree views, plus in-editor dashboard and skill search. Run cd vscode-extension && npm install && npm run compile, then press F5.
- π GitHub: Myths Labs
- π¦ X (Twitter): @MythsLabs
- πΌ LinkedIn: Myths Labs
- π€ Creator: @SunshiningDay β indie dev, solo-building MUSE
- gstack by Garry Tan β Sprint pipeline, builder ethos, and reframing methodology (YC CEO's open-source software factory)
- LCM Paper by Ehrlich & Blackman β Theoretical foundation for lossless context management
- lossless-claw by Martian Engineering β OpenClaw implementation of LCM
- nah by Manuel Schipper β Context-aware permission guard (complements MUSE's Safety Protocol)
- Greek Mythology β Mnemosyne and her nine Muses, eternal symbols of memory and creation
MIT Β© Myths Labs
Built with π by Myths Labs β Solo-developed by JC
MUSE v3.0.5


