Labsco
ashlrai logo

ashlr-plugin

โ˜… 2

from ashlrai

Open-source Claude Code plugin replacing Read/Grep/Edit/Bash with token-efficient versions. Independently benchmarked at 57% token reduction on real codebases. 40 MCP tools.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedPaid serviceNeeds API keys

ashlr-plugin

Cut Codex and Claude Code token usage by โˆ’57% on real codebases. TS โˆ’62% ยท Python โˆ’65% ยท Rust โˆ’44% โ€” measured on vercel/ai, pandas, and tokio. 95% CI reported by the benchmark runner. Reproduce with bun run scripts/run-benchmark.ts --compare. (full methodology)

40 MCP tools that replace high-volume Read / Grep / Edit / Bash workflows with versions that return less without losing what matters. Claude Code gets automatic PreToolUse redirects (ASHLR_HOOK_MODE=redirect); Codex gets first-class plugin packaging, MCP, skills, and nudge-first hooks.

Requires Bun โ‰ฅ 1.3 โ€” interactive installers can offer to install Bun; piped/non-interactive installs skip that prompt and rely on MCP bootstrap if Bun is missing. Verify with bun --version first.

curl -fsSL https://bun.sh/install | bash
# macOS / Linux
curl -fsSL https://plugin.ashlr.ai/install.sh | bash

# Windows (PowerShell)
irm https://raw.githubusercontent.com/ashlrai/ashlr-plugin/main/docs/install.ps1 | iex

Landing page: plugin.ashlr.ai ยท Docs: plugin.ashlr.ai/docs ยท Core library: @ashlr/core-efficiency ยท License: MIT

Open-source and honestly benchmarked. The โˆ’57% headline is reproducible on your own code with bun run scripts/run-benchmark.ts --compare (methodology). Every ashlr savings figure includes a 95% CI. Telemetry is off by default. Compare against closed, self-benchmarked alternatives with /ashlr-benchmark --compare.

Tested on: Ubuntu 22.04 ยท macOS 14 (Sonoma) ยท Windows Server 2022 ยท TypeScript hooks (no bash required)


What's new in v1.36

  • Codex-native plugin packaging โ€” .codex-plugin/plugin.json, .mcp.json, Codex workflow skills, Codex explorer/worker agent guidance, and portable Codex hooks ship in the same package as the Claude Code plugin.
  • Reliable Codex MCP launch โ€” ashlr-mcp starts the router directly with ASHLR_MCP_HOST=codex-cli, workspace-aware cwd behavior, and ASHLR_ALLOW_PROJECT_PATHS support for non-plugin launch directories.
  • Codex nudge-first hooks โ€” Codex hooks now inject compact-tool guidance for Bash, apply_patch, Read/Grep/Glob, Edit/MultiEdit, Write, and high-value Ashlr MCP calls without forcing redirects by default.
  • Host-neutral CLI workflows โ€” ashlr codex-doctor, ashlr codex-install --dry-run, ashlr codex-start, ashlr codex-resume, ashlr codex-end, and ashlr genome-refresh give Codex users the same operational surface without writing Claude config.
  • Four discipline skills โ€” /ashlr-search, /ashlr-lean-tools, /ashlr-genome-author, /ashlr-cost-refactor. Each enforces a specific anti-waste pattern; each persists in ~/.ashlr/<name>.json. Toggle with /ashlr-<name> on/off.
  • /ashlr-efficient โ€” output structure reshaper. Enforces answer-first (inverted pyramid), inline code for all identifiers, tables for 3+ item comparisons, and no transitional filler. Works standalone or alongside /ashlr-brief.
  • Two lifecycle hooks โ€” SubagentStop rolls up subagent savings to the session log and fires background genome consolidation; Stop finalises session stats with an idempotency guard. (Re-orientation after context compaction is handled by the SessionStart compact hook, the only event that can inject context.)
  • API-measured savings mode โ€” when ANTHROPIC_API_KEY is set, token counts upgrade from (est.) to (API-measured) once โ‰ฅ10 calls have been verified via the Anthropic API. Fire-and-forget; SHA-256 cached; never blocks a tool call.
  • Benchmark transparency โ€” scripts/run-benchmark.ts now reports a 95% bootstrap confidence interval alongside the headline. New flags: --compare (A/B table), --validate-tokenizer (API spot-check of the chars/4 heuristic). See benchmark methodology.
v1.33 highlights
  • First-call savings projection โ€” see your annual savings extrapolated on your very first ashlr call.
  • Multi-host MCP โ€” works in Codex, Claude Code, Cline, Claude Desktop, Cursor, Goose, and generic MCP hosts (ASHLR_MCP_HOST env var).
  • /ashlr-orchestrate-status โ€” inspect past orchestration runs with per-node timings + tokens.
  • Orchestration retry + handoff budget โ€” per-node retry-with-backoff; HANDOFF_PAYLOAD capped at 8KB.
  • Orchestration central quota accounting โ€” orchestration_usage table for Team-tier soft-throttle.
  • Bun โ‰ฅ 1.3 prereq surfaced + wizard restart enforcement โ€” closes 2 fatal first-touch cliffs.
  • Orchestrator overhead bench โ€” measured ~5-30ms/node, 2.8ร— parallel speedup vs sequential.
  • Pre-existing tsc errors fixed + permanent dashboard date-drift fix via clock injection.

What's new in v1.33 (archived)

v1.32 highlights
  • /ashlr-orchestrate โ€” multi-agent task graphs with parallel execution, dry-run renderer, and tier-gated subprocess wiring.
  • /ashlr-orchestrate-status โ€” inspect past orchestration runs with per-node telemetry and 2.8ร— measured parallel speedup.
  • Live genome โ€” PR-aware + commit-aware sections via git post-commit hook and GitHub webhook delta sync.
  • AI-Native discoveries โ€” LLM synthesizes discovery sections from your commit history automatically.
  • Predictive prefetch (Pro/Team) โ€” background warm-cache on every ashlr__read cuts repeat-hit latency.
  • PR + issue retrieval โ€” ashlr__grep --include-prs --include-issues --since-days pulls live GitHub context.
  • Freshness badges in genome retrieval surface staleness so you trust the answer.
  • Cross-language bench: TS โˆ’61.3% ยท Python โˆ’63.1% ยท Rust โˆ’46.8% (cross-language headline -57.1% holds).
  • Founder WAD-D dashboard at /admin/wad-d โ€” daily-active records + segment breakdown + discovery propagation.

Multi-host MCP

Works with Codex, Claude Code (default), Cline, Claude Desktop, Cursor, Goose, and generic MCP hosts. The 40 MCP tools, stats accounting, and genome retrieval are host-agnostic; savings and accounting apply when the host calls Ashlr MCP tools. Codex support is packaged through .codex-plugin/plugin.json, .mcp.json, Codex skills, and hooks/codex-hooks.json in nudge mode. Claude-only extras remain explicitly labeled: auto redirects, status line, slash commands, and OAuth bootstrap. See plugin.ashlr.ai/docs or docs/multi-host-mcp.md for setup snippets.


Permissions โ€” stop the prompts first

Run this once after install so Claude Code stops asking on every tool call:

/ashlr-allow

That adds ashlr MCP wildcards to permissions.allow in ~/.claude/settings.json. It is idempotent. Run /reload-plugins after changing permissions, or fully quit and restart Claude Code if reload is unavailable.


10-second demo

# 1. Install
curl -fsSL https://plugin.ashlr.ai/install.sh | bash
# Inside Claude Code:
/plugin marketplace add ashlrai/ashlr-plugin
/plugin install ashlr@ashlr-marketplace

# 2. Use โ€” read a large file (raw would be ~8,400 tokens)
ashlr__read  { "path": "src/server.ts" }
# Returns snipCompact view: head + tail, elided middle โ€” ~1,700 tokens

# 3. Check savings
/ashlr-savings
Session savings  ยท  ashlr-plugin v1.36.0
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  ashlr__read      6 calls    โˆ’42,180 tok   $0.13
  ashlr__grep      3 calls    โˆ’11,040 tok   $0.03
  ashlr__edit      2 calls     โˆ’3,200 tok   $0.01
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Session total               โˆ’56,420 tok   $0.17
  Lifetime total             โˆ’284,900 tok   $0.86
  7-day sparkline   โ–โ–‚โ–ƒโ–ƒโ–…โ–†โ–ˆ

What you get

Core efficiency tools (replace built-ins with lower-token equivalents):

MCP toolDescription
ashlr__readsnipCompact + LLM summary on files > 16 KB (Anthropic Haiku 4.5 default, ONNX/local fallback). Mean โˆ’82.1% on the v1.22 bench. Line numbers preserved on code files.
ashlr__grepGenome-aware RAG when .ashlrcode/genome/ or cloud genome exists; ripgrep fallback with LLM summary.
ashlr__editIn-place search/replace โ€” returns diff summary only, not the full file. Levenshtein candidates on miss.
ashlr__edit_structuralAST-aware rename (Unicode identifiers: cafรฉ, ฯ€, CJK) + cross-file rename with anchorFile + maxFiles + shadowing guard + dryRun + extract-function with return-value detection (0 / 1 / N outputs). .ts/.tsx/.js/.jsx.
ashlr__multi_editBatch multiple search/replace edits in one call.
ashlr__savingsLive token-savings dashboard: session + lifetime + per-tool breakdown.

Shell, data, and web tools:

MCP toolDescription
ashlr__bashShell with auto-compression + pluggable summarizer registry (servers/_bash-summarizers-registry.ts) covering git log/git diff/git show, ls, ps, npm ls, unified test-runner output, tsc, and npm/bun/yarn/pnpm installs. Long-running commands survive timeouts via process-group SIGKILL.
ashlr__bash_start / _tail / _stop / _listLong-running background command control plane.
ashlr__sqlSQLite + Postgres one-shot. explain and schema modes. LLM summary on 100+ row results.
ashlr__httpHTTP fetch with readable-extract (HTML), array-elide (JSON), and private-host safety.
ashlr__webfetchFetch + extract web pages with token budget. LLM summarization kicks in at 4 KB (web content is denser than code), 100 KB hard cap.
ashlr__logsTail with level filter + dedupe + LLM summary.
ashlr__diffAdaptive git diff (stat/summary/full) with LLM summary on big diffs.
ashlr__diff_semanticSemantic diff with meaning-aware change grouping.
ashlr__testStructured test-runner output parser โ€” bun/vitest/jest/pytest/go test. Compresses runner noise into one failure block per failure.

Codebase navigation:

MCP toolDescription
ashlr__treegitignore-aware directory tree with per-dir truncation + size/LOC modes.
ashlr__globgitignore-aware file glob with size/LOC metadata.
ashlr__lsDirectory listing with size metadata.
ashlr__orientCodebase orientation: entry points, key files, dependency graph.

Genome + GitHub:

MCP toolDescription
ashlr__genome_propose / _consolidate / _statusActive genome scribe loop โ€” keeps .ashlrcode/genome/ current as you code.
ashlr__issue / ashlr__prGitHub issue and PR read ops.
ashlr__issue_create / ashlr__issue_closeGitHub issue write ops. Self-approval guard + ASHLR_REQUIRE_GH_CONFIRM=1 opt-in confirmation.
ashlr__pr_comment / ashlr__pr_approveGitHub PR write ops. pr:"current" resolves via gh pr view. No destructive ops (no merge/close/delete).
ashlr__askAsk a question, get a structured answer with citations.

See docs/architecture.md for the full tool registry and router layout.


Pro cloud

ashlr Pro connects to a hosted backend at https://api.ashlr.ai, unlocking features that require server-side state:

FeatureWhat it does
Cross-machine statsAggregate token savings across all your machines. GET /v1/stats/aggregate returns machine_count + combined lifetime totals.
Hosted summarizerPOST https://api.ashlr.ai/llm/summarize โ€” cloud inference via xAI Grok 4.3. Falls back to local summarization or snipCompact when unavailable.
Team genomeEncrypted genome sync across teammates. DEKs wrapped with X25519 โ€” only key-holders can decrypt (/ashlr-genome-team-init).

Privacy: telemetry is off by default and explicit opt-in only (ASHLR_TELEMETRY=on). The sessionId is an opaque 16-char hex value per session โ€” never your user identity โ€” and is stored server-side as a SHA-256 hash. File paths and content are never sent. See plugin.ashlr.ai/docs for the full privacy contract (internal: docs/telemetry.md).

Production URL: https://api.ashlr.ai

The /ashlr-doctor command includes a cloud check that pings /healthz with a 3-second timeout and reports latency. Set ASHLR_API_URL_DISABLE=1 to suppress it in offline environments.


Status-line

The status bar shows live session savings with a 7-day Braille sparkline:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ashlr  โˆ’0 tok  $0.00  โ–โ–โ–โ–โ–โ–โ–  idle       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ashlr  โˆ’12,480 tok  $0.04  โ–โ–‚โ–ƒโ–„โ–…โ–†โ–ˆ  โ–ˆโ–ˆ    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ashlr  โˆ’48,200 tok  $0.14  โ–โ–ƒโ–…โ–†โ–ˆโ–ˆ  โ–“โ–“โ–“ !! โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

!! appears when context pressure is high. Install:

bun run ~/.claude/plugins/cache/ashlr-marketplace/ashlr/<version>/scripts/install-status-line.ts

Commands

CommandDescription
/ashlr-helpList every ashlr slash command grouped by purpose (Onboarding / Token meter / Genome / Upgrade / Diagnostics)
/ashlr-allowAuto-approve every ashlr MCP tool โ€” covers canonical mcp__plugin_ashlr_ashlr__ashlr__* names, run once after install
/ashlr-statusPlugin health + MCP server reachability + genome detection
/ashlr-savingsLive dashboard: session + lifetime + per-tool + 7-day sparkline
/ashlr-doctor11-check diagnostic โ€” deps, MCP reachability, hooks, settings
/ashlr-tour60-second guided walkthrough on your current project
/ashlr-benchmarkToken-savings benchmark against your current project
/ashlr-genome-initInitialize .ashlrcode/genome/ for the โˆ’84% grep path
/ashlr-ollama-setupDiagnose Ollama for --summarize; pull recommended 3B model
/ashlr-settingsView or change plugin toggles
/ashlr-updategit pull + bun install + report what changed

Free vs Pro

The free tier is the product โ€” 40 MCP tools, 34 slash commands, the full genome scribe loop, and every benchmark included. No account required.

Pro ($12/mo, 7-day trial) adds cloud infrastructure for developers who need it: cross-machine stats sync, hosted embedding retrieval, cloud LLM summarizer (no local Ollama required), and a live auto-updating savings badge. Team ($24/user/mo, min 3) adds shared encrypted team genome, org savings dashboard, policy packs, and SSO.

Run /ashlr-upgrade to upgrade, or see plugin.ashlr.ai/docs/pro/pricing for the full comparison.


Architecture

See plugin.ashlr.ai/docs/contributing/architecture for how the tools, hooks, and genome scribe loop fit together. Internal notes: docs/architecture.md.

Changelog

See CHANGELOG.md for version history.