Agent skill

Context Audit

by garrytan in garrytan/gbrain

Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md, USER.md, ACCESSPOLICY.md, HEARTBEAT.md) or…

MITAuto-check passedAgent Workflows

Install Context Audit

skills CLI
$ npx skills add garrytan/gbrain --skill context-audit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install garrytan/gbrain context-audit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/context-audit .claude/skills/context-audit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
context-audit
GitHub stars
31k
Token cost
~3.2k tokens
SKILL.md length
1,313 words
Files
2
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md, USER.md, ACCESSPOLICY.md, HEARTBEAT.md) or…

  • Works in 5 steps: Enumerate the stack (deterministic) → Read and analyze (the agent does this —… → Classify every finding by risk → …
  • Tasks that involve Agent instruction files
  • SKILL.md covers What this is, Scope: what counts as…, Contract and Procedure, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Context Audit is an agent skill from garrytan/gbrain. Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md, USER.md, ACCESSPOLICY.md, HEARTBEAT.md) or their harness equivalents. Finds redundancy, contradictions, stale content, compression candidates, and skill-extraction candidates; produces a ranked action list sorted by token savings with a risk class per finding. REPORT-ONLY: this skill never edits any audited file. Recommendations for bootstrap-rendered files…

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Agent Workflows, covering Agent instruction files. The repository describes itself as: Garry's Opinionated OpenClaw/Hermes Agent Brain. The licence is MIT.

When your agent uses it

  • Tasks that involve Agent instruction files

Example prompts

  • “/context-audit”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Enumerate the stack (deterministic)
  2. Read and analyze (the agent does this — no model calls yet)
  3. Classify every finding by risk
  4. Judge the draft through the native eval runner
  5. Deliver

What it can do on your machine

Read from SKILL.md and the folder at commit 7aa2caa. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Context Audit loads about 3.2k tokens when it runs. Until then it costs about 182 tokens; SKILL.md has 1,313 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~182
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from garrytan/gbrain at commit 7aa2caa, republished under its MIT licence (© garrytan). 1,313 words, ~3,169 tokens.

Download SKILL.mdSave it as .claude/skills/context-audit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
context-audit
description
Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md, USER.md, ACCESS_POLICY.md, HEARTBEAT.md) or their harness equivalents. Finds redundancy, contradictions, stale content, compression candidates, and skill-extraction candidates; produces a ranked action list sorted by token savings with a risk class per finding. REPORT-ONLY: this skill never edits any audited file. Recommendations for bootstrap-rendered files target the interview answer bank / templates, never the rendered output. Judging routes through `gbrain eval cross-modal` (single cheap model by default; full multi-model panel is explicit opt-in).
version
1.0.0
triggers
context audit, context diet, system prompt audit, prompt compression, reduce context size, audit my context stack, context is too big, token hygiene
tools
shell, read
mutating
false
writes_pages
false
upstream
context-audit@fc834ee

context-audit — Token Hygiene for the Always-Loaded Context Stack

Convention: see conventions/brain-first.md — before running a fresh audit, check the brain for prior audit reports (gbrain recall "context audit report") so you can compute token DRIFT since the last run and avoid re-flagging findings the user already declined.

Convention: see conventions/quality.md — every finding cites its file and evidence; no unsourced claims.

What this is

Every file that loads on every turn is a per-turn tax: tokens, latency, and — past a point — instruction-following quality. Always-loaded files accrete (append-only release notes, promoted memory blocks nobody re-reads, rules restated in three files that drift into contradiction). This skill audits the whole always-loaded stack at once and returns a ranked, evidence-cited action list sorted by token savings.

It is an auditor, not a surgeon. It measures, finds, ranks, and recommends. The user (or a skill the user explicitly invokes afterward) applies changes.

Scope: what counts as "always-loaded"

Enumerate what THIS harness actually loads every turn — do not assume a fixed list. Typical stack:

FileRoleFix belongs in
project CLAUDE.md / AGENTS.mdorientation, routing, invariantsthe file itself (source-editable)
user-global CLAUDE.mdcross-project instructionsthe file itself (source-editable)
auto-memory MEMORY.mdpromoted memory blocksthe memory store (demote/expire)
SOUL.md, USER.md, ACCESS_POLICY.md, HEARTBEAT.md, rendered AGENTS.mdbootstrap-rendered identity filesthe interview answer bank / templates — NEVER the rendered file
harness system-prompt fragments (identity/tools files)per-harnesswherever that harness sources them

Skills, reference docs, and anything loaded on demand are OUT of scope as audit subjects — but they are the DESTINATION for skill-extraction findings (content that only matters for one workflow should move out of the always-loaded stack into a skill).

Contract

This skill guarantees:

  • Report-only. No audited file is edited, no page is written, nothing is auto-fixed — including 🟢 zero-risk findings. The output is a recommendation list the user applies deliberately.
  • Rendered-file safety. Any recommendation touching a bootstrap-rendered file is expressed as an answer-bank or template change (gbrain bootstrap interview --set KEY "..." then gbrain bootstrap render --only <FILE> --force), never as a direct edit. See skills/soul-audit/SKILL.md for the mechanics.
  • Estimated with a stated basis, never invented. Token figures come from the deterministic pre-pass (wc -c bytes/2.8 — Claude-family tokenizers run ~2.6-3.5 bytes/token on markdown dense with paths and code spans; 2.8 is the calibrated midpoint of measured always-loaded markdown, see #4988). The report prints the divisor so a reader can re-derive every number. If the host client reports an exact per-category context breakdown (e.g. Claude Code /context), that figure outranks the estimate — quote it and use it for the stack total.
  • Native judging. The draft report is quality-gated through gbrain eval cross-modal — no raw model API calls, no hardcoded model IDs.
  • Cost line. Default judging is ONE cheap model (the user's utility-tier model, all three slots, --cycles 1 — a few cents). The full three-provider frontier panel runs only when the user explicitly asks for a "full" or "multi-model" audit (~3x+ the cost per cycle).

Procedure

1. Enumerate the stack (deterministic)

List the always-loaded files for this harness and measure each:

bash
# bytes/2.8 (calibrated for Claude-family tokenizers on markdown, #4988); integer ceil: (n*10+27)/28
for f in CLAUDE.md AGENTS.md SOUL.md USER.md ACCESS_POLICY.md HEARTBEAT.md MEMORY.md; do
  [ -f "$f" ] && echo "$f: $(wc -c < "$f") bytes (~$(( ( $(wc -c < "$f") * 10 + 27 ) / 28 )) tokens)"
done

Record the total. If a prior audit report exists in the brain, compute drift (net tokens grown/shrunk since last run, which files moved).

2. Read and analyze (the agent does this — no model calls yet)

Read every file in the stack in full. Evaluate against six dimensions:

  1. Token efficiency — tokens spent per unit of behavioral value
  2. Redundancy — the same rule/fact stated in more than one file
  3. Contradictions — conflicting rules, numbers, or policies across files
  4. Skill-worthiness — content that only matters for a specific workflow (extraction candidate: move to a skill, load on demand)
  5. Staleness — outdated facts, references to removed features, promoted memory blocks that no longer earn their slot
  6. Clarity — instructions compressible without behavior change, or ambiguous enough to misfire
3. Classify every finding by risk
  • 🟢 Zero risk — pure deletion of exact redundancy or dead content
  • 🟡 Low risk — compression or skill extraction with a clear trigger
  • 🔴 Medium risk — changes that could shift edge-case behavior

All three classes are recommendations. The risk class tells the user how much care to apply — it does not authorize this skill to act.

4. Judge the draft through the native eval runner

Write the draft report to a temp file, then gate it:

bash
# Resolve the cheap judge from the user's model tiers — never hardcode an ID.
# (`gbrain models` shows all resolved tiers if the config key is unset.)
JUDGE=$(gbrain config get models.tier.utility)

gbrain eval cross-modal \
  --task "Context-stack token-hygiene audit: every finding cites file + quoted evidence; savings are estimated (bytes/2.8, divisor stated in the report), never invented; findings ranked by token savings; every rendered-file recommendation targets the interview answer bank or template, never a direct edit; risk class on every row" \
  --output /tmp/context-audit-draft.md \
  --slug context-audit-report \
  --cycles 1 \
  --slot-a-model "$JUDGE" --slot-b-model "$JUDGE" --slot-c-model "$JUDGE"

Full multi-model panel (explicit opt-in only — the user asked for a "full" / "multi-model" audit): omit the --slot-*-model overrides so the runner's native three-provider defaults apply.

Exit codes: 0 PASS — deliver. 1 FAIL — fix the flagged weaknesses in the draft (usually: an unquoted claim or a rendered-file edit recommendation) and re-judge. 2 INCONCLUSIVE (provider/key trouble) — deliver the report but label it "unjudged" prominently.

Show full SKILL.md (552 more words)Show less
5. Deliver

Print the report in the conversation (see Output Format). If the user wants it persisted, hand off to the brain-ops skill to file it under openclaw/ (agent-state notes) — this skill does not write pages itself.

Re-running after major edits to the stack, or on a schedule, is a harness-routing convention the user can set up (see the cron-scheduler skill) — nothing here runs automatically or guarantees a cadence.

Output Format

# Context Audit — YYYY-MM-DD

Stack total: ~NN,NNN tokens across N files (drift since last audit: +/-N,NNN)
Estimate basis: bytes/2.8 | host-reported exact total (e.g. `/context`): NN,NNN or n/a
Findings: N (~NN,NNN tokens recoverable) | Contradictions: N
Judge verdict: PASS (single-model, utility tier) | receipt: <path>

| # | Save (tok) | Risk | File | Finding | Evidence | Recommended fix (and WHERE it lives) |
|---|-----------|------|------|---------|----------|--------------------------------------|
| 1 | ~2,400    | 🟢   | ...  | redundancy: X restated | "quoted line" | delete from A; canonical copy stays in B |
| 2 | ~1,100    | 🟡   | SOUL.md | stale: ... | "quoted line" | update answer bank key VOICE_REGISTER, re-render — NOT a SOUL.md edit |
...

## Contradictions (fix these first, savings aside)
- FILE-A says "..." but FILE-B says "..." — resolve toward <one>, delete the other.

## Skill-extraction candidates
- <content> only matters when <workflow> — extract via skill-creator, load on demand.

Sorted by token savings, descending — except contradictions, which are called out first regardless of size (they cost correctness, not just tokens). Every row carries evidence (a quote or line reference) and names WHERE the fix belongs: source file, answer bank/template, memory store, or a new skill.

When it fails

Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:

  • gbrain eval cross-modal exits 1 (FAIL): fix the flagged weaknesses and re-run; do not deliver a failed audit as passing.
  • No judge model or provider key is configured: say the audit ran structure-only and name the missing key; do not fabricate scores.
  • A paid multi-model audit hits no_pricing or a cost cap: fall back to the default single cheap judge and tell the user why.

Anti-Patterns

  • Editing any audited file. Report-only — even 🟢 zero-risk deletions are recommendations, not actions. "Auto-fix" promises contradict the rendered-file guard and are out of contract.
  • Recommending a direct edit to a rendered file. SOUL.md / USER.md / ACCESS_POLICY.md / HEARTBEAT.md edits are overwritten by the next gbrain bootstrap render. Target the answer bank or template, then re-render.
  • Raw model API calls for judging. The eval runner owns provider config, receipts, and verdict aggregation — route through gbrain eval cross-modal.
  • Hardcoding model IDs. Resolve the judge from the user's model tiers; model names in a skill body rot.
  • Running the full multi-model panel by default. It is an explicit opt-in; the single-cheap-model pass is the default for cost reasons.
  • Auditing on-demand content as if always-loaded. Skills and reference docs don't pay the per-turn tax; flagging them inflates savings numbers.
  • Inventing token counts. Run the pre-pass; estimates are labeled ~N with the divisor stated, and a host-reported exact figure always wins.
  • Rewriting identity content yourself. If a finding is about WHAT an identity file says (wrong persona, outdated profile), route to soul-audit — the interview is the only author of that content.

Dedup

  • soul-audit — identity CONTENT via interview: what SOUL.md/USER.md should SAY, sourced from the user's own words. context-audit is token/structure hygiene: what the stack COSTS per turn, where it repeats or contradicts itself. A finding like "USER.md's profile is outdated" hands off to soul-audit; "USER.md restates 800 tokens already in SOUL.md" stays here. Both respect the same rendered-file rule.
  • skill-optimizer — tunes ONE skill's body against a benchmark and can mutate it. context-audit never mutates and looks only at always-loaded files; skills appear only as extraction destinations.
  • functional-area-resolver — the compression TECHNIQUE for oversized routing tables (>=12KB). context-audit may cite it as the recommended fix when a routing section is the finding; it never applies it.
  • skillpack-check — install/runtime health (DB, worker, migrations), not context size or prompt content.
  • cross-modal-review — general second-opinion gate on arbitrary work products. context-audit uses the same underlying runner but as its own fixed judging step with audit-specific pass criteria; asking for "a second opinion on this code" routes there, not here.

© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/context-audit of garrytan/gbrain.

  • SKILL.md
  • routing-eval.jsonl

Open the folder on GitHubat commit 7aa2caa

Compare with similar skills

Context Audit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Context Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Context Audit this skillgarrytan/gbrain31k—~3.2kAutomated safety check: PassMIT
Using Agent Skillsaddyosmani/agent-skills103k4 repos~2.4kAutomated safety check: PassMIT
Claude ReflectBayramAnnakov/claude-reflect1.7k2 repos~627Automated safety check: PassMIT
Writing For Agentsbestofjs/bestofjs3.1k19 repos~2.7kAutomated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
Task Observerrebelytics/one-skill-to-rule-them-all3.2k1 repos~12kAutomated safety check: PassCC-BY-4.0

Similar skills

  • Using Agent Skills

    addyosmani/agent-skills

    Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.

    103k GitHub starsUsed in 4 repos~2.4k tokens
    Agent WorkflowsAuto-check passed
  • Claude Reflect

    BayramAnnakov/claude-reflect

    Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.

    1.7k GitHub starsUsed in 2 repos~627 tokens
    Agent WorkflowsAuto-check passed
  • Writing For Agents

    bestofjs/bestofjs

    Writing documents for agents. An agent skill from bestofjs/bestofjs.

    3.1k GitHub starsUsed in 19 repos~2.7k tokens
    Agent WorkflowsAuto-check passed
  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 7 days ago
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~12k tokens
    Agent WorkflowsAuto-check passed
  • SkillOpt Sleep Cycle

    microsoft/SkillOpt

    Official

    Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.

    18k GitHub stars~2.3k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed

More from garrytan/gbrain

All 47 skills in this repo
  • Traces a factual error the user points out back to its source (a brain page, a memory file, SOUL.md or USER.md, or a hallucination) and fixes that source instead of just noting the correction.

    31k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Searches and writes a company-wide knowledge brain through the gbrain CLI, so durable decisions and facts about people, projects and history stay findable beyond one session.

    31k GitHub stars~875 tokensUpdated yesterday
    Auto-check passed
  • Idea Ingest

    garrytan/gbrain

    Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.

    31k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Sends what your notes already know about a topic to Perplexity, so the cited web search reports only what is new, such as entity updates or deal changes.

    31k GitHub stars~2k tokensUpdated yesterday
    Auto-check: notes
  • Schema Unify

    garrytan/gbrain

    Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.

    31k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Skillpack Check

    garrytan/gbrain

    Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.

    31k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Context Audit

What does Context Audit do?

Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md, USER.md, ACCESSPOLICY.md, HEARTBEAT.md) or…. Context Audit is an agent skill from garrytan/gbrain.md) or their harness equivalents.

When should I use Context Audit?

Context Audit fits situations like: tasks that involve Agent instruction files.

How do I install Context Audit in Claude Code?

Run `npx skills add garrytan/gbrain --skill context-audit -a claude-code`. Or copy the skill folder (skills/context-audit in garrytan/gbrain) into .claude/skills/context-audit in your project. Claude Code loads it when a task matches its description.

How do I install Context Audit in Codex?

Run `npx skills add garrytan/gbrain --skill context-audit -a codex`. Or copy the skill folder (skills/context-audit in garrytan/gbrain) into .agents/skills/context-audit in your project. Codex loads it when a task matches its description.

Can I use Context Audit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gbrain --skill context-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/context-audit, .gemini/skills/context-audit, .github/skills/context-audit and .opencode/skills/context-audit in your project.

What does Context Audit need to run?

SKILL.md names no scripts, command-line tools or credentials: Context Audit is instructions for the agent only.

Does Context Audit access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Context Audit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Context Audit use?

Context Audit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Context Audit use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Context Audit?

Skills that share tags, products or a category with Context Audit: Using Agent Skills (addyosmani/agent-skills, 103k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.7k stars), Writing For Agents (bestofjs/bestofjs, 3.1k stars) and Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Context Audit?

garrytan (a GitHub user) maintains it in garrytan/gbrain, which has 30,666 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 8, 2026.

Source: garrytan/gbrain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.