data-context-extractor — Claude Code skill: automate data warehouse
Extracts tribal knowledge from data analysts about your warehouse and auto-generates reference files. Runs in bootstrap mode for initial setup and iteration mode to add new domains.
npx skills add anthropics/knowledge-work-plugins --skill data-context-extractor -a claude-codeWhat data-context-extractor does
data-context-extractor automates reference guide creation for company-specific data analysis. The skill connects to your warehouse (BigQuery, Snowflake, PostgreSQL, Databricks), explores the schema, and converses with analysts to map out entities, metric formulas, standard filters, and common pitfalls.
Bootstrap mode generates initial files: entity definitions, metric formulas, table documentation by domain, and gotchas. Iteration mode loads an existing skill and appends new domain documentation without overwriting. Under the hood, the skill uses warehouse tools (~~data warehouse schema and query), runs SQL queries matched to your dialect (BigQuery and Snowflake examples included), and produces structured reference files with sample queries and definitions. Install this if your project has established business logic and terminology Claude needs to know before writing queries.
What it helps with
- generate warehouse reference guides without manual writing
- teach Claude to distinguish entity types and relationships
- document metric formulas and standard filters for queries
- capture analyst experience in one file so newcomers avoid common mistakes
- add new data domains to an existing skill without rebuilding from scratch
Example prompts for the agent
- Create a data skill for our Snowflake warehouse
- Add marketing tables and LTV calculation context to the existing skill
- Generate a reference guide for our database—document the schema and typical filters
How to install data-context-extractor
1Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill data-context-extractor -a claude-code2Manually: put the files in place
~/.claude/skills/data-context-extractor/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/data-context-extractor/
1Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill data-context-extractor -a codex2Manually: put the files in place
.agents/skills/data-context-extractor/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill data-context-extractor -a cursor2Manually: put the files in place
.cursor/skills/data-context-extractor/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install anthropics/knowledge-work-plugins data-context-extractor2Manually: put the files in place
.github/skills/data-context-extractor/SKILL.md1Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill data-context-extractor -a gemini-cli2Platform CLI
gemini skills install https://github.com/anthropics/knowledge-work-plugins --path data/skills/data-context-extractorManually: put the files in place
.devin/skills/data-context-extractor/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill data-context-extractor -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set89
The whole set →Similar
Questions about data-context-extractor
How do I install data-context-extractor in Claude Code?
Run npx skills add anthropics/knowledge-work-plugins --skill data-context-extractor -a claude-code, then open ~/.claude/skills/data-context-extractor/SKILL.md to verify.
What does data-context-extractor do?
The skill connects to your data warehouse, asks analysts about entities, metrics, and gotchas, then generates reference files that help Claude write correct queries with proper filters and calculations.
Which data warehouses does this skill support?
BigQuery, Snowflake, PostgreSQL, Redshift, and Databricks. The skill automatically selects the right SQL dialect when exploring your schema.
Source text
SKILL.md · Apache-2.0
---
name: data-context-extractor
description: >
Generate or improve a company-specific data analysis skill by extracting tribal knowledge from analysts.
BOOTSTRAP MODE - Triggers: "Create a data context skill", "Set up data analysis for our warehouse",
"Help me create a skill for our database", "Generate a data skill for [company]"
→ Discovers schemas, asks key questions, generates initial skill with reference files
ITERATION MODE - Triggers: "Add context about [domain]", "The skill needs more info about [topic]",
"Update the data skill with [metrics/tables/terminology]", "Improve the [domain] reference"
→ Loads existing skill, asks targeted questions, appends/updates reference files
Use when data analysts want Claude to understand their company's specific data warehouse,
terminology, metrics definitions, and common query patterns.
---
# Data Context Extractor
A meta-skill that extracts company-specific data knowledge from analysts and generates tailored data analysis skills.
## How It Works
This skill has two modes:
1. **Bootstrap Mode**: Create a new data analysis skill from scratch
2. **Iteration Mode**: Improve an existing skill by adding domain-specific reference files
---
## Bootstrap Mode
Use when: User wants to create a new data context skill for their warehouse.
### Phase 1: Database Connection & Discovery
**Step 1: Identify the database type**
Ask: "What data warehouse are you using?"
Common options:
- **BigQuery**
- **Snowflake**
- **PostgreSQL/Redshift**
- **Databricks**
Use `~~data warehouse` tools (query and schema) to connect. If unclear, check available MCP tools in the current session.
**Step 2: Explore the schema**
Use `~~data warehouse` schema tools to:
1. List available datasets/schemas
2. Identify the most important tables (ask user: "Which 3-5 tables do analysts query most often?")
3. Pull schema details for those key tables
Sample exploration queries by dialect:
```sql
-- BigQuery: List datasets
SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA
-- BigQuery: List tables in a dataset
SELECT table_name FROM `project.dataset.INFORMATION_SCHEMA.TABLES`
-- Snowflake: List schemas
SHOW SCHEMAS IN DATABASE my_database
-- Snowflake: List tables
SHOW TABLES IN SCHEMA my_schema
```
### Phase 2: Core Questions (Ask These)
After schema discovery, ask these questions conversationally (not all at once):
**Entity Disambiguation (Critical)**
> "When people here say 'user' or 'customer', what exactly do they mean? Are there different types?"
Listen for:
- Multiple entity types (user vs account vs organization)
- Relationships between them (1:1, 1:many, many:many)
- Which ID fields link them together
**Primary Identifiers**
> "What's the main identifier for a [customer/user/account]? Are there multiple IDs for the same entity?"
Listen for:
- Primary keys vs business keys
- UUID vs integer IDs
- Legacy ID systems
**Key Metrics**
> "What are the 2-3 metrics people ask about most? How is each one calculated?"
Listen for:
- Exact formulas (ARR = monthly_revenue × 12)
- Which tables/columns feed each metric
- Time period conventions (trailing 7 days, calendar month, etc.)
**Data Hygiene**
> "What should ALWAYS be filtered out of queries? (test data, fraud, internal users, etc.)"
Listen for:
- Standard WHERE clauses to always include
- Flag columns that indicate exclusions (is_test, is_internal, is_fraud)
- Specific values to exclude (status = 'deleted')
**Common Gotchas**
> "What mistakes do new analysts typically make with this data?"
Listen for:
- Confusing column names
- Timezone issues
- NULL handling quirks
- Historical vs current state tables
### Phase 3: Generate the Skill
Create a skill with this structure:
```
[company]-data-analyst/
├── SKILL.md
└── references/
├── entities.md # Entity definitions and relationships
├── metrics.md # KPI calculations
├── tables/ # One file per domain
│ ├── [domain1].md
│ └── [domain2].md
└── dashboards.json # Optional: existing dashboards catalog
```
**SKILL.md Template**: See `references/skill-template.md`
**SQL Dialect Section**: See `references/sql-dialects.md` and include the appropriate dialect notes.
**Reference File Template**: See `references/domain-template.md`
### Phase 4: Package and Deliver
1. Create all files in the skill directory
2. Package as a zip file
3. Present to user with summary of what was captured
---
## Iteration Mode
Use when: User has an existing skill but needs to add more context.
### Step 1: Load Existing Skill
Ask user to upload their existing skill (zip or folder), or locate it if already in the session.
Read the current SKILL.md and reference files to understand what's already documented.
### Step 2: Identify the Gap
Ask: "What domain or topic needs more context? What queries are failing or producing wrong results?"
Common gaps:
- A new data domain (marketing, finance, product, etc.)
- Missing metric definitions
- Undocumented table relationships
- New terminology
### Step 3: Targeted Discovery
For the identified domain:
1. **Explore relevant tables**: Use `~~data warehouse` schema tools to find tables in that domain
2. **Ask domain-specific questions**:
- "What tables are used for [domain] analysis?"
- "What are the key metrics for [domain]?"
- "Any special filters or gotchas for [domain] data?"
3. **Generate new reference file**: Create `references/[domain].md` using the domain template
### Step 4: Update and Repackage
1. Add the new reference file
2. Update SKILL.md's "Knowledge Base Navigation" section to include the new domain
3. Repackage the skill
4. Present the updated skill to user
---
## Reference File Standards
Each reference file should include:
### For Table Documentation
- **Location**: Full table path
- **Description**: What this table contains, when to use it
- **Primary Key**: How to uniquely identify rows
- **Update Frequency**: How often data refreshes
- **Key Columns**: Table with column name, type, description, notes
- **Relationships**: How this table joins to others
- **Sample Queries**: 2-3 common query patterns
### For Metrics Documentation
- **Metric Name**: Human-readable name
- **Definition**: Plain English explanation
- **Formula**: Exact calculation with column references
- **Source Table(s)**: Where the data comes from
- **Caveats**: Edge cases, exclusions, gotchas
### For Entity Documentation
- **Entity Name**: What it's called
- **Definition**: What it represents in the business
- **Primary Table**: Where to find this entity
- **ID Field(s)**: How to identify it
- **Relationships**: How it relates to other entities
- **Common Filters**: Standard exclusions (internal, test, etc.)
---
## Quality Checklist
Before delivering a generated skill, verify:
- [ ] SKILL.md has complete frontmatter (name, description)
- [ ] Entity disambiguation section is clear
- [ ] Key terminology is defined
- [ ] Standard filters/exclusions are documented
- [ ] At least 2-3 sample queries per domain
- [ ] SQL uses correct dialect syntax
- [ ] Reference files are linked from SKILL.md navigation section
© anthropics · Apache-2.0 · anthropics/knowledge-work-plugins