helix-query-json-dynamic
Helix Dynamic Query JSON
Use this skill for inline dynamic query requests sent directly to POST /v1/query.
The inline query body is a JSON serialization of the Rust DSL AST. Every variant an agent can send is documented in the companion files. If you are writing anything beyond a trivial read, open REFERENCE.md first — do not guess variant names or field shapes.
Prefer a DSL when you are authoring queries inside a codebase. If the app is TypeScript, build queries with
helix-query-typescript(@helix-db/helix-db); if it is Rust, usehelix-query-rust. Those builders are type-checked and emit exactly this JSON, so you get the same wire format without hand-writing tagged ASTs. Reach for this skill (raw dynamic JSON) when you are debugging aPOST /v1/querycall, sending a one-off / dynamically-shaped request, working in a language without a DSL, or hand-inspecting the wire format — not as the default way to write application queries.
Reference Files
REFERENCE.md— complete AST variant catalog (everyStep,Predicate,Expr,PropertyValue,IndexSpec,RepeatConfig,BatchCondition, envelope field). Use when writing a non-trivial request.EXAMPLES.md— working end-to-end JSON bodies: reads, writes, vector/text search,Repeat,Choose,Coalesce,Union, aggregations, upserts,ForEach, index management, warming. Copy the closest scenario as a starting point.
When To Use
Use this skill when the task is to: