← ajqCONTENT HISTORY

Update to ajq

Snapshot Oct 24, 2026 · 13:55 UTC · version 0.1.1

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save ajq and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "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.",
  "included_files": [],
  "name": "ajq",
  "skill_md_contents": "---\nname: ajq\ndescription: 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.\n---\n\n# ajq\n\nUse ajq when a JSON or NDJSON task needs fuzzy semantic matching or assigning a\nvalue to a small, fixed set of labels. Keep ordinary jq work in jq: it remains\nbyte-deterministic and never contacts an AI backend.\n\n## Prerequisites\n\nThis skill requires shell access and an installed `ajq` executable. Check with\n`command -v ajq` before running the workflow. If shell access or the executable\nis unavailable, explain what is missing and link the\n[installation guide](https://ricardocabral.github.io/ajq/docs/how-to/install/).\nDo not report a command as executed when you could not run it.\n\n## Before choosing ajq\n\n- Use ordinary jq for exact fields, structural transforms, arithmetic, sorting,\n  grouping, and exact predicates.\n- Do not use ajq for general semantic extraction or redaction. Those standalone\n  operations are not supported.\n- Keep model use visible. Never introduce a semantic operator or backend without\n  saying so to the user.\n\n## Safe workflow\n\n1. Discover the installed contract before composing a query:\n\n   ```bash\n   ajq capabilities --json\n   ```\n\n2. Build and check the structural jq pipeline first. It needs no backend:\n\n   ```bash\n   printf '[{\"id\":1,\"msg\":\"refund requested\"}]' \\\n     | ajq -c '.[] | {id, msg}'\n   ```\n\n3. Check the semantic query shape with the deterministic, no-network mock\n   backend. Mock validates command and split-execution shape; it does not judge\n   production semantic quality:\n\n   ```bash\n   printf '[{\"id\":1,\"msg\":\"refund requested\"}]' \\\n     | ajq --backend mock -c '.[] | select(.msg =~ \"refund request\") | {id, msg}'\n   ```\n\n4. Inspect the plan and estimated post-dedup judgements before selecting a real\n   backend. `--explain` does not run a provider:\n\n   ```bash\n   printf '[{\"msg\":\"refund requested\"},{\"msg\":\"profile updated\"}]' \\\n     | ajq --explain '.[] | select(.msg =~ \"refund request\") | .msg'\n   ```\n\n5. Once the user has authorized model use, choose an explicit backend and finite `--max-calls`\n   cap. Use `--stats` to report the actual work. Never put an API key in a\n   command, prompt, or repository file:\n\n   ```bash\n   printf '[{\"msg\":\"refund requested\"}]' \\\n     | ajq --backend local --max-calls 10 --stats \\\n         -c '.[] | select(.msg =~ \"refund request\") | .msg'\n   ```\n\nFor bounded classification, supply the labels in the query. This NDJSON example\nuses the same no-network mock backend:\n\n```bash\nprintf '{\"id\":1,\"text\":\"billing question\"}\\n{\"id\":2,\"text\":\"bug report\"}\\n' \\\n  | ajq --backend mock -c '{id, route: sem_classify(.text; \"billing\"; \"bug\"; \"feature\")}'\n```\n\nReport the actual output and relevant plan or stats. Identify mock results as\nexecution-shape checks, not real semantic judgments. If a command fails, report\nthe error and correct the query or explain the missing prerequisite.\n\nUse `--no-cache` for sensitive or one-off values when cache reads and writes\nare inappropriate. For backend-specific setup and data-handling controls, see\nthe [agent-safe workflow](https://ricardocabral.github.io/ajq/docs/how-to/agent-safe-semantic-workflow/)\nand [privacy policy](https://ricardocabral.github.io/ajq/privacy/).\n"
}

SHA-256 of public snapshot: 7744cc82fd410ffeb13b025b8a8f839b80f611561d7c238428de44180b08969a