By blackmo18
Obsidian project-knowledge pipeline. Six-skill system: realm-forge (bootstrap), realm-phase (scan+stage), realm-manifest (write), realm-flourish (incremental update), realm-convey (conversation capture), realm-recall (query). Dry-run safety boundary before vault writes. realm-convey bridges conversation context into the pipeline via user-selected topic routing.
Load-on-demand reference for `realm-agent-fathom`. Read this file once per run in Step 1.
realm pipeline agent — deep investigation via parallel live-code and vault queries. Spawns cavecrew-investigator for behavior/flow truth and realm-agent-query for architectural context. Consolidates with strict source hierarchy enforcement and explicit drift detection. Used by realm-fathom. Zero writes.
realm pipeline agent — vault bootstrap and init. Scaffolds Obsidian vault directories, writes templates, seeds overview.md, ADR index, CLAUDE.md anchor, updates .gitignore, detects existing docs, and writes realm-state.json. Idempotent — never overwrites existing files. Run after the skill resolves the vault path interactively.
realm pipeline agent — vault read/query. Dual mode: recall resolves topic/tag to vault nodes (caveman-compressed); status prints pipeline health. Zero writes. Used by realm-recall and realm-status.
realm pipeline agent — validate and commit. Runs manifest_write.py (stdlib script) to validate nodes, write to vault, update backlinks, update realm-state.json, and archive the draft. Handles the one semantic step (overview.md prose merge) if deferred. Used by realm-manifest and realm-flourish auto-commit path.
Internal shared reference material for Realm skills. Not intended for direct user invocation.
Conversation-to-vault ADR bridge. Extracts decisions, rejected alternatives, and discoveries from the current conversation, runs a structured interview per decision, then writes a manifest draft directly — no codebase scan. One command to capture session knowledge as ADR and discovery nodes.
Deep investigation skill. Accepts abstract input (function name, class, concept, or freeform question) and returns consolidated understanding from two sources: live code via cavecrew-investigator (authoritative for behavior, flow, signatures) and vault via realm-agent-query (authoritative for why, ADRs, architectural intent). Detects and flags vault/code drift explicitly — never blends conflicting sources silently. Vault is optional; degrades gracefully to code-only when unavailable. Zero writes.
Bootstrap a project's Obsidian knowledge base and local realm state. Creates the vault directory structure (overview, architecture, decisions/, sessions/, templates), writes a .claude/CLAUDE.md project anchor, seeds .realm/realm-state.json, and adds .realm/ to .gitignore. Idempotent — safe to re-run; never overwrites existing vault docs. First step in the realm pipeline before realm-phase and realm-manifest.
Vault-write step in the realm pipeline. Reads pendingDrafts from realm-state.json, lists available staged drafts (from realm-plan finalize or realm-convey), lets user select which to commit. Spawns realm-agent-write (haiku) per selected draft — validates YAML frontmatter, applies caveman compression, writes nodes to vault, updates backlinks, archives draft, removes from pendingDrafts. The ONLY realm skill that writes to the vault.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Decision capture pipeline for Claude Code, Cursor, Codex, and Gemini. Persists the WHY behind your code — decisions made, alternatives rejected, constraints imposed — as interlinked ADR nodes in an Obsidian vault.
Realm is an AI-coding-host skill/plugin that captures architectural decisions as you make them — the choices, the alternatives you rejected, and the constraints those decisions impose — and stores them as compressed, interlinked ADR nodes in an Obsidian vault.
Every new AI session starts cold. Code tells Claude what exists. Realm tells Claude why it exists that way, what was tried and discarded, and what must not change.
Code captures the surviving solution. It does not capture the graveyard of rejected alternatives, the constraint that forced an unusual pattern, or the incident that made you write "DO NOT change this order."
Without a decision record, AI assistants re-derive or re-propose settled questions every session. You answer the same "why not Redis pub/sub?" question repeatedly. A rejected approach gets proposed again in session 12.
| Problem | Realm's Answer |
|---|---|
| AI starts cold every session | Vault persists decisions across sessions |
| Code doesn't explain WHY | ADR nodes store rationale + rejected alternatives |
| Rejected approaches get re-proposed | realm-recall "tried X" surfaces prior art instantly |
| Constraints are invisible in code | Consequences field captures what must not change |
Realm is not a documentation generator. It is a decision memory layer between your conversations and your AI assistant.
At the end of a session where a decision was made, run /realm-convey. It:
manifest-draft.md — no vault writes yetNo codebase scan. No investigator swarm. Decisions already exist in the conversation.
Review the staged draft, then /realm-manifest writes ADR nodes to the vault, generates backlinks, and archives the draft.
/realm-forge ← once per project: bootstrap vault + local state
/realm-convey ← extract decisions from conversation → staged draft
/realm-manifest ← write ADR nodes → vault
If any node in the draft targets a file that already exists, realm-manifest surfaces the conflict before writing:
realm-manifest: existing vault files detected
plans/online-book-reader:
CONFLICT: decisions/ADR-007-book-reader.md
Overwrite existing files? (y/n):
y → overwrite. n → cancel, vault unchanged. Existing nodes are only touched with explicit confirmation.
/realm-recall "why JWT" # ~20 tokens
/realm-recall "what was rejected for auth" # surfaces rejected_alternatives
/realm-recall "constraint on payments" # consequences field
/realm-recall "has anyone tried websockets" # scans rejected paths across all ADRs
/realm-recall decisions # all ADR nodes, compressed
Before touching unfamiliar code:
/realm-fathom function:validateUser # live code (ground truth) + vault WHY
/realm-fathom "how does auth flow" # end-to-end + ADR context
Live code is always ground truth. Vault adds the architectural intent. Conflicts flagged as VAULT DRIFT.
Think, research, and design in a persistent canvas before building. Saves to vault work/ dirs. Finalizes to vault nodes when ready.
/realm-plan design "API versioning strategy"
/realm-plan deep-research->design->plan "auth refactor"
/realm-plan resume plans/auth-refactor
After finalizing, run /realm-convey to capture any decisions the planning session produced as ADR nodes.
See VISUALS.md for pipeline flow diagrams.
npx claudepluginhub blackmo18/realm --plugin realmUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.