From datagenie
Query DataGenie Wisdom — the agentic analytics layer over your business data. Pin a session to a dataset, ask multi-stage business questions in natural language (anomalies, contribution analysis, forecasting, scenario planning), and pipe the answers anywhere Claude can reach (Slack, Jira, email, dashboards). One Wisdom session = one dataset; resume sessions to keep context.
How this skill is triggered — by the user, by Claude, or both
Slash command
/datagenie:wisdomThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Wisdom is DataGenie's **agentic analytics engine**. Unlike text-to-SQL chat BI, Wisdom understands multi-stage business questions, applies configured domain knowledge and Skills, orchestrates specialist agents (metrics, insights, contribution analysis, forecasting, scenario planning), and returns a fully synthesized, self-explaining response.
Wisdom is DataGenie's agentic analytics engine. Unlike text-to-SQL chat BI, Wisdom understands multi-stage business questions, applies configured domain knowledge and Skills, orchestrates specialist agents (metrics, insights, contribution analysis, forecasting, scenario planning), and returns a fully synthesized, self-explaining response.
This skill connects Claude to a customer's DataGenie instance over MCP. Every Wisdom session is pinned to a single dataset — pick the right dataset up front, then keep asking questions inside that session.
Two wisdom-specific tools:
| Tool | What it does |
|---|---|
list_datasets | Returns every dataset configured on this DataGenie instance — id, name, description. |
ask | Runs a Wisdom query inside an existing session (session_id, query). Returns the analytics summary as markdown. |
Plus the standard Agno session tools you'll use to create and resume sessions:
| Tool | What it does |
|---|---|
create_session | Creates a new session. For Wisdom, always call with session_type="workflow", workflow_id="analytics-viz-workflow", session_state={"dataset_id": <id>}, and a meaningful session_name (see below). The seeded dataset_id pins the session to that dataset. Returns the session record (use session_id for subsequent ask calls). |
get_sessions | Paginated list of sessions. To list Wisdom sessions: session_type="workflow", component_id="analytics-viz-workflow", plus a db_id from the AgentOS config. |
get_session | Detailed view of one session by session_id (same session_type / db_id args). |
rename_session | Give a session a friendly name so it's easy to find later. |
The session is the unit of context. All ask calls in a session reuse that session's dataset and conversation history — never pass a dataset to ask.
Default flow (start of conversation, no session in memory):
get_sessions(session_type="workflow", component_id="analytics-viz-workflow", db_id=…) and offer them. Rename memorable ones with rename_session so they're easy to find next time.CLAUDE.md), and any user-saved Wisdom routing rules first (see "Dataset routing memory" below). If you can confidently infer the dataset from those, skip ahead.list_datasets and ask the user which one.create_session(session_type="workflow", workflow_id="analytics-viz-workflow", session_state={"dataset_id": <id>}, session_name="<meaningful name>", db_id="<agentos-db-id>") → keep the returned session_id for the rest of the conversation. Always pass a meaningful session_name — derive a short (≤ 6 words) human-readable label from the user's first question or stated topic, e.g. "Search anomalies — March 2026", "Q1 revenue contribution dive", "Margin risk review — Costco". Don't leave sessions unnamed; without a name the resume list is unusable.ask(session_id, query) for every question. Reuse the same session_id until the user signals a new topic.When the user asks a follow-up — keep using the same session_id. Don't start a new session per question.
When the user clearly switches onto a different dataset — call create_session again with the new dataset_id and use the new session_id going forward.
Users can encode dataset-routing rules in their project CLAUDE.md or any persisted memory (e.g. "for search-behaviour questions, use the search dataset; for funnel questions, use registrations"). Honor those rules first before falling back to list_datasets + ask.
If a stored rule unambiguously routes the current question, use it directly — go straight to create_session with the right dataset_id. Only fall back to list_datasets when:
If the user asks you to "remember" a routing preference (e.g. "always use the search dataset for queries about search activity"), write it to memory so future sessions in this repo pick it up automatically.
Wisdom executes a dynamic, multi-step plan across DataGenie services. The same ask tool covers all of them — phrase the question naturally:
| Capability | Example question |
|---|---|
| Top Stories / anomaly narratives | "show top stories for March 11th 2026" · "show top stories for total searches" · "show top stories in the search dataset this week" |
| Metric deep-dives | "Show Median Response Time for vendor State Farm in NY & NJ, last 7 days, with anomaly flags" |
| Contribution analysis | "Why did Conversion Rate drop for India in February? Give full contributor analysis." |
| Forecasting | "Forecast Revenue for Germany for the next 2 months." |
| Scenario planning | "If Warehouse cost rises 20% and Freight drops 10% for Account X over 45 days, what happens to Contribution Margin?" |
| Skills (named business logic) | "Show top 20 margin risks for Costco." |
| Cross-dataset (Nirvana) | "Are the freight cost spikes correlated with the customer satisfaction drop in the same regions?" |
| Dataset orientation | "What is this dataset about?" |
Top Stories is DataGenie's flagship autonomous-insights surface — proactive, connected anomaly narratives across millions of metric/dimension combinations. When the user asks anything that's about "what's broken / what's interesting / what changed" without a specific KPI in mind, route it through Top Stories using the canonical phrasing:
"show top stories for <date or period>" — e.g. "show top stories for March 11th 2026", "show top stories for last week", "show top stories for Q1 2026"."show top stories for <KPI>" — e.g. "show top stories for total searches", "show top stories for revenue"."show top stories for <dimension value>" — e.g. "show top stories for the US region", "show top stories for vendor State Farm"."show top stories for total searches in the US for last week".Each story comes back in the When · Where · What · What Else · Why shape (time/place → primary KPI anomaly → related KPIs → root KPI → top contributors). Preserve that structure when you return it to the user.
Wisdom also applies domain knowledge, business events (e.g. "Reefer truck shortage in NE Feb 1–14"), and per-dataset Skills automatically.
Return Wisdom's full response exactly as received. Every narrative paragraph, every table row, every contributor with its magnitude, every anomaly flag carries signal. Do not reduce, summarize, paraphrase, or drop tables.
You may add value on top of the response:
ask.If Wisdom's response doesn't cover part of the user's question, say so explicitly — don't fabricate or fill gaps.
The point of using Wisdom from Claude is what happens after Wisdom answers:
ask for the top business anomalies last week, post the full response to #analytics-alerts.ask for the contribution analysis, open a Jira ticket with the full narrative + contributor table.ask for Wisdom's investigation, return inline, post summary to #ops-team.ask Wisdom's scenario planner, email the full forecast + scenario response.ask invoking the "Margin Risk Identifier" Skill, post the ranked customer–material risk table to #sales-ops.Start fresh on a dataset:
s = create_session(
session_type="workflow",
workflow_id="analytics-viz-workflow",
session_state={"dataset_id": <id>},
session_name="<short meaningful label, e.g. 'Search anomalies — Mar 2026'>",
db_id="<agentos-db-id>",
)
answer = ask(session_id=s["session_id"], query="<business question>")
Resume the most recent session:
rows = get_sessions(
session_type="workflow",
component_id="analytics-viz-workflow",
db_id="<agentos-db-id>",
limit=10,
)
answer = ask(session_id=rows["data"][0]["session_id"], query="<follow-up>")
Discover what's available:
datasets = list_datasets()
Never pass dataset_id to ask. It is locked when the session starts.
Never start a new session per question. Reuse the same session_id for follow-ups.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub datagenie-ai/datagenie-official-plugins --plugin datagenie