.claude/skills/question-framing/SKILL.md
# Skill: Question Framing ## Purpose Structure analytical questions using the Question Ladder framework so every analysis starts with a clear decision context, measurable success criteria, and testable hypotheses. ## When to Use Apply this skill when starting any new analysis, when a user asks a vague question ("How are we doing?"), or when an analysis request lacks decision context. Always frame before analyzing. ## Instructions ### Pre-flight: Load Learnings Before executing, check `.knowl
npx skillsauth add ai-analyst-lab/ai-analyst .claude/skills/question-framingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Structure analytical questions using the Question Ladder framework so every analysis starts with a clear decision context, measurable success criteria, and testable hypotheses.
Apply this skill when starting any new analysis, when a user asks a vague question ("How are we doing?"), or when an analysis request lacks decision context. Always frame before analyzing.
Before executing, check .knowledge/learnings/index.md for relevant entries:
Every analytical question climbs four rungs:
GOAL → What business outcome are we trying to achieve?
DECISION → What specific decision will this analysis inform?
METRIC → What will we measure to inform that decision?
HYPOTHESIS → What do we expect to find, and why?
The rule: Never start analyzing data until you can state all four rungs. If the requester only gives you a goal ("improve retention"), your first job is to climb the ladder before touching data.
Step 1: Extract the decision Ask: "What will you DO differently based on the answer?"
Step 2: Define success criteria Ask: "How will you know the analysis answered your question?"
Step 3: Form testable hypotheses Ask: "What do you think is happening, and why?"
Step 4: Identify data requirements Ask: "What data do we need, and do we have it?"
| Bad Question | Problem | Good Question | |---|---|---| | "How are our users doing?" | No decision context, unmeasurable | "Did the onboarding redesign improve Day-7 retention for new users?" | | "Analyze our funnel" | No hypothesis, no scope | "Where in the signup-to-purchase funnel are we losing the most users, and does it differ by acquisition channel?" | | "What's our conversion rate?" | Reporting, not analysis | "Why did conversion rate drop 15% in March, and is it affecting all segments equally?" | | "Tell me about churn" | Too broad, no decision | "Which user segments have the highest 90-day churn rate, and what behaviors predict churn in the first 30 days?" | | "Is our product doing well?" | Unmeasurable, no comparison | "How does our monthly active user growth compare to Q3, and which features are driving engagement?" |
When multiple questions emerge, prioritize:
HIGH IMPACT
│
┌─────────────┼─────────────┐
│ DO FIRST │ PLAN FOR │
│ (Quick win) │ (Strategic) │
HIGH │ │ │
FEASIBILITY ──────────────┼──────────────── LOW
│ │ │ FEASIBILITY
│ DO IF TIME │ SKIP │
│ (Nice to have)│ (Not worth) │
└─────────────┼─────────────┘
│
LOW IMPACT
Impact criteria:
Feasibility criteria:
# Question Brief: [Title]
## Date: [YYYY-MM-DD]
### Business Context
[2-3 sentences: what's happening, why this matters now]
### The Question Ladder
| Rung | Statement |
|------|-----------|
| **Goal** | [Business outcome] |
| **Decision** | [Specific action this informs] |
| **Metric** | [What we'll measure] |
| **Hypothesis** | [What we expect to find and why] |
### Success Criteria
[How we'll know the analysis answered the question — specific thresholds or conditions]
### Data Requirements
| Data Needed | Source | Available? | Notes |
|-------------|--------|-----------|-------|
| [metric/field] | [table/system] | Yes/No/Partial | [gaps, caveats] |
### Scope
- **Time range:** [specific dates]
- **Segments:** [which user groups, geographies, platforms]
- **Exclusions:** [what we're intentionally leaving out and why]
### Priority
- **Impact:** [High/Medium/Low — with justification]
- **Feasibility:** [High/Medium/Low — with justification]
- **Recommendation:** [Do First / Plan For / Do If Time / Skip]
Incoming request: "Can you look at our signup numbers?"
Reframed: | Rung | Statement | |------|-----------| | Goal | Increase new user signups by 20% in Q1 | | Decision | Should we invest in fixing the mobile signup flow or increasing top-of-funnel traffic? | | Metric | Signup completion rate by device type + traffic source conversion rate | | Hypothesis | Mobile signup completion rate is <50% of desktop because the form doesn't render properly on small screens. Fixing mobile is higher ROI than more traffic. |
Incoming request: "I'm curious about our power users"
Reframed: | Rung | Statement | |------|-----------| | Goal | Increase the percentage of users who become power users (>10 sessions/month) | | Decision | Which onboarding interventions should we prioritize to convert casual → power users? | | Metric | Behaviors in first 7 days that predict power user status at Day 30 | | Hypothesis | Users who complete the tutorial AND create a project in their first session are 3x more likely to become power users. The tutorial completion rate is only 23%. |
Incoming request: "Analyze our churn"
Reframed: | Rung | Statement | |------|-----------| | Goal | Reduce 90-day churn from 35% to 25% | | Decision | Which segment's churn should we tackle first — low-engagement users or users who hit a specific friction point? | | Metric | 90-day churn rate by: (a) engagement tier in first 30 days, (b) last feature used before churning | | Hypothesis | Users who never use Feature X churn at 2x the rate of users who do. Feature X has a discoverability problem, not a value problem. |
testing
# Skill: {{BLANK_1_SKILL_NAME}} ## Purpose {{BLANK_2_WHEN_TO_FIRE}} ## When to Use Fires automatically when the user asks Claude to do something that matches the trigger condition above. ## Instructions 1. Detect the trigger condition 2. Execute your guardrail check 3. If the check matters, print a clear, visible warning with "{{BLANK_3_SIGNATURE_PHRASE}}" as the first line 4. Continue with the analysis, incorporating the warning into the output ## Anti-Patterns - Do not fire when the condit
development
# Skill: Visualization Patterns ## Purpose Ensure every chart Claude Code produces follows high-quality design standards with named themes, consistent styling, and clear data communication. ## When to Use Apply this skill whenever generating a chart, graph, or data visualization. Always apply the active theme unless the user specifies otherwise. Default theme: `minimal`. ## Instructions ### Pre-flight: Load Learnings Before executing, check `.knowledge/learnings/index.md` for relevant entrie
development
# Skill: Triangulation / Sanity Check ## Purpose Cross-reference analytical findings against multiple data sources, external benchmarks, and common sense to catch errors before they become bad decisions. ## When to Use Apply this skill after every analysis, before presenting findings to stakeholders, and whenever a result seems surprising. If a finding would change a decision, it MUST be triangulated first. ## Instructions ### Triangulation Framework Every finding gets checked through four
data-ai
# Skill: Tracking Gap Identification ## Purpose Assess whether the data needed for an analysis actually exists, identify what's missing, and produce prioritized instrumentation requests for engineering when gaps are found. ## When to Use Apply this skill after the Data Explorer agent inventories available data, when an analysis requires data that might not exist, or when initial query results suggest incomplete tracking. Run before committing to an analysis approach. ## Instructions ### Gap