← ClaudeAtlas

filter-translatorlisted

Convert a plain-text filter description into a syntactically correct expression in a target query/filter format — OData $filter, JQL, MongoDB, SQL WHERE, or RQL. Use when the user asks to turn a description into a filter/query (e.g. "convert this to a MongoDB filter", "give me the JQL for...", "as an OData $filter", "as an RQL query", "make a SQL WHERE clause for these conditions"). For OData/RQL, can also produce the RFC 3986 percent-encoded URL form on request. Always resolves field names, then confirms the resulting logical expression in plain text before producing the final syntax.
vslipchenko/ai · ★ 0 · API & Backend · score 68
Install: claude install-skill vslipchenko/ai
# Filter Translator Turn a plain-text description of a filter into a correct expression in one of the supported target formats, grounded in that format's real grammar (bundled reference files, not guessed from memory) and confirmed with the user before final serialization. ## Supported formats (v1) | Format | Reference file | |---|---| | OData `$filter` (v4/v4.01) | `references/odata.md` | | JQL (Jira Query Language) | `references/jql.md` | | MongoDB query filter documents | `references/mongodb.md` | | SQL `WHERE` clause | `references/sql.md` | | RQL (FIQL-derived) | `references/rql.md` | This is a fixed, curated set — not an open-ended "any format" converter. Other formats (GraphQL filter args, Elasticsearch/Lucene, LDAP, SCIM, JSON:API, Google AIP-160/CEL, Kubernetes label selectors, ...) aren't supported yet; adding one is a matter of adding another reference file, not a redesign. **RFC 3986 (`references/rfc3986.md`) is not a selectable target format** — it has no filter grammar of its own (no operators, no AND/OR), so there's nothing to "convert to." It's the percent-encoding mechanism OData and RQL use internally in Step 7, when their output needs to be embedded in an actual URL rather than handed over as a raw expression. `<SKILL_DIR>` below is this skill's own announced base directory (the path shown when this skill loads, ending in `.../skills/filter-translator`) — scripts live at `<SKILL_DIR>/scripts/encode_query.{py,mjs}`. ## Step 1 — Resolve the target forma