7533655479). Nobody else can trigger it.
├── Claudia/ ← main entry point, runs everything
├── Sentinel-CRO-LIS-Revenue/ ← LIS, HubSpot, renewals
├── Athena-CTO-Atlas-Products/ ← GitHub, Vercel, tech
├── Ledger-CFO-Finance/ ← taxes, finance, 5 companies
├── Muse-CMO-Creative/ ← content, brands, YouTube
└── core/ ← shared engine, skills, heartbeat
brain/ folder — a soul file (personality), domain file (what they know), memory file (what they remember), and recent logs. Then they get a fresh claude -p call with all of that as context.
Certain Slack channels go directly to a specific agent — no AI needed. Zero latency.
| #lis-ops | → Sentinel |
| #atlas-minds | → Athena |
| #creative | → Muse |
| #spark | → Athena |
Unmapped channels and all Telegram messages run through the AI router. It reads the message + agent descriptions and picks the best match.
claude --model haiku -p "[brain] [conversation]" as a subprocess. The agent writes its response to stdout./deal, /finance, etc., the skill runs immediately — no routing needed. The trigger matches and the Python skill executes directly.
Claudia/data/last_briefing_date.txt. If yes → fires DailyBriefingSkill before agent checks.- Same alert won't fire twice within 24h
- Each agent has its own dedup tracker
- Stored in each agent's
data/folder - Survives restarts (file-based)
- Always → Telegram DM to you
- Sentinel → #lis-ops Slack
- Athena → #atlas-minds Slack
- Muse → #creative Slack
- Ledger → #claudia-reports Slack
Sentinel — HubSpot + Supabase
Dual feed — real-time CRM + snapshot database
Sentinel sees: every open deal with stage + owner + amount, stale deals (no activity 3+ days), pipeline by line of business, critical renewals approaching. Write ops: add notes, move stages, create tasks, update deal properties.
Athena — GitHub + Vercel
Dual feed — source code activity + deployment health
Athena sees: recent commits across all repos, open PRs waiting for review, open issues, Vercel deployment health for Harmonia, Lexington, Argos, GloboTech, AJM FIT, LIS Command Center. Alerts on failed deployments.
Ledger — Supabase Financial Snapshots
Pipeline value + renewal alerts for financial health
Ledger sees: total pipeline value, revenue vs $20K/week target, aging analysis (deals 30/60/90d+), upcoming tax deadlines for all 5 entities. Tax calendar is pure date math — no API needed.
Muse — Content Pipeline JSON
File-based tracker — ideas → in-progress → review → published
Muse sees: every content item with its current status and brand tag. Alerts on items stuck in "in-progress" or "review" for 7+ days. You can add/move/complete items via slash commands and the JSON updates immediately.
/pipeline), the skill fetches fresh data on the spot — no caching.
| Command | What It Does |
|---|---|
| /search <query> | Web search via DuckDuckGo |
| /doc <title> | Create a document |
| /briefing | Full CEO morning briefing (all agents + AI news) |
| /status [project] | Project status overview |
| /slack #channel msg | Post a message to any Slack channel |
| /company [focus] | Consolidated status from all 5 agents |
| /health | System health: uptime, agents, data feeds, last heartbeat |
| /feedback good/bad <agent> <note> | Rate an alert's usefulness (improves prompts) |
| Command | What It Does |
|---|---|
| /deal <name> | Search HubSpot deals by name |
| /deal note <name> | <text> | Add a note to a deal |
| /deal move <name> | <stage> | Move deal to a new stage |
| /deal update <name> | key=value | Update deal properties |
| /deal task <name> | <subject> | Create a follow-up task |
| /deal stale [days] | List deals with no activity (default 3 days) |
| /deal info <name> | Full deal details |
| /renewal | Renewal pipeline (90/60/30-day windows) |
| /renewal critical | 30-day critical renewals only |
| /pipeline | Full pipeline dashboard (by stage, owner, LOB) |
| /ce | CE deadline tracker for agents |
| /carrier <name> | Carrier lookup |
| /email <to> | <subject> | <body> | Send an email |
| /sms <number> | <message> | Send an SMS via RingCentral |
| /commission | Commission status overview |
| Command | What It Does |
|---|---|
| /repo | GitHub repos with recent activity summary |
| /repo <name> | Detailed repo: recent commits, open PRs |
| /repo prs | Open pull requests across all repos |
| /repo issues <name> | Open issues for a specific repo |
| /deploy | Recent Vercel deployments (all projects) |
| /deploy <project> | Deployments for a specific project (harmonia, lexington, argos…) |
| Command | What It Does |
|---|---|
| /finance | Full financial overview: pipeline value, revenue, renewals |
| /finance revenue | $20K/week target tracking with progress bar |
| /finance pipeline | Pipeline health: aging, funnel, urgency |
| /tax | All upcoming tax deadlines (quarterly + annual) |
| /tax q1|q2|q3|q4 | Quarter-specific deadline details |
| /tax annual | Annual filing deadlines (1040, 1120-S, 1099, W-2) |
| Command | What It Does |
|---|---|
| /content | Full content pipeline (grouped by status) |
| /content add <title> | <brand> | Add a content idea (brands: deepfocus, justjesus, atlasminds…) |
| /content start <id> | Move item to in-progress |
| /content review <id> | Move item to review |
| /content done <id> | Mark item as published |
| /content remove <id> | Remove item from pipeline |
| /content <brand> | Filter pipeline by brand |
| /brand | List all 6 brands in the portfolio |
| /brand <name> | Detailed brand guide: audience, voice, visual, channels |
/deal Smith → Sentinel pulls the HubSpot record: name, stage, owner, amount, last activity, open tasks./deal note Smith | Called, left VM, will follow up Thursday → Note appears in HubSpot immediately. Timestamp auto-added./deal task Smith | Call back Thursday at 2PM → Task created in HubSpot, assigned to you, due date set./deal move Smith | closed won → Stage updated in HubSpot. Ledger picks it up in the next financial snapshot → counts toward $20K/week target.| Channel | Channel ID | Routed To | Heartbeat Alerts |
|---|---|---|---|
| #lis-ops | C0AERR9FTM4 | 🔵 Sentinel | Stale deals, renewals |
| #atlas-minds | C0AERRE4G14 | 🟢 Athena | Failed deploys, PRs |
| #creative | C0AECE5DCF9 | 🟠 Muse | Stale content |
| #spark | C0AECESFN79 | 🟢 Athena | — |
| #claudia-reports | C0AEXFSPA76 | 🟣 Claudia | Daily briefing, Ledger alerts |
| #network-marketing | C0AERRGDTUN | 🟣 Claudia | — |
| #personal | C0AF6QY64QZ | 🟣 Claudia | — |
| #approvals | C0AECE92QGP | 🟣 Claudia | — |
All Telegram DMs go through the GPT-4o-mini router. Claudia gets the message, routes it to the right agent, replies in the same DM thread. Daily briefing always lands here first.
Each agent tracks what it has already alerted on. Same deal / same issue won't appear more than once per 24 hours — on Telegram or Slack. Stored in data/notification_state.json.
TELEGRAM_BOT_TOKEN → Telegram adapter
SLACK_BOT_TOKEN → Slack write + socket mode
SLACK_APP_TOKEN → Socket mode connection
SLACK_SIGNING_SECRET → Request verification
OPENAI_API_KEY → GPT-4o-mini router (~$0/mo)
HUBSPOT_API_KEY → Sentinel CRM operations
SUPABASE_URL → Sentinel + Ledger data
SUPABASE_SERVICE_KEY → Service role (bypasses RLS)
cd Claudia && python main.pyClaudia boots, discovers all agents, builds the router, starts the heartbeat orchestrator, connects to Telegram and Slack Socket Mode. Ready in ~3 seconds.