data-inspect
Skill304 starsChanged 2 months agoMITView on GitHub
Show the active dataset's schema — tables, columns, row counts, and relationships. Optionally drill into a specific table. Use this skill whenever the user invokes `/data` or `/data {table}`, or asks questions like "what tables do I have?", "show me the schema", "what's in this dataset?", "what columns are in the users table?", "show me table structure", "list tables", "describe the data", "what's in my database?", or any request to inspect, browse, or understand the structure of the active dataset. Also trigger when users mention "schema", "columns", "tables", "data dictionary", "data structure", or when they need to understand what data they're working with before starting an analysis. This is a foundational command that should be offered proactively when users seem unsure about available data or table structure. DISAMBIGUATION: this is the `/data` SCHEMA inspector (structure — tables, columns, types, row counts). For a dataset-wide health + relationships overview ("tell me about this data"), use `data-map`; for interactive browsing/sampling, use `/explore`; for deep statistical profiling (distributions, anomalies), use `data-profiling`.
In this repository65 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- always-compareSkill
- analysis-designSkill
- analyst-coreSkill
- archaeologySkill
- archive-analysisSkill
- auth-preflightSkill
- businessSkill
- causalSkill
- chart-to-driveSkill
- close-the-loopSkill
- codex-reviewSkill
- compare-datasetsSkill
- connect-dataSkill
- connect-snowflakeSkill
- context-compareSkill
- context-traceSkill
- data-mapSkill
- data-profilingSkill
- data-quality-checkSkill
- datasetsSkill
- distribution-profilerSkill
- evalSkill
- evaluate-graderSkill
- experiment-briefSkill
- experimentSkill
- exploreSkill
- exportSkill
- forecastSkill
- google-doc-exportSkill
- google-slides-exportSkill
- guardrailsSkill
- historySkill
- improve-contextSkill
- knowledge-bootstrapSkill
- log-correctionSkill
- maintain-contextSkill
- metric-specSkill
- metricsSkill
- monitor-evalsSkill
- notion-exportSkill
- paceSkill
- patternsSkill
- question-framingSkill
- question-routerSkill
- reliabilitySkill
- resume-pipelineSkill
- run-pipelineSkill
- runsSkill
- score-analysisSkill
- session-handoffSkill
- setup-dev-contextSkill
- setup-notionSkill
- setupSkill
- setup-slackSkill
- setup-snowflakeSkill
- srm-checkSkill
- stakeholder-communicationSkill
- stress-testSkill
- switch-datasetSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Read .knowledge/active.yaml to determine the active dataset name
- Distinctive: line 21
If no active dataset exists, jump to Mode 3 (No Active Dataset)
- Distinctive: line 60
Keep it visually scannable — this is a quick reference, not exhaustive detail
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: Data Inspect
Purpose
Show the active dataset's schema — tables, columns, row counts, and relationships. Optionally drill into a specific table.
When to Use
Invoke as /data to see the full schema summary, or /data {table} to see column details for a specific table.
Instructions
Start here
Before doing ANYTHING else:
- Read
.knowledge/active.yamlto determine the active dataset name - If no active dataset exists, jump to Mode 3 (No Active Dataset)
- Otherwise, read
.knowledge/datasets/{active}/schema.mdfor schema information
Why this matters: Users often have multiple datasets connected. You MUST use the active one from the config file, never guess or use a different dataset.
Mode 1: /data (full schema overview)
When: User invokes /data or asks "what tables do I have?" / "show me the schema"
Steps:
- ✅ Confirm you've already read
.knowledge/active.yamlandschema.md(see above) - Extract from schema.md:
- Dataset display name
- Connection type and location
- Table list with: name, row count, column count, primary key
- Display in this condensed format:
Active Dataset: {display_name}
Connection: {type} ({database}.{schema} or file path)
Tables:
users ~50,000 rows 8 columns user_id (PK)
products 500 rows 7 columns product_id (PK)
events ~6.5M rows 9 columns event_id (PK)
sessions ~1.4M rows 8 columns session_id (PK)
orders ~30-50K rows 6 columns order_id (PK)
order_items — rows 4 columns order_id + product_id (composite PK)
Use `/data {table}` for column details.Format notes:
- Left-align table names
- Show approximate row counts (use
~for estimates) - Show column count
- Show primary key or composite key
- Keep it visually scannable — this is a quick reference, not exhaustive detail
Mode 2: /data {table} (table detail)
When: User invokes /data {table} or asks "what columns are in X?" / "show me the X table structure"
Steps:
- ✅ Confirm you've already read
.knowledge/active.yamlandschema.md(see above) - Find the section for the requested table in schema.md
- If table doesn't exist: Jump to Mode 4 (Table Not Found)
- If table exists: Display:
- Table name and description
- Row count
- Full column listing: name, type, nullable, description
- Primary key(s)
- Foreign key relationships (both FROM this table and TO this table)
- Any important notes about the table (grain, completeness, quirks)
Format example:
Active Dataset: {dataset_name}
Table: users
Description: User dimension table with demographics and signup info
Row count: ~25,000 rows
Primary Key: user_id
Columns:
user_id BIGINT NOT NULL Unique user identifier
email VARCHAR NOT NULL User email address
signup_date DATE NULL Date user first registered
country VARCHAR NULL User's country
membership_tier VARCHAR NULL Premium, Standard, Free
Relationships:
← orders.customer_id (one user, many orders)
← events.user_id (one user, many events)
→ memberships.user_id (join for membership details)
Use `/data {another_table}` to inspect another table.Mode 3: No Active Dataset
When: .knowledge/active.yaml has no active_dataset field OR the dataset directory doesn't exist
Display:
No active dataset configured.
To get started:
• Run `/connect-data` to connect a new dataset
• Run `/datasets` to see all available datasets
• Run `/switch-dataset {name}` to activate an existing datasetDo NOT: Try to query databases, load CSV files, or guess which data source to use. Without an active dataset, halt and prompt the user.
Mode 4: Table Not Found
When: User requests /data {table} but the table doesn't exist in the active dataset's schema.md
Steps:
- Confirm the table truly doesn't exist (check schema.md thoroughly, look for typos/case differences)
- Display a helpful error message:
Table '{table}' not found in {dataset_name}.
Available tables:
users, orders, products, events, sessions
Did you mean:
• /data {closest_match}
• /switch-dataset {other_dataset} if you're looking for different data
• /connect-data if the table should exist but isn't loaded
Use `/data` to see the full schema.Do NOT: Query databases or try to load data from other sources. The skill reads from cached schema files only.
Anti-Patterns
- Never query the database just to show schema — read from the cached schema.md file for speed. Schema files are pre-generated during dataset connection and profiling.
- Never show the full schema.md raw — always format into the condensed table view. Users want quick scannable reference, not walls of markdown.
- Read
.knowledge/active.yamlfirst — users often have several datasets connected, and the active pointer is the only source of truth for which one to show. - Never query actual data — this skill shows structure only (schema, relationships). For data exploration, use the
/exploreskill or Data Explorer agent. - Never fabricate table information — if schema.md doesn't have row counts, say "~rows not profiled". If descriptions are missing, show what's available. Don't make up details.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

