User Guide
The operator manual for Command Center. Ten chapters covering the two-axis navigation model, the daily rhythm, per-module deep dives, and the vision for what's coming. Read chapter 1 if this is your first time; skim the TOC if you're returning.
1. Getting Started with the Command Center
Command Center is the workspace fractional COOs and business advisors use to run three-to-ten client engagements in parallel without dropping one. It's built on a simple idea: your day starts on a single dashboard that already knows what needs your attention, and your work happens inside per-client contexts that mirror the way you actually think about each client.
The workspace has two axes. Along the top is the context selector: your Internal workspace (Output Systems) plus one context per active client. Along the left is the module sidebar: the specific tools available inside whichever context you're standing in. When you switch contexts, the sidebar changes to match — a client context shows EOS-style modules like Scorecard and Rocks, while your Internal context shows things like Pipeline, Client Reports, and Financials.
The Internal Dashboard is where every day begins. It renders a plain-English brief paragraph (auto-generated overnight), a list of Alerts (things that specifically need you today), and rollups from the modules that matter most in the morning: email requiring attention, upcoming tasks, today's calendar. You should be able to know within 90 seconds of opening the app what's the most important thing to do next.
If you're opening Command Center for the first time as a new operator, read this chapter, then read chapters 2 (context selector) and 5 (working the dashboard). Skip everything else until you've run one full day using just those three.
2. The Context Selector at the Top
The context selector is the single most important control in the app. It sits at the top of every screen and determines which client (or your own business) you're currently working on.
The Internal context (Output Systems, in the demo) is where you manage your own book of business — the pipeline, the financials, the client reports, your own tasks. Every client you engage gets their own context. When you switch to a client context, the entire workspace re-renders to be about that client: their scorecard, their Rocks, their meetings, their people, their SOPs.
This isolation is deliberate. The switching cost between clients in most tools is high — you have to remember what Slack workspace to open, what folder to navigate to, what tab you left something in. In Command Center, switching context is one click and every module in the sidebar is now scoped to that client. There's no "cross-contamination" between clients — you cannot accidentally send a Harbour Insurance email while looking at Pacific Marketing's calendar.
The Internal context is subtly different from client contexts. It has modules that only make sense for your own business (Clients grid, Pipeline & Outreach, Client Reports, financial rollups for Output Systems itself, User Guide, Settings) alongside the general-purpose modules (Email, Calendar, Tasks, Contacts, Documents, SOPs) that appear in both.
Practical tip: your default landing is always the Internal Dashboard. You go into a client context when you're about to work on that client — not to "check in." That's what the Alerts on your Internal Dashboard are for.
4. Health Status: Red, Yellow, Green, Grey
Every client context carries a health status. It shows up as a colored dot on the Clients grid, on the Internal Dashboard alerts, and inside the client's own header. Understanding what each color means — and what it doesn't mean — is critical for using the workspace effectively.
Green means the client is in a steady state. Standard cadence is being met, scorecard measures are largely on target, no urgent action is outstanding, and there's no specific reason to interrupt the normal rhythm. Green does not mean "no attention needed" — you still run the L10, still send the weekly report, still update the pipeline. Green means "the routine is enough this week."
Yellow means one or more of: a scorecard measure has been trending in the wrong direction for 3+ weeks; a Rock is at risk of slipping the quarter; there's a specific unresolved issue that's been on the list 30+ days; a touchpoint gap exceeds 7 days; or something happened this week that requires a specific out-of-cadence action. Yellow is a signal to insert a specific action, not to panic.
Red means: an urgent deadline is inside 5 business days with material work still outstanding; a client has explicitly raised a service concern; a scorecard measure has gone red on a metric that materially affects the client's business; or a Rock has hard-failed and needs a re-plan. Red demands a same-day action from the consultant, not a "next L10" mention.
Grey (or unset) means a new client whose health hasn't been assessed yet, or an inactive/paused engagement.
Health is set manually by the consultant during the weekly internal review (Friday). It's not auto-computed — a green client with a scorecard measure flashing red might still be green if the underlying situation is under control and the measure will recover next week. Judgment beats formula.
Health is also the primary signal the Internal Dashboard uses to sort what's in front of you. Red clients surface first, then yellow, then green. If you're opening the app and want to know where your day starts — look at the health dots.
5. Working the Dashboard Every Morning
The Internal Dashboard is designed to be the first surface you touch every morning and one you can leave within 5-10 minutes with a clear plan for the day. Here's the recommended flow.
Step 1 — Read the daily brief. One paragraph, plain English, written by the chat agent overnight from everything in the workspace: which clients are yellow or red and why, how many meetings, how many emails need a reply, how many open tasks. It is not a to-do list; it's a briefing.
Step 2 — Scan the alerts. Anything the workspace thinks specifically needs you today. Alerts are severity-tagged: urgent (red) demands same-day action; watch (yellow) demands attention this week; info (blue) is a signal, not an action.
Step 3 — Look at the "requires reply" email rollup. Do not open the full inbox. Only reply to things in this rollup. If a reply takes under 2 minutes, do it now. If it needs thought, mark it and move on.
Step 4 — Skim upcoming tasks and today's calendar. Confirm you have prep for every meeting. If a meeting has no prep note, create one before doing anything else.
Step 5 — Pick one client to work on first. Based on what you read, one client is likely the most urgent. Switch into that client's context, do 60-90 uninterrupted minutes of their work, come back to Internal.
The brief is auto-refreshed overnight but can be regenerated on demand from the chat agent. Alerts are dismissible; dismissing an alert should always be paired with either action or a scheduled follow-up. Nothing in the workspace lets you dismiss an urgent alert without an owner and a due date.
6. How EOS Modules Work Inside a Client Context
When you switch into a client context, the sidebar reveals the EOS Traction suite: Scorecard, Priorities (Rocks), Issues, People, plus meeting-related modules that tie them together in the weekly L10.
Scorecard. A weekly grid of 5-15 measures the client's leadership team commits to reviewing every week. Each measure has an owner, a goal, and weekly cells showing actual vs. goal for the trailing 4 weeks plus this week. Green if on-goal, red if not. The scorecard is the leading indicator of everything else — measures trending red before Rocks miss and before Issues explode.
Priorities (Rocks). The 3-7 things the client committed to complete this quarter. Each Rock has an owner, a status (on-track, off-track, complete), a completion percentage, and sub-tasks. Rocks that go off-track become Issues if they don't recover within 2 weeks.
Issues List. The living list of things the team needs to identify, discuss, and solve (IDS). Each issue has an owner and an age in days. Issues that live on the list for 60+ days are zombies and need to either be solved, downgraded, or escalated.
People. The accountability chart — who owns which seat, whether it's filled or open, and the team headcount summary. Not a headshot wall — a chart of accountability.
Meetings. Weekly L10 meetings, one per week. Each meeting has a prep note before it and a written outcome after it (what got solved, what got carried, what the ratings were).
SOPs (Processes). The client's documented operating procedures — onboarding, delivery, quoting, whatever the client-side team executes weekly. These live in the client context, not in Internal.
Inside a well-run L10, every module surfaces its living data: the Scorecard drives the first agenda item, the Rocks review is the second, the Issues List drives IDS. Everything ties back to what's already visible in the workspace. This is what makes the L10 feel prepared rather than performative.
7. Email, SMS, and Calendar Integration
The Email, Messages (SMS), and Calendar modules are the parts of the workspace that will eventually be live-connected to your real accounts. In the current demo, they're populated with realistic sample data — but the shape of what you see is exactly what will render when the integrations go live.
Email. Once Gmail OAuth is wired up (in progress), the Email module in the Internal context will show your real inbox filtered to non-system messages. In each client context, it will show the subset of emails involving that client's people (matched by domain and by contact). Sample data is currently seeded; it will be marked archived when live sync turns on, not deleted, so the demo narrative stays intact.
Messages (SMS). SMS routes through a Samsung device running the sms-gate.app service. Inbound texts hit a webhook that inserts them into cc_messages; outbound texts are sent by calling the gateway's HTTP endpoint. A backup path via Twilio A2P 10DLC is being registered as a fallback (in Tasks). LinkedIn messages will surface in this module too once the LinkedIn integration lands — until then, LinkedIn activity is tracked in the Pipeline module.
Calendar. Google Calendar is the source. All your events sync in, tagged by attendee. When an attendee's email domain matches a client context, the event automatically becomes visible in that client's Calendar module. Meeting-prep notes live in the Meetings module and are attached to each event.
The bigger design bet here is that email/SMS/calendar are not first-class workspaces — they're inputs that flow into the modules that actually organize the work (Tasks, Pipeline, Meetings). You should not spend your day inside the Email module; you should spend it inside the modules that email feeds.
8. The Chat Agent
The chat agent (Claude Sonnet 4.6, by default) is embedded across the workspace. It can query anything in the current context, generate summaries and charts, draft emails and reports, and navigate you to specific pages when asked.
Example prompts that work well:
- "Which of my clients haven't I talked to in the last 10 days, and what's the most recent thing they said?"
- "Draft the weekly report for Pacific Marketing for the week ending August 1, based on the Scorecard, Rocks, and Issues."
- "Summarize the last three L10 meetings for Harbour Insurance — what's the through-line?"
- "Show me all pipeline deals in the discovery stage sorted by stage_value."
- "Open the Torres file — take me to the record in the Elite Immigration Law context."
The chat agent has read access to every module in the workspace (scoped to the currently active context — it will not read another client's data unless you switch contexts first). It can generate drafts (emails, reports, task descriptions) but does not send anything without you clicking send. The auto-reply mode in Settings defaults to Draft only; there's no "send on my behalf" state today.
Charts and visualizations are rendered inline. When the agent generates a chart, you can pin it to the Dashboard or the current module's panel via a button in the chat response.
Cost management: the agent uses prompt caching for the workspace context, which keeps the per-message cost small even with large amounts of context loaded. Monthly usage is visible in Settings > AI & automation.
9. Adding a New Client
Adding a new client to Command Center today is a manual four-step process. The end-state vision is a one-click provisioning flow triggered from a completed sales process — that vision is described at the end of this chapter.
Today — manual steps:
-
Create the context row. In Supabase, insert a new row into cc_contexts with kind='client', a slug (kebab-case client name), the display name, industry, initial health status (grey), and sort_order.
-
Assign the module registry. Insert 12 rows into cc_context_modules covering the standard client-side module set: Overview, Scorecard, Priorities, Issues, Meetings, SOPs, People, Financials, Tasks, Email, Contacts, Documents. Each row specifies the source system (native, gcal, quickbooks, whichever) and the connection state (sample or live).
-
Seed initial content. Populate Overview narrative, an initial Rocks list, the top 5 Issues from the intake, the People chart, and the Scorecard baseline measures. Use the migration 0005 pattern as a template.
-
Enable the context. Confirm the new client appears in the Clients grid and the context selector, then run through each module from left to right, verifying nothing is empty.
The vision — one-click provisioning:
Once the manual pattern is stable across a dozen clients, the target is a Settings > Add Client flow that: takes a client name and industry, provisions the context row automatically, offers a template module set (with per-industry defaults — a legal client gets Docketwise as the case-management source, an insurance client gets Applied Epic, etc.), seeds a starter Overview and Rocks list based on templates, and returns you into the new client context with the intake questionnaire ready to fill in during the first call.
The module registry pattern (per-context enabled modules with per-context source systems) is what makes this possible: no schema changes, no code deploys, just data rows for a new client.
10. Reports, Financials, and Weekly Client Updates
Three modules — Client Reports, Financials, and (indirectly) the Meetings module — together produce the weekly artifact each client receives and the internal financial view Output Systems runs on.
Client Reports. Every Friday at close, a report draft is generated by the chat agent for each active client. The report reads from that client's Scorecard, Rocks, Issues, and this week's L10 meeting note, and produces a one-paragraph plain-English weekly summary in the voice of the consultant. The draft appears in the Internal context's Client Reports module in a "draft" status. The consultant reviews and edits (usually 5-10 minutes per report) then sends. Delivery is via email to the client principal — the standard "here's what happened this week" note.
Financials (Internal). The Financials module in the Internal context shows Output Systems' own numbers: MRR, active paying clients, pipeline weighted value, monthly infrastructure spend, cash on hand. Grouped into four sub-sections: Client Billing (invoices out), Income (revenue), Outgoing (costs), and Internal (business-health snapshot). Every line drills down into a detail view with the source data and a note.
Financials (Client). The Financials module inside a client context shows that client's numbers as tracked in the engagement: revenue, expenses, cash position, whatever the client shares with us. Drives the monthly leadership sync agenda.
The weekly rhythm these three tie together: Friday afternoon, run the internal L10, review your own numbers in Internal Financials, close the current week's client reports (review and send), and set the following week's posture. Sunday evening, do a 15-min preview of the coming week's client-side calendars. Monday morning, start fresh with a fully populated Internal Dashboard.
This is the surface area that turns a fractional COO practice from "I'm always behind" into "I know exactly where I stand every Friday at 4pm."