anthropics/knowledge-work-plugins6 files

Business Pulse

>

Specification
Skill ID
anthropics/knowledge-work-plugins/business-pulse
Publisher
anthropics
Repository
knowledge-work-plugins
Installs
0
Files
6
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

anthropics/knowledge-work-plugins/business-pulseInstalls these files
  • SKILL.md
  • reference/data_sources.md
  • reference/gotchas.md
  • reference/output_template.md
  • reference/thresholds.md
  • reference/v2_sources.md

What this skill tells the agent

Business Pulse

One prompt, one page. Pull live data from every connected tool, synthesize it into a single scannable brief, and surface the single most important thing to act on today. Do the work — don't ask the user to help find the data.

Step 1 — Pull data in parallel

Dispatch all connector calls in a single parallel batch — see reference/data_sources.md for the exact tool-to-metric mapping. Do not pull serially; latency turns a 30-second skill into a painful wait.

Connectors to attempt simultaneously:

  • QuickBooks — cash balance, MTD revenue, outstanding receivables, overdue invoices
  • Xero — same ledger read for Xero shops: cash position, receivables, P&L trend
  • Zoho Books — same ledger read for Zoho shops: bank balances, invoiced revenue, overdue invoices (no P&L endpoint, so the revenue line is invoiced revenue and says so)
  • PayPal / Square — 7-day settlements, sales trend, failed/pending transactions
  • Stripe — settlements and sales trend, failed payments, and any new disputes — a fresh dispute goes straight to the watch list (if connected)
  • Ramp — company card spend for the week and the account balance, read-only (if connected)
  • Gusto — next payroll run date and amount, the week's biggest cash commitment (if connected)
  • TikTok Ads — last week's ad spend, results, and cost per result, so paid spend shows up next to the sales it claims to drive (if connected)
  • Expensify — last week's card spend and any expenses missing receipts, read-only, so spending surprises surface before the month-end scramble (if connected)
  • HubSpot — pipeline by stage, deals moved/closed, deals gone cold, new leads
  • Google Calendar — key meetings, deadlines, events this week and next 7 days
  • Gmail or Microsoft 365 — threads flagged urgent, customer complaints, time-sensitive requests
  • Slack / Teams — urgent internal signals, threads needing owner attention
  • RingEx Chat — the same internal-signal read for RingEx shops: urgent team-chat posts needing the owner (if connected)
  • DocuSign — envelopes sitting unsigned, flagged once they are more than a few days old — money waiting on a signature (if connected)
  • Zoho Desk — open tickets, escalations (if connected)
  • Shopify — orders, revenue, sales trend, and fulfillment issues, so a commerce business sees its actual day (if connected)
  • Square — fulfillment issues (if connected)

If a connector errors or returns no data, record it internally and move on. Never block the pulse on a single bad integration.

QuickBooks fallback: if QBO returns an unexpected state (account not connected, sync pending, empty response), mark the Cash section "n/a — QuickBooks unavailable" and proceed. Do not retry or ask the user to reconnect.

Gmail fallback: Gmail auth is intermittently flaky. If the call errors, skip the Watch List section silently and note "Gmail unavailable" in the appendix — do not surface an error mid-pulse.

Nothing connected at all is a supported path, not a failure. If every connector is unavailable, don't stop and don't tell the owner to go connect things. Ask once, in one short message, for the handful of numbers that carry the pulse:

  • Cash in the bank right now, and roughly what it was a week ago
  • Anything overdue — invoices owed to them, bills they owe
  • Sales this week versus a normal week, even roughly
  • Anything already worrying them this week

Build the same one-page pulse from those answers, label the source line "owner-supplied, not pulled," and skip any section they had no number for. If they'd rather not type numbers, point them at the siblings that run off a file export instead — cash-flow-snapshot and report-builder both take a CSV — and say plainly that gives a partial picture, not the full one.

Step 2 — Compute metrics

Read reference/thresholds.md for red/yellow/green cutoffs. Compute:

  • AR aging — open QuickBooks invoices grouped by days since due date (0–30, 31–60, 61+)
  • Pipeline coverage — HubSpot weighted pipeline ÷ monthly revenue target
  • Revenue trend — this month's QBO revenue vs. prior month (or 7-day PayPal/Square vs. prior 7 days)

Assign a 🟢/🟡/🔴 status to each section. If a source returned nothing, mark the metric "n/a" and note it in the appendix.

Step 3 — Flag risks proactively

Scan for actionable items. Every risk entry must name a specific record and a next step — "some overdue invoices" is useless; "USD 3,400 from Acme Corp, 47 days overdue, no response since Mar 12" is actionable.

  • Ledger invoices past due > 30 days — name customer, amount, days overdue
  • HubSpot deals with no activity in 7+ days, or close date in past but still open
  • Mail threads marked urgent or containing "escalation," "complaint," "cancel," "refund"
  • Failed or pending PayPal/Square/Stripe transactions above the threshold in reference/thresholds.md (200 in the business's currency)

Step 4 — Compose the output

Use the exact template in reference/output_template.md. Include only sections where real data exists — omit headers for connectors that weren't available. Adapt depth to context: a casual "how are we doing" gets a fuller report; "quick snapshot before a call" gets a tighter one.

Cross-connector synthesis is where this skill earns its keep. If a Slack message connects to a stalled HubSpot deal, surface that link in the #1 Priority section. Synthesis is what makes the pulse more useful than checking each tool separately.

Writing rules:

  • Numbers lead, words follow. Never write "revenue is healthy" — write "USD 43k this month, ▲ 8% MoM" and let the owner judge.
  • Every number carries a delta vs. the prior period where available. Absolute snapshots (cash balance) still show WoW delta.
  • Names and dollars, not adjectives. "USD 4,200 from Acme, 23 days overdue" beats "some concerning receivables."
  • No filler. If a section has nothing worth reporting, write "No material changes" and move on.

Step 5 — Deliver the pulse page

Alongside the chat pulse — never instead of it — deliver the full pulse per the owner's stored output preference — never default to a markdown file. Check the ## Business context block's Output preference (shared style guide rule, ../../shared/artifact-style.md):

  • Visual artifact (the default): render the pulse as an HTML page in the house style. Cash balance, MTD revenue, and weighted pipeline are stat tiles with their deltas as context lines; each section's 🟢/🟡/🔴 becomes a status pill (good, warn, critical); the watch-list risks are a table with tabular-nums amount columns; the #1 Priority gets its own panel at the top; unavailable connectors go in one quiet appendix line.
  • docx / md / notion / canva preference: deliver the same content in that form — a DOCX or markdown file, a Notion page created via the connector (named destination, never overwriting), or a Canva Doc created via the Canva connector (a new design each run, named with the date; tables become lists); fall back to the visual artifact if Notion or Canva is not connected — and say that is why.
  • Best for skill: use the visual artifact — a pulse is scanned, not filed.

Step 6 — Export and share (once)

After presenting the pulse, offer once:

  • "Want me to save this as a file?" (use Files connector if available — this means a copy in their drive, not a second HTML download beside the artifact)
  • "Should I post this to your Slack?" (only if Slack is connected and the user confirms — Slack write requires explicit approval)

If they say yes, do it. If they say no or don't respond, move on — don't ask again.

After the run

Close with one line on what the pulse covered, then the single most relevant next step and at most two others nearby:

  • If cash or AR flagged red: "who owes me money" runs invoice-chase.
  • If growth questions dominate: "is my marketing working" runs growth-pulse.

Use this skill in a project

Open any RiverX project, search the Skills panel for anthropics/knowledge-work-plugins/business-pulse, and install it in one click.

Use this skill