From keboola-cli
Analyzes Keboola project structures, JSON config files for transformations, extractors, writers, and orchestrations. Useful for editing data pipelines and understanding .keboola directories.
How this skill is triggered — by the user, by Claude, or both
Slash command
/keboola-cli:keboola-configThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Provide expertise on Keboola project structure, configuration formats, and best practices for managing data pipelines.
Provide expertise on Keboola project structure, configuration formats, and best practices for managing data pipelines.
A Keboola project pulled locally has this structure:
project-root/
├── .keboola/
│ └── manifest.json # Project metadata and branch info
├── .env.local # API token (never commit)
├── .env.dist # Template for .env.local
├── .gitignore
└── [branch-name]/ # One directory per branch
└── [component-id]/ # e.g., keboola.snowflake-transformation
└── [config-name]/ # Configuration directory
├── config.json # Main configuration
├── meta.json # Metadata (name, description)
└── rows/ # Configuration rows (if applicable)
Located in .keboola/manifest.json, contains:
The main configuration file for each component. Structure varies by component type but typically includes:
parameters - Component-specific settingsstorage - Input/output table mappingsprocessors - Pre/post processing stepsMetadata about the configuration:
{
"name": "Configuration Name",
"description": "What this configuration does",
"isDisabled": false
}
SQL or Python/R transformations for data processing.
Snowflake Transformation (keboola.snowflake-transformation):
{
"parameters": {
"blocks": [
{
"name": "Block Name",
"codes": [
{
"name": "Script Name",
"script": ["SELECT * FROM table"]
}
]
}
]
},
"storage": {
"input": {
"tables": [
{
"source": "in.c-bucket.table",
"destination": "table"
}
]
},
"output": {
"tables": [
{
"source": "output_table",
"destination": "out.c-bucket.result"
}
]
}
}
}
Components that pull data from external sources (databases, APIs, files).
Common extractors:
keboola.ex-db-snowflake - Snowflake extractorkeboola.ex-google-analytics-v4 - Google Analyticskeboola.ex-generic-v2 - Generic HTTP API extractorComponents that push data to external destinations.
Common writers:
keboola.wr-db-snowflake - Snowflake writerkeboola.wr-google-sheets - Google Sheets writerWorkflow definitions that run multiple configurations in sequence.
Located in keboola.orchestrator/ with:
kbc diff before and after changeskbc validate to check configuration validityIn config.json, add to storage.input.tables:
{
"source": "in.c-bucket.new_table",
"destination": "new_table",
"columns": [] // Empty = all columns
}
In config.json, add to storage.output.tables:
{
"source": "result_table",
"destination": "out.c-bucket.result",
"primary_key": ["id"]
}
Edit the script array in the relevant block/code section. Each array element is a SQL statement.
npx claudepluginhub keboola/ai-kit --plugin keboola-cliManages Keboola Connection projects via kbagent CLI: explores configs, jobs, and lineage; syncs configs as local files (GitOps); manages branches, buckets, and data apps; encrypts secrets; debugs SQL in workspaces; and handles bulk onboarding.
Implements features and extends Keboola Python components: extractors/writers/apps, incremental loads, configuration schemas, API clients, self-documenting patterns, Ruff quality. For logic/architecture dev.
Develops Streamlit data apps for Keboola deployment: validates schemas with Keboola MCP, builds SQL-first implementations, tests with Playwright. For dashboards, filters, pages, debugging.