NAI OS
Calendar, inbox, and radar into one briefing.
You type it with coffee. It reads today's calendar, triages the inbox, and scans your watched topics — all three at once, because none of them needs another's output. Then it folds the three answers into one briefing.
%%{init: {'theme':'neutral', 'flowchart':{'htmlLabels':false,'nodeSpacing':45,'rankSpacing':55}}}%%
flowchart TD
H["You type /nai-chief-of-staff<br/>each morning"] --> C
C["/nai-chief-of-staff<br/>dispatches 3 in parallel,<br/>folds them into one briefing"]
C -->|"parallel"| A1["calendar-briefing"]
C -->|"parallel"| A2["email-triage"]
C -->|"parallel"| A3["tech-radar (scan)"]
A1 -.->|"if a new company<br/>appears on the calendar"| A4["company-research"]
A1 --> T1["Calendar MCP<br/>read only"]
A2 --> T2["Gmail MCP<br/>search / read / DRAFT"]
A3 --> T3["Web search"]
A4 --> T3
C ==> OUT["05 Briefings/<date>.md<br/>gitignored - it names<br/>real clients and people"]
A4 -.-> OUT2["03 Research/<company>-brief.md<br/>the side effect"]
classDef orch fill:#dcefe9,stroke:#0f6f63,stroke-width:2px
classDef tool fill:#f4f1ea,stroke:#8a7a5a
classDef human fill:#fdf3e0,stroke:#8a5a00,stroke-width:2px
class C orch
class T1,T2,T3 tool
class H,OUT,OUT2 human
Two details worth noticing, because both recur. First, email-triage writes
drafts into your real mailbox: it stages the reply and stops. Second, the briefing
is gitignored — it names real clients, real colleagues and real revenue, so
it never reaches GitHub. Only a fully-invented 05 Briefings/example.md is tracked, to
document the format.