· 1 observation
Technical updates · 1
Package or technical metadata updated
View technical comparison →Ricardo Niederberger Cabral v0.1.1
Semantic filters for JSON
Developer declarations; not independently tested. Listing last checked Nov 4, 2026. Package observed Nov 3, 2026.
Not specified in the available declarations: capabilities, limitations, pricing & account requirements.
Use ajq to safely filter this JSON by meaning.
From the marketplace listing
Filter JSON and NDJSON records by meaning or classify text into a fixed set of labels with ajq. The skill helps you discover the installed CLI, validate queries with its deterministic mock backend, inspect the semantic plan, and run an explicitly selected model backend with a finite call cap. Requires shell access and a separately installed ajq CLI. Real semantic judgments require a configured local or cloud backend; the plugin does not bundle a model. Ordinary jq operations stay deterministic. General-purpose semantic extraction and redaction are outside this skill's scope. The plugin has no hosted service or usage telemetry. Input values can be sent to a cloud backend only when you select it, and successful semantic judgments are cached locally unless you disable the cache.
Language: English · Automatically detected from descriptions.
· 1 observation
Package or technical metadata updated
View technical comparison →Find competitors to follow as you develop your plugin.
Inspect local port owners through Codex, prevent collisions, and stop one selected process safely.
Shared terms: explicitly, hosted, safely, selected
Run mobile changes on Revyl cloud devices and verify them with screenshots and semantic validation through the Revyl CLI.
Shared terms: cli, cloud, semantic, shell
Local, read-only structural code navigation for Codex
Shared terms: bounded, call, installed, selected
Carry useful work across Codex chats with local memory you control
Shared terms: call, hosted, locally, ordinary
Offline text to speech on your own computer: add local speech to an app, pick a voice, make WAV files from text, clone a voice you have t...
Shared terms: cloud, sent, shell, local
---
name: ajq
description: Route JSON or NDJSON semantic filtering, semantic grep, and bounded fixed-label classification tasks to ajq. Use when matching meaning needs an explicit model boundary; do not use for ordinary structural jq or unsupported general extraction or redaction.
---
# ajq
Use ajq when a JSON or NDJSON task needs fuzzy semantic matching or assigning a
value to a small, fixed set of labels. Keep ordinary jq work in jq: it remains
byte-deterministic and never contacts an AI backend.
## Prerequisites
This skill requires shell access and an installed `ajq` executable. Check with
`command -v ajq` before running the workflow. If shell access or the executable
is unavailable, explain what is missing and link the
[installation guide](https://ricardocabral.github.io/ajq/docs/how-to/install/).
Do not report a command as executed when you could not run it.
## Before choosing ajq
- Use ordinary jq for exact fields, structural transforms, arithmetic, sorting,
grouping, and exact predicates.
- Do not use ajq for general semantic extraction or redaction. Those standalone
operations are not supported.
- Keep model use visible. Never introduce a semantic operator or backend without
saying so to the user.
## Safe workflow
1. Discover the installed contract before composing a query:
```bash
ajq capabilities --json
```
2. Build and check the structural jq pipeline first. It needs no backend:
```bash
printf '[{"id":1,"msg":"refund requested"}]' \
| ajq -c '.[] | {id, msg}'
```
3. Check the semantic query shape with the deterministic, no-network mock
backend. Mock validates command and split-execution shape; it does not judge
production semantic quality:
```bash
printf '[{"id":1,"msg":"refund requested"}]' \
| ajq --backend mock -c '.[] | select(.msg =~ "refund request") | {id, msg}'
```
4. Inspect the plan and estimated post-dedup judgements before selecting a real
backend. `--explain` does not run a provider:
```bash
printf '[{"msg":"refund requested"},{"msg":"profile updated"}]' \
| ajq --explain '.[] | select(.msg =~ "refund request") | .msg'
```
5. Once the user has authorized model use, choose an explicit backend and finite `--max-calls`
cap. Use `--stats` to report the actual work. Never put an API key in a
command, prompt, or repository file:
```bash
printf '[{"msg":"refund requested"}]' \
| ajq --backend local --max-calls 10 --stats \
-c '.[] | select(.msg =~ "refund request") | .msg'
```
For bounded classification, supply the labels in the query. This NDJSON example
uses the same no-network mock backend:
```bash
printf '{"id":1,"text":"billing question"}\n{"id":2,"text":"bug report"}\n' \
| ajq --backend mock -c '{id, route: sem_classify(.text; "billing"; "bug"; "feature")}'
```
Report the actual output and relevant plan or stats. Identify mock results as
execution-shape checks, not real semantic judgments. If a command fails, report
the error and correct the query or explain the missing prerequisite.
Use `--no-cache` for sensitive or one-off values when cache reads and writes
are inappropriate. For backend-specific setup and data-handling controls, see
the [agent-safe workflow](https://ricardocabral.github.io/ajq/docs/how-to/agent-safe-semantic-workflow/)
and [privacy policy](https://ricardocabral.github.io/ajq/privacy/).
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
Package observed Nov 3, 2026.
plugins_6ac94ffa561481918cd9538c5980d41c
Download plugin data (JSON)