I'll start by loading the relevant skills and understanding the data structure
I have the schema. Now let me load the semantic-sql skill (required before any Cube query) and the slide reference for the PPT workflow
Now I have a thorough understanding of the dataset and the workflow. Let me start with Phase 1 — Explore to understand the customer satisfaction data before creating charts and the report
Excellent data! Now let me run a few more targeted queries to prepare for the charts, then move to Phase 2 — Chart generation.
Now I have a rich understanding of the data. Let me plan the charts and move to Phase 2 — Chart generation. I'll create several key charts covering the major findings.
The CTE approach caused an issue with Cube's view name resolution. Let me use direct queries for the age group and delivery bucket charts instead
All charts are generated. Now I need to select a template and proceed with the PPT pipeline. Let me first ask the user for template selection.
The user chose the "gray" template. Now let me write the summary and outline, then proceed with the report pipeline.
Now let me proceed with the report pipeline — call report_guideline with the gray template

report_guideline succeeded. Page 4 had the table chart auto-removed (expected behavior — table type not supported in PPT). Now let me proceed directly to `report_presentation_generate
The presentation is generated. Now let me run result_reporter to finalize the delivery.
Let me present the final file to the user
Bayes: Here's the complete Customer Satisfaction Analysis Report — a 10-slide PPT presentation generated from the data.
| Metric | Value |
|---|---|
| Overall Satisfaction | 3.23 / 5.0 (moderate) |
| NPS Profile | 34.6% Promoters · 52.6% Passives · 12.8% Detractors |
| Strongest Dimension | Website Experience (4.03) |
| Weakest Dimensions | Product Quality (2.97), Customer Support (2.97) |
| Complaint Rate | 19% of customers — satisfaction drops 0.82 points |
| Avg Resolution Time | 37.7 days for complaints |
The PPT file Customer_Satisfaction_Analysis_Report.pres has been delivered to your workspace.
Let me load the dashboard skill and check what charts are available.
Now let me load the progressive references for the dashboard skill
Good. Now let me explore the data to understand the available fields for the dashboard, then design the dashboard. Let me first check what explores are available and reuse the existing charts from the analysis
Now I have all the information needed. Let me write the dashboard design doc and then create the dashboard. I'll reuse existing charts from the analysis and create a few new ones for KPI big numbers.
Let me first check what chart files already exist from the analysis
Now I need to create the 4 KPI big_number charts. Let me create them using save_embed_chart (chart_spec approach).
All KPI charts created. Now let me check what charts/*.json files exist on disk to confirm the slugs for the reused charts
All charts are in place. Now let me read the sample-dashboard.json more carefully to understand the exact structure, then write the dashboard JSON
Now I have the field IDs. Let me write the dashboard JSON
Now let me verify the dashboard
Dashboard verification passed! Let me deliver it
Bayes: The Customer Satisfaction Dashboard is ready! 🎉
An interactive BI dashboard with 12 charts across 3 sections, using the semantic layer directly:
| Tile | Type | Content |
|---|---|---|
| Avg Overall Satisfaction | big_number | 3.23 / 5.0 |
| Total Customers | big_number | 500 |
| Complaint Count | big_number | 95 (19%) |
| Repeat Purchase Likelihood | big_number | 2.61 / 5.0 |
| NPS Category Distribution | pie chart | 34.6% Promoters · 52.6% Passives · 12.8% Detractors |
| Satisfaction Score Distribution | bar chart | Distribution across scores 2–5 |
| Tile | Type | Content |
|---|---|---|
| Category Satisfaction & Quality | bar chart | Grocery leads (3.29), Telecom lowest (3.19) |
| Complaint Impact | bar chart | 0.82-point satisfaction gap |
| Tile | Type | Content |
|---|---|---|
| Satisfaction by Customer Type | bar chart | New (3.32) > Regular (3.21) > VIP (3.13) |
| Purchase Value vs Satisfaction | bar chart | 200-500 segment: 3.45 |
| Channel Satisfaction | bar chart | Email (3.27) > In-Store (3.25) > Phone (3.23) > Chat (3.18) |
| Satisfaction by Age | bar chart | Full age distribution |
Both filters are pre-configured (disabled by default) and apply across all tiles — you can set values to drill into specific segments.