Install
openclaw skills install q-kdb-code-reviewAI-powered code review for Q/kdb+ — catch bugs in the most terse language in finance
openclaw skills install q-kdb-code-reviewAI-powered code review for Q/kdb+ — catch bugs, performance issues, and security vulnerabilities in the most terse language in quantitative finance.
Reviews Q/kdb+ code with deep understanding of Q idioms, performance patterns, and common pitfalls. Built for quant developers, kdb+ DBAs, and trading infrastructure teams.
Catches:
peach parallelism opportunities for embarrassingly parallel operationseval/value usage on user-supplied strings (Q injection)`g# grouped attributes on high-cardinality join columnsaj (asof joins) or wj (window joins)Strictness modes:
| Mode | What it checks |
|---|---|
standard | Bugs, correctness, type errors, join semantics, null handling |
strict | Everything in standard + performance (attributes, peach, vector ops) + style |
security | Everything in standard + injection via string eval, unprotected IPC handlers, exposed .z.pw, port exposure |
Intelligent routing via Astrai: Complex algorithmic Q (custom signal generation, real-time CEP) routes to powerful models. Simple table operations (selects, inserts, schema definitions) route to cheaper, faster models. You get the best result at the lowest cost.
BYOK (Bring Your Own Keys): Your provider API keys, your billing. Astrai routes to the best model among your configured providers.
export ASTRAI_API_KEY="your_key_here"
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
/review-q on any .q file/review-q Review current Q file
/review-q --strict Strict mode: bugs + performance + style
/review-q --focus security Security mode: eval injection, IPC, .z.pw
/review-q --file tick.q Review a specific file
Reviewing tick.q (strict mode)...
Model: claude-opus-4-6 via Astrai
Found 3 issues:
[CRITICAL] Line 12: Missing `s# attribute on time column
`trade` table uses `aj` but `time` column lacks sorted attribute.
Without `s#`, asof join scans linearly — O(n) instead of O(log n).
Fix: trade: `trade upsert update `s#time from trade
[WARNING] Line 34: Using `each` where vector operation suffices
{x*y} each' (price;qty) can be replaced with price*qty
Vector multiply is ~100x faster than each-both.
[INFO] Line 45: Consider `peach` for independent symbol processing
Processing each symbol sequentially. Since operations are independent,
`peach` would utilize all cores.
Fix: results: func peach syms
Summary: 1 critical, 1 warning, 1 info. Focus on the missing sorted
attribute — it will cause aj performance to degrade from microseconds
to milliseconds at scale.
| Variable | Required | Description |
|---|---|---|
ASTRAI_API_KEY | Yes | API key from as-trai.com |
ANTHROPIC_API_KEY | No | BYOK: Anthropic provider key |
OPENAI_API_KEY | No | BYOK: OpenAI provider key |
GOOGLE_API_KEY | No | BYOK: Google AI provider key |
DEEPSEEK_API_KEY | No | BYOK: DeepSeek provider key |
MISTRAL_API_KEY | No | BYOK: Mistral provider key |
GROQ_API_KEY | No | BYOK: Groq provider key |
TOGETHER_API_KEY | No | BYOK: Together AI provider key |
FIREWORKS_API_KEY | No | BYOK: Fireworks AI provider key |
COHERE_API_KEY | No | BYOK: Cohere provider key |
PERPLEXITY_API_KEY | No | BYOK: Perplexity provider key |
REVIEW_STRICTNESS | No | Default strictness: standard, strict, or security |
| Endpoint | Purpose |
|---|---|
as-trai.com/v1/chat/completions | Astrai inference router — routes Q review requests to the optimal model |
Q is unlike any mainstream programming language:
each instead of vector operations adds interpreter overhead per element./, \, ', /:, \:, ':) modify function behavior in powerful but subtle ways. +/ is reduce-add, +\ is scan-add, +' is each-both-add. Confusing these causes wrong results, not errors.Uses Astrai's inference routing. Your costs depend on the models selected:
| Plan | Rate | Includes |
|---|---|---|
| Free | $0 | 1,000 requests/day |
| Pro | $49/mo | 50,000 requests/day, priority routing |
| Business | $199/mo | Unlimited requests, dedicated support |
With BYOK, you pay your provider directly at their rates. Astrai's routing is included in the plan price.