alive-analysis-3125e7 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alive-analysis-3125e7 (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A bulleted imperative like {match} tells the agent to never reveal, disclose, or mention something to the user. Used adversarially it can instruct the agent to hide its tool calls or lie about what it did — stripping the transparency a user relies on to trust the agent.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Data analysis workflow kit based on the ALIVE loop. Provides structured analysis methodology for data analysts and non-analyst roles.
alive-analysis helps structure data analysis work using the ALIVE loop: Ask → Look → Investigate → Voice → Evolve
It serves two personas:
Core question: What do we want to know — and WHY?
Purpose:
#### Hypothesis Tree Before diving into data, structure thinking:
Main question: "Why did D30 retention drop?"
├── Internal factors
│ ├── Product changes (releases, feature removals)
│ ├── Channel mix changes (acquisition source shift)
│ ├── Cross-service impact (did another service change affect this?)
│ └── Pricing / promotion changes
├── External factors
│ ├── Seasonality / holidays
│ ├── Competitor actions
│ ├── Market / economic shifts
│ └── Platform changes (iOS/Android policy, algorithm updates)
└── Data artifacts
├── Tracking changes (instrumentation broke?)
├── Definition changes (metric recalculated?)
└── Population changes (new user mix shifted?)#### Causal vs Correlational Framing Ask explicitly:
#### Structured Data Request (5 Elements) When the analysis requires data, structure every data request with these 5 elements. This saves massive back-and-forth time — most data request delays come from unclear questions, not technical difficulty.
[Period] + [Subject] + [Condition] + [Metric] + [Output Format]
WHEN WHO/WHAT FILTER MEASURE HOW TO SHOW| Element | Bad example | Good example |
|---|---|---|
| Period | "recently", "last month" | "2026-01-01 ~ 2026-01-31" |
| Subject | "users", "stores" | "active stores with at least 1 order" |
| Condition | "normal orders only" | "completed orders, excluding test accounts" |
| Metric | "GMV", "revenue" | "Net GMV (after coupon discount), order count" |
| Output | "a list, sorted" | "store-level, top 100 by order count, as spreadsheet" |
For non-analysts: The AI should actively help structure vague questions into these 5 elements. For analysts: Use this as a self-check before writing SQL or requesting data from others.
This framework applies at every data touchpoint:
#### Key Questions to Ask the User
#### Analyst Mindset Good analysis comes from asking better questions, not just finding right answers.
#### Actionable Question Design Before starting any analysis, apply the "execution test" — if the analysis result won't change what we do, the question needs redesigning.
Transform abstract questions into actionable ones:
Three checks before starting:
The "data-driven paradox" trap: More data and better tools don't automatically lead to better decisions. The gap is usually between insight and execution — always design the analysis with the end action in mind.
#### Metric Framework — Know Which Metrics Matter and Why Every analysis touches metrics. Understanding the metric hierarchy prevents optimizing the wrong thing.
4-Tier Metric Classification:
🌟 North Star Metric (NSM)
The ONE metric capturing core product value for customers.
├── NOT revenue itself (lagging) — but a leading indicator of revenue
├── NOT directly manipulable — "if you can move it directly, it's not a good NSM"
├── GOOD: "Weekly active buyers", "Monthly items received on time"
└── BAD: "DAU" (vanity), "Page views" (no value signal), "MRR" (lagging)
📊 Leading / Input Metrics
3-5 drivers that teams can directly influence to move the NSM.
├── More responsive and under immediate team control
├── Example: NSM = "Weekly active buyers"
│ → Inputs: signup rate, first-purchase conversion, repeat purchase rate
└── Each team owns 1-2 input metrics (their OMTM — One Metric That Matters)
🛡️ Guardrail Metrics (Counter-Metrics)
Metrics that must NOT get worse while optimizing the NSM.
├── "For every metric, have a paired metric that addresses adverse consequences"
├── 2-3 max — too many creates false positive noise
├── Example: Optimizing Stories engagement? → Guardrail: main feed engagement
└── If a guardrail triggers during an experiment → escalate before proceeding
🔬 Diagnostic Metrics
Metrics for root cause analysis — not optimization targets.
├── Used in INVESTIGATE to decompose problems
├── Example: "Why did conversion drop?" → check: page load time, error rate, funnel drop-off by step
└── These explain the WHY behind NSM/Input movementsWhen the AI encounters metrics during analysis:
Common mistakes to prevent:
Core question: What does the data ACTUALLY show — and what's missing?
Purpose:
#### Segmentation Strategy Always break the data down BEFORE forming conclusions:
Ask: "Does the pattern hold across ALL segments, or is it driven by one?"
#### Confounding Variables Before attributing any pattern, check:
#### External Data Consideration
#### Data Specification Gotchas Before trusting ANY data, verify these common traps:
Geographic data:
Metric definitions:
Time and date:
Units and filters:
When you find a gotcha: Document it in the analysis as a Data Quality Note — future analyses will thank you.
#### Metric Interpretation Guide Key concepts: CV (variability check), deviation vs error, STEDII metric validation, risk-adjusted metrics, trend momentum, cohort analysis pitfalls.
For details, see core/references/analytical-methods.md § Metric Interpretation Guide#### Data Access During Conversation
Common mistakes to prevent:
Core question: Why is it REALLY happening — can we prove it?
Purpose:
#### Hypothesis Elimination Process Work through the hypothesis tree from ASK:
#### Multi-Lens Analysis Framework
Macro (market/industry level)
├── Market trends — is this industry-wide?
├── Competitor analysis — did competitors change?
├── Economic factors — recession, regulation, etc.
└── Platform/ecosystem — iOS policy, algorithm changes?
Meso (company/product level)
├── Cross-service impact — did another team's change affect us?
├── Channel mix — acquisition source distribution shift?
├── Product changes — releases, A/B tests, feature flags?
└── Business operations — pricing, campaigns, partnerships?
Micro (user/session level)
├── User behavior patterns — funnel analysis, session depth
├── Cohort-specific trends — new vs returning, by segment
├── Edge cases — specific user groups, extreme behaviors
└── Qualitative signals — CS tickets, reviews, survey data#### Causation Testing (when causal claims are needed)
Step 1: Draw the causal picture (even informally) Before running any numbers, sketch the relationships:
Three patterns to recognize:
Chain: T → M → Y Conditioning on M blocks the path (breaks the causal flow)
Fork: T ← X → Y Conditioning on X blocks confounding (this is what you WANT)
Collider: T → C ← Y Conditioning on C OPENS a false path (this is a TRAP)Step 2: Block confounding paths
Step 3: Handle unmeasurable confounders Sometimes you can't directly measure the confounder (e.g., "manager quality"):
Step 4: Verify comparable groups Before comparing treatment vs control:
Step 5: Basic causal checklist
Common traps:
#### Statistical Rigor (when making claims from numbers)
Don't just report numbers — report how reliable they are:
Sample size awareness:
Confidence and significance:
Power and sample size:
When comparing groups:
#### Cross-Service Impact Analysis In organizations with multiple products/services:
#### Analytical Methods Toolkit Method selection quick reference:
| Question | Method |
|---|---|
| Which groups are different? | t-test (2 groups), ANOVA (3+) |
| Which users are similar? | K-Means clustering |
| What appears together? | Association rules (Lift) |
| Can we predict an outcome? | LTV models, time series |
| Is this A/B test real? | Experiment analysis |
| How spread out / risky? | CV, Sharpe ratio adaptation |
For details, see core/references/analytical-methods.md § Analytical Methods Toolkit#### When A/B Testing Isn't Possible — Quasi-Experimental Methods
| Method | When to use |
|---|---|
| DiD (Difference-in-Differences) | Before/after event + comparison group |
| RDD (Regression Discontinuity) | Clear threshold/cutoff determines treatment |
| PSM (Propensity Score Matching) | Groups inherently different, need fair comparison |
| IV (Instrumental Variables) | External factor affects treatment only |
For details, see core/references/analytical-methods.md § Quasi-Experimental Methods#### Model Interpretability When building prediction models, always pair prediction with explanation (feature importance, SHAP). Never deploy a "black box" — stakeholders need to know which levers to pull.
For details, see core/references/analytical-methods.md § Model Interpretability#### Time Series Pattern Reading When analyzing metrics over time (sales forecasting, trend analysis), focus on patterns and uncertainty, not just point predictions.
What to look for:
Uncertainty communication is crucial:
When uncertainty suddenly increases:
#### Sensitivity Analysis Before finalizing findings, test robustness:
#### Simulation Analysis (when evaluating policies or strategies) When the analysis involves "What would happen if we do X?", use simulation methodology. Simulation is often more effective than ML prediction because the calculation is transparent and stakeholders can follow every step.
When to use simulation:
4-Step Simulation Framework:
Step 1: Identify variable accounts
Step 2: Define variable relationships
Step 3: Scenario experiments
Step 4: Continuous refinement
Monte Carlo Simulation (when 3+ variables are uncertain): When a simulation has multiple uncertain inputs, point estimates become misleading. Use Monte Carlo to capture the full range of outcomes:
numpy.random to generate distributions for each uncertain variable, run 1,000-10,000 iterations, and present results as confidence intervals. Example: revenue_sim = price * np.random.normal(mean_volume, std_volume, 10000)
→ "90% probability revenue falls between ₩X and ₩Y"Handle Bar concept — the bridge from Simulation to decision-making: The analyst's role is not to "give the answer" but to "build the decision tool."
When simulation is less reliable:
Common mistakes to prevent:
Core question: So what — and now what?
Purpose:
#### "So What → Now What" Framework For every finding, answer both questions:
Finding: "D30 retention dropped 8pp, driven by TikTok-acquired users"
├── So What? → "TikTok users have 3x lower retention than organic.
│ Our channel mix shifted from 20% to 45% TikTok."
└── Now What? → "Option A: Reduce TikTok budget, reallocate to higher-LTV channels
Option B: Keep TikTok but improve onboarding for these users
Option C: Accept lower D30 if TikTok CAC justifies it on LTV basis"#### Confidence Levels Tag each finding explicitly:
Include reasoning: "High confidence because the pattern holds across 3 months, 2 platforms, and survives exclusion of outliers."
#### Trade-off Analysis For each recommendation, make the trade-offs explicit:
Counter-metric check (mandatory for every recommendation): For every success metric, identify a counter-metric that reveals if we're just plugging one hole with another. Reference config.md guardrails if defined; if none exists, propose one. See Counter-Metric Monitoring in the Monitoring Guide for the full framework and examples.
#### Presenting Simulation Results When the analysis involved simulation (policy/strategy evaluation):
#### Communicating Numbers Effectively When presenting quantitative findings:
#### Audience-Specific Communication
#### From Insight to Execution — The Translation Step Analysis without an execution path is just intellectual exercise. Every recommendation should come with a concrete action plan.
Execution roadmap structure:
For each action, specify:
The "survivorship bias" warning: When recommending based on analysis of current users, always flag: "This analysis is based on users who stayed. It doesn't capture what drove people away." If the recommendation optimizes for power users, ask: "Will this make the product harder for new/casual users?"
Common mistakes to prevent:
Core question: What would change our conclusion — and what should we ask next?
Purpose:
#### Conclusion Robustness Check Before finalizing, stress-test the analysis:
#### Simulation Refinement (if simulation was used) Simulations are living models — they need continuous care:
#### Monitoring Setup If the analysis identified a real issue or opportunity:
#### Knowledge Capture
assets/?#### Connect to North Star
#### Metric Proposal Conversation
When an analysis reveals a gap in the current metric framework — a metric that should exist but doesn't — the AI guides the user through defining it together. This is a conversation, not a form to fill.
When to trigger:
Conversation flow (4 stages):
1. Background — "Why do we need this metric?"
2. Purpose — "What decisions will it drive?"
3. Logic — "How do we calculate it?"
4. Interpretation — "What does a good/bad value look like?"
After the conversation, the AI fills out the Proposed New Metrics section in the EVOLVE file and runs the STEDII validation (see STEDII definition in Monitoring Guide below).
Tone: Collaborative, not interrogative. Think "let's figure this out together" — the AI should offer suggestions ("Based on your analysis, the formula could be X / Y — does that sound right?"), not just ask blank questions.
Common mistakes to prevent:
## Checklist — ASK
### Methodology
- [ ] 🟢/🔴 Have you accurately identified the requester's REAL goal (not just stated goal)?
- [ ] 🟢/🔴 Is the question framed as causal or correlational?
- [ ] 🟢/🔴 Have you built a hypothesis tree (not just one guess)?
### Quality
- [ ] 🟢/🔴 Have you secured relevant domain knowledge?
- [ ] 🟢/🔴 Have you created an analysis plan that fits the timeline?
- [ ] 🟢/🔴 Have you estimated time per scope area?
- [ ] 🟢/🔴 Is the question actionable? (execution test: will the result change what we do?)
- [ ] 🟢/🔴 Have you confirmed the data specification and access method?
- [ ] 🟢/🔴 Have you considered a confusion matrix (if applicable)?
- [ ] 🟢/🔴 Have you considered appropriate sample size?## Checklist — LOOK
### Methodology
- [ ] 🟢/🔴 Have you segmented the data before drawing conclusions?
- [ ] 🟢/🔴 Have you checked for confounding variables?
- [ ] 🟢/🔴 Have you considered external factors (seasonality, competitors, market)?
- [ ] 🟢/🔴 Have you checked for cross-service impacts?
- [ ] 🟢/🔴 Have you checked variability (not just averages) for key metrics?
### Quality
- [ ] 🟢/🔴 Are you avoiding unnecessarily large datasets?
- [ ] 🟢/🔴 Are you not wasting time re-verifying confirmed findings?
- [ ] 🟢/🔴 Is the sampling method appropriate?
- [ ] 🟢/🔴 Have you checked for data errors (outliers, missing values)?
- [ ] 🟢/🔴 Have you considered edge cases (specific IDs, exceptions)?
- [ ] 🟢/🔴 Are you only performing analysis needed for the problem?
- [ ] 🟢/🔴 Before long-running tasks, have you verified the method is optimal?## Checklist — INVESTIGATE
### Methodology
- [ ] 🟢/🔴 Have you tested MULTIPLE hypotheses (not just confirmed one)?
- [ ] 🟢/🔴 Have you applied multi-lens analysis (macro/meso/micro)?
- [ ] 🟢/🔴 If claiming causation, have you verified: time ordering, mechanism, counterfactual?
- [ ] 🟢/🔴 Have you performed sensitivity analysis (robustness check)?
- [ ] 🟢/🔴 Have you assigned confidence levels to each finding?
- [ ] 🟢/🔴 Is the analytical method appropriate for the question type? (comparison → ANOVA/t-test, segmentation → clustering, prediction → regression/ML)
### Quality
- [ ] 🟢/🔴 Have you exchanged feedback with a colleague?
- [ ] 🟢/🔴 Have you clearly handled outliers/anomalies?
- [ ] 🟢/🔴 Have you visually verified the results yourself?
- [ ] 🟢/🔴 Are charts easy to understand?
- [ ] 🟢/🔴 Have you removed unnecessary visualizations/complexity?
- [ ] 🟢/🔴 Can the results be reproduced? (queries/code recorded in assets/)## Checklist — VOICE
### Methodology
- [ ] 🟢/🔴 Have you applied "So What → Now What" for each finding?
- [ ] 🟢/🔴 Have you tagged confidence levels (🟢/🟡/🔴) with reasoning?
- [ ] 🟢/🔴 Have you included trade-off analysis for recommendations?
- [ ] 🟢/🔴 Have you checked guardrail metrics impact?
- [ ] 🟢/🔴 Are limitations visible (not buried in a footnote)?
- [ ] 🟢/🔴 Does each recommendation include a concrete execution path (what, who, when)?
### Quality
- [ ] 🟢/🔴 Have you accurately answered the requester's question?
- [ ] 🟢/🔴 Have you reviewed results with a colleague?
- [ ] 🟢/🔴 Have you validated explanations through simulation?
- [ ] 🟢/🔴 Have you documented data sources for re-verification?
- [ ] 🟢/🔴 Have you tailored messages for each stakeholder audience?## Checklist — EVOLVE
### Methodology
- [ ] 🟢/🔴 Have you stress-tested the conclusion (what would disprove it)?
- [ ] 🟢/🔴 Have you set up monitoring for identified issues?
- [ ] 🟢/🔴 Have you connected findings back to the North Star metric?
### Quality
- [ ] 🟢/🔴 Are there perspectives missed in this analysis?
- [ ] 🟢/🔴 Are follow-up questions specifically defined?
- [ ] 🟢/🔴 Have you captured reusable knowledge for future analyses?
- [ ] 🟢/🔴 Are there parts to automate or schedule?
- [ ] 🟢/🔴 Have you summarized the key insight in one sentence?For Quick mode, use these 5 items:
Check: 🟢 Proceed / 🔴 Stop
- [ ] Is the purpose clear and framed (causation/correlation/comparison/evaluation)?
- [ ] Was the data broken down by groups (not just totals)?
- [ ] Were alternative explanations considered?
- [ ] Does the conclusion answer the question with a confidence level?
- [ ] Is there enough data (rows, time period) to support this conclusion?F-{YYYY}-{MMDD}-{sequence} (e.g., F-2026-0210-001)Q-{YYYY}-{MMDD}-{sequence} (e.g., Q-2026-0210-002)S-{YYYY}-{MMDD}-{sequence} (e.g., S-2026-0210-001)E-{YYYY}-{MMDD}-{sequence} (e.g., E-2026-0215-001)QE-{YYYY}-{MMDD}-{sequence} (e.g., QE-2026-0215-001)M-{YYYY}-{MMDD}-{sequence} (e.g., M-2026-0301-001)A-{YYYY}-{MMDD}-{sequence} (e.g., A-2026-0305-001)Analysis stages:
❓ ASK → 👀 LOOK → 🔍 INVESTIGATE → 📢 VOICE → 🌱 EVOLVEExperiment stages:
📐 DESIGN → ✅ VALIDATE → 🔬 ANALYZE → 🏁 DECIDE → 📚 LEARNStatus: ✅ Archived | ⏳ Pending | 🟡 In Progress
{ID}_{title-slug}/ (e.g., F-2026-0210-001_dau-drop-investigation/)quick_{ID}_{title-slug}.md{ID}_{title-slug}/ in ab-tests/active/quick_{ID}_{title-slug}.md in ab-tests/active/.analysis/models/{model-slug}_v{version}.md01_ask.md, 02_look.md, 03_investigate.md, 04_voice.md, 05_evolve.md01_design.md, 02_validate.md, 03_analyze.md, 04_decide.md, 05_learn.mdsummary.md with key insight, findings, and reproduction infoanalyses/active/ to analyses/archive/{YYYY-MM}/All AI responses and generated files must follow the language set in `.analysis/config.md`.
/analysis-init (any natural language accepted)CRITICAL: alive-analysis is a conversational workflow. Do NOT auto-fill analysis content. Each stage must be a dialogue with the user. The AI is a guide and co-analyst, not an auto-generator.
Each ALIVE stage follows a consistent pattern: AI asks questions → user provides domain knowledge → AI structures and documents → checklist review → user confirms before moving on.
Key behaviors per stage:
For full conversation examples, see core/references/conversation-examples.mdQuick mode follows the same methodology but compressed into a single file. The AI guides through all 5 lenses in a faster flow, using the 5-item abbreviated checklist.
For Quick mode examples (investigation + PM comparison), see core/references/conversation-examples.md § Quick ModeFor mode-specific conversation details, see core/references/conversation-examples.md § Mode-SpecificThe AI should seamlessly handle data that arrives during the conversation:
assets/ folderassets/ for reproducibilityWhen a user comes with a data question, the AI should help route it to the right format and priority BEFORE starting analysis.
Step 1: Identify the request type
| Request Pattern | Analysis Type | Example |
|---|---|---|
| "Why did X happen?" | 🔍 Investigation | "Why did retention drop?" |
| "Can we predict Y?" | 📈 Modeling | "Can we predict which users will churn?" |
| "What would happen if Z?" | 🔮 Simulation | "What if we raise prices 10%?" |
| "Does Z actually work?" | 🧪 Experiment | "Does the new onboarding improve activation?" |
| "What's the status of X?" | 📊 Monitor Check | "How's our conversion rate doing?" |
Step 2: Assess urgency and importance
| Urgent | Not Urgent | |
|---|---|---|
| Important | 🔴 Quick now, promote if needed | 🟡 Full analysis, proper timeline |
| Not Important | 🟡 Quick, keep it fast | 🟢 Quick, or defer entirely |
Urgency signals: executive is asking, something broke, decision deadline within days, metric is in 🔴 Critical. Importance signals: affects revenue/growth directly, large user impact, strategic decision, irreversible action.
Step 3: Choose Quick vs Full
| Factor | Quick | Full |
|---|---|---|
| Questions | 1 focused question | Multiple or complex questions |
| Data sources | 1-2, readily available | 3+, may need engineering support |
| Stakeholders | Self or immediate team | Multiple teams or leadership |
| Timeline | Hours to 1 day | Days to weeks |
| Precision needed | Directional ("roughly right") | Rigorous ("defensibly correct") |
| Expected output | Slack message, quick deck slide | Formal report, documented process |
AI triage conversation:
User: (describes a data question)
AI: "Let me help route this.
Type: {Investigation / Modeling / Simulation / Experiment / Monitor}
Urgency: {High / Medium / Low}
Suggested format: {Quick / Full}
Reasoning: {1 sentence why}
Does this sound right, or do you want to adjust?"Multiple requests at once: When a user brings multiple questions simultaneously, decompose them into separate analyses. Present the priority ordering and suggest tackling them sequentially:
AI: "You have 3 questions. Let me suggest an order:
1. {urgent one} — start as Quick now (urgent + important)
2. {strategic one} — schedule as Full next week
3. {exploratory one} — Quick later, or park for now
Each will be a separate analysis with its own ID.
Want to start with #1?"Priority when multiple requests arrive:
Routing edge cases:
/monitor-check). Second: is there a BI dashboard URL in config.md Data Stack? If yes, point the user there. If no, help pull the data directly and skip ALIVE. Document in assets/ if reusable./monitor-setup.These situations can happen at ANY stage. The AI should recognize them and respond accordingly.
#### Protocol 1: Scope Creep — "Can you also look at X?"
Scope creep is the most common analysis killer. Handle it explicitly:
Refinement vs Expansion — know the difference: Not every scope change is scope creep. Distinguish between:
The AI should recognize refinement vs expansion and only flag the protocol for true expansions.
Detection signals:
Response protocol:
AI: "That's a great question, but it's outside our current scope.
Let me capture it so we don't lose it.
Current scope: {original question from ASK}
New request: {what they just asked}
Options:
A. Park it — I'll add it to EVOLVE as a follow-up analysis
B. Swap it — Replace the current scope with this new question
C. Expand — Add it to current scope (⚠️ this will extend the timeline)
Which do you prefer?"Effort estimation (relative):
Rules:
/analysis-new --from {ID})Template for parked questions (add to current stage file):
## Parked Questions (out of scope)
- {question} — parked at {stage}, will address in follow-up#### Protocol 2: Rabbit Hole Guard — "One more thing..."
Analysis paralysis is real. The AI should actively guard against it.
Detection signals:
Response protocol:
AI: "Hold on — let me check where we are.
⏱️ Time check:
- Original scope from ASK: {question}
- Time estimate: {from ASK}
- Current depth: we're {N} levels deep on {sub-topic}
🎯 Actionability check:
- If this sub-analysis confirms our suspicion, does it change the recommendation?
- If YES → keep going
- If NO → we have enough to conclude. Let's move to VOICE.
What do you think — keep digging or wrap up this thread?"The "5-Why but not 50-Why" rule:
Depth indicators to surface:
🟢 Productive depth — each layer reveals new actionable insight
🟡 Diminishing returns — findings are confirming what we already know
🔴 Rabbit hole — interesting but won't change the conclusion#### Protocol 3: Data Quality Emergency — "Wait, this data is wrong"
Discovering bad data mid-analysis is one of the most frustrating situations. Handle it calmly and systematically.
Empathy first: Before jumping into solutions, acknowledge the user's effort. Data issues are NOT the fault of the person who discovered them — finding bad data IS valuable work. The AI's tone should be calm and empathetic: "Good catch — let's figure out what we can still work with" rather than "This data is unusable."
Detection signals:
Response protocol:
AI: "🚨 Potential data quality issue detected.
Let's assess the impact before deciding what to do.
Issue: {what's wrong}
Discovered at: {current stage}
Impact assessment:
1. Does this affect the CORE question, or just a side finding?
2. How much of our analysis so far is based on this data?
3. Can we work around it (different source, different date range)?
Options:
A. Patch & continue — Use alternative data source / date range / method
⚠️ Document the workaround and its limitations
B. Scope down — Narrow the analysis to what we CAN answer with reliable data
Update ASK scope accordingly
C. Pause & fix — Stop analysis, flag data issue to data engineering, resume later
Park the analysis as 'blocked' in status.md
D. Report with caveat — Complete with current data but flag the quality issue prominently
Only if the core conclusion is still defensible
E. Reframe — Go back to ASK and redefine the question based on what data IS available
Record the original question in a "Pivot History" section so context isn't lost
Which approach makes sense here?"Documentation requirements: When a data quality issue is found, always document in the current stage file:
## ⚠️ Data Quality Issue
- **Discovered**: {date}, during {stage}
- **Issue**: {description}
- **Impact**: {what's affected}
- **Resolution**: {A/B/C/D from above} — {details}
- **Remaining risk**: {what we still don't know}Rules:
#### Protocol 4: Analysis Independence — "Can you make the data show X?"
Maintaining analytical integrity is essential. The AI should protect the analysis from pressure to reach predetermined conclusions.
Detection signals:
Response protocol:
AI: "I want to make sure this analysis is defensible.
What you're asking: {restate the request}
Concern: {specific integrity issue}
- Excluding data without justification weakens the conclusion
- Choosing metrics after seeing results is a form of p-hacking
- Pre-determined conclusions make the analysis a rubber stamp, not an investigation
Options:
A. Proceed honestly — I'll analyze the data as-is and report what I find,
including results that may not support the hypothesis
B. Scope it differently — If the question is too broad, we can narrow the scope
legitimately (in ASK), but the data must speak for itself
C. Document the constraint — If there's a valid business reason for the scope
limitation, we document it transparently as a caveat
The analysis is more valuable when it's trustworthy — even if the answer
isn't what we hoped for."Common pressure scenarios and responses:
| Pressure | AI Response |
|---|---|
| "Remove the bad segment" | "I'll flag it as an outlier if it meets statistical criteria, but I won't silently drop it. I'll show results with and without." |
| "Just confirm our hypothesis" | "I'll test your hypothesis rigorously — if it's correct, the data will support it. If not, knowing that is even more valuable." |
| "Make the numbers look better" | "I can help frame the findings constructively, but I won't misrepresent the data. Let's find the real positive signal." |
| "We need this by tomorrow" | "I can do a Quick analysis by tomorrow, but I won't skip quality checks. A fast wrong answer is worse than a slightly slower right one." |
| "Don't show the confidence interval" | "Confidence intervals are essential for honest communication. I'll explain them in plain language so they're helpful, not confusing." |
Confirmation bias guard: During INVESTIGATE, the AI should actively counter confirmation bias:
Documentation requirement: If analytical integrity pressure occurs, document it in the current stage file:
## ⚠️ Independence Note
- **Date**: {date}
- **Pressure**: {what was requested}
- **Response**: {what was done instead}
- **Impact on analysis**: {how this affected the scope or approach}Rules:
| Use | When |
|---|---|
| Investigation | "Why did X happen?" — retrospective |
| Modeling | "Can we predict Y?" — predictive |
| Simulation | "What would happen if Z?" — prospective (no real users) |
| Experiment | "Does Z actually work?" — prospective (real users, controlled) |
Rule of thumb: Simulation says "this should work." Experiment says "this does work."
The same thinking framework, adapted to the experiment lifecycle:
| ALIVE | Experiment | Key Question |
|---|---|---|
| ASK → DESIGN | What exactly are we testing? | Is the hypothesis falsifiable? |
| LOOK → VALIDATE | Is the experiment set up correctly? | Is randomization clean? |
| INVESTIGATE → ANALYZE | What do the numbers say? | Is the effect real and meaningful? |
| VOICE → DECIDE | What should we do? | Launch, kill, extend, or iterate? |
| EVOLVE → LEARN | What did we learn? | What's the next experiment? |
1. One question per experiment
2. Pre-register your analysis plan
3. Respect the sample size
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.