OS
My OS on Claude Code
6 months // from first prompt to multi-agent operating system // AIM-2130
$ system-info --stack
model        claude-opus-4-6
interface    Claude Code CLI
vault        Obsidian + Sync (team)
tasks        Linear (9 IP / 20+ Todo)
messaging    Telegram MTProto + Murmuru E2E
skills       37+ (13 global / 20 team / 9 plugin)
mcp_servers  12 (Telegram, Linear, Notion, Calendar...)
config       CLAUDE.md + AGENTS.md
deploy       Netlify (via CLI)
agents       TeamCreate + Focus Ship sprints
$ █
37+
skills
modular automation
12
MCP servers
unified interface
E2E
murmuru
agent messaging
15
team members
via OpenClaw bot

Two Systems, One Protocol

Sasha
Jarvis // 5 agents // ClawDigest
Codex + GVM + Haiku + Opus director
Alex
Skills OS // 37 skills // MCP mesh
Claude Code + Obsidian + Telegram
Murmuru v2
NATS JetStream // E2E crypto
agent-sasha ↔ agent-jarvis

Timeline

aug 25
first Claude Code
oct 25
skills system
dec 25
MCP integrations
jan 26
team vault + syncs
feb 26
murmuru + agent teams

AI MINDSET FOUNDER OS #21
aimindset.org/community
@ai_mind_set · @ai_mind_set_team
FOS #21 · 19 feb 2026
built with
Claude Code · Opus 4.6
Obsidian · Linear · Telegram
A S
AI Mindset Team OS
7 roles // shared Obsidian vault // skills as team infrastructure

Team Structure

Founder & Vision
Skills OS, product architecture
Operations Partner
Processes, finance, legal
Partnerships & Growth
Outreach, speakers, B2B
Content & Marketing
Substack, social, design
Growth & B2B Lead
Sales pipeline, consulting
Tech Lead
Infrastructure, bots, deploy

Roles in Obsidian

ai-mindset-2026/Org/HR/roles/
{role} Founder.md
{role} Operations.md
{role} Growth.md
{role} Content.md
...
// each role: responsibilities, permissions,
// Linear access, skill access, vault folders

What I Do Through Team Skills

// Monday
/AIM-weekly-sync // pull Linear + Calendar + Krisp
  → sync doc in vault + Telegram

// Thursday
/AIM-space-new-members // Notion → bio → TG

// After each call
/AIM-meeting-summary // transcript → tasks
/AIM-summary // team call → action items

// Daily
/AIM-chat-monitor // scan unanswered questions
/AIM-chat-reply // generate answers in voice
/AIM-pm // review, sync, track tasks

Shared Vault (Obsidian + Sync)

ai-mindset-2026/
  aim-rules/ // {rule}, {prd}, {skill}
  inbox/ // {research}, {analysis}
  meetings/ // {transcript}, {meeting}
  Labs/ // 7 cohorts
  Org/HR/roles/ // team roles
  Org/Partners/ // CRM
  .claude/skills/ // team skills source
  AGENTS.md // index for AI agents

Symlink Architecture

// team skills live in shared Obsidian vault
// synced to all team members via Obsidian Sync
// Claude Code sees them via symlinks:

/notes/.claude/skills/AIM-pm
  → ai-mindset-2026/.claude/skills/AIM-pm/

/notes/.claude/skills/AIM-crm
  → ai-mindset-2026/.claude/skills/AIM-crm/

// global personal skills from home:
/notes/.claude/skills/calendar
  → ~/.claude/skills/calendar

// auto-sync script:
bash sync-team-skills.sh
// creates symlinks for new AIM-* skills

CLAUDE.md + Ecosystem

// CLAUDE.md = operating system config
// loaded into every Claude Code session

CLAUDE.md // project rules
~/.claude/CLAUDE.md // global rules
AGENTS.md // vault index for agents

// contains:
  naming convention
  folder rules
  context management protocol
  eval system (T/R/C)
  Linear awareness layer
  Telegram channel rules
  skill creation rules

Products

Lab
7 cohorts, AI education
Space
Community, FOS events
Founder OS
21 sessions, AI systems
B2B
Enterprise consulting
Murmuru Protocol
encrypted agent-to-agent communication // v2 production spec
AGENT-SASHA (ALEX) NATS JETSTREAM AGENT-JARVIS (SASHA) Claude Code (Opus 4.6) ↓ MCP stdio MCP Server (3 tools) murmur-daemon.mjs SQLite (5 tables) Telegram OpenClaw JetStream Bus persistent, ordered, at-least-once CRYPTO LAYER X25519 key agreement XChaCha20-Poly1305 AEAD Ed25519 signatures MLS scaffold (feature-flagged) DELIVERY ACK correlation + backoff + DLQ Jarvis (5 agents) ↓ MCP stdio MCP Server murmur-daemon.mjs SQLite (5 tables) Telegram tmux deploy

Repository Layout

/packages/
  core // envelope + store (SQLite/JSON)
  broker-nats // pub/sub + ACK correlation
  bridge-telegram // inbound/outbound
  bridge-openclaw // session injection
  mcp-server // stdio for Claude Code
  security // signing + encryption
  observability // metrics + tracing
/schema/
  envelope.v1.json
  ack.v1.json
/docs/
  ADR-001-core-bus-nats.md
  ADR-002-envelope-crypto.md

Envelope V1

{
  "schemaVersion": "1.0",
  "msgId": "uuid-v4",
  "conversationId": "agent-sasha:agent-jarvis",
  "senderAgentId": "agent-sasha",
  "recipients": ["agent-jarvis"],
  "createdAt": "2026-02-19T...",
  "payloadCiphertext": "base64...",
  "payloadNonce": "base64...",
  "signature": "Ed25519...",
  // optional:
  "ttlSeconds": 3600,
  "parentMsgId": "threading..."
}

3 MCP Tools

murmur_send   // encrypt + sign + queue to peer
murmur_inbox  // decrypt + verify inbound msgs
murmur_peers  // list peers + key exchange status
/skill
Skills as OS
37+ modular skills // 3 layers // composable automation

Global (personal) -- 13 skills

daily-focus calendar context-compact session-recall sessions history telegram intro infocompressor daily-metaphor daily-story undone therapy

Team (AIM via Obsidian Sync) -- 20 skills

AIM-content-voice AIM-imagine AIM-pm AIM-weekly-sync AIM-crm AIM-crm-sync AIM-chat AIM-chat-monitor AIM-chat-reply AIM-meeting-summary AIM-summary AIM-space-new-members AIM-space-announce AIM-luma-space-session AIM-visual AIM-bio AIM-utm AIM-og-covers AIM-pos-blocks AIM-stacks-new-site

Plugins (marketplace) -- 9 skills

playground research excalidraw focus-ship-sprint eval reflect brainstorming systematic-debugging TDD

Skill Anatomy (real example)

~/.claude/skills/daily-focus/SKILL.md
---
name: daily-focus
description: Daily focus as Telegram message
  (#focus) + visual metaphor of the day

allowed-tools: Read, Grep, Bash, WebFetch,
  mcp__linear, mcp__telegram

---

# Instructions
1. Read calendar events (MCP)
2. Pull Linear tasks (IP + Todo)
3. Check recent sessions
4. Compose focus message
5. Generate SVG metaphor
6. Send to Telegram #focus channel

Progressive Disclosure

skill-name/
  SKILL.md // 50-100 lines core
  references/ // loaded on demand
    schema.md
    examples.md
    edge-cases.md

Symlink Architecture

# team skills synced via Obsidian
AIM-pmai-mindset-2026/.claude/skills/AIM-pm/
AIM-crmai-mindset-2026/.claude/skills/AIM-crm/

# global skills from home
calendar~/.claude/skills/calendar
telegram~/.claude/skills/telegram

# sync script:
bash sync-team-skills.sh

Argument Hints

// skills accept arguments via hints:

/linear-action AIM-2130 update
/AIM-meeting-summary [transcript-path]
/AIM-utm [campaign-name]
/intro [channel-context]
/research [topic]
/infocompressor [text-to-compress]

// frontmatter:
argument-hint: "[issue-number]"
disable-model-invocation: true
allowed-tools: Read, Grep, mcp__linear

Composability Flow

/AIM-weekly-sync
↓ reads Linear (MCP)
↓ reads Calendar (MCP)
↓ reads Krisp meetings
↓ composes sync doc
↓ saves to Obsidian vault
↓ sends via Telegram (MCP)
Team Mode
15 people // shared vault // OpenClaw bot // parallel agents

Problem

skills live in Claude Code CLI
team of 15 people
not everyone has CLI installed
how to share capabilities?

Solution: OpenClaw Bot

bot: @aimindset_ops_bot
platform: Telegram
backend: OpenClaw + Claude API
cost: ~$6/month
setup: 1-2 days
skills exposed: all AIM-* team skills

Shared Vault (Obsidian)

ai-mindset-2026/
  aim-rules/ // rules, PRDs, skills
  inbox/ // research, analysis
  meetings/ // transcripts, syncs
  Labs/ // cohorts (f25, w26...)
  Org/ // HR, Partners, Marketing
  Products/ // Space, Circle, B2B
  .claude/skills/ // team skills source

Agent Teams in Claude Code

// spawn parallel agents for complex tasks

TeamCreate("research-team")

// 3 agents search in parallel:
agent-1: search Murmuru docs
agent-2: search FOS transcripts
agent-3: search skills & setup

// results merged, playground built
// this presentation = 3 parallel agents

Agent Definition

Agent = Task + Resources + Permissions

task: what to do (skill/prompt)
resources: what it can access (MCP/files)
permissions: what it can change (tools)

Focus Ship Sprints

// /focus-ship-sprint
mode: solo | agent-team
duration: 25min focused sprint
parallel: tmux lanes
tracking: auto-commit + session log
integration: Focus Ship app

Skillplane Pattern

// company-wide skill distribution
company-skills/
  shared/ // all projects
  marketing/ // domain-specific
  operations/

// project connects via symlink:
.claude/skills/shared~/company-skills/shared
MCP Integration Mesh
12 servers // Obsidian vault // one unified tool interface
CLAUDE CODE Telegram MTProto Linear tasks + issues Notion pages + DB Playwright browser auto Krisp meetings Exa web search Filesystem read/write Calendar Google Context7 Granola Sheets Murmuru

Obsidian as the Nervous System

// Obsidian vault = single source of truth
// Claude Code reads/writes directly via Filesystem

CLAUDE.md // loaded into every session
AGENTS.md // vault index for AI agents
.claude/skills/ // team skills (synced)
aim-rules/ // naming, processes, standards
inbox/ // research output destination
meetings/ // Krisp transcripts land here

// everything is a .md file
// Obsidian renders, Claude Code writes
// Obsidian Sync distributes to team
// data flow through Obsidian vault:

Krisp MCP → transcript → meetings/
Linear MCP → cache → memory/
Notion MCP → bios → vault post
Exa/Context7 → research → inbox/
Calendar MCP → focus → Telegram

// Obsidian Sync propagates changes
// team sees updates in real time
// no export step, no API — just files

Real Workflow Examples

/daily-focus
Calendar MCP → today's events
Linear MCP → IP + Todo tasks
compose focus message
Telegram MCP → send to #focus
/AIM-meeting-summary
Krisp MCP → transcript
extract action items
Linear MCP → create tasks
Telegram MCP → send summary
/AIM-space-new-members
Notion MCP → member database
synthesize bios
compose announcement
Telegram MCP → post to Space
/research
Exa MCP → deep web search
Context7 MCP → library docs
Playwright MCP → scrape pages
compose → save to Obsidian
/AIM-crm
Notion MCP → partner database
Sheets MCP → deal pipeline
Linear MCP → partnership tasks
compose dashboard
/playground (this!)
3 background agents → search vault
compose HTML + SVG
Filesystem → write file
Bash → open in browser
Daily Practices
eval system // context management // session tracking // self-improvement

Every Response Footer

◇ ctx: 96K | 104K left | 48% |
◻ eval: T:✓ R:✓ C:○
◻ linear: AIM-2054 · BOS speakers · ◐ IP

Context Management Protocol

OK <50%
full power
WARN 50-70%
compact mode
CRIT >70%
handoff only

Eval Rubric (Binary Pass/Fail)

T (Text) // structure, clarity, actionable
R (Rules) // naming, folders, formatting
C (Code) // works, minimal, idiomatic

// 3+ failures in same area →
// auto-suggest improvement rule
// → ~/.claude/evals/improvements.md

Session Tracking

// auto-logged per session:
date: 2026-02-19
project: /notes
resume: claude --resume [id]
context: 48% used
skills_used: [playground, brainstorming]
linear: AIM-2090

Episodic Memory

// cross-session memory persistence
auto memory: ~/.claude/projects/*/memory/
linear cache: linear-tracking.md
session recall: iTerm log search
reflections: .claude/reflections/

Self-Improvement Loop

every response → auto-eval (T/R/C)
/eval → detailed analysis
↓ weekly
/reflect → pattern detection
new rules → CLAUDE.md

"evals are the new PRD" -- Hamel Husain
measure → detect patterns → write rules → measure again
Linear Awareness Layer
ambient passive detection // tasks follow context, not the other way

Detection Flow

Claude Code Session topic: "BOS speakers outreach" ↓ startup hook MATCH ENGINE AIM-XXXX mention = 100% title match = high | file path = medium episodic memory = medium ◇ ctx: 63K | 137K left | 32% | ● ◻ eval: T:✓ R:✓ C:○ ◻ linear: AIM-2054 · BOS speakers · ◐ IP → update ↓ user confirms /linear-action → update | close | comment | create

Status Symbols

In Progress
Todo
Done
In Review

This Session (live)

hook: 9 IP, 20+ Todo
match: AIM-2130 FOS #21 ◐ IP
match: AIM-2090 space flow ◐ IP
memory: 10 session entries today
tasks are ambient -- the task manager comes to you
no tab switching, no manual updates
suggest → confirm → done
Live Meta Layer
this presentation is generated by the system it describes
generated live // FOS #21 // 19 feb 2026

How This Was Made

Claude Code Opus 4.6
↓ /brainstorming skill
/playground skill
↓ spawn 3 background agents
agent-1: Murmuru docs
agent-2: FOS transcripts
agent-3: skills + setup
↓ merge context
single HTML + inline CSS/JS/SVG
↓ Bash: open
browser → screen share → present

Stack

model: claude-opus-4-6
interface: Claude Code CLI v2.1.47
skills: /brainstorming, /playground
agents: 3 parallel Explore subagents
mcp used: Filesystem, Linear (awareness)
sources: vault: murmuru/, skills/, transcripts/
output: code tools/fos-21-playground/index.html
size: ~30KB self-contained
navigation: keyboard (0-8, arrows)
deploy: local file://

Update Protocol

1. conversation happens on Zoom
2. paste summary to Claude Code
3. HTML updated + SVG added
4. refresh browser
5. show on screen share

the loop is the demo

// session notes (updates live)

waiting for session updates...