| name | squix |
| description | Run SQL queries across databases (Postgres, MySQL, SQLite, etc.) via the squix CLI. Use for running named queries, exploring schema, or parameterized queries. Always use -f for non-interactive output. |
Squix Skill for AI Coding Agents
What is Squix
Squix is a CLI tool for managing and executing SQL queries across multiple
databases (PostgreSQL, MySQL, SQLite, Oracle, SQL Server, ClickHouse, Firebird).
It stores named queries in ~/.config/squix/config.yaml.
Critical Rules
- Always use
-f with squix run for SELECT queries — without it, SELECT results open an interactive TUI; non-SELECT queries print a status message either way
- No inline connection flag — must
squix switch <name> before queries
- Check connection first — run
squix status to verify reachability
Non-Interactive Output
squix run <query> -f json
squix run <query> -f csv
squix run <query> -f tsv
squix run <query> -f markdown
squix run <query> -f html
squix run <query> -f sql
squix run "SELECT 1" -f json
squix run --last -f csv
Output goes to stdout, errors to stderr. Exit code 1 on failure.
Pipe cleanly: squix run list_users -f json > users.json
Empty results: "No results found" on stderr, nothing on stdout.
Setup Workflow
squix init mydb "postgresql://user:pass@localhost:5432/mydb"
squix switch mydb
squix add list_users "SELECT * FROM users"
squix run list_users -f json
Explore Schema
squix explore
squix explain orders -d 2
List Queries
squix list queries
squix list queries --oneline
squix list connections
Parameterized Queries
Named params use :name syntax. Optional defaults with :name|default:
squix add user_by_id "SELECT * FROM users WHERE id = :user_id"
squix run user_by_id --user_id 42 -f csv
squix run user_by_id 42 -f csv
Status & Cleanup
squix status
squix remove list_users
echo y | squix remove -c mydb
Commands to Avoid (Interactive)
squix run <query> without -f on a SELECT — opens TUI
squix shell — interactive REPL
squix edit — opens $EDITOR
squix explore <table> — opens TUI
squix info — opens TUI
squix add <name> without SQL — opens $EDITOR
squix run with no args — opens $EDITOR