SuperAPI AI Directory

business-pulse

General & other

View repository

Updated 10-15 20:07

About this skill

Business Pulse

The business is drowning in ten tabs, and a simple answer to "how are we doing" is nowhere to be found. This skill pulls money, sales, funnel, and urgent items into one page in half a minute — so you see the whole picture instead of piecing it together bit by bit.

One request — one page. We pull live data from every connected tool, bring it together into one readable brief, and surface the single most important thing for today. We do the work ourselves — we don't ask the owner to help find data.

Step 1 — Pull data in parallel

We launch all connector calls in one parallel batch — an exact match of "tool → metric" in reference/data_sources.md. Don't pull sequentially; delays turn a 30-second skill into agonizing waiting.

We try the connectors simultaneously:

  • ~~бухгалтерия (1C:Accounting, MoySklad, Kontur.Elba) — account balances, revenue since the start of the month, receivables, overdue invoices
  • ~~платежи (YuKassa, Tinkoff Kassa, SBP, bank-client statement) — receipts for 7 days, sales trend, failed/stuck transactions
  • ~~crm (Bitrix24, amoCRM) — funnel by stage, deals that moved/closed, cooling deals, new leads
  • ~~календарь (Yandex Calendar, Bitrix24 calendar) — key meetings, deadlines, events for this week and the next 7 days
  • ~~почта (Yandex 360, Mail.ru for Business) — urgent threads, customer complaints, urgent requests
  • ~~мессенджер (Telegram, VK Teams, Pachka) — urgent internal signals, threads awaiting the owner's attention
  • Support (if connected) — open tickets, escalations
  • Storefront/checkout (if connected) — shipping issues

If a connector fails or returns empty — note it internally and move on. Never block the pulse because of one bad integration.

Accounting fallback: if ~~бухгалтерия returned an unexpected state (not connected, sync in progress, empty response), mark the "Money" section as "n/a — accounting unavailable" and continue. Do not retry the request and do not ask the owner to reconnect.

Email fallback: if the call to ~~почта fails, silently skip the "Watchlist" section and mark "Email unavailable" in the attachment — do not output an error in the middle of the pulse.

Step 2 — Calculate the metrics

Open reference/thresholds.md for the red/yellow/green thresholds. Calculate:

  • Receivables aging — open invoices from accounting, grouped by days since due date (0–30, 31–60, 61+)
  • Pipeline coverage — weighted CRM pipeline ÷ monthly revenue target
  • Revenue trend — this month's revenue versus last month's (or 7 days of payments versus the previous 7 days)

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

Step 3 — Proactively surface risks

Scan for actionable items. Each risk names a specific record and the next step — "some overdue invoices" is useless; "34,000 ₽ from Romashka LLC, 47 days overdue, no response since 03/12" is actionable.

  • Invoices overdue > 30 days — counterparty name, amount, days overdue
  • CRM deals with no activity for 7+ days or with a close date in the past but still open
  • Email threads marked "urgent" or containing the words "escalation", "complaint", "refusal", "refund"
  • Failed or stuck payments > 50,000 ₽

Step 4 — Assemble the output

Use the exact template from reference/output_template.md. Include only sections with real data — omit headings for connectors that were not present. Adjust the depth to the context: a calm "how are we doing" — a more complete report; a "quick snapshot before a call" — shorter.

Cross-connector synthesis — that's what the skill exists for. If a message in a messenger is linked to a stalled deal in the CRM — surface that link in the "Priority #1" section. Synthesis makes the pulse more useful than checking each tool separately.

Writing rules:

  • Numbers lead, words follow. Not "revenue is fine" — but "430,000 ₽ this month, ▲ 8% MoM", and let the owner judge for themselves.
  • Every number carries a delta to the previous period where available. Point-in-time snapshots (account balance) still show a WoW delta.
  • Names and rubles, not adjectives. "42,000 ₽ from "Romashka", 23 days overdue" is better than "there is concerning receivables".
  • No fluff. If there's nothing worthwhile in a section, write "No significant changes" and move on.

Step 5 — Export and sending (once)

After showing the pulse, offer once:

  • "Save this as a file?" (via ~~хранилище, if available — Yandex Disk, Mail.ru Cloud)
  • "Send to ~~мессенджер?" (only if connected and the owner has confirmed — sending requires explicit approval)

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

Scope options

The owner may ask for a narrower slice:

  • "Money only" / "fincheck" → only "Money and finance" + receivables risks
  • "Funnel only" / "deals" → only "Funnel" + stalled deal risks
  • "Watchlist" / "what's urgent" → only "Watchlist" + all risks, without metric sections
  • "Quick snapshot before a call" → TL;DR + "Priority #1"

What not to do

  • Don't ask permission before pulling data. If the skill was invoked — execute. "Check the accounting?" kills the whole point.
  • Don't invent or estimate numbers. If the source returned empty — write "n/a" explicitly. Never fill the gap with a guess.
  • Do not skip the delta. A number without comparison is a missed insight. If there is no baseline — write "(no baseline for comparison)", and do not omit the field.
  • Do not output connector errors in the middle of the pulse. Log them to the application. The pulse is driven by what was delivered.

Reference files

  • reference/data_sources.md — exact correspondence "connector tool → metric" with fallbacks
  • reference/thresholds.md — 🟢/🟡/🔴 thresholds, configurable per owner
  • reference/output_template.md — exact markdown structure; do not deviate
  • reference/gotchas.md — known failure modes (accounting states, email authorization, sending to messenger)