AgentOS

SABRONMBC command center

AgentOS Automation Roadmap

Source: mining of 72 Claude Code sessions (586 user messages) across 13 project dirs, 2026-07-04. Definition of done: the Tier-1 skills exist and are in weekly use; email flows into the OS daily.

Skill candidates, ranked by frequency × time saved

Tier 1 — build first

  1. ship — commit → push → PR → babysit CI → merge → tag → deploy → verify live. The dominant pattern by an order of magnitude (54 "merge", 24 "push", 21 "commit", 18 "open a PR" messages across 8 repos, all businesses). Explicit pain: "check pr 25 status" ×5 in one session, "keep polling until it finishes", two sessions died of context exhaustion doing exactly this. Per-repo config block: branch flow (feature → development → main), tag convention, deploy target (Coolify/EAS), health-check URL. One skill serves every repo.
  2. eas-release — mobile release preflight + build + TestFlight submit. 26 EAS messages across 4 mobile apps; raw failing eas-cli output pasted as the whole prompt ≥4 times. Preflight catches the recurring failure classes: slug/bundleId mismatch, missing expo-updates config, missing EXPO_TOKEN, credential prompts. Then bump, build, poll, submit, report.
  3. repo-sync — fetch all, fast-forward, ahead/behind table with safe-to-delete verdicts, delete merged branches, flag divergent. Same request shape in 5+ projects; the dealer-connect divergent-branch forensic is the reusable subroutine.

Tier 2

  1. posthog-verify — per project: env vars present in every deploy environment, event coverage mapped against routes, live event flow confirmed. Ran manually for LotLogistics (483628) and RoadSide GA (483582); Tripsynk has an open env-var warning.
  2. design-refresh — inspo URL/screenshots → restyle section-by-section against existing brand tokens → run + screenshot loop → design-critic pass → PR. Same chain in 4 projects; include Nabil's design-critic prompt verbatim.
  3. contract — DONE 2026-07-04, ~/.claude/skills/contract/. Wired to the 4 live DocuSeal templates (fleet mgmt 3538359/3206544, solo 3206596, Carlyle RTO 4628489); pulls vehicle data from the fleet; encodes SABRONMBC facts + bcc rule; key in Keychain (docuseal-api). See DocuSeal API.
  4. run-and-tour — per-repo: start app, log in with seeded credentials, screenshot a named-screen tour by role. (Test creds: owner@/platform-admin@lotlogistics.test.)

Tier 3

  1. issue-sweep — list open issues, rank by effort, fix easy ones, verify stale ones with subagents, close with evidence.
  2. readiness-audit — standardized launch checklist (features, CI, live-mode secrets/webhooks, deploy health, analytics). Asked for on Tripsynk ×2, road-side-atl, dealer-connect.
  3. appstore-rejection — parse an Apple rejection into per-guideline fixes + required evidence. Only n=2 so far, but 4 apps are heading to the store.

Orchestration guide (per Anthropic's "A harness for every task", adopted 2026-07-04)

Nabil's directive: use dynamic workflows as the orchestration layer for these skills. Reference: https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code

Pipelines (cron/routines, not just skills)

Email pipeline plan — REVISED 2026-07-04: Bizzle-centric

Discovery: Nabil already built Bizzle Email Ops — an IMAP-polling email-ops service (repo learnednomad/bizzle-service) covering all 6 sabronmbc.com boxes + texminer8@gmail, outputting to Slack. It appears not to be running (no Slack posts). Revised plan:

  1. Get Bizzle live: verify/deploy on Coolify, set BIZZLE_PWD_* + Slack env vars, dry-run first (BIZZLE_SEND_ENABLED=false), watch #claw-approvals + log channel.
  2. Close coverage gaps in the roster: add nabssy007@gmail + Yahoo (app passwords); forward Hotmail → a covered mailbox (personal Outlook IMAP needs OAuth2 — not worth it); add roadsidega.com boxes if Hostinger-hosted.
  3. AgentOS integration = read Bizzle's Slack channels (no API — it's a pure poller with no HTTP surface). Extend the Morning Briefing to summarize the digest/approvals channels; important threads → 00 Inbox/ notes.
  4. Gmail MCP connector still worth connecting for interactive search/read of Gmail history in sessions — Bizzle only sees new mail from deploy time.

The original hub-inbox plan below is kept as the fallback if Bizzle stays parked.

(Superseded fallback) Hub inbox across Gmail, Hotmail, Yahoo, Hostinger

Requirement (2026-07-04): the OS must see ALL of Nabil's mail — Gmail(s), Hotmail/Outlook, Yahoo, Hostinger mail (sabronmbc.com / roadsidega.com domains). No connectors exist for Yahoo/Hostinger, so: funnel everything into one Gmail hub, connect that one Gmail to Claude.

Architecture: providers → (forwarding or Gmail POP fetch) → hub Gmail with per-source labels → Gmail MCP connector → sessions + Morning Briefing triage → 00 Inbox/ notes.

Per-provider setup (Nabil does these once, ~20 min total):

  1. Pick the hub Gmail — recommend the one already receiving the most business mail (texminer8@gmail.com or nabssy007@gmail.com).
  2. Other Gmail → Settings → Forwarding → auto-forward to hub (or add via hub's "Check mail from other accounts" to also pull history). Filter in hub: label src/gmail-2.
  3. Hotmail/Outlook → outlook.com → Settings → Mail → Forwarding → forward to hub, keep copies. Label src/hotmail.
  4. Yahoo — free Yahoo dropped auto-forwarding, so instead: Yahoo → Account Security → generate app password; hub Gmail → Settings → Accounts → "Check mail from other accounts" → add Yahoo via POP3 (pop.mail.yahoo.com:995, SSL, the app password). Pulls existing + new mail; auto-label src/yahoo.
  5. Hostinger mail → hPanel → Emails → Forwarders → forward each mailbox (saninabil@sabronmbc.com, support@roadsidega.com, …) to hub, keep copies. Labels src/sabronmbc, src/roadside.
  6. Topic filters in hub: auto-label Stripe payouts/disputes, Apple App Store Connect, Coolify/Sentry alerts, DocuSeal, customer support. Routine processes labeled mail only.
  7. Connect the hub: /mcp in Claude Code → Gmail → authenticate the hub account. (Also connect Google Calendar while there.)
  8. Extend Morning Briefing: read last 24h of labeled mail → action-needed items in the Slack DM → durable threads become 00 Inbox/ notes.

Reply-from-right-address: hub Gmail → Accounts → "Send mail as" for each forwarded address (Hostinger SMTP smtp.hostinger.com:465), so replies keep the correct identity.

Fallback only if hub proves insufficient: local IMAP aggregator on launchd (Hostinger/Yahoo IMAP + app passwords; personal Outlook needs OAuth2) writing markdown into 00 Inbox/Email/. More credentials to manage — skip unless needed.

Tasks