adr-writer
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an…
Audit a Claude Code setup for token waste and context bloat. Checks MCP servers, CLAUDE.md, skills, and settings against bloat filters. Triggers on: "audit my context", "usage audit", "token audit", "context bloat". NOT for codebase audits.
$ npx -y skills add Mathews-Tom/armory --skill usage-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/usage-auditContext preview
The summary Claude sees to decide when to auto-load this skill.
Audit a Claude Code setup for token waste and context bloat. Checks MCP servers, CLAUDE.md, skills, and settings against bloat filters. Triggers on: "audit my context", "usage audit", "token audit", "context bloat". NOT for codebase audits.
name: usage-audit description: 'Audit a Claude Code setup for token waste and context bloat. Checks MCP servers, CLAUDE.md, skills, and settings against bloat filters. Triggers on: "audit my context", "usage audit", "token audit", "context bloat". NOT for codebase audits.' metadata: version: 1.0.0 category: review tags: [context, tokens, audit, claude-code, bloat] difficulty: intermediate
Bloated context costs twice: you burn usage limits faster and output quality drops because models attend most to the start and end of context. This skill finds the waste and tells you what to cut.
Credit: adapted from the `context-audit` skill in the Claude Code Context Cleanup Guide (2026). Armory port adds package-aware checks and treats the scoring rubric as an overridable reference, not a verdict.
Check the conversation for recent `/context` output. If the user has not run it in this session, ask:
> "Run `/context` in this terminal and paste the output. I can't run slash > commands myself — once I can see the breakdown I'll audit everything it > flags."
**STOP HERE.** Do not proceed to Step 2 until real `/context` data is available. The breakdown determines what to audit and in what order. Without it, the audit is guessing. Output the message above and wait.
Work the categories from largest to smallest in the `/context` output. Run independent checks in parallel.
Each connected server loads full tool definitions into context every turn (~15,000-20,000 tokens each), whether you invoke a tool or not. Under Opus 4.7 this figure can run 1.0–1.35× higher for the same schemas due to a tokenizer update — prefer measured values from `/context` over these static estimates.
Notion, Slack, etc.) — the CLI costs zero tokens when idle.
recommend it explicitly for the heaviest server.
Read every CLAUDE.md in scope (project root, `.claude/`, `~/.claude/`). For each file: count lines, then test every rule against the five filters.
| Filter | Flag when... | |--------|-------------| | **Default** | Claude already does this without being told ("write clean code", "handle errors") | | **Contradiction** | Conflicts with another rule in the same or a different file | | **Redundancy** | Repeats something already covered elsewhere | | **Bandaid** | Added to fix one specific bad output, not improve outputs generally | | **Vague** | Interpreted differently every time ("be natural", "use good tone") |
If a CLAUDE.md exceeds 200 lines, check for progressive-disclosure opportunities: rules that only apply to specific tasks (API conventions, deploy steps, testing) should move to reference files with one-line pointers from the core file. A lean CLAUDE.md under 200 lines with universal context is fine as a single file — do not split for the sake of splitting.
Armory `rules/` packages load into every session like CLAUDE.md does — they are the real silent base tax. Higher priority than skill bloat.
armory installer registry if present.
same five filters.
Scan `~/.claude/skills/*/SKILL.md` and any project-local skills. For each:
`references/`, `scripts/`, or `evals/`. Those load on demand, not on trigger. Penalizing total package LOC misattributes cost.
may want to"), synonymous instructions ("be concise" + "keep it short" + "don't be verbose").
field. Flag any over 60 words. Skill descriptions load into the router on every session and should be trigger-focused, not prose.
Check `settings.json` for these keys:
| Setting | Flag if | Recommended | |---------|---------|-------------| | `autocompact_percentage_override` | Missing or > 80 | `75` | | `env.BASH_MAX_OUTPUT_LENGTH` | At default (30-50K) | `150000` |
Check `permissions.deny` in `settings.json`. If missing, inspect the project and flag bloat directories that should be denied:
| If this exists... | Should deny... | |-------------------|---------------| | `package.json` | `node_modules`, `dist`, `build`, `.next`, `coverage` | | `Cargo.toml` | `target` | | `go.mod` | `vendor` | | `pyproject.toml` / `requirements.txt` | `__pycache__`, `.venv`, `*.egg-info` |
The rubric below is a **reference default**, not gospel. A "reference" skill that wraps a large CLI surface (e.g., `github`, `agent-builder`) may legitimately exceed line thresholds — judge the body, not the file count. Users can override any deduction in their project CLAUDE.md.
Score starts at 100. Deduct per issue:
| Issue | Points | |-------|--------| | CLAUDE.md > 200 lines | -10 | | CLAUDE.md > 500 lines | -20 | | Rules package > 300 lines (body) | -10 each | | Per 5 rules flagged by filters | -5 | | Contradictions between files | -10 | | Missing `autocompact_percentage_override` | -10 | | Missing `BASH_MAX_OUTPUT_LENGTH` override | -5 | | Skill body > 200 lines | -5 each | | Skill body > 500 lines | -10 each | | Skill description > 60 words | -2 each | | Per connected MCP server with CLI equivalent | -5 each | | No `permissions.deny` and bloat dirs exist | -10 |
Fl
Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.
Repo: Mathews-Tom/armory
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an…
Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK, claude -p, SDK MCP servers, hooks,…
Audits and enhances FastAPI and REST API documentation: missing descriptions, response codes, examples, docstrings, Pydantic models, OpenAPI spec. Triggers on:…
Generate architecture diagrams as fully editable SVG with native AWS, Azure, and GCP icons for cloud diagrams, or hand-drawn generic icons for everything else.…
Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports. Triggers on:…
Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs…