tool-audit
Skill0 starsChanged 31 days agoMITView on GitHub
Audit CLI tooling on this machine and how Codex or Claude Code agents use tools across sessions. Use when asked what CLI tools are installed, which tools or subcommands agents use and how often, whether agents use tools efficiently, how commands split into read/write/destructive classes, which installed tools are unused, which MCP or tool calls fail, how usage changes over time, or which read-only commands might be safe permission candidates.
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-contextSkill
- build-interactive-diagramSkill
- change-impactSkill
- eval-candidate-auditSkill
- eval-harness-experimentSkill
- eval-suite-auditSkill
- grill-meSkill
- project-evalSkill
- project-reviewSkill
- review-and-fixSkill
- review-guidance-auditSkill
- serve-artifactsSkill
- todo-captureSkill
- verification-harness-auditSkill
- verify-projectSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 47
Before interpreting a result, read only the matching section of report-guide.md: inventory, snapshots and trends, permission configuration, …
- Distinctive: line 68
Treat permission suggestions as narrow candidates for human review, never as proof that a prefix is safe.
- Very specific: line 73
Keep ambiguous command classifications mixed.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
tool-audit
Answer tooling questions from real local data with the fixed profiles exposed by
scripts/audit.py. Use direct helpers only when custom filters are required.
Bootstrap permissions safely
On first use or after relocating the skill, run
python <skill-dir>/scripts/setup_permissions.py --agent <current-agent> without
--install and show its proposal. Install only after explicit user approval by
rerunning with --install --yes. The bootstrap approves only audit.py plus one
enumerated, argument-free profile. Setup, arbitrary Python, direct helpers,
version probes, catalog writes, and custom paths remain gated. More restrictive
project or managed policies still win.
Restart Codex after installing Codex rules. Use an approved --remove --yes to
remove only entries recorded by setup.
Select a fixed profile
| Question | Profile |
| What CLI tools are installed here? | inventory or inventory-json |
| Include uncategorized tools | inventory-uncategorized or inventory-uncategorized-json |
| How are tools used across sessions? | usage |
| Are agents using tools efficiently? | usage-efficiency |
| Which way are usage trends moving? | usage-trends |
| How is MCP used? | usage-mcp |
| Which tool calls fail? | usage-errors |
| Where do sessions, approvals, or autonomous loops create friction? | usage-friction |
| Which tools have we forgotten? | usage-forgotten |
| What should we allowlist next? | config-suggest |
| Is permission config safe or consistent? | config-lint |
| Audit config and suggest together | config |
| Record, view, or compare tooling state | snapshot, snapshot-history, or snapshot-changes |
Fixed profiles deliberately accept no passthrough arguments. For custom scope,
invoke usage.py directly with --agent, --project, --since, or --until, or
invoke config_audit.py with explicit custom arguments; those calls remain
approval-gated.
Before interpreting a result, read only the matching section of report-guide.md: inventory, snapshots and trends, permission configuration, or session usage and failures.
Run the selected profile
Resolve <skill-dir> from the current skill location and invoke scripts by
absolute path without changing directory. Use python3, python, or Windows
py -3, whichever names Python 3 on the machine.
python <skill-dir>/scripts/audit.py usage-efficiency
python <skill-dir>/scripts/audit.py inventory
python <skill-dir>/scripts/audit.py config-lint
python <skill-dir>/scripts/audit.py snapshotPreserve the safety boundary
- Inventory profiles walk
PATHwithout executing discovered programs. Run the approval-gatedinventory_versions.pyonly when versions are actually needed. - Treat permission suggestions as narrow candidates for human review, never as proof that a prefix is safe. The reports propose rules but do not edit agent configuration.
- Report transcript findings in aggregate. Never print or retain raw prompt samples, credentials, authorization values, or secret-bearing arguments.
- Keep ambiguous command classifications
mixed; do not broaden them merely to avoid permission prompts. - State report limitations instead of assigning wrapped or ambiguous events to the wrong command.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

