From ai-analyst
Guides connection of CSV files, DuckDB, MotherDuck, PostgreSQL, BigQuery, and Snowflake datasets with credential setup, validation, schema profiling, and knowledge brain integration.
npx claudepluginhub ai-analyst-lab/ai-analyst-plugin --plugin ai-analystThis skill uses the workspace's default tool permissions.
Guided wizard to connect a new dataset. Walks the user through selecting
Interviews users to extract tribal knowledge about datasets/databases, generating reusable data context skills for documentation and analysis.
Switches active dataset: validates target in data_sources.yaml with fuzzy matching, checks manifest.yaml, updates active.yaml pointer and history, confirms with summary of tables, date range, connection. Triggered by /switch-dataset or phrases like 'switch to dataset'.
Plans DataHub connectors by classifying source systems, researching via agent or inline, and generating _PLANNING.md blueprints with entity mappings and architecture decisions. For new connector design or source research.
Share bugs, ideas, or general feedback.
Guided wizard to connect a new dataset. Walks the user through selecting a connection type, configuring credentials, validating the connection, profiling the schema, and setting up the knowledge brain.
/connect-data or "connect my database" or "add a new dataset"/switch-dataset when the target dataset doesn't exist yet/connect-data — start the connection wizard
/connect-data type=postgres — skip type selection
Present options:
For CSV:
For DuckDB:
SELECT 1For MotherDuck:
For PostgreSQL / BigQuery / Snowflake:
connection_templates/$PG_PASSWORD).<workspace>/.knowledge/datasets/{id}/ directorymanifest.yaml from the connection template + user inputsquirks.md with section headersmetrics/index.yamlUse ConnectionManager from helpers/connection_manager.py:
test_connection()list_tables() to enumerate tablesget_table_schema()schema.md using schema_to_markdown() from helpers/data_helpers.py<workspace>/.knowledge/datasets/{id}/schema.md<workspace>/.knowledge/active.yaml to point to the new dataset/explore to browse, /metrics to define metrics,
or just ask a question<workspace>/.knowledge/datasets/{id}/ tree even if profiling fails/datasets)When invoked as /datasets, display all connected datasets with their status.
Read <workspace>/data_sources.yaml to get the list of registered sources.
Read <workspace>/.knowledge/active.yaml to determine which dataset is currently active.
For each registered source, check if <workspace>/.knowledge/datasets/{name}/manifest.yaml exists. If it does, read summary stats (table_count, date_range, analysis_count, last_used).
Connected Datasets:
* your_dataset (active)
Your Dataset Name — {table_count} tables, {date_range}
Connection: {type} ({database})
Analyses: 0
- {other_dataset}
{display_name} — {table_count} tables, {date_range}
Connection: {type} ({details})
Analyses: {count}
Commands:
/switch-dataset {name} — switch active dataset
/connect-data — connect a new dataset
/data — inspect active dataset schema
Mark the active dataset with *. Mark others with -.
<workspace>/.knowledge/datasets/ dirs without a data_sources.yaml entry should be ignoredSee references/connection-guide.md for SQL dialect-specific guidance for each connection type.