Three Layers
Where you DO work
Pipelines, workflows, tools, CLIs, MCPs, products. These are operational - agent harnesses, automation, and software that runs.
What things ARE
Businesses, knowledge, personal areas, projects. These hold context, identity, brand, and reference material.
Where things rest
Archive and temp. Inactive, deprecated, or scratch. Everything eventually ends up here or gets promoted above.
Full Hierarchy
Context Routing Pattern
Each workspace gets a CLAUDE.md that tells Claude Code which business it's in and a .nexus.json that auto-scopes the knowledge graph. The filesystem handles WHERE you work. The KG handles WHAT you know.
// businesses/coaching/.claude/CLAUDE.md Business: Coaching KG scope: coaching (via .nexus.json) Brand/voice: ./brand/ Offers: ./offers/ Pipelines: Use gtm-orchestrator for outbound Use leadgrow-video for video content Use content/ for written content
Design Influences
Palantir Ontology
Separates semantic (what things ARE) from kinetic (what you DO). Objects vs actions.
Claude Code Native
Each workspace self-describes via .claude/ (CLAUDE.md, OPINIONS.md, voice.md, rules/, skills/) + .nexus.json for KG scoping. Layered inheritance: global rules at root, workspace-specific only local.
OKF
Directory structure IS the ontology. Every .md gets YAML frontmatter with type. Path = concept ID (stable identity).
Johnny Decimal
Max two levels of organizational hierarchy. Top-level = areas, one level down = categories. Each project owns its own depth.
Key Decisions
Each pipeline is an autonomous agent harness. Grouping prevents root sprawl as pipeline count grows.
Lives in businesses/leadgrow/ alongside coaching, legion-community, maillegion. Context routing via CLAUDE.md + .nexus.json.
OKF is neutral on nesting. 80% LeadGrow work means no extra hop. KG handles cross-cutting context, not filesystem.
Each business has website/, offers/, brand/, .claude/CLAUDE.md, .nexus.json. Symlinked into pipelines when they need pipeline work.
Descriptive names over generic containers. Each bucket has a clear purpose.
Full software products get their own category, distinct from tools and CLIs.
personal/ = ongoing areas (Mitch's Brain - living vault). projects/ = things with end states (experiments, courses).
Voice, taste, opinions, company context all live in .claude/ so CC auto-loads them. No separate brand/ dir needed. .nexus.json scopes the KG per workspace.
Content split: identity -> CLAUDE.md, rules -> rules/, voice -> voice.md. Global rules deleted (no duplication of user-level).
context-gap-analysis in 8+ repos -> one copy in root .claude/skills/. Any skill in 3+ repos gets promoted.
Don't make the filesystem duplicate the knowledge graph's job. Each workspace scopes via .nexus.json.
Cross-cutting playbooks and research that belong to no single business. Could be redundant if KG covers it.
Most lg-* libs are dead. lg-free-enrichments confirmed alive. Runtime TBD.
.claude/ Workspace Standard
Every workspace that gets opened in Claude Code gets this structure. Layered inheritance: global rules at root, workspace-specific only local. No duplication.
// Standard .claude/ structure per workspace <workspace>/.claude/ CLAUDE.md REQUIRED - identity, type, KG scope, key paths OPINIONS.md taste/opinions (inherit from root if not distinct) voice.md voice guidelines (own or symlink from canonical) company.md company facts (businesses only) rules/ workspace-specific rules only skills/ workspace-specific skills only (NO global dupes) <workspace>/ .nexus.json REQUIRED - KG auto-scoping
// Inheritance rules CLAUDE.md Always workspace-specific. Never duplicate user-level rules. OPINIONS.md Inherit from root unless business has distinct taste. voice.md Each business owns its voice. Pipelines inherit. skills/ Global in root .claude/skills/. Local = workspace-specific only. .nexus.json Every workspace gets one. Scopes KG to context.
Migration Phases
Each phase is reversible. Symlinks at old paths during transition. Never delete - archive.
Skill Cleanup (DONE)
61 to 26 agent-invocable skills. Tella MCP scoped. Junk dirs archived.
Dependency Audit
Grep all repos for hardcoded paths. Map which moves are safe vs need path updates. Gates all subsequent phases.
Leaf Moves
Create clis/, businesses/, projects/, personal/. Move leaf repos (fewest inbound refs) with old-path symlinks.
Pipeline Consolidation
Create pipelines/. Move gtm-orchestrator, leadgrow-video, content. Fold GTM components into gtm-orchestrator/components/.
Business Enrichment
Structure each business with .claude/CLAUDE.md, .nexus.json, internal layout. Move LeadGrow internals under businesses/leadgrow/.
Context Routing
Wire up CLAUDE.md + .nexus.json per workspace. Set up pipeline symlinks for business-to-pipeline references.
Archive + Cleanup
Move confirmed cruft to archive/. Merge tmp/ into temp/. Remove transition symlinks after dependency audit confirms zero refs.