.claude/skills/first-run-welcome/SKILL.md
# Skill: First-Run Welcome ## Purpose Provide an adaptive welcome experience based on setup state. Routes new users through `/setup` for guided onboarding. Welcomes returning users with context about their active dataset and quick actions. ## When to Use - Session start (triggered by Knowledge Bootstrap) - Before any analysis work begins ## Instructions ### Step 1: Detect setup state Read `.knowledge/setup-state.yaml`. Classify into one of three states: 1. **Cold start** — file does not ex
npx skillsauth add ai-analyst-lab/ai-analyst .claude/skills/first-run-welcomeInstall 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.
Provide an adaptive welcome experience based on setup state. Routes new users
through /setup for guided onboarding. Welcomes returning users with context
about their active dataset and quick actions.
Read .knowledge/setup-state.yaml. Classify into one of three states:
setup_complete: false with no
phases_completed (empty or missing).setup_complete: false, and at least one
entry in phases_completed.setup_complete: true.Present this welcome and route to /setup:
Welcome to AI Analyst — your analytical partner for product teams.
I help you turn business questions into validated insights, charts, and
presentations. Think funnel analysis, segmentation, root cause investigation,
trend detection — from question to slide deck.
Let's get you set up. I'll walk you through a quick interview to learn about
your data, your role, and what you want to analyze.
Starting setup now...
Then invoke /setup to begin the guided interview. Do NOT show dataset info,
tutorial content, or example queries. The setup flow handles all onboarding.
Read phases_completed and phases_remaining from .knowledge/setup-state.yaml.
Welcome back! Your setup is partially complete.
Done: [list phases_completed]
Remaining: [list phases_remaining]
Want to pick up where you left off? Type `/setup` to resume, or ask me
a question if you'd rather dive in.
Read context from:
.knowledge/active.yaml → active_dataset name.knowledge/datasets/{active}/manifest.yaml → table count.knowledge/analyses/index.yaml → last_updated for last analysis dateWelcome back! Here's where things stand:
Dataset: [DATASET_NAME] ([N] tables)
Last analysis: [DATE or "none yet"]
Quick actions:
- Ask a question — "What's our conversion rate by channel?"
- /explore — interactive data exploration
- /run-pipeline — full analysis from question to deck
What would you like to work on?
If active_dataset is null (setup complete but no data connected), show:
Welcome back! Setup is complete but no dataset is active yet.
- /connect-data — add a dataset
- /datasets — see available datasets
What would you like to do?
After presenting the welcome:
/setup. Do not proceed with analysis./setup, hand off. If user asks a question,
route through Question Router and note that setup can be finished later./setup flow handles all onboarding.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