Cheatcode_
Feedback

Catalog / Analytics / AI Analyst

Agent skills · 47 skills

AI Analyst

Answers data questions with SQL grounded in your schema, named measures and a file of verified question-to-SQL examples, then validates and traces every number.

DoesData analysisValidation and QASlides and decksWriting and docsCharts and dashboardsProduct and strategyDatabasesData pipelines

Source on GitHub ↗
curl -fsSL https://api.cheatcodehq.com/install.sh | sh -s -- ai-analyst --to all

Copies 47 skills into each app's skills folder (Claude Code: ~/.claude/skills), after checking every file against ai-analyst-lab/ai-analyst-plugin at commit 782e7db. Nothing else on your computer changes. To undo it, run the terminal command with --uninstall at the end; that also removes what the app added.

Then start a new session in your AI app and ask for the work in plain words; it picks the skill from its description. In Claude Code you can also type /ai-analyst:always-compare.

What's inside 47 skills

  • always-compareNever present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available. Use every time you show a number: rates, counts, revenue, averages, query results, chart labels, summary stats. Trigger on output containing "the rate is", "we saw", "total", "average", "conversion", "revenue", "users", "sessions", "churn", "AOV", "NPS", or any figure pulled from data.

    Never present a metric or number in isolation; anchor every number to a comparison (prior period, benchmark, or another segment) or state that none is available. Use every time you show a number: rates, counts, revenue, averages, query results, chart labels, summary stats. Trigger on output containing "the rate is", "we saw", "total", "average", "conversion", "revenue", "users", "sessions", "churn", "AOV", "NPS", or any figure pulled from data.

  • analysis-designTurn a vague hunch or stakeholder request into a rigorous analysis plan via a staged pipeline (hypothesis sharpening, confound scan, V1, feedback, V2 redesign). Trigger on "I think X caused Y", "design an analysis for", "what's driving", "V2 after feedback", "stakeholder comments", "redesign the analysis". Vs question-framing (the lightweight framing gate before every analysis): use THIS only for a real hunch, confound scan, or V1 to V2 redesign.

    Turn a vague hunch or stakeholder request into a rigorous analysis plan via a staged pipeline (hypothesis sharpening, confound scan, V1, feedback, V2 redesign). Trigger on "I think X caused Y", "design an analysis for", "what's driving", "V2 after feedback", "stakeholder comments", "redesign the analysis". Vs question-framing (the lightweight framing gate before every analysis): use THIS only for a real hunch, confound scan, or V1 to V2 redesign.

  • analyst-coreOperating rules for every data analysis. Apply for ANY data-analysis intent: "analyze", "investigate", "why did X change", "compare", "report on", "dashboard", "metrics", "funnel", "retention", "revenue", "conversion", "trend", "segment", "forecast", "how are we doing", "dig into", "break down", or any question about data, a metric, a CSV, or a table. Sets the method and routes to the other skills; load before any analytical question.

    Operating rules for every data analysis. Apply for ANY data-analysis intent: "analyze", "investigate", "why did X change", "compare", "report on", "dashboard", "metrics", "funnel", "retention", "revenue", "conversion", "trend", "segment", "forecast", "how are we doing", "dig into", "break down", or any question about data, a metric, a CSV, or a table. Sets the method and routes to the other skills; load before any analytical question.

  • archaeologyRetrieve proven SQL patterns, table cheatsheets, and join patterns from .knowledge/query-archaeology/ so past work gets reused. Fire as a pre-flight step before writing ANY SQL. Also trigger on "do we have a known query for X", "how do we usually join these tables", "have we computed this metric before". If the store is empty or missing, exit silently. Also owns the writer convention: after a validated analysis, curate the final SQL here.

    Retrieve proven SQL patterns, table cheatsheets, and join patterns from .knowledge/query-archaeology/ so past work gets reused. Fire as a pre-flight step before writing ANY SQL. Also trigger on "do we have a known query for X", "how do we usually join these tables", "have we computed this metric before". If the store is empty or missing, exit silently. Also owns the writer convention: after a validated analysis, curate the final SQL here.

  • businessBrowse and search the organization's business context in .knowledge/organizations/: glossary terms, product catalog, metric definitions, OKRs, team structure. Trigger on "/business", "show me our glossary", "what metrics are defined?", "what products do we have?", "show me our OKRs", "who's on which team?", "look up [business term]", "what's the meaning of [term]?". Use this instead of reading the files directly.

    Browse and search the organization's business context in .knowledge/organizations/: glossary terms, product catalog, metric definitions, OKRs, team structure. Trigger on "/business", "show me our glossary", "what metrics are defined?", "what products do we have?", "show me our OKRs", "who's on which team?", "look up [business term]", "what's the meaning of [term]?". Use this instead of reading the files directly.

  • causalCausal inference toolkit for when experiments are not possible: estimate treatment effects from observational data with assumption checks and mandatory caveats. Invoke as /causal. Trigger on "causal", "caused", "impact of", "effect of", "attribution", "counterfactual", "difference-in-differences", "DiD", "propensity matching", "pre-post". If randomization IS possible, route to /experiment design instead.

    Causal inference toolkit for when experiments are not possible: estimate treatment effects from observational data with assumption checks and mandatory caveats. Invoke as /causal. Trigger on "causal", "caused", "impact of", "effect of", "attribution", "counterfactual", "difference-in-differences", "DiD", "propensity matching", "pre-post". If randomization IS possible, route to /experiment design instead.

  • close-the-loopEnd every analysis that makes a recommendation with an actionable follow-up plan. Use ONLY AFTER a specific recommendation ("we should...", "I recommend..."); add the checklist automatically even if not asked. DO NOT use for pre-recommendation exploratory questions like "should we investigate this?" or "what's causing this pattern?"; skip pure exploration with no recommendations.

    End every analysis that makes a recommendation with an actionable follow-up plan. Use ONLY AFTER a specific recommendation ("we should...", "I recommend..."); add the checklist automatically even if not asked. DO NOT use for pre-recommendation exploratory questions like "should we investigate this?" or "what's causing this pattern?"; skip pure exploration with no recommendations.

  • color-commentaryEvery chart ships with 1-2 sentences of commentary, baked into the chart subtitle AND a sidecar .md, telling the reader what to NOTICE, not what the chart depicts. Trigger every time you save, render, embed, or caption any visual, and when presenting or re-sharing a chart that ALREADY EXISTS: regenerate it if its subtitle describes rather than reveals. Describing the chart does not satisfy this skill.

    Every chart ships with 1-2 sentences of commentary, baked into the chart subtitle AND a sidecar .md, telling the reader what to NOTICE, not what the chart depicts. Trigger every time you save, render, embed, or caption any visual, and when presenting or re-sharing a chart that ALREADY EXISTS: regenerate it if its subtitle describes rather than reveals. Describing the chart does not satisfy this skill.

Show all 47 skills
  • compare-datasetsCompare metrics, findings, and patterns across two or more connected datasets. Trigger on "compare datasets", "is this pattern the same across", "how does X differ between datasets", "cross-dataset comparison", "compare metrics between", or asking whether a finding is unique to one dataset. Also offer proactively after analyzing dataset A when the user switches to dataset B for similar queries.

    Compare metrics, findings, and patterns across two or more connected datasets. Trigger on "compare datasets", "is this pattern the same across", "how does X differ between datasets", "cross-dataset comparison", "compare metrics between", or asking whether a finding is unique to one dataset. Also offer proactively after analyzing dataset A when the user switches to dataset B for similar queries.

  • connect-dataGuided wizard to connect a new dataset for analysis in Cowork: find CSV/Excel files, open local DuckDB, or point at a cloud warehouse via a connector, then profile the schema and register the dataset in .knowledge. Trigger on "/connect-data", "connect my data", "add a new dataset", "set up my data", "can you look at this file", "connect to Snowflake / BigQuery", or when an analysis request arrives and no dataset is registered yet.

    Guided wizard to connect a new dataset for analysis in Cowork: find CSV/Excel files, open local DuckDB, or point at a cloud warehouse via a connector, then profile the schema and register the dataset in .knowledge. Trigger on "/connect-data", "connect my data", "add a new dataset", "set up my data", "can you look at this file", "connect to Snowflake / BigQuery", or when an analysis request arrives and no dataset is registered yet.

  • context-compareAdvanced: runs the same question under two configurations and diffs the results. Ask one analytics question with a piece of context and without it, and measure what changed. Trigger on "/context-compare", "run it with and without <the definition/context>", "does adding <X> change the answer", "is this context worth it".

    Advanced: runs the same question under two configurations and diffs the results. Ask one analytics question with a piece of context and without it, and measure what changed. Trigger on "/context-compare", "run it with and without <the definition/context>", "does adding <X> change the answer", "is this context worth it".

  • data-inspectShow the active dataset's schema: tables, columns, row counts, relationships. Trigger on "/data" or "/data {table}", "what tables do I have?", "show me the schema", "what columns are in the users table?", "list tables", "describe the data", "data dictionary". DISAMBIGUATION: schema inspector only; for "tell me about this data" use data-map; for browsing use /explore; for deep statistical profiling use data-profiling.

    Show the active dataset's schema: tables, columns, row counts, relationships. Trigger on "/data" or "/data {table}", "what tables do I have?", "show me the schema", "what columns are in the users table?", "list tables", "describe the data", "data dictionary". DISAMBIGUATION: schema inspector only; for "tell me about this data" use data-map; for browsing use /explore; for deep statistical profiling use data-profiling.

  • data-mapProduce a cross-table data health map for the active dataset: row counts, date alignment, join rates, relationships, opening hypothesis. Trigger on dataset-wide open questions: "tell me about this data", "what's in here", "give me an overview", "map out the data", "what do I have", "what does this data look like". NOT for table-scoped questions (data-quality-check), /explore follow-ups, schema listing (/data), or deep profiles (data-profiling).

    Produce a cross-table data health map for the active dataset: row counts, date alignment, join rates, relationships, opening hypothesis. Trigger on dataset-wide open questions: "tell me about this data", "what's in here", "give me an overview", "map out the data", "what do I have", "what does this data look like". NOT for table-scoped questions (data-quality-check), /explore follow-ups, schema listing (/data), or deep profiles (data-profiling).

  • data-profilingDeep-profile the active dataset: distributions, temporal patterns, correlations, completeness gaps, anomalies. Use after connecting a new dataset. Trigger on "profile this data", "deep-profile the dataset", "run a data profile", "check distributions", "find anomalies in the data", "how complete is this data". For a first-contact overview use data-map; for one column use distribution-profiler; for schema use data-inspect.

    Deep-profile the active dataset: distributions, temporal patterns, correlations, completeness gaps, anomalies. Use after connecting a new dataset. Trigger on "profile this data", "deep-profile the dataset", "run a data profile", "check distributions", "find anomalies in the data", "how complete is this data". For a first-contact overview use data-map; for one column use distribution-profiler; for schema use data-inspect.

  • data-quality-checkValidate data completeness, consistency, and coverage before any analysis, flagging issues with severity ratings. Run at the start of every new analysis. Trigger on "check data quality", "is the data clean", "validate the data", "run a quality check", "what's the coverage", and on named-table questions: "tell me about the {table} table", "describe {table}", "what's in {table}"; pair schema answers with a minimum DQ probe.

    Validate data completeness, consistency, and coverage before any analysis, flagging issues with severity ratings. Run at the start of every new analysis. Trigger on "check data quality", "is the data clean", "validate the data", "run a quality check", "what's the coverage", and on named-table questions: "tell me about the {table} table", "describe {table}", "what's in {table}"; pair schema answers with a minimum DQ probe.

  • datasetsList all connected datasets with status, table counts, and last analysis date, and switch the active dataset. Trigger on "/datasets", "/switch-dataset", "what datasets do I have?", "show me my data sources", "list datasets", "which datasets are connected?", "what data is available?", "switch dataset", "change dataset", "what's my active dataset?". Offer proactively when the user seems unsure what data they are working with.

    List all connected datasets with status, table counts, and last analysis date, and switch the active dataset. Trigger on "/datasets", "/switch-dataset", "what datasets do I have?", "show me my data sources", "list datasets", "which datasets are connected?", "what data is available?", "switch dataset", "change dataset", "what's my active dataset?". Offer proactively when the user seems unsure what data they are working with.

  • deck-critiqueScore a presentation slide-by-slide against the Data Story Checklist (SO-WHAT, STAKES, EVIDENCE, ASK): per-slide scorecards, anti-pattern flags, an A-F grade, and prioritized fixes. Trigger on "review my deck", "critique this presentation", "score my slides", "evaluate this deck", "deck feedback", "slide review", "check my slides", or a Marp .marp.md path or Google Slides URL. Auto-fire before /deck-rescue; the critique is its prerequisite input.

    Score a presentation slide-by-slide against the Data Story Checklist (SO-WHAT, STAKES, EVIDENCE, ASK): per-slide scorecards, anti-pattern flags, an A-F grade, and prioritized fixes. Trigger on "review my deck", "critique this presentation", "score my slides", "evaluate this deck", "deck feedback", "slide review", "check my slides", or a Marp .marp.md path or Google Slides URL. Auto-fire before /deck-rescue; the critique is its prerequisite input.

  • deck-rescueTake a failing deck end-to-end and produce a complete rewrite with proper narrative structure (Context-Tension-Resolution arc, action headlines, a specific ask). Use when a deck scores D or F on /deck-critique, or the user says "rescue", "rewrite", "redo", or "fix" an entire deck, "this deck is a mess", "completely rebuild these slides", "salvage this presentation". For minor fixes to a few slides use /slide-transform instead.

    Take a failing deck end-to-end and produce a complete rewrite with proper narrative structure (Context-Tension-Resolution arc, action headlines, a specific ask). Use when a deck scores D or F on /deck-critique, or the user says "rescue", "rewrite", "redo", or "fix" an entire deck, "this deck is a mess", "completely rebuild these slides", "salvage this presentation". For minor fixes to a few slides use /slide-transform instead.

  • distribution-profilerSingle-column distribution deep-dive. Profile the statistical distribution of a data column and produce an analytical playbook: distribution identification, valid summary stats, recommended tests, A/B guidance, traps. Trigger on "profile this column", "what distribution is this", "check the distribution", "is this normal", "what test should I use", "check assumptions before A/B test", "how is this data distributed".

    Single-column distribution deep-dive. Profile the statistical distribution of a data column and produce an analytical playbook: distribution identification, valid summary stats, recommended tests, A/B guidance, traps. Trigger on "profile this column", "what distribution is this", "check the distribution", "is this normal", "what test should I use", "check assumptions before A/B test", "how is this data distributed".

  • drop-off-formatEvery step-to-step drop-off must show three numbers: raw users entering the step, raw users exiting, and the drop-off percentage. Trigger whenever output contains funnel steps, conversion rates between stages, or step-to-step comparisons, in tables, narrative, chart annotations, or Slack posts. A drop-off shown as only a raw count or only a percentage is incomplete.

    Every step-to-step drop-off must show three numbers: raw users entering the step, raw users exiting, and the drop-off percentage. Trigger whenever output contains funnel steps, conversion rates between stages, or step-to-step comparisons, in tables, narrative, chart annotations, or Slack posts. A drop-off shown as only a raw count or only a percentage is incomplete.

  • evalAdvanced: needs a gold-case YAML you supply and a live data connection. Run the held-out gold suite live against the analyst and score it. Trigger on "/eval", "run the eval suite", "score the system", "run the train split", "check the test split", "what's our accuracy on the gold cases". Drives the analyst on each question (does not grade hand-supplied answers). Pairs with /reliability (stability, no key) and /context-compare (two configs).

    Advanced: needs a gold-case YAML you supply and a live data connection. Run the held-out gold suite live against the analyst and score it. Trigger on "/eval", "run the eval suite", "score the system", "run the train split", "check the test split", "what's our accuracy on the gold cases". Drives the analyst on each question (does not grade hand-supplied answers). Pairs with /reliability (stability, no key) and /context-compare (two configs).

  • experimentThe analysis and lifecycle owner for experiments. Full experiment lifecycle: design, power analysis, statistical analysis, interpretation, reporting, and monitoring of A/B tests. Invoke as /experiment. Trigger on "A/B test", "experiment", "treatment vs control", "sample size", "MDE", "statistical significance", "ship decision", "test readout", "is this result significant?". Runs the SRM gate first.

    The analysis and lifecycle owner for experiments. Full experiment lifecycle: design, power analysis, statistical analysis, interpretation, reporting, and monitoring of A/B tests. Invoke as /experiment. Trigger on "A/B test", "experiment", "treatment vs control", "sample size", "MDE", "statistical significance", "ship decision", "test readout", "is this result significant?". Runs the SRM gate first.

  • experiment-briefThe intake step when someone proposes a test. Auto-generate a structured experiment brief when a user expresses intent to test something: hypothesis, ONE north star metric, guardrails, pre-registered success criteria, feasibility. Trigger on "I want to test...", "Let's experiment with...", "Should we A/B test...", "Can we test whether...", "I think X will improve Y", "We should validate...", "Let's test...".

    The intake step when someone proposes a test. Auto-generate a structured experiment brief when a user expresses intent to test something: hypothesis, ONE north star metric, guardrails, pre-registered success criteria, feasibility. Trigger on "I want to test...", "Let's experiment with...", "Should we A/B test...", "Can we test whether...", "I think X will improve Y", "We should validate...", "Let's test...".

  • exploreQuick, interactive data exploration without the full pipeline. Trigger on "/explore", "let me explore the data", "browse the data", "show me a sample of the data", "what does the distribution look like?", "explore this table". DISAMBIGUATION: interactive poke-around within a known dataset; for a first-contact overview ("tell me about this data") use data-map; for a schema listing use /data (data-inspect).

    Quick, interactive data exploration without the full pipeline. Trigger on "/explore", "let me explore the data", "browse the data", "show me a sample of the data", "what does the distribution look like?", "explore this table". DISAMBIGUATION: interactive poke-around within a known dataset; for a first-contact overview ("tell me about this data") use data-map; for a schema listing use /data (data-inspect).

  • exportExport analysis results in different formats for different audiences: email summaries, Slack updates, decision briefs, Google Docs with charts, Word docs, slide decks, or CSVs. Trigger on "/export", "export this as...", "send this to...", "share this analysis", "create a Google Doc", "make a Word document", "I need this as a deck", "write an email summary", "draft a Slack update", "create a brief".

    Export analysis results in different formats for different audiences: email summaries, Slack updates, decision briefs, Google Docs with charts, Word docs, slide decks, or CSVs. Trigger on "/export", "export this as...", "send this to...", "share this analysis", "create a Google Doc", "make a Word document", "I need this as a deck", "write an email summary", "draft a Slack update", "create a brief".

  • forecastGenerate time-series forecasts and projections for metrics. Trigger on "/forecast", "what will X look like next month?", "forecast DAU for Q2", "project revenue", "estimate future growth", "predict next quarter", "where are we headed?", "extrapolate this trend", "what will happen if this continues?". Handles seasonality detection, model selection, confidence intervals, and validation against naive baselines.

    Generate time-series forecasts and projections for metrics. Trigger on "/forecast", "what will X look like next month?", "forecast DAU for Q2", "project revenue", "estimate future growth", "predict next quarter", "where are we headed?", "extrapolate this trend", "what will happen if this continues?". Handles seasonality detection, model selection, confidence intervals, and validation against naive baselines.

  • google-doc-exportCreate properly formatted Google Docs through the Google Docs/Drive connector, preventing text/image overlap, broken heading hierarchy, and inconsistent formatting. Use automatically whenever building a Google Doc or calling any Google Docs connector tool (create/append/format document, insert image, upload to Drive), or when the user wants to "create a Doc", export to Google Docs, or mentions Google Docs in any capacity.

    Create properly formatted Google Docs through the Google Docs/Drive connector, preventing text/image overlap, broken heading hierarchy, and inconsistent formatting. Use automatically whenever building a Google Doc or calling any Google Docs connector tool (create/append/format document, insert image, upload to Drive), or when the user wants to "create a Doc", export to Google Docs, or mentions Google Docs in any capacity.

  • google-slides-exportCreate properly formatted Google Slides through the Google Drive connector's Slides capabilities, preventing common errors (zero-weight outlines, short object IDs, oversized batches, text overflow) with a design system and pre-validated slide recipes. Apply on any Google Slides API call, when converting Marp decks, or when the user says "Google Slides", "export to slides", "create a presentation", "share as slides".

    Create properly formatted Google Slides through the Google Drive connector's Slides capabilities, preventing common errors (zero-weight outlines, short object IDs, oversized batches, text overflow) with a design system and pre-validated slide recipes. Apply on any Google Slides API call, when converting Marp decks, or when the user says "Google Slides", "export to slides", "create a presentation", "share as slides".

  • guardrailsPair every success metric with guardrail metrics and check for trade-offs before presenting improvements as wins. Trigger when defining a metric or spec, and on any positive metric movement: "X improved", "X is up", "X increased", "better performance on X", "we're seeing gains in X". Never present a metric improvement without the guardrail check; an improvement with a degraded guardrail is a trade-off, not a win.

    Pair every success metric with guardrail metrics and check for trade-offs before presenting improvements as wins. Trigger when defining a metric or spec, and on any positive metric movement: "X improved", "X is up", "X increased", "better performance on X", "we're seeing gains in X". Never present a metric improvement without the guardrail check; an improvement with a degraded guardrail is a trade-off, not a win.

  • knowledge-bootstrapInitialize all knowledge subsystems at session start: active dataset context, user profile, corrections, learnings, query archaeology, analysis history. Run automatically at the start of EVERY new session before responding to any analytical request, and after "/connect-data" or "/switch-dataset" to reload context. Handles missing files gracefully; if unsure whether a session just started, run it.

    Initialize all knowledge subsystems at session start: active dataset context, user profile, corrections, learnings, query archaeology, analysis history. Run automatically at the start of EVERY new session before responding to any analytical request, and after "/connect-data" or "/switch-dataset" to reload context. Handles missing files gracefully; if unsure whether a session just started, run it.

  • log-correctionRecord analyst mistakes, fixes, and reusable learnings so future analyses never repeat an error. Fires automatically when the user corrects work ("actually it's Y", "that's wrong") or teaches a rule ("always use X", "never include test users", "remember that our fiscal year starts in February"), and manually on "log a correction", "save this mistake", "record this lesson". Writes the .knowledge store per docs/KNOWLEDGE.md.

    Record analyst mistakes, fixes, and reusable learnings so future analyses never repeat an error. Fires automatically when the user corrects work ("actually it's Y", "that's wrong") or teaches a rule ("always use X", "never include test users", "remember that our fiscal year starts in February"), and manually on "log a correction", "save this mistake", "record this lesson". Writes the .knowledge store per docs/KNOWLEDGE.md.

  • metric-specDefine any metric completely with a standardized template: calculation, denominator, time window, filters, interpretation. Trigger on "define this metric", "how should we measure X?", "what's the right way to calculate Y?", "document our metrics", "create a metric definition", "different teams are measuring this differently", or when a metric is used in analysis without a clear specification.

    Define any metric completely with a standardized template: calculation, denominator, time window, filters, interpretation. Trigger on "define this metric", "how should we measure X?", "what's the right way to calculate Y?", "document our metrics", "create a metric definition", "different teams are measuring this differently", or when a metric is used in analysis without a clear specification.

  • metricsBrowse, search, and display metric definitions from the active dataset's metric dictionary. Trigger on "/metrics", "show me the metrics", "what metrics do we track?", "how is [metric name] calculated?", "what's the definition of [metric]?", "list all metrics", "define conversion rate", "how do we measure retention?", "show me all KPIs". Also use mid-analysis to confirm a metric's exact definition before computing it.

    Browse, search, and display metric definitions from the active dataset's metric dictionary. Trigger on "/metrics", "show me the metrics", "what metrics do we track?", "how is [metric name] calculated?", "what's the definition of [metric]?", "list all metrics", "define conversion rate", "how do we measure retention?", "show me all KPIs". Also use mid-analysis to confirm a metric's exact definition before computing it.

  • notion-exportExport analysis results to a Notion page with structure, embedded charts, data stamps, and provenance toggles. Trigger on "/export notion", "export to Notion", "create a Notion page", "share this in Notion", "put this in Notion", "send to Notion", or mentions of the Analysis Gallery database. Handles the Notion connector check, chart hosting, and toggle-block fallback.

    Export analysis results to a Notion page with structure, embedded charts, data stamps, and provenance toggles. Trigger on "/export notion", "export to Notion", "create a Notion page", "share this in Notion", "put this in Notion", "send to Notion", or mentions of the Analysis Gallery database. Handles the Notion connector check, chart hosting, and toggle-block fallback.

  • notion-ingestRequires the Notion connector. Crawl a Notion workspace to extract business terms, metrics, product docs, and team structure into the organization knowledge system. Trigger on "/notion-ingest", "import our team's Notion docs", "sync our product roadmap from Notion", "pull in our metric definitions from Notion", "I have all our context in Notion, can you use it?". Handles full or partial crawls and incremental updates.

    Requires the Notion connector. Crawl a Notion workspace to extract business terms, metrics, product docs, and team structure into the organization knowledge system. Trigger on "/notion-ingest", "import our team's Notion docs", "sync our product roadmap from Notion", "pull in our metric definitions from Notion", "I have all our context in Notion, can you use it?". Handles full or partial crawls and incremental updates.

  • patternsBrowse, search, and leverage recurring analytical patterns discovered across past analyses. Trigger on "what patterns have we seen?", "have we seen this behavior before?", "show me recurring patterns", "what's consistent in our data?", "any known patterns about [metric/segment]?", "search patterns for [keyword]". Also updates pattern entries after each analysis archive and can remind at session start.

    Browse, search, and leverage recurring analytical patterns discovered across past analyses. Trigger on "what patterns have we seen?", "have we seen this behavior before?", "show me recurring patterns", "what's consistent in our data?", "any known patterns about [metric/segment]?", "search patterns for [keyword]". Also updates pattern entries after each analysis archive and can remind at session start.

  • question-framingStructure analytical questions with the Question Ladder (Goal, Decision, Metric, Hypothesis), then fill the 7-field Analysis Design Spec, before touching data. Trigger on "analyze", "investigate", "look into", "why did", "what's happening with", "what happened with", "figure out", "explore", "deep dive", "what caused", "compare", "breakdown", "root cause", "show me", "pull", "calculate". Framing first, analysis second.

    Structure analytical questions with the Question Ladder (Goal, Decision, Metric, Hypothesis), then fill the 7-field Analysis Design Spec, before touching data. Trigger on "analyze", "investigate", "look into", "why did", "what's happening with", "what happened with", "figure out", "explore", "deep dive", "what caused", "compare", "breakdown", "root cause", "show me", "pull", "calculate". Framing first, analysis second.

  • reliabilityCheck whether an AI analysis answer is STABLE by running the same question several independent times and measuring what holds versus what drifts. Trigger on "/reliability", "run this a few times", "is this answer stable / reliable", "check reliability of <question>", "does it give the same answer again", "run it N times and compare". The cheapest eval and the only one needing no answer key: stability, not correctness.

    Check whether an AI analysis answer is STABLE by running the same question several independent times and measuring what holds versus what drifts. Trigger on "/reliability", "run this a few times", "is this answer stable / reliable", "check reliability of <question>", "does it give the same answer again", "run it N times and compare". The cheapest eval and the only one needing no answer key: stability, not correctness.

  • setup-notionGuided Notion connection setup wizard. Verifies the Notion connector is enabled, walks the user through enabling and authorizing it, and checks for an Analysis Gallery database. Use when the user says "/setup-notion", "connect to notion", "set up notion", "I want to export to Notion", or when a Notion export or ingest fails because Notion tools are not available.

    Guided Notion connection setup wizard. Verifies the Notion connector is enabled, walks the user through enabling and authorizing it, and checks for an Analysis Gallery database. Use when the user says "/setup-notion", "connect to notion", "set up notion", "I want to export to Notion", or when a Notion export or ingest fails because Notion tools are not available.

  • slide-transformTake one bad slide and produce 2-3 redesigned variants with before/after scoring against the Data Story Checklist (SO-WHAT, STAKES, EVIDENCE, ASK). Trigger on "fix slide 3", "make this slide better", "transform this slide", "improve the headline", "this slide is confusing", "redesign this", "show me different ways to present this", and automatically after /deck-critique flags slides below 6/12. For whole-deck overhauls use /deck-rescue.

    Take one bad slide and produce 2-3 redesigned variants with before/after scoring against the Data Story Checklist (SO-WHAT, STAKES, EVIDENCE, ASK). Trigger on "fix slide 3", "make this slide better", "transform this slide", "improve the headline", "this slide is confusing", "redesign this", "show me different ways to present this", and automatically after /deck-critique flags slides below 6/12. For whole-deck overhauls use /deck-rescue.

  • srm-checkThe randomization gate before reading any experiment result. Detect Sample Ratio Mismatch (SRM) in experiment data before any analysis proceeds. Auto-fire when data has columns like "variant", "group", "treatment", "control", "arm", "experiment_group", "bucket", or when the user says "A/B test", "experiment", "treatment vs control", "randomization", "analyze this experiment data".

    The randomization gate before reading any experiment result. Detect Sample Ratio Mismatch (SRM) in experiment data before any analysis proceeds. Auto-fire when data has columns like "variant", "group", "treatment", "control", "arm", "experiment_group", "bucket", or when the user says "A/B test", "experiment", "treatment vs control", "randomization", "analyze this experiment data".

  • stakeholder-communicationAdapt analytical findings to the audience: same insight, different framing, detail level, and format. Trigger whenever an audience is mentioned (executive, PM, engineer, leadership, stakeholders): "prepare this for leadership", "write this for the product team", "create a deck for the VP", "make this executive-friendly", "what should I tell the CEO", "how do I present this". Default to Product Team format if no audience is specified.

    Adapt analytical findings to the audience: same insight, different framing, detail level, and format. Trigger whenever an audience is mentioned (executive, PM, engineer, leadership, stakeholders): "prepare this for leadership", "write this for the product team", "create a deck for the VP", "make this executive-friendly", "what should I tell the CEO", "how do I present this". Default to Product Team format if no audience is specified.

  • stress-testPressure-test any analysis plan or approach for hidden methodological flaws before execution: wrong baselines, survivorship bias, missing segments, uncontrolled confounds, absent kill criteria. Trigger on "/stress-test", "stress test this plan", "review my analysis design", "check my approach", "is this analysis sound?", "gut-check this analysis", "what am I missing in this design?". Produces a 7-point diagnostic with an A-F grade.

    Pressure-test any analysis plan or approach for hidden methodological flaws before execution: wrong baselines, survivorship bias, missing segments, uncontrolled confounds, absent kill criteria. Trigger on "/stress-test", "stress test this plan", "review my analysis design", "check my approach", "is this analysis sound?", "gut-check this analysis", "what am I missing in this design?". Produces a 7-point diagnostic with an A-F grade.

  • traceShow the provenance of every reported number: which query or computation produced it, from which file or table. Use after an analysis when someone asks "where did that number come from?", "show your work", "prove it", or "/trace". Also use proactively before a deliverable ships, as part of the check-before-sharing pass.

    Show the provenance of every reported number: which query or computation produced it, from which file or table. Use after an analysis when someone asks "where did that number come from?", "show your work", "prove it", or "/trace". Also use proactively before a deliverable ships, as part of the check-before-sharing pass.

  • tracking-gapsAssess whether the data needed for an analysis exists, identify what's missing, and produce prioritized instrumentation requests for engineering. Trigger on "do we track...", "is there data for...", "can we measure...", writing an instrumentation request, queries returning unexpected nulls, or verifying data exists before committing to an analytical approach. Produces workarounds for partial data and realistic expectations.

    Assess whether the data needed for an analysis exists, identify what's missing, and produce prioritized instrumentation requests for engineering. Trigger on "do we track...", "is there data for...", "can we measure...", writing an instrumentation request, queries returning unexpected nulls, or verifying data exists before committing to an analytical approach. Produces workarounds for partial data and realistic expectations.

  • triangulationCross-reference and validate findings before presenting them: mandatory segment-first Simpson's Paradox check, denominator changes, survivorship bias, plausibility vs benchmarks. Deep mode adds a scored 4-layer battery with an A-F confidence grade for high-stakes deliverables. Use after EVERY analysis. Trigger on "sanity check this", "validate my analysis", "can we trust this", "verify the findings", or surprising results.

    Cross-reference and validate findings before presenting them: mandatory segment-first Simpson's Paradox check, denominator changes, survivorship bias, plausibility vs benchmarks. Deep mode adds a scored 4-layer battery with an A-F confidence grade for high-stakes deliverables. Use after EVERY analysis. Trigger on "sanity check this", "validate my analysis", "can we trust this", "verify the findings", or surprising results.

  • visualization-patternsApply whenever generating ANY chart, graph, or data visualization: bar, line, scatter, heatmap, funnel, distribution, dashboard. Trigger on "make a chart", "show me a graph", "visualize the funnel", "plot revenue over time", "create a distribution", "build a dashboard", or "visualize". Enforces Storytelling with Data: gray first, max 2 colors + gray, action titles, direct labels, decluttered design, theme consistency. Do not skip when charting.

    Apply whenever generating ANY chart, graph, or data visualization: bar, line, scatter, heatmap, funnel, distribution, dashboard. Trigger on "make a chart", "show me a graph", "visualize the funnel", "plot revenue over time", "create a distribution", "build a dashboard", or "visualize". Enforces Storytelling with Data: gray first, max 2 colors + gray, action titles, direct labels, decluttered design, theme consistency. Do not skip when charting.

About

A complete analyst system rather than a single prompt: knowledge-bootstrap and data-map learn your schema and measures, connect-data wires the warehouse, analyst-core writes SQL grounded in verified_queries.yaml examples, guardrails and data-quality-check validate before an answer goes out, trace records where each number came from, log-correction turns your fixes into new examples, and eval checks it against known answers. Built to fix the failure practitioners report most: SQL that runs but answers the wrong question. Coupled parts, so it is packaged whole. The bundled NovaMart context is synthetic sample data. MIT.

Where this comes from. The public repository ai-analyst-lab/ai-analyst-plugin at commit 782e7db, under its MIT license, copied without changes. ai-analyst-lab is not affiliated with Cheatcode and has not claimed this listing yet. New releases are repackaged after review, never synced automatically. If this is your project, write to admin@cheatcodehq.com to claim or remove it.

Something wrong with this listing, or it did not install? Tell us

Versions

v1.0.0+782e7dbIndexed from ai-analyst-lab/ai-analyst-plugin at 782e7db · 2026-09-27