From altertable
Provides decision matrices for selecting insight types (funnel, retention, semantic, segmentation, SQL), task types (anomaly_detection, forecast, monitor), discovery actions, and avoiding duplicates in analytics workflows.
npx claudepluginhub altertable-ai/skills --plugin altertableThis skill uses the workspace's default tool permissions.
This skill provides decision frameworks for:
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Builds production-ready Apache Airflow DAGs with patterns for operators, sensors, testing, and deployment. For data pipelines, workflow orchestration, and batch jobs.
Share bugs, ideas, or general feedback.
This skill provides decision frameworks for:
User Question
│
├─ About conversion/steps/flow?
│ └─ → FUNNEL INSIGHT
│
├─ About whether users come back after an event?
│ └─ → RETENTION INSIGHT
│
├─ About metrics/dimensions/trends?
│ └─ → SEMANTIC INSIGHT
│
├─ Complex/custom/joins needed?
│ └─ → SQL INSIGHT
│
├─ About comparing event metrics across segments/cohorts?
│ └─ → SEGMENTATION INSIGHT
│
├─ Need automated recurring analysis?
│ └─ → TASK (see configuring-tasks skill)
│
└─ Just informing/acknowledging?
└─ → FYI DISCOVERY
| Signal | Funnel | Retention | Semantic | SQL | Segmentation | FYI |
|---|---|---|---|---|---|---|
| "conversion rate" | ✓✓✓ | |||||
| "drop-off" | ✓✓✓ | |||||
| "steps to purchase" | ✓✓✓ | |||||
| "user journey" | ✓✓✓ | |||||
| "stuck at step/level" | ✓✓✓ | |||||
| "progression from X to Y" | ✓✓✓ | |||||
| "did X but not Y" | ✓✓✓ | |||||
| "come back" | ✓✓✓ | |||||
| "return after" | ✓✓✓ | |||||
| "retained" | ✓✓✓ | |||||
| "churn" | ✓✓✓ | |||||
| "how many" | ✓✓✓ | |||||
| "trend over time" | ✓✓✓ | |||||
| "breakdown by" | ✓✓✓ | |||||
| "compare periods" | ✓✓✓ | |||||
| "join tables" | ✓✓✓ | |||||
| "custom calculation" | ✓✓✓ | |||||
| "raw data" | ✓✓✓ | |||||
| "complex query" | ✓✓✓ | |||||
| "users who [have property]" | ✓✓✓ | |||||
| "cohort of" | ✓✓✓ | |||||
| "segment where" | ✓✓✓ | |||||
| "acknowledge" | ✓✓✓ | |||||
| "got it" | ✓✓✓ | |||||
| "thanks" | ✓✓✓ |
Disambiguation — Segmentation vs Funnel:
The phrase "users who" is ambiguous. Apply this test:
| Pattern | Type | Why |
|---|---|---|
| "users who have property X" | Segmentation | Defining a cohort for behavioral comparison |
| "users who did event A then event B" | Funnel | Sequential event analysis |
| "event count by plan/device/source" | Segmentation | Event metric comparison across property values |
| "users stuck at step/level X" | Funnel | Step-to-step progression |
| "users who completed X but not Y" | Funnel | Measuring drop-off between steps |
| "users in segment/group X" | Segmentation | Pre-defined cohort |
Key test: Is the finding about comparing event behavior across cohorts/properties (→ segmentation) or movement through ordered steps (→ funnel)?
Disambiguation — Semantic vs SQL:
Both produce metric values. Apply this test:
| Factor | Semantic | SQL |
|---|---|---|
| Metric/dimension exists in semantic model | ✓ | |
| Requires joins across tables | ✓ | |
| Custom calculation or formula | ✓ | |
| Data not modeled in semantic layer | ✓ | |
| Standard breakdown (e.g., revenue by region) | ✓ |
Key test: Does the semantic model already expose this metric and dimension? Yes → Semantic. No → SQL. When unsure, check the semantic model first.
Disambiguation — Funnel vs Retention:
Both involve user events over time. Apply this test:
| Pattern | Type | Why |
|---|---|---|
| "users who go from A to B" | Funnel | Sequential step progression |
| "users who come back after A" | Retention | Return behavior over time |
| "drop-off between steps" | Funnel | Measuring where users stop in a sequence |
| "churn after event X" | Retention | Measuring who doesn't return |
Key test: Is the finding about moving through a sequence of steps (→ funnel) or coming back after a starting event (→ retention)?
Keywords: conversion, funnel, steps, journey, drop-off, flow, complete, abandon, stuck, progression, level, stage, bottleneck
Keywords: retention, churn, come back, return, repeat, re-engage, day 1/7/30
Keywords: how many, trend, breakdown, compare, metric, daily, weekly, growth
Keywords: join, custom, raw, specific table, complex, calculate
Keywords: segment, cohort, group of, target, users with, users in
Keywords: thanks, got it, understood, noted, will do
When the user needs automated, recurring analysis rather than a one-off insight, choose a task type:
User wants automation
│
├─ Detect outliers/anomalies in an Insight?
│ └─ → anomaly_detection task
│
├─ Project future values from an Insight?
│ └─ → forecast task
│
└─ Open-ended AI analysis of an Insight/Dashboard?
└─ → monitor task
See the configuring-tasks skill for full task creation workflow.
Is this finding new?
│
├─ YES: Does similar discovery exist?
│ │
│ ├─ NO → CREATE NEW
│ │
│ └─ YES: Is new info significantly different?
│ │
│ ├─ YES → CREATE NEW (with reference to previous)
│ │
│ └─ NO → SKIP (already covered)
│
└─ NO: Is it a follow-up to previous?
│
├─ YES → CREATE NEW (as follow-up)
│
└─ NO → SKIP (redundant)
Before creating a discovery, check:
| Check | Action if True |
|---|---|
| Same metric, same time range, same finding? | SKIP |
| Same insight within last 24 hours? | SKIP |
| Same topic, minor variation? | SKIP |
| Contradicts recent discovery? | CREATE (with explanation) |
| Adds significant new context? | CREATE |
| User explicitly asked again? | CREATE |
| Discovery Age | Same Topic Action |
|---|---|
| < 1 hour | Always skip unless contradicts |
| 1-24 hours | Skip unless significant new info |
| 1-7 days | Create if adds value |
| > 7 days | Treat as fresh topic |
Need data?
│
├─ Check semantic model first
│ │
│ ├─ Dimension/measure exists? → Use SEMANTIC
│ │
│ └─ Not available?
│ │
│ ├─ Can be added to model? → Consider adding, then SEMANTIC
│ │
│ └─ One-off need? → Use SQL
| Factor | Prefer Semantic | Prefer SQL |
|---|---|---|
| Reusability | ✓ | |
| Consistency | ✓ | |
| Performance | ✓ | |
| Flexibility | ✓ | |
| Complex joins | ✓ | |
| One-off analysis | ✓ | |
| Standard metrics | ✓ | |
| Custom calculations | ✓ |
| Question Pattern | Primary Approach | Fallback |
|---|---|---|
| "Why did X happen?" | Semantic breakdown | SQL drill-down |
| "How is X performing?" | Semantic trend | Dashboard |
| "Who are the users that..." | Segmentation | SQL filter |
| "What's the conversion..." | Funnel | SQL with steps |
| "Do users come back after..." | Retention | Funnel fallback |
| "Compare A vs B" | Semantic comparison | SQL union |
| "Predict/forecast" | Forecast task | Semantic trend as fallback |
| Complexity | Approach | Notes |
|---|---|---|
| Simple metric | Semantic | Direct query |
| Metric + filter | Semantic | Add dimension filter |
| Metric + breakdown | Semantic | Group by dimension |
| Multi-step analysis | Funnel or SQL | Depends on data |
| Cross-table | SQL | Joins required |
| Historical comparison | Semantic | Time dimension |
Before creating any discovery:
Findings that are frequently assigned the wrong insight type:
| Finding | Wrong Choice | Right Choice | Why |
|---|---|---|---|
| "Users stuck at step/level X" | Segmentation | Funnel | Step progression = sequential analysis |
| "Drop-off between A and B" | SQL | Funnel | Sequential steps with conversion |
| "Users who did X but not Y" | Segmentation | Funnel | Sequential dependency between events |
| "Metric broken down by property" | SQL | Semantic | Standard breakdown = use semantic model |
| "Metric X by dimension Y" | SQL | Semantic | Dimension likely exists in model |
| "Users with property X" | Funnel | Segmentation | Attribute-based group, not a flow |
| "Do users come back after X?" | Funnel | Retention | Return behavior, not step progression |
| "Churn after event X" | Segmentation | Retention | Measuring who doesn't return over time |