meta-audit-local-skills-and-hookslisted
Install: claude install-skill bitranox/bitranox-skills
# Auditing local skills and hooks
## Overview
A marketplace skill is gated from several directions: a commit gate, a clean-room catalogue audit,
mirror checks, a tests-per-script rule. None of that reaches a file outside the marketplace repo.
Everything else a machine loads - a personal skill, a project's `.claude/skills`, a hook wired in
`settings.json` - runs with no gate at all, and rots quietly.
**The core principle: audit by OWNERSHIP, never by path.** The same shipped skill is reachable at
three paths at once (the source checkout, the marketplace clone, the version cache), and tool repos
ship mirrored twins on top of that. Selecting by "where does it look like a skill" reviews all of
them and, far worse, invites an edit into content some other gate owns.
## Step 1 - ask what you are allowed to touch, and read the answer
Never start from a `find`. Run this first, every time:
```bash
bash <plugin>/hooks/run-python.sh \
<plugin>/skills/meta-audit-local-skills-and-hooks/scripts/audit_local.py \
targets --root <tree>
```
(home: `skills/meta-audit-local-skills-and-hooks/`, launched through `hooks/run-python.sh`.)
It prints what it selected AND what it skipped with the reason. Read both halves. The skipped list
is the proof the ownership filter ran, not noise to scroll past.
| Location | Verdict |
|------------------------------------------