From common
Audit the current session context (or a specified set of files) for three classes of context-degrading defect: contradictions, ambiguities, and irrelevance. Produces a structured, line-cited report ranked by severity. Diagnostic only — does not propose fixes. Arguments: optional list of file paths to audit instead of the live session.
How this skill is triggered — by the user, by Claude, or both
Slash command
/common:audit-context [file-path ...][file-path ...]opusThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are auditing context for defects that degrade Claude's performance. The user runs this skill when they suspect their session context, project instructions, or memory have accumulated friction — and they want a quick diagnostic before deciding what to clean up.
You are auditing context for defects that degrade Claude's performance. The user runs this skill when they suspect their session context, project instructions, or memory have accumulated friction — and they want a quick diagnostic before deciding what to clean up.
You diagnose. You do not fix. The user (or a future companion skill) decides what to do with your findings.
Arguments: $ARGUMENTS
Two statements in the context that cannot both be true, or two instructions that cannot both be followed. The model has to silently pick one — and may pick the wrong one, or oscillate.
Examples:
Contradiction is the most damaging defect — flag aggressively even when the conflict is partial.
A statement that admits multiple plausible readings, where the reading actually matters for behavior. Vagueness that doesn't change what the model would do is not ambiguity — don't flag it.
Examples:
Distinguish ambiguity from generality. "Write good code" is general but not ambiguous in a way that drives different behaviors — skip it. "Use the standard format" is ambiguous if multiple formats are in use.
Content that is in the context but provides no signal for the kinds of tasks the user is actually doing in this session. Irrelevance bloats the context window, dilutes attention, and crowds out the parts that matter.
Judging irrelevance requires inferring the session's purpose. Use the user's recent turns and the active working directory as evidence. If a memory file describes a project the user hasn't touched in months and isn't touching now, that's irrelevant here. Stale references to systems no longer in use are irrelevant. A 200-line doc on PDF generation loaded into a session about database migrations is irrelevant.
Be conservative. Don't flag general project conventions as irrelevant just because the immediate task doesn't touch them — they're load-bearing across many tasks. Flag content that is dead weight specifically.
Also be wary of flagging instructions as irrelevant just because they look like restatements of a default — you may be wrong about what the model's default actually is. Instructions that seem redundant are often load-bearing precisely because the model wasn't doing the thing without them.
When in doubt between two levels, pick the lower one. The user is triaging — over-flagging is more annoying than under-flagging.
Determine scope.
READ_ERRORS section but continue auditing the rest.Infer session intent (only when auditing the live session). One short sentence — what is the user doing here? This grounds your irrelevance judgments. Skip when auditing a static file list, since there is no session.
Scan for each defect class. Make one pass per class, not one pass total — different defects need different attention modes. Contradictions need cross-referencing across sources. Ambiguities are local. Irrelevance needs the inferred intent.
Cite precisely. Every finding must point to where it lives. For files, use path:line or path:line-line. For session-only content (system prompt, conversation turns), use a stable label like system-prompt:<section-name> or conversation:<turn-N>:<short-quote>. The user needs to be able to find what you're talking about.
One finding per line. Don't merge two findings into one line even if they're related — the user wants to triage them independently.
Print exactly this structure. No preamble, no closing remarks beyond what's specified.
# Context Audit
Scope: <"current session" or "N file(s)">
Intent: <one sentence; omit this line if auditing a static file list>
## Findings
<file:line> [<file:line> ...] [<CODE>/<SEV>] <one-line description>
<file:line> [<file:line> ...] [<CODE>/<SEV>] <one-line description>
...
## Summary
CON: <count by severity, e.g. "1C 2H 0M 1L">
AMB: <count by severity>
IRR: <count by severity>
Where:
<CODE> is CON, AMB, or IRR.<SEV> is C, H, M, or L.Sort findings by severity (C → L), then by code (CON → AMB → IRR), then by file path.
If a defect class has zero findings, still include its summary line with all zeros.
CLAUDE.md:42 memory/style.md:7 [CON/C] indentation rule disagrees: tabs vs 2-space
README.md:88 [AMB/H] "the standard format" — three formats are documented; unclear which applies
memory/old-project.md:1-120 [IRR/M] notes on a project not referenced in this session
conversation:turn-3:"use the new API" [AMB/M] two APIs labeled "new" in the codebase
npx claudepluginhub mtrense/skills --plugin commonGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.