Create Discoveries
Quick Start
To create a discovery:
- Call
initialize before using Altertable MCP tools
- Confirm the finding is meaningful, novel, actionable, and timely
- Write
title, summary, explanation, and markdown content
- Add valid
context_slugs for related insights, dashboards, tables, or connections
- Call
create_discovery; omit notify unless the finding should be recorded without delivery-channel fanout
When to Use This Skill
- Creating an anomaly, trend, root-cause, recommendation, warning, or contextual discovery
- Turning analysis output into a structured notification
- Explaining what changed, why it likely happened, and why it matters
- Deciding whether a finding is strong enough to enter the discovery workflow
Use create-insights for saved charts, tables, funnels, cohorts, or semantic visualizations. Use manage-discoveries for approval, rejection, and feedback after a discovery exists.
Platform Context
Altertable discoveries are the proactive output of the AI-driven analysis lifecycle:
- Users ingest operational and analytical data into the lakehouse.
- Humans define context through insights, dashboards, tables, and connections.
- Analysis happens through agents, user requests, or automated workflows using that context.
- Most analysis produces no persisted output unless something meaningful is found.
- When something is worth attention, a discovery records the finding and triggers a notification.
- Users review discoveries with feedback so the system learns what signals matter.
Discovery creation is therefore not the same as insight creation. An insight is user-defined context or a saved visualization. A discovery is an agent-generated finding that should enter a notification and review workflow.
Creation Criteria
Create a discovery only when all of these are true:
- Meaningful: The finding is large, unusual, strategically relevant, or explicitly requested.
- Supported: The claim is backed by data, history, comparison, or traceable investigation.
- Novel: It is not a duplicate of an existing recent discovery.
- Timely: The data is current enough for the user to act.
- Actionable: The user can decide, investigate, fix, monitor, or ignore with confidence.
If any criterion fails, do not create a discovery. Continue analysis, update a related artifact, or report that nothing meaningful was found.
Core Workflow
Step 1: Validate the Finding
Before creating:
- Verify the numbers and timeframe
- Compare against relevant baselines or historical patterns
- Search existing discoveries to avoid duplicates
- Check whether the finding matches the user's request or analysis goal
- Identify confidence and uncertainty
Step 2: Classify the Discovery
Use the most specific type supported by the current MCP tool surface. Common categories:
| Category |
Use when |
| Anomaly |
A metric spikes, drops, or deviates from expected range |
| Trend |
A sustained increase, decrease, or pattern emerges |
| Root cause |
Analysis identifies likely drivers behind a change |
| Recommendation |
The main value is a suggested action |
| Warning |
A threshold, quota, data quality issue, or operational risk needs attention |
| Context |
The finding provides useful background, caveats, or operational context |
Step 3: Write the Discovery
A useful discovery answers:
- What changed? State the specific observation with numbers.
- Why did it likely happen? Summarize the strongest evidence and caveats.
- Why does it matter? Connect the finding to business, product, data, or operational impact.
- What should happen next? Give one concrete next step.
Step 4: Create and Notify
Use create_discovery when the finding should enter the user-facing workflow. A notification record is always created. Notifications fan out through enabled delivery channels by default.
Required inputs:
title: What was found and why it matters
summary: Short text for activity and notification feeds
explanation: Why the discovery was created and the reasoning behind the finding
content: Markdown content for display
Optional inputs:
context_slugs: Slugs of related entities. Use search_entities first when unsure of valid slugs.
notify: Defaults to true. Set false for minor findings that should not fan out through enabled delivery channels.
The tool returns id, slug, explanation, and notification_slug.
Discovery States
Discoveries flow through an approval workflow:
pending --> approved | rejected
| State |
Description |
pending |
Awaiting review |
approved |
Approved |
rejected |
Rejected |
Both transitions are reversible: an approved discovery can later be rejected, and a rejected one can later be approved.
Writing Effective Titles
Good titles are:
- Specific: Include the metric, object, and timeframe
- Actionable: Make the reason to care obvious
- Concise: Keep under 100 characters
| Good |
Bad |
| "Mobile conversion dropped 20% after checkout redesign" |
"Conversion issue" |
| "API error rate doubled after billing deploy" |
"Errors increased" |
| "Q4 warehouse data is incomplete for revenue dashboards" |
"Data note" |
Writing Summary, Explanation, and Content
Use summary for feed text, explanation for why the finding exists, and content for the full markdown body.
The summary should lead with the key point:
[What changed], from [baseline] to [current] during [timeframe].
The explanation should capture the reasoning:
This discovery was created because [analysis trigger] found [evidence].
The likely driver is [cause], with [caveat] as the main uncertainty.
Keep content readable and complete. Put longer supporting analysis in the markdown body or related context rather than overloading the summary.
Content Structure
Use content for the full markdown body:
## What changed
[Specific finding with numbers, timeframe, and affected entity.]
## Why it likely happened
[Reasoning, evidence, and important caveats.]
## Why it matters
[Business, product, data, or operational impact.]
## Recommended next step
[One concrete action.]
Troubleshooting Rejected Discoveries
If a discovery is rejected:
- Re-check whether the finding was actionable, novel, timely, and supported
- Parse the free-text
reason for specific user preference or accuracy feedback
- Strengthen the "so what" only if the underlying finding still matters
- Do not recreate similar discoveries until new evidence changes the situation
| Reason |
Fix |
| "Already known" |
Search existing discoveries before creating |
| "Not actionable" |
Add a concrete recommendation or do not create |
| "Too vague" |
Include numbers, timeframe, and affected entity |
| "Wrong audience" |
Match the requester, dashboard, or domain context |
| "Stale data" |
Verify the timeframe is current before creating |
Common Pitfalls
- Creating discoveries for every analysis result instead of only meaningful findings
- Treating discoveries as saved charts; create insights for visual context instead
- Omitting the likely cause or impact
- Over-alerting on duplicate or low-signal changes
- Not searching existing discoveries before creating
- Sending notifications for internal notes that should use
notify: false
- Ignoring user feedback from rejected discoveries
Reference Files
1---2name: create-discoveries3description: Reports a change, anomaly, root cause, recommendation, or warning to users. Use when analysis produces something worth telling someone. Returns a discovery that enters review.4---56# Create Discoveries78## Quick Start910To create a discovery:11121. Call `initialize` before using Altertable MCP tools132. Confirm the finding is meaningful, novel, actionable, and timely143. Write `title`, `summary`, `explanation`, and markdown `content`154. Add valid `context_slugs` for related insights, dashboards, tables, or connections165. Call `create_discovery`; omit `notify` unless the finding should be recorded without delivery-channel fanout1718## When to Use This Skill1920- Creating an anomaly, trend, root-cause, recommendation, warning, or contextual discovery21- Turning analysis output into a structured notification22- Explaining what changed, why it likely happened, and why it matters23- Deciding whether a finding is strong enough to enter the discovery workflow2425Use `create-insights` for saved charts, tables, funnels, cohorts, or semantic visualizations. Use `manage-discoveries` for approval, rejection, and feedback after a discovery exists.2627## Platform Context2829Altertable discoveries are the proactive output of the AI-driven analysis lifecycle:30311. Users ingest operational and analytical data into the lakehouse.322. Humans define context through insights, dashboards, tables, and connections.333. Analysis happens through agents, user requests, or automated workflows using that context.344. Most analysis produces no persisted output unless something meaningful is found.355. When something is worth attention, a discovery records the finding and triggers a notification.366. Users review discoveries with feedback so the system learns what signals matter.3738Discovery creation is therefore not the same as insight creation. An insight is user-defined context or a saved visualization. A discovery is an agent-generated finding that should enter a notification and review workflow.3940## Creation Criteria4142Create a discovery only when all of these are true:4344- **Meaningful**: The finding is large, unusual, strategically relevant, or explicitly requested.45- **Supported**: The claim is backed by data, history, comparison, or traceable investigation.46- **Novel**: It is not a duplicate of an existing recent discovery.47- **Timely**: The data is current enough for the user to act.48- **Actionable**: The user can decide, investigate, fix, monitor, or ignore with confidence.4950If any criterion fails, do not create a discovery. Continue analysis, update a related artifact, or report that nothing meaningful was found.5152## Core Workflow5354### Step 1: Validate the Finding5556Before creating:5758- Verify the numbers and timeframe59- Compare against relevant baselines or historical patterns60- Search existing discoveries to avoid duplicates61- Check whether the finding matches the user's request or analysis goal62- Identify confidence and uncertainty6364### Step 2: Classify the Discovery6566Use the most specific type supported by the current MCP tool surface. Common categories:6768| Category | Use when |69| --- | --- |70| Anomaly | A metric spikes, drops, or deviates from expected range |71| Trend | A sustained increase, decrease, or pattern emerges |72| Root cause | Analysis identifies likely drivers behind a change |73| Recommendation | The main value is a suggested action |74| Warning | A threshold, quota, data quality issue, or operational risk needs attention |75| Context | The finding provides useful background, caveats, or operational context |7677### Step 3: Write the Discovery7879A useful discovery answers:8081- **What changed?** State the specific observation with numbers.82- **Why did it likely happen?** Summarize the strongest evidence and caveats.83- **Why does it matter?** Connect the finding to business, product, data, or operational impact.84- **What should happen next?** Give one concrete next step.8586### Step 4: Create and Notify8788Use `create_discovery` when the finding should enter the user-facing workflow. A notification record is always created. Notifications fan out through enabled delivery channels by default.8990Required inputs:9192- `title`: What was found and why it matters93- `summary`: Short text for activity and notification feeds94- `explanation`: Why the discovery was created and the reasoning behind the finding95- `content`: Markdown content for display9697Optional inputs:9899- `context_slugs`: Slugs of related entities. Use `search_entities` first when unsure of valid slugs.100- `notify`: Defaults to `true`. Set `false` for minor findings that should not fan out through enabled delivery channels.101102The tool returns `id`, `slug`, `explanation`, and `notification_slug`.103104## Discovery States105106Discoveries flow through an approval workflow:107108```109pending --> approved | rejected110```111112| State | Description |113| --- | --- |114| `pending` | Awaiting review |115| `approved` | Approved |116| `rejected` | Rejected |117118Both transitions are reversible: an approved discovery can later be rejected, and a rejected one can later be approved.119120## Writing Effective Titles121122Good titles are:123124- **Specific**: Include the metric, object, and timeframe125- **Actionable**: Make the reason to care obvious126- **Concise**: Keep under 100 characters127128| Good | Bad |129| --- | --- |130| "Mobile conversion dropped 20% after checkout redesign" | "Conversion issue" |131| "API error rate doubled after billing deploy" | "Errors increased" |132| "Q4 warehouse data is incomplete for revenue dashboards" | "Data note" |133134## Writing Summary, Explanation, and Content135136Use `summary` for feed text, `explanation` for why the finding exists, and `content` for the full markdown body.137138The summary should lead with the key point:139140```markdown141[What changed], from [baseline] to [current] during [timeframe].142```143144The explanation should capture the reasoning:145146```markdown147This discovery was created because [analysis trigger] found [evidence].148The likely driver is [cause], with [caveat] as the main uncertainty.149```150151Keep `content` readable and complete. Put longer supporting analysis in the markdown body or related context rather than overloading the summary.152153## Content Structure154155Use `content` for the full markdown body:156157```markdown158## What changed159[Specific finding with numbers, timeframe, and affected entity.]160161## Why it likely happened162[Reasoning, evidence, and important caveats.]163164## Why it matters165[Business, product, data, or operational impact.]166167## Recommended next step168[One concrete action.]169```170171## Troubleshooting Rejected Discoveries172173If a discovery is rejected:174175- Re-check whether the finding was actionable, novel, timely, and supported176- Parse the free-text `reason` for specific user preference or accuracy feedback177- Strengthen the "so what" only if the underlying finding still matters178- Do not recreate similar discoveries until new evidence changes the situation179180| Reason | Fix |181| --- | --- |182| "Already known" | Search existing discoveries before creating |183| "Not actionable" | Add a concrete recommendation or do not create |184| "Too vague" | Include numbers, timeframe, and affected entity |185| "Wrong audience" | Match the requester, dashboard, or domain context |186| "Stale data" | Verify the timeframe is current before creating |187188## Common Pitfalls189190- Creating discoveries for every analysis result instead of only meaningful findings191- Treating discoveries as saved charts; create insights for visual context instead192- Omitting the likely cause or impact193- Over-alerting on duplicate or low-signal changes194- Not searching existing discoveries before creating195- Sending notifications for internal notes that should use `notify: false`196- Ignoring user feedback from rejected discoveries197198## Reference Files199200- [Discovery content](references/discovery-content.md)