Interview
alirezarezvani/claude-skills
Phase 1 of building a Claude Managed Agent — interview the founder about the one job the agent should do, then produce a build sheet (CMA primitives table + v1/v2 deferrals + eval plan) WITHOUT…
Run a 4-phase conversational interview that populates the knowledge system from the user's real context.
$ npx skills add ai-analyst-lab/ai-analyst --skill setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ai-analyst-lab/ai-analyst setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/setup .claude/skills/setup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "setup" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/setup into .claude/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ai-analyst-lab/ai-analyst --skill setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ai-analyst-lab/ai-analyst setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/setup .agents/skills/setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "setup" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/setup into .agents/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ai-analyst-lab/ai-analyst --skill setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ai-analyst-lab/ai-analyst setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/setup .cursor/skills/setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "setup" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/setup into .cursor/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ai-analyst-lab/ai-analyst.git --path .claude/skills/setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ai-analyst-lab/ai-analyst --skill setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ai-analyst-lab/ai-analyst setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/setup .gemini/skills/setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "setup" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/setup into .gemini/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ai-analyst-lab/ai-analyst setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ai-analyst-lab/ai-analyst --skill setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/setup .github/skills/setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "setup" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/setup into .github/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ai-analyst-lab/ai-analyst --skill setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ai-analyst-lab/ai-analyst setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ai-analyst-lab/ai-analyst.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/setup .opencode/skills/setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "setup" agent skill from https://github.com/ai-analyst-lab/ai-analyst/tree/main/.claude/skills/setup into .opencode/skills/setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
setupRun a 4-phase conversational interview that populates the knowledge system from the user's real context.
Setup is an agent skill from ai-analyst-lab/ai-analyst. Run a 4-phase conversational interview that populates the knowledge system from the user's real context. Turns a blank .knowledge/ directory into a fully configured analytical environment. Use this skill whenever the user wants to set up the AI Analyst, configure their environment, get started with the tool, onboard themselves, connect their data for the first time, initialize their profile, or set up the system. Also trigger when users say things like "let's get started", "I'm new here", "configure the analyst"…
Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: AI Product Analyst — Claude Code-powered data analysis toolkit. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 52c0744. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Setup loads about 6k tokens when it runs. Until then it costs about 240 tokens; SKILL.md has 2,268 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ai-analyst-lab/ai-analyst at commit 52c0744, republished under its MIT licence (© ai-analyst-lab). 2,268 words, ~6,036 tokens.
.claude/skills/setup/SKILL.md (or your agent's skills folder).Run a 4-phase conversational interview that populates the knowledge system
from the user's real context. Turns a blank .knowledge/ directory into a
fully configured analytical environment.
Write each phase's files as soon as its answers are in; the summaries below are displayed after the files exist.
/setup status: Show current setup state/setup reset: Reset profile and preferences (Tier 1)/setup reset everything: Full reset including dataset connections (Tier 2)/setupset up my environmentconfigure the analystonboard medata/sales/.
I do not see that directory — did you mean data/?")null and move on. Never block progress
on optional fields.All setup state lives in .knowledge/setup-state.yaml. Create it on first
run if it does not exist.
# .knowledge/setup-state.yaml
setup_version: 1
started_at: "YYYY-MM-DDTHH:MM:SS"
last_updated: "YYYY-MM-DDTHH:MM:SS"
status: "complete" | "partial" | "in-progress"
phases:
role_and_team:
status: "complete" | "skipped" | "pending"
completed_at: "YYYY-MM-DDTHH:MM:SS" | null
data_connection:
status: "complete" | "partial" | "skipped" | "pending"
completed_at: "YYYY-MM-DDTHH:MM:SS" | null
partial_reason: null | "warehouse_mcp_needed"
business_context:
status: "complete" | "skipped" | "pending"
completed_at: "YYYY-MM-DDTHH:MM:SS" | null
preferences:
status: "complete" | "skipped" | "pending"
completed_at: "YYYY-MM-DDTHH:MM:SS" | nullGoal: Understand who the user is so we can adapt communication style, technical depth, and default output formats.
Run the system health check first so setup starts from facts, not assumptions:
from helpers.pipeline.health_check import run_health_check
report = run_health_check() # setup state, knowledge integrity, data connectivity, helper importsSummarize the report in three lines (what is configured, what is missing, what is broken). If a
helper import fails, stop and fix the environment (pip install -e ".[dev]") before continuing.
If setup state shows a partial previous run, offer to resume it instead of starting over.
Ask Group 1, then wait for the answer before Group 2.
Group 1 (ask these now, then wait):
Group 2 (ask AFTER Group 1 response): 3. "What team or department are you on?" (optional) 4. "What domain does your product operate in? (e.g., e-commerce, SaaS, fintech, marketplace, healthcare, media)" (optional)
After collecting all Phase 1 responses:
Step 1: Create the user directory if it doesn't exist:
mkdir -p .knowledge/userStep 2: Use the Write tool to create .knowledge/user/profile.md with this exact structure:
# User Profile
## Role & Expertise
- **Role:** {role}
- **Technical level:** {technical_level}
- **SQL comfort:** {inferred from technical_level: none for beginner, basic for intermediate, intermediate/advanced for advanced}
- **Statistics comfort:** {inferred: none for beginner, basic for intermediate, intermediate/advanced for advanced}
- **Domain:** {domain or "not specified"}
- **Team:** {team or "not specified"}
## Communication Preferences
_Set in Phase 4._
## Corrections Log
<!-- Format: YYYY-MM-DD | What was wrong | What was right -->Replace {role}, {technical_level}, etc. with actual values from the user's responses.
Step 3: Update .knowledge/setup-state.yaml:
If the file doesn't exist yet, use Write tool to create it with:
setup_version: 1
started_at: "{current timestamp in YYYY-MM-DDTHH:MM:SS format}"
last_updated: "{current timestamp}"
status: "in-progress"
phases:
role_and_team:
status: "complete"
completed_at: "{current timestamp}"
data_connection:
status: "pending"
completed_at: null
business_context:
status: "pending"
completed_at: null
preferences:
status: "pending"
completed_at: nullIf it already exists, use Edit tool to set:
phases.role_and_team.status: completephases.role_and_team.completed_at: "{current timestamp}"last_updated: "{current timestamp}"Step 4 - CHECKPOINT: Verify the files were created successfully by using Read tool on .knowledge/user/profile.md. If it doesn't exist, something went wrong. Fix it before proceeding.
After all files are created, display this exact format:
✓ Phase 1 complete — Role & Team
Role: {role}
Tech level: {technical_level}
Domain: {domain or "not specified"}
Team: {team or "not specified"}
Next up: Phase 2 — Data ConnectionThen proceed to Phase 2.
Goal: Get the user's data connected so analyses can run.
Group 1 (ask now, then wait):
The user's answer to Group 1 determines what happens next.
If CSV:
data/ and data/examples/ directories, then suggest alternatives.skill: "connect-data" and args: "type=csv path={the_path}"..knowledge/datasets/{dataset_name}/manifest.yaml exists to confirm success.If DuckDB:
skill: "connect-data", args: "type=duckdb path={the_path}".If Cloud warehouse:
.claude/mcp.json with your credentials."skill: "connect-data", args: "type={warehouse_type}" (warehouse_type = snowflake, bigquery, postgres, databricks, redshift, mssql, or mysql).partial.If Nothing yet / sample dataset:
data/examples/: ls -la data/examples/skipped in next step.After data connection attempt:
Use Edit tool on .knowledge/setup-state.yaml to set:
phases.data_connection.status:"complete" if manifest.yaml exists for the connected dataset"partial" if warehouse MCP setup is pending"skipped" if user chose to skipphases.data_connection.completed_at: current timestamp (or null if skipped)phases.data_connection.partial_reason: "warehouse_mcp_needed" if partial, otherwise nulllast_updated: current timestamp✓ Phase 2 complete — Data Connection
Source: {type} ({path or "pending MCP setup"})
Tables: {N} tables found (or "N/A — skipped")
Status: {connected | partial — warehouse setup needed | skipped}
Next up: Phase 3 — Business ContextThen proceed to Phase 3 (even if data connection is partial or skipped).
Goal: Understand the business so analyses produce relevant insights, not just numbers.
Group 1 (ask now, then STOP):
Group 2 (ask after Group 1 response, optional): 3. "What business question or problem are you trying to answer right now? This helps me prioritize what to explore first." (optional — user can skip) 4. "Are there any current OKRs or goals I should know about?" (optional)
Group 3 (ask only if domain warrants it, optional): 5. "Any key segments I should know about? (e.g., free vs paid users, regions, platforms)" (optional) 6. "Is there seasonality or known patterns in your data? (e.g., holiday spikes, end-of-quarter effects)" (optional)
Step 1: Use Write tool to create .knowledge/user/business-context.md:
# Business Context
## Company & Product
{company_description from Group 1 Q1}
## Key Metrics
| Metric | Definition | Notes |
|--------|-----------|-------|
| {metric_1 from Group 1 Q2} | {definition if user provided one, otherwise "TBD"} | |
| {metric_2 from Group 1 Q2} | {definition if provided, otherwise "TBD"} | |
| {metric_3 if provided} | {definition if provided, otherwise "TBD"} | |
## Current Focus
- **Primary question:** {business_question from Group 2 Q3, or "Not specified"}
- **OKRs/Goals:** {okrs from Group 2 Q4, or "Not specified"}
## Segments & Patterns
- **Key segments:** {segments from Group 3 Q5, or "Not specified"}
- **Seasonality:** {seasonality from Group 3 Q6, or "Not specified"}Step 2 (Optional - only if dataset is connected AND user provided metrics):
If Phase 2 status is "complete" (not skipped or partial), AND the user provided metrics in Group 1 Q2:
.knowledge/active.yaml to get the active dataset name.knowledge/datasets/{active}/metrics/index.yaml existsmetrics:
- name: "{metric_1}"
definition: ""
sql: ""
- name: "{metric_2}"
definition: ""
sql: ""If it already exists, skip this step (don't overwrite existing metrics).
Step 3: Use Edit tool on .knowledge/setup-state.yaml to set:
phases.business_context.status: completephases.business_context.completed_at: "{current timestamp}"last_updated: "{current timestamp}"Step 4 - CHECKPOINT: Use Read tool to verify .knowledge/user/business-context.md exists and contains the user's responses.
✓ Phase 3 complete — Business Context
Product: {one-line summary from company_description}
Key metrics: {metric_1}, {metric_2}, {metric_3 if provided}
Focus: {business_question or "General exploration"}
Next up: Phase 4 — PreferencesThen proceed to Phase 4.
Goal: Configure output style and communication preferences so results match what the user actually wants.
Group 1 (ask now, then STOP):
Group 2 (ask after Group 1 response, optional): 3. "How do you usually share results? (helps me format exports)
Step 1: Use Edit tool on .knowledge/user/profile.md to fill in the Communication Preferences section (currently says "Set in Phase 4.").
Replace that line with:
## Communication Preferences
- **Detail level:** {detail_level from Group 1 Q1}
- **Chart preference:** {chart_preference from Group 1 Q2}
- **Narrative style:** {infer: bullet-points for executive-summary, prose for deep-dive, mixed for standard}
- **Preferred exports:** {export_channels from Group 2 Q3, or "Not specified"}
- **Custom notes:** {anything_else from Group 2 Q4, or "None"}Step 2: Use Edit tool on .knowledge/setup-state.yaml to set:
phases.preferences.status: completephases.preferences.completed_at: "{current timestamp}"status: "complete" (or "partial" if data_connection status was partial)last_updated: "{current timestamp}"Step 3 - CHECKPOINT: Use Read tool to verify .knowledge/user/profile.md now contains the Communication Preferences section with actual values (not "Set in Phase 4.").
After Phase 4 completes, display this comprehensive summary:
=== SETUP COMPLETE ===
Role: {role} ({technical_level})
Domain: {domain}
Data: {dataset_name} — {N} tables ({source_type})
({or "None connected" if data was skipped})
Key metrics: {metric_1}, {metric_2}, {metric_3}
Detail level: {detail_level}
Charts: {chart_preference}
Status: {"✓ Ready for analysis" | "⚠ Partial — data connection pending"}
Get started:
- Ask a question: "What's our {metric_1} trend?"
- Explore data: /data
- Full pipeline: /run-pipeline
- Dev context: /setup-dev-context (optional — for development workflow preferences)If setup status is partial, also display:
To finish data setup: /connect-dataShow the current setup state by reading .knowledge/setup-state.yaml.
Step 1: Check if .knowledge/setup-state.yaml exists using Read tool.
Step 2: If file doesn't exist, display:
Setup has not been started yet. Run /setup to begin.Step 3: If file exists, read it and display:
Setup Status
============
Phase 1 — Role & Team: {status} {completed_at or ""}
Phase 2 — Data Connection: {status} {completed_at or ""}
{partial_reason if status is partial}
Phase 3 — Business Context: {status} {completed_at or ""}
Phase 4 — Preferences: {status} {completed_at or ""}
Overall: {status}
Started: {started_at}
Updated: {last_updated}Two-tier reset system to prevent accidental data loss.
/setup resetClears profile and preferences (Phase 1 + Phase 4 data). Does NOT touch data connections or business context.
Before proceeding, ask the user:
This will reset your role profile and output preferences. Your data connections and business context are safe.
Continue? (yes/no)STOP. Wait for explicit "yes" before continuing. If user says anything other than "yes" (including "no", "cancel", "wait", etc.), respond:
Reset cancelled. Your setup is unchanged.And DO NOT proceed with deletion.
Step 1: Use Bash tool to delete profile:
rm -f .knowledge/user/profile.mdStep 2: Use Edit tool on .knowledge/setup-state.yaml to set:
phases.role_and_team.status: pendingphases.role_and_team.completed_at: nullphases.preferences.status: pendingphases.preferences.completed_at: nullstatus: partiallast_updated: "{current timestamp}"Step 3: Display:
✓ Profile and preferences reset. Your data and business context are preserved.
Run /setup to reconfigure your profile./setup reset everythingClears the entire setup — profile, preferences, business context, AND dataset connections. This is destructive.
Display this prompt:
This will erase your entire setup:
- User profile and preferences
- Business context
- All dataset connections and schema documentation
This cannot be undone.
To confirm, type exactly: reset everythingSTOP. Wait for user input.
If user types anything OTHER than the exact phrase "reset everything" (case-sensitive), respond:
Reset cancelled. Your setup is unchanged.And DO NOT proceed.
Only if user types "reset everything" exactly, proceed with deletion.
Step 1: Use Bash tool to delete all setup files:
rm -f .knowledge/user/profile.md
rm -f .knowledge/user/business-context.md
rm -rf .knowledge/datasets/
rm -f .knowledge/active.yamlStep 2: Use Write tool to reset .knowledge/setup-state.yaml to initial state:
setup_version: 1
started_at: "{current timestamp}"
last_updated: "{current timestamp}"
status: "pending"
phases:
role_and_team:
status: "pending"
completed_at: null
data_connection:
status: "pending"
completed_at: null
business_context:
status: "pending"
completed_at: null
preferences:
status: "pending"
completed_at: nullStep 3: Display:
✓ Complete reset finished. All setup data has been cleared.
Run /setup to start fresh.When /setup is invoked and .knowledge/setup-state.yaml already exists:
Step 1: Use Read tool to read .knowledge/setup-state.yaml.
Step 2: Check the status field and phase statuses. Determine state:
Step 3: Route based on state:
If all phases are complete: Display:
Setup is already complete. Use /setup status to review, or /setup reset to start over.STOP. Do not proceed to Phase 1.
If some phases are complete: Find the first phase with status "pending". Display:
Welcome back. Phase{s} {completed_phase_numbers} are done. Picking up at Phase {next_phase_number} — {phase_name}.Then jump directly to that phase (skip completed phases).
If a phase is "partial": Check which phase is partial. If it's Phase 2 (data_connection):
Phase 2 (Data Connection) is partially complete — your warehouse needs MCP configuration.
Want to finish that now (enter 'finish'), or continue to Phase 3 (enter 'continue')?Wait for user response. If "finish", invoke Connect Data skill. If "continue", proceed to Phase 3.
/connect-data and are stored in manifest.yaml or environment variables only./setup reset is always Tier 1. Tier 2
requires the exact phrase "reset everything".| Scenario | Handling |
|---|---|
User runs /setup but profile.md already exists | Warn and ask to confirm overwrite before proceeding. Use Read tool to check for existing profile before Phase 1. |
| CSV path does not exist | Use Bash ls to check path. Suggest data/ and data/examples/ alternatives. |
| User provides warehouse type but no MCP | Mark Phase 2 as partial with reason "warehouse_mcp_needed". Continue to Phase 3. |
| User skips all optional fields | Fine. Record nulls ("not specified") and proceed. |
| User wants to jump to specific phase | If they say "/setup phase 3", read setup-state.yaml, verify Phases 1-2 are complete, then jump to Phase 3. |
| Session ends mid-interview | State is saved after each phase. Next /setup reads setup-state.yaml and resumes from first pending phase. |
/setup called during active pipeline | Warn: "Setup changes may affect the running pipeline. Finish the pipeline first, or continue at your own risk." |
| User gives contradictory answers | Ask once for clarification: "Earlier you said X, now you're saying Y. Which should I record?" Use their final answer. |
| Setup-state.yaml exists but profile.md doesn't | This indicates inconsistent state (likely Phase 1 was marked complete but file wasn't written). Warn user: "Setup state says Phase 1 is complete, but profile.md is missing. I'll recreate it." Then run Phase 1 questions and create the file. |
© ai-analyst-lab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/setup of ai-analyst-lab/ai-analyst.
Open the folder on GitHubat commit 52c0744
Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Setup this skillai-analyst-lab/ai-analyst | 304 | — | ~6k | Automated safety check: Pass | MIT | |
| Interviewalirezarezvani/claude-skills | 28k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Interviewcodewhale-hq/Codewhale | 41k | — | ~232 | Automated safety check: Pass | MIT | |
| Interview Meaddyosmani/agent-skills | 103k | 6 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Interview Coachsickn33/agentic-awesome-skills | 47k | 2 repos | ~751 | Automated safety check: Pass | MIT | |
| Modeling Conversion MetricsPostHog/posthog | 40k | — | ~1.4k | Automated safety check: Pass | Custom licence |
alirezarezvani/claude-skills
Phase 1 of building a Claude Managed Agent — interview the founder about the one job the agent should do, then produce a build sheet (CMA primitives table + v1/v2 deferrals + eval plan) WITHOUT…
codewhale-hq/Codewhale
Ask one useful structured question at a time only when material product/implementation choices are genuinely missing; remember answers and produce a brief/spec.
addyosmani/agent-skills
Asks one question at a time, each with a best guess attached, until the agent is about 95 percent sure what you really want, before any plan, spec or code.
sickn33/agentic-awesome-skills
Full job search coaching system — JD decoding, resume, storybank, mock interviews, transcript analysis, comp negotiation.
PostHog/posthog
Build reusable conversion models — funnel/step conversion rates, drop-off, and time-to-convert — on either PostHog data-warehouse views (HogQL) or an external dbt project.
Q00/ouroboros
Socratic interview to crystallize vague requirements. An agent skill from Q00/ouroboros.
ai-analyst-lab/ai-analyst
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.
ai-analyst-lab/ai-analyst
Retrieve proven SQL patterns, table cheatsheets, and join patterns from .knowledge/query-archaeology/ so past work gets reused.
ai-analyst-lab/ai-analyst
Save completed analyses to the knowledge system's analysis archive for future reference.
ai-analyst-lab/ai-analyst
Verify Google Workspace MCP authentication at the start of any session that needs Google APIs (Docs, Slides, Drive).
ai-analyst-lab/ai-analyst
Causal inference toolkit for when experiments are not possible: estimate treatment effects from observational data with assumption checks and mandatory caveats.
ai-analyst-lab/ai-analyst
Standardized workflow for uploading local chart PNGs to Google Drive and making them available for insertion into Google Docs and Slides.
Run a 4-phase conversational interview that populates the knowledge system from the user's real context. Setup is an agent skill from ai-analyst-lab/ai-analyst. Run a 4-phase conversational interview that populates the knowledge system from the user's real context.
Setup fits situations like: the user wants to set up the AI Analyst; configure their environment; get started with the tool; onboard themselves.
Run `npx skills add ai-analyst-lab/ai-analyst --skill setup -a claude-code`. Or copy the skill folder (.claude/skills/setup in ai-analyst-lab/ai-analyst) into .claude/skills/setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ai-analyst-lab/ai-analyst --skill setup -a codex`. Or copy the skill folder (.claude/skills/setup in ai-analyst-lab/ai-analyst) into .agents/skills/setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ai-analyst-lab/ai-analyst --skill setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup, .gemini/skills/setup, .github/skills/setup and .opencode/skills/setup in your project.
Going by SKILL.md and its folder, Setup needs the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Setup: Interview (alirezarezvani/claude-skills, 28k stars), Interview (codewhale-hq/Codewhale, 41k stars), Interview Me (addyosmani/agent-skills, 103k stars) and Interview Coach (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ai-analyst-lab (a GitHub organization) maintains it in ai-analyst-lab/ai-analyst, which has 304 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on September 30, 2026.
Source: ai-analyst-lab/ai-analyst on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.