psql-query
The psql-query command executes read-only PostgreSQL analytics queries against development or test databases in Elixir Phoenix projects. Use it to analyze database metrics, user statistics, query performance, and table sizes by running SELECT queries through psql, Mix tasks, or the Tidewave MCP integration when available, while strictly preventing production database access.
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/oliver-kriska/claude-elixir-phoenix/HEAD/.claude/commands/psql-query.md -o ~/.claude/commands/psql-query.mdpsql-query.md
# PostgreSQL Analytics
Run analytics queries against the local database using psql or `mix run`.
## Rules
- NEVER run against production
- Use READ-ONLY queries (SELECT only)
- For complex analysis, use `Repo.query/2` in a Mix task
- Format results as ASCII tables or pipe to `column -t`
## Tidewave Integration
If Tidewave MCP is available, prefer it over psql/mix run:
- `mcp__tidewave__execute_sql_query` for direct SQL queries
- `mcp__tidewave__project_eval` for Ecto-based queries via `Repo.query!/2` or `Repo.all/1`
Fall back to psql/mix run only if Tidewave is not detected.
## Workflow
1. Check if Tidewave MCP is available — if yes, use `mcp__tidewave__execute_sql_query`
2. Otherwise, detect database URL from `config/dev.exs` or `DATABASE_URL`
3. Run query via: `psql $DATABASE_URL -c "YOUR QUERY" --expanded`
4. For Ecto: `mix run -e 'MyApp.Repo.query!("SELECT ...") |> IO.inspect()'`
5. Summarize results
## Example prompts
- "How many users signed up this week?"
- "Show me the slowest queries from pg_stat_statements"
- "What's the table size distribution?"
- "Show index usage stats"|
|
Analyzes skill effectiveness data to identify failure patterns and recommend improvements. Use after /skill-monitor flags underperforming skills.
Find and report technical debt in the codebase
|
|
Guide plugin development workflow — editing skills, agents, hooks, or eval framework in this repo. Use when modifying files in plugins/elixir-phoenix/, lab/eval/, or lab/autoresearch/. Ensures changes pass eval, lint, and tests before committing.
Generate X/Twitter release promotion posts with ASCII tables and CodeSnap rendering. Use when writing release posts, promotion tweets, plugin announcements, or preparing social media content for new versions.