lucid-skill
AI-native data analysis skill. Connect Excel, CSV, MySQL, PostgreSQL — understand business semantics, query with SQL.
No API key required. No LLM inside — the AI agent is the brain; lucid-skill is the hands.
Features
- Multi-source: Excel (.xlsx/.xls), CSV, MySQL, PostgreSQL — all unified into SQL
- Semantic Layer: Define business meanings for tables and columns; persist as YAML, Git-friendly
- JOIN Discovery: Automatically find join paths between tables (direct + indirect)
- Domain Clustering: Auto-group tables into business domains
- Embedding Search: Optional multilingual vector search for table discovery
- Read-only Safety: Only SELECT allowed — mutating SQL is blocked at the engine level
Install
pip install lucid-skill
# Or with uv (recommended for OpenClaw)
uv tool install lucid-skill
# Optional: database drivers
pip install "lucid-skill[db]" # MySQL + PostgreSQL
# Optional: embedding search
pip install "lucid-skill[embedding]" # sentence-transformers
Quick Start
# Connect a data source
lucid-skill connect csv /path/to/sales.csv
# Explore schema and semantics
lucid-skill init-semantic
# Search tables by business meaning
lucid-skill search "销售额 客户"
# Query with SQL
lucid-skill query "SELECT product, SUM(amount) FROM sales GROUP BY product ORDER BY 2 DESC LIMIT 10"
Architecture
Agent ──→ lucid-skill CLI ──→ Connectors (Excel/CSV/MySQL/PG)
│ │
├── Catalog (DuckDB) └── DuckDB (in-memory query engine)
└── Semantic Store (YAML)
- No LLM inside — lucid-skill provides data access; the AI agent handles reasoning
- DuckDB unified — catalog storage + query engine, single dependency, no compilation needed
- Semantic persistence — YAML definitions survive restarts, shareable via Git
Supported Data Sources
| Type | Format | Notes |
|---|---|---|
| Excel | .xlsx, .xls |
Multiple sheets supported |
| CSV | .csv |
Auto-detects encoding and delimiter |
| MySQL | 5.7+ / 8.0+ | Reads foreign keys and column comments (pip install lucid-skill[db]) |
| PostgreSQL | 12+ | Reads foreign keys and column comments (pip install lucid-skill[db]) |
Environment Variables
| Variable | Default | Description |
|---|---|---|
LUCID_DATA_DIR |
~/.lucid-skill/ |
Data directory (catalog, semantic store, models) |
LUCID_EMBEDDING_ENABLED |
false |
Enable vector search (~460 MB model download on first use) |
Security
- Read-only: Only
SELECT/WITHstatements are allowed; all mutating SQL is blocked - No credentials stored: Database passwords are never written to disk
- Local only: All data stays on your machine
MCP Server Mode
lucid-skill also works as an MCP Server for platforms that support it:
lucid-skill serve
Development
git clone https://github.com/WiseriaAI/lucid-skill
cd lucid-skill
pip install -e ".[dev]"
pytest
License
MIT
Metadata
Release files for lucid-skill 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lucid_skill-2.0.0.tar.gz | 47.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lucid_skill-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 106.6 kB
Release files / lucid_skill-2.0.0.tar.gz
| Download URL | lucid_skill-2.0.0.tar.gz |
|---|---|
| Size | 47.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d25846304be7857e3d178c6a245cc763fca4de472583d7e6cc87a965c6bd7ac
|
|
BLAKE2b-256 checksum How to use checksums |
4cf561b74ec0ecc4e709a2f2e71cd8d382ae769b3cdede13773daa4037146043
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / lucid_skill-2.0.0-py3-none-any.whl
| Download URL | lucid_skill-2.0.0-py3-none-any.whl |
|---|---|
| Size | 58.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a3e0ea8aa2a756a3af10b50ce23f3d7c8356f5a283d6fbd2e9634c1ef6bd488
|
|
BLAKE2b-256 checksum How to use checksums |
7d1ae4ee0bba52ef8dc4a60898df0be909b197d9b505306efd6a2cc816f29aba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|