enrich-findings
Enriches raw dashboard findings with external context through web searches.
Description
Takes raw dashboard findings and enriches them with external context via web search. Transforms data-only insights into contextualized intelligence by adding competitor dynamics, market trends, and macro factors.
Trigger
This skill is invoked automatically after analyze-dashboards completes, or when orchestrated by commands.
Instructions
1. Accept Input
Receive the findings array from analyze-dashboards.
2. Determine Search Strategy
For each finding, select the appropriate web search category based on the metric type:
Revenue / Sales Anomalies:
- Industry sales trends for the relevant sector
- Competitor earnings, product launches, or pricing changes
- Regional economic conditions affecting the market
- Product category market analysis
Cost / Margin Changes:
- Commodity and input price trends
- Supply chain disruptions or news
- Regional labor cost changes
- Inflation impact reports
Customer Metrics (NPS, churn, CSAT):
- Competitor customer reviews and sentiment
- Industry customer satisfaction benchmarks
- Consumer behavior trend reports
Operational Metrics (fulfillment, inventory, quality):
- Operational benchmarks for the industry
- Supply chain disruption reports
- Industry best practice publications
Marketing Metrics (leads, conversion, campaigns):
- Digital marketing trend reports
- Competitor campaign activity
- Channel performance benchmarks
3. Execute Web Searches
For each finding (prioritizing critical and warning severity):
- Construct 2-3 targeted search queries based on the metric and finding type
- Prioritize recent results (past 30 days)
- Cross-reference at least 2 sources for credibility
- Extract the most relevant context in 2-3 sentences
4. Enrich Each Finding
Add the following fields to each finding:
{
"web_context": "2-3 sentence summary of external factors explaining the finding",
"external_sources": [
{
"title": "Source article/report title",
"url": "https://...",
"relevance": "How this source relates to the finding"
}
],
"market_factors": ["factor1", "factor2"],
"competitive_dynamics": "Brief note on competitor activity if relevant"
}
5. Return Enriched Findings
Return the same findings array with web context appended to each finding.
{
"enriched_at": "ISO-8601 timestamp",
"findings_enriched": 0,
"findings_skipped": 0,
"total_searches_performed": 0,
"findings": [ ... ]
}
Best Practices
- Use specific, targeted search queries (not broad terms)
- Prioritize enriching critical and warning findings; informational findings can have lighter enrichment
- Note source credibility (major publications > blog posts)
- If no relevant external context is found, set
web_contextto "No significant external factors identified" rather than forcing irrelevant context
Error Handling
- If web search is unavailable, return findings with
web_context: "Web search unavailable — data-only insight"and continue - Never block the workflow due to search failures