cqs-batchlisted
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:** callers, callees, deps, explain, similar, impact, test-map, related, scout.
Pipeline output is a JSON envelope:
```json
{"pipeline": "...", "stages": N, "results": [{"_input": "name", "data": ...}], "errors": [...], "total_inputs": N, "truncated": false}
```
**Limits:** Max 50 names per stage (prevents fan-out explosion). Quoted pipes (`search "foo | bar"`) are not treated as separators.
## Supported Commands
| Command | Example |
|---------|---------|
| `search <query>` | `search "error handling" --limit 3` |
| `callers <name>` | `callers search_filtere