← ClaudeAtlas

cqs-batchlisted

Execute multiple cqs queries in a single persistent session via stdin batch mode.
jamie8johnson/cqs · ★ 8 · AI & Automation · score 74
Install: claude install-skill jamie8johnson/cqs
# Batch Mode `cqs batch` reads commands from stdin, outputs compact JSONL. Persistent Store + lazy Embedder — amortizes startup cost across N commands. Supports pipeline syntax for chaining commands. ## Usage ```bash # Single command echo 'callers search_filtered' | cqs batch # Multiple commands printf 'callers gather\nexplain gather\nstats\n' | cqs batch # Pipeline — chain commands via | echo 'callees dispatch | callers | test-map' | cqs batch # From file cqs batch < commands.txt ``` ## Pipeline Syntax Chain commands with `|` — upstream names feed downstream commands via fan-out: ```bash # Search → get callers of each result echo 'search "error handling" --limit 5 | callers' | cqs batch # 3-stage: callees → callers of each → test coverage echo 'callees main | callers | test-map' | cqs batch # Dead code → explain each echo 'dead --min-confidence high | explain' | cqs batch ``` **Pipeable downstream commands:** blame, callers, callees, deps, explain, similar, impact, test-map, related, scout. Pipeline output is a JSON envelope (wrapped like every batch line, see Output below): ```json {"data": {"pipeline": "...", "stages": N, "results": [{"_input": "name", "data": ...}], "errors": [...], "total_inputs": N, "truncated": false}} ``` **Limits:** Max 50 names per stage (prevents fan-out explosion; override with `CQS_PIPELINE_FAN_OUT`, clamped 10-1000). Quoted pipes (`search "foo | bar"`) are not treated as separators. ## Supported Commands | Command | Example | |--