Exasol database
Skill exasol-labs/exasol-agent-skills/plugins/exasol/skills/exasol-database
Exasol skills for AI agents. Optimized for Claude Code and OpenAI Codex π€
npx -y skills add exasol-labs/exasol-agent-skills --skill exasol-databaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Exasol database interaction via exapump CLI and Exasol SQL. Covers SQL queries, schema inspection, table design, query profiling, analytics, and Exasol-specific SQL behavior outside exasol-import and exasol-export.
SKILL.md
5.4 KB, as published. Nobody here has run it
Exasol Database Skill
Trigger when the user asks for Exasol database interaction, exapump, Exasol SQL, EXA_ system views, schemas, tables, or query execution outside exasol-import and exasol-export.
Step 0: Establish Connection
Ensure a working exapump profile before proceeding:
- If the user mentions a specific profile name β test it:
exapump sql --profile <name> "SELECT 1"(always place--profileafter the subcommand). On success, use--profile <name>on all subsequent commands. - Otherwise β test the default profile:
exapump sql "SELECT 1". - On success β proceed. No further connection setup needed.
- On failure β run
exapump profile listto check available profiles.- If profiles exist β present the list and ask the user which to use, then retry with
exapump sql --profile <name> "SELECT 1"(always place--profileafter the subcommand). - If no profiles β tell the user to run
exapump profile add defaultto create one, then retry.
- If profiles exist β present the list and ask the user which to use, then retry with
- Never read or reference the exapump configuration file β it contains credentials.
Routing Algorithm
After the connection is established, determine the task type and load only the references needed:
-
SQL execution (queries, DDL, DML, schema inspection):
- Load:
references/exapump-reference.md(CLI usage) - Load:
references/exasol-sql.md(core SQL behavior) - Load:
references/exasol-grammar.mdfor the exact statement syntax (SELECT/DQL, DDL, DML, DCL, session & admin) β the EBNF the docs.exasol.com syntax diagrams are generated from. Consult it before inventing syntax or when unsure a clause exists. Read only the section you need β it is large. - Load:
references/exasol-grammar-functions.mdfor built-in function, operator, predicate, literal, and data-type syntax (e.g. the exact argument order of a function). Same EBNF source, split out so statement lookups don't pull in the full function catalog. - Load:
references/exasol-reserved-keywords.mdand ingest the full list before designing queries β every reserved word (pinned to Exasol 2026.1.0) must be double-quoted when used as an identifier. On a keyword-related syntax error, re-query the running DB as described in Before writing any SQL in case the file has drifted from the DB version.
- Load:
-
Table design (DISTRIBUTE BY, PARTITION BY, CREATE TABLE layout):
- Load:
references/table-design.md
- Load:
-
Query profiling / performance (slow queries, data skew, REORGANIZE):
- Load:
references/query-profiling.md
- Load:
-
Analytics / window functions (ROW_NUMBER, RANK, LAG/LEAD, QUALIFY, GROUPING SETS):
- Load:
references/analytics-qualify.md - Load:
references/exasol-grammar-functions.mdfor exact analytic-function andOVER (β¦)window-clause syntax
- Load:
-
BucketFS file management (upload/download/list/delete files in BucketFS, bfsdefault, bucket paths):
- Activate the exasol-bucketfs skill for guidance
-
UDF development (CREATE SCRIPT, ExaIterator, SCALAR/SET, Script Language Containers, SLC, exaslct):
- Activate the exasol-udfs skill for guidance
Multiple routes can apply β load all that match.
- Before writing any SQL (applies to routes 1β4):
- Ingest
references/exasol-reserved-keywords.mdbefore designing queries β load the reserved-word list (pinned to Exasol 2026.1.0) up front so you quote reserved identifiers from the start rather than discovering them through errors - Always double-quote every identifier (column names, table names, schema names) in SELECT, FROM, WHERE, GROUP BY, ORDER BY, and JOIN clauses β without exception
- This preserves mixed-case names and prevents reserved-keyword errors in a single rule
- Do NOT quote SQL keywords, functions, or aliases β only object identifiers
- If a query fails with a syntax error that looks like an unquoted reserved word, do not trust the pinned file blindly β the DB may be newer or older than 2026.1.0 and the list can drift either way. Fetch the authoritative list for the running version and reconcile:
exapump sql "SELECT KEYWORD FROM EXA_SQL_KEYWORDS WHERE RESERVED ORDER BY KEYWORD" - For the exact shape of any clause (optional parts, ordering, comma-lists), consult
references/exasol-grammar.md(statements) orreferences/exasol-grammar-functions.md(functions / predicates / literals / data types) rather than guessing from examples.
- Ingest
Related Skills
This skill handles core database interaction: connecting, SQL execution, schema inspection, and table design.
For direct native IMPORT and local file movement into Exasol, use exasol-import.
For direct native EXPORT and local file movement out of Exasol, use exasol-export.
For broad extension, connector, or federation selection, use exasol-extension-catalog.
For BucketFS file management (upload, download, list, delete), the exasol-bucketfs skill provides specialized guidance and will activate automatically when relevant.
For UDF development and Script Language Containers, the exasol-udfs skill provides specialized guidance and will activate automatically when relevant.