Operating Stack: Obsidian + Slack + graphify
How the three tools divide labor for running SABRONMBC's ventures. One brain, one interface, one lens — the agent (Claude) is the glue that moves information between them.
The division of labor
| Tool | Role | Holds | Who touches it |
|---|---|---|---|
| Obsidian (AgentOS) | System of record — the durable brain | Projects, Areas, Decisions, P&L, reference. Git-backed, agent-writable. | Nabil + Claude (private) |
| Slack | Interface + real-time nervous system | Signals, approvals, digests, partner/client/driver comms. Not a store of record. | Nabil (mobile), partners, clients, drivers, the "claw" agents |
| graphify | Connective analysis lens — the graph brain | Queryable knowledge graph over the vault (and code). Reveals cross-business dependencies. | Claude, on demand |
Principle: Obsidian is canonical. Slack is I/O. graphify is the query layer. Nothing durable lives only in Slack — Slack is lossy and ephemeral; the agent's job is to pull the durable parts back into Obsidian.
Each business = three views of one entity
For every venture: one Obsidian Area note (source of truth) ↔ one Slack channel (live ops) ↔ one graphify subgraph (connections). The Portfolio Canvas in Slack is the index that ties all three together and mirrors Portfolio.
The four loops (what the agent automates)
- Digest loop — Morning Briefing already reads the vault + live data → posts to
#digest. Add an evening pass: agent writes the day's Slack decisions back into the daily note under## Decisions. - Decision-capture loop — decisions happen in Slack threads; the agent files them into the right Obsidian note. Slack forgets; Obsidian remembers.
- Cross-business query loop — ask in Slack ("total exposure to Coolify?", "which ventures share the Stripe account?") → agent runs graphify over the vault → answers in Slack + saves the analysis to
30 Resources. - Per-business surface loop — each Area note change worth broadcasting → agent posts to that business's channel; each channel decision worth keeping → agent writes it to the Area note.
Outbound-email loop (draft → approve → send, from Slack)
Nas should not only read mail — Nabil wants to send from Slack by approving drafts. The #approvals channel already provides the gate.
- In Slack, Nabil: "Nas, email <recipient> about <topic>."
- Nas drafts the full email (to / subject / body) and posts it as a draft in an
#approvalsthread. - Nabil replies approve (or edits inline).
- Nas sends, then posts confirmation + link back in the thread.
Blocker: no working send path yet. Reading ≠ sending.
- Gmail MCP — not connected (run
/mcp, authenticatesaninabil@sabronmbc.comif on Google Workspace). Recommended for interactive 1:1 approval emails. - Bizzle — the email-ops service, currently appears down; better for automated/bulk sending than the interactive loop.
Decision: Gmail MCP for the interactive approve-to-send loop; Bizzle for automated/bulk once redeployed. First real send is a test to Nabil himself before anything external.
Slack structure recommendation (hybrid, don't over-channel)
The function-based channels serve the fleet operation (the real revenue) well — keep them. Add per-business channels only where there's activity or external stakeholders; everything else lives as a section in the Portfolio Canvas. Idea-stage ventures (Cargobox, AquaLink) get nothing.
| Business | Slack today | Recommendation |
|---|---|---|
| LotLogistics | #lot-logistics + ops-* | Keep — this is the operating core |
| Roadside GA | #roadside-ops | Keep |
| SwiftRide | #partners-swiftride | Keep |
| Tripsynk | #tech-tripsync | Keep; add #tripsynk only if pre-launch coordination picks up |
| Dealer Connect | none | Create #dealer-connect (active build) |
| Attaqwa Masjid | none | Optional #attaqwa (community, not a business) |
| Stitch & Wear | none | Canvas section only until status confirmed |
| BillBash | none | Canvas section only until status confirmed |
| Bizzle | none | Stays in #tech-infra (internal email-ops infra) |
Why not fully business-based channels?
A solo operator running 8 ventures drowns in channels. Function-based keeps the daily fleet work in a few high-signal places; the Portfolio Canvas + Area notes give the per-business view without 8× the channel noise. The graph (graphify) is where "how does it all connect" gets answered — not the channel sidebar.