/analyze - Answer Data Questions
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Answer a data question, from a quick lookup to a full analysis to a formal report.
Usage
/analyze <natural language question>
Workflow
- Understand the Question
Parse the user's question and determine:
-
Complexity level:
-
Quick answer: Single metric, simple filter, factual lookup (e.g., "How many users signed up last week?")
-
Full analysis: Multi-dimensional exploration, trend analysis, comparison (e.g., "What's driving the drop in conversion rate?")
-
Formal report: Comprehensive investigation with methodology, caveats, and recommendations (e.g., "Prepare a quarterly business review of our subscription metrics")
-
Data requirements: Which tables, metrics, dimensions, and time ranges are needed
-
Output format: Number, table, chart, narrative, or combination
- Gather Data
If a data warehouse MCP server is connected:
-
Explore the schema to find relevant tables and columns
-
Write SQL query(ies) to extract the needed data
-
Execute the query and retrieve results
-
If the query fails, debug and retry (check column names, table references, syntax for the specific dialect)
-
If results look unexpected, run sanity checks before proceeding
If no data warehouse is connected:
-
Ask the user to provide data in one of these ways:
-
Paste query results directly
-
Upload a CSV or Excel file
-
Describe the schema so you can write queries for them to run
-
If writing queries for manual execution, use the sql-queries skill for dialect-specific best practices
-
Once data is provided, proceed with analysis
- Analyze
-
Calculate relevant metrics, aggregations, and comparisons
-
Identify patterns, trends, outliers, and anomalies
-
Compare across dimensions (time periods, segments, categories)
-
For complex analyses, break the problem into sub-questions and address each
- Validate Before Presenting
Before sharing results, run through validation checks:
-
Row count sanity: Does the number of records make sense?
-
Null check: Are there unexpected nulls that could skew results?
-
Magnitude check: Are the numbers in a reasonable range?
-
Trend continuity: Do time series have unexpected gaps?
-
Aggregation logic: Do subtotals sum to totals correctly?
If any check raises concerns, investigate and note caveats.
- Present Findings
For quick answers:
-
State the answer directly with relevant context
-
Include the query used (collapsed or in a code block) for reproducibility
For full analyses:
-
Lead with the key finding or insight
-
Support with data tables and/or visualizations
-
Note methodology and any caveats
-
Suggest follow-up questions
For formal reports:
-
Executive summary with key takeaways
-
Methodology section explaining approach and data sources
-
Detailed findings with supporting evidence
-
Caveats, limitations, and data quality notes
-
Recommendations and suggested next steps
- Visualize Where Helpful
When a chart would communicate results more effectively than a table:
-
Use the data-visualization skill to select the right chart type
-
Generate a Python visualization or build it into an HTML dashboard
-
Follow visualization best practices for clarity and accuracy
Examples
Quick answer:
/analyze How many new users signed up in December?
Full analysis:
/analyze What's causing the increase in support ticket volume over the past 3 months? Break down by category and priority.
Formal report:
/analyze Prepare a data quality assessment of our customer table -- completeness, consistency, and any issues we should address.
Tips
-
Be specific about time ranges, segments, or metrics when possible
-
If you know the table names, mention them to speed up the process
-
For complex questions, Claude may break them into multiple queries
-
Results are always validated before presentation -- if something looks off, Claude will flag it