AUx CLI
Structured I/O layer for agentic workflows — wraps Unix primitives (rg, fd, git, sed, mv, curl, tree-sitter) as deterministic, schema-driven skills with bounded output.
Installation
# From repo root
./scripts/install.sh
# Verify dependencies
aux doctor
Benchmarks
Across model tiers and task types, aux skills reduce tool calls by 53–93% and tokens by 9–46% while maintaining or improving output quality.
| Task | Skill | Token Δ | Tool call Δ | Notes |
|---|---|---|---|---|
| Codebase discovery | search |
−16 to −36% | −53 to −76% | GPT-5.2, Haiku 4.5 |
| Bulk text replacement | replace |
−46% | −93% | Haiku 4.5; 79 occurrences / 6 files |
| Symbol cross-reference | usages |
−9% | −80% | Haiku 4.5 |
| Dependency graph | deps |
−11% | −80% + accuracy† | Haiku 4.5 |
| Semantic git diff | delta |
+8%‡ | −71% | Haiku 4.5 |
†
aux depsproduced correct coupling values where manual analysis made computation errors. ‡ Benchmark snapshot ran with the historical stat-only fallback (tree-sitter not installed). Tree-sitter is now bundled, so semantic symbol output is the default.
Cross-model: GPT-5.2 Medium + AUx reduces total context cost to ~0.64× baseline. GPT-5.2 Low + AUx achieves comparable quality at ~0.35× baseline cost.
Full methodology: docs/benchmark/
Commands
| Command | Category | Description |
|---|---|---|
files |
read | Enumerate files by name/glob (fd) |
search |
read | Hierarchical pipeline: fd → rg [→ tree-sitter AST] |
find |
read | Tree-sitter AST structural search |
usages |
analysis | Symbol cross-reference: definitions + references |
prune |
analysis | Dead code candidate audit (advisory) |
deps |
analysis | Module dependency graph: coupling, cycles, blast radius |
delta |
analysis | Semantic git diff: files changed + symbols added/removed |
robert |
analysis | Robert C. Martin package design metrics (Go, Python) |
ccx |
analysis | Cyclomatic + Cognitive Complexity per function |
ck |
analysis | Chidamber & Kemerer class metrics (CBO, DIT, NOC, WMC) |
hotspots |
analysis | Growth-weighted complexity hotspots per file |
halstead |
analysis | Halstead Software Science metrics (Volume, Difficulty) |
npath |
analysis | NPATH acyclic execution path count per function |
replace |
write | Bulk fixed-string replacement (dry-run by default) |
rename |
write | Move/rename files or directories (dry-run by default) |
curl |
network | Agent-optimised HTTP fetch with progressive disclosure |
capabilities |
meta | Emit skill registry for agent discovery/routing |
doctor |
— | Verify system dependencies |
Usage
# Help
aux --help
aux search --help
# Get JSON schema for plan-based invocation
aux search --schema
aux replace --schema
# Enumerate files
aux files --root /path --glob "**/*.py"
# Hierarchical search (fd → rg)
aux search --plan '{"root":"/path","surface":{"globs":["**/*.py"]},"search":{"patterns":[{"value":"TODO"}]}}'
# Symbol cross-reference
aux usages DataProcessor --root /path --glob "**/*.py"
# Bulk replacement (dry-run by default — shows preview without mutating files)
aux replace OldClass NewClass --root /path --glob "**/*.py"
# Apply after reviewing dry-run output:
aux replace OldClass NewClass --root /path --glob "**/*.py" --apply
# Agent bootstrap — emit full skill registry
aux capabilities
# System check
aux doctor
Architecture
AUx has two layers:
Kernels — structured I/O wrappers around Unix primitives:
rg → grep_kernel (content search)
fd → find_kernel (file enumeration)
git → delta_kernel (change analysis)
sed → sed_kernel (text replacement)
mv → mv_kernel (filesystem moves)
curl → curl_kernel (HTTP fetch)
tree-sitter → query_kernel (AST queries)
Commands — semantic ontologies built from kernel combinations:
search = find_kernel + grep_kernel [+ query_kernel]
usages = grep_kernel + query_kernel
prune = find_kernel + query_kernel + grep_kernel
delta = delta_kernel [+ query_kernel]
Kernels provide structured I/O over system tools. Commands express user intent as named semantic operations rather than raw tool chains. Same determinism guarantee, higher-level abstraction.
Two invocation modes for every command:
- Simple:
aux search "pattern" --root /path --glob "*.py" - Plan:
aux search --plan '<json>'— accepts a full plan JSON matching the Pydantic schema
commands/<skill>.py → arg parsing, plan construction, output formatting
plans/schemas.py → Pydantic models (SearchPlan, ReplacePlan, ...)
kernels/<skill>.py → deterministic execution
output/ → format_output(), TTY detection, truncation
System Dependencies
| Dependency | Required for |
|---|---|
rg (ripgrep) |
search, usages, prune, replace |
fd / fdfind |
files, search, prune, deps, rename |
git |
delta |
tree-sitter |
find, usages, prune, delta, deps, robert (bundled core dependency) |
httpx |
curl (optional; install aux-skills[curl]) |
Run aux doctor to check availability.
Environment Variables
| Variable | Description | Default |
|---|---|---|
AUX_OUTPUT |
Output format: json, text, summary |
json |
AUX_MAX_MATCHES |
Maximum matches to return | unlimited |
Metadata
Release files for aux-skills 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aux_skills-0.3.0.tar.gz | 195.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aux_skills-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 318.9 kB
Release files / aux_skills-0.3.0.tar.gz
| Download URL | aux_skills-0.3.0.tar.gz |
|---|---|
| Size | 195.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
872209383f5a7657992505bc5cb6948d4b8907152270aa3d93bb45d9abc95dc3
|
|
BLAKE2b-256 checksum How to use checksums |
5cbf6211aeb8d8e9bf09a7b2b7487b94ddffd3bcb1f3f1b95c757e783cf6526a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 13, 2026.
Transparency logRelease files / aux_skills-0.3.0-py3-none-any.whl
| Download URL | aux_skills-0.3.0-py3-none-any.whl |
|---|---|
| Size | 123.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e97c95adea025768940367fed65e8cd87f277b075fd4f70f81aebd680234349
|
|
BLAKE2b-256 checksum How to use checksums |
46f9e8667f2827e681fbdaf6ab36da9bdea7cdb5c347a5459e4db997da873210
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 13, 2026.
Transparency logSecurity for aux-skills 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for aux_skills-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.