Reports from Multiple Sources
Integrate your data warehouse, product analytics, billing, search analytics, and observability into one swarm — then ask it the questions your team would have asked a BI tool. Charts render as auto-hosted Pages.
The swarm joins data across ClickHouse, Postgres, Convex, Clerk, PostHog, Stripe, Google Search Console, GitHub, and SigNoz, and answers scheduled questions ("daily product-growth update?", "weekly GTM metrics?") and on-demand questions in Slack ("how many active orgs signed up last week?").
What it does
Reports render as auto-hosted HTML Pages with charts when complex, or Slack threads with chart replies for recurring digests.
Agents
- Lead — orchestrates; holds the scoped secrets needed for cross-source queries.
- Researcher — synthesis: takes raw data + the question, produces the narrative.
Tools & Skills
Built-in (ships with agent-swarm)
- agent-fs (archives), swarm KV (question cache + report state), Pages (auto-hosted HTML reports with charts),
script-run+swarm-scriptnodes (deterministic catalog scripts — JSON stdout merges into node output for downstream interpolation). Use these for "fetch + JSON" sections so the LLM stays out of the loop where it adds no value.
Custom (swarm-managed)
- Integration skills (one per source):
gsc-analytics(Search Console),posthog-interaction(PostHog HogQL — also joins Convex / Clerk / Stripe warehouses),clerk-analytics(user/org growth from Clerk),turso-interaction(Turso LibSQL state),signoz-interaction(SigNoz observability),granola-api(Granola meeting signal),telemetry-report(charts from internal telemetry). daily-growth-snapshotswarm-script — calls every source over HTTP/SQL and emits a unified JSON payload, so the agent-side report is mostly framing, not data-pulling. Date-window discipline (align to complete UTC days, exclude today) is encoded in the script.- Chart-generation skill — renders the JSON payload into chart images embedded in the Page or Slack reply. Backed by Chart.js running inside a
swarm-scriptnode so output is deterministic and snapshot-comparable.
Workflows / Schedules
daily-product-growth-update— daily. Joins ClickHouse (CLI installs) + Clerk (signups) + Postgres (product activity) + PostHog → Convex (warehouse) + GitHub (stars/forks/traffic). Posts a Slack thread: header + snapshot + up to 8 chart replies + TL;DR.gtm-weekly-review— weekly. GitHub stats + Plausible + Google Search Console as a research thread.daily-hn-briefing— daily. Browser-automation scrape of Hacker News, filter for AI/dev-tools relevance, email via AgentMail, archive in agent-fs.memory-rater-daily-digest— daily. Internal-tool health digest (relevant to swarms with a memory subsystem).daily-blocker-digest— daily prelude that verifies operational-runbook items.
Patterns used
- No-op When Nothing Changed — digests skip on a quiet day instead of posting an empty report.
Tips for new swarm users
- Use deterministic
swarm-scriptnodes for "fetch + JSON" sections. Keep the LLM out of the loop where it adds no value — faster, cheaper, more reliable. - Always exclude the partial current day from time-windowed metrics. Today's numbers are incomplete and the agent will draw wrong conclusions.
- Render multi-chart reports as a Page, not a Slack thread. People want skimmable: a linked HTML page with 8 charts beats 8 image replies.
- One agent owns the cross-source secrets (scoped per agent), keeping the secret surface small and auditable.
- Cache slow warehouse queries in KV with a short TTL — a 1-hour cache is invisible to users and saves a lot of cycles.
- Ask the swarm questions in Slack and let it pick the source — a well-skilled lead routes "active orgs last week?" to Clerk, "activation funnel?" to PostHog, "top GSC query?" to Google Search Console, without you naming the source.
Code Health & Alert Management
Plug your alerting tools (Datadog, New Relic, Sentry, SigNoz) into the swarm. Real signals kick off fixes or proposals; noise gets filtered. Daily/weekly health audits catch slow rot before it ships.
Self-Documenting & Release Reports
Keep your docs fresh automatically, generate release notes from real commits, and produce release videos with Remotion + browser-automation captures. No-op silently on quiet days.