agentsclimarketplace

Permission auditor

Skill timdevai/proteus/skills/permission-auditor

Always-on multi-agent AI workstation for Claude Code. 142 specialist agents (ML, security, K8s, backend, frontend) · 366 curated skills · 200+ prompt templates · auto prompt-matcher · auto skill-matcher · MCP support · token router cuts Anthropic bill 6x via Kimi/Haiku/Ollama. LiteLLM · BYOK · MIT + Apache. One-line install.From the repository description

Install
npx -y skills add timdevai/proteus --skill permission-auditor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.7 KB, 774 tokens by cl100k_base, as published. Nobody here has run it

permission-auditor

Reviews your .claude/settings.json for overpermissive allowlists, missing denylists, and known-risky tool combos. Suggests safer defaults.

When to activate

Trigger phrases: audit my settings, audit permissions, safer claude, /audit-perms, am I too permissive.

Auto-activate the FIRST time the user runs Claude Code in a fresh repo (no .claude/settings.json present) — offer to scaffold a safe default.

What it checks

Allowlist issues

  • Wildcard Bash(*) — too broad, suggest tightening
  • Bash(rm -rf*) allowed — dangerous
  • Bash(curl|wget*) allowed without URL scope — data exfil risk
  • Write(*) allowed across entire filesystem — should scope to project
  • Edit(*) outside project root — same

Denylist gaps

  • No deny on .env, *.key, *.pem, id_rsa*
  • No deny on ~/.aws/, ~/.ssh/, ~/.kube/
  • No deny on **/secrets/**
  • No git push --force deny
  • No rm -rf / style deny

Hook gaps

  • No PreToolUse hook to log bash commands
  • No Stop hook (you lose session metadata)
  • No safety net for WebFetch to internal URLs

Output

Permission audit: .claude/settings.json
======================================

Allowlist (8 rules):
✓ Bash(npm install:*)         - scoped
✓ Bash(npm run *)             - scoped
⚠ Bash(*)                     - TOO BROAD. Tighten to specific allowed commands.
⚠ Write(*)                    - no path scope. Limit to project root.

Denylist (2 rules):
⚠ Missing: Read(./.env)
⚠ Missing: Read(./id_rsa*)
⚠ Missing: Bash(git push --force*)
⚠ Missing: Bash(rm -rf /*)

Hooks: none configured.
Recommend at minimum:
- PreToolUse: log Bash commands to a session file
- Stop: sync this conversation to your vault

Suggested patches: (apply with /audit-perms apply)
- Add 4 deny rules above
- Replace Bash(*) with: Bash(npm:*), Bash(git:*), Bash(python:*), Bash(pytest:*)
- Add the two hooks

Process

  1. Read .claude/settings.json (project) and ~/.claude/settings.json (user)
  2. Parse allow/deny/hook arrays
  3. Run rule checks above
  4. Score: 0-100 safety score
  5. Generate suggested patch as a JSON diff
  6. Offer to apply

Inputs

  • Project .claude/settings.json
  • User-level ~/.claude/settings.json
  • Project file tree (to scope Write/Edit rules)

Outputs

  • Audit report (markdown)
  • Suggested JSON patch
  • One-line summary (e.g. "Safety score: 62/100. 4 issues, 2 critical.")

Slash command

  • /audit-perms — run the audit
  • /audit-perms apply — apply the suggested patches

Critical issues that block apply

If any of these are missing, the auditor refuses to skip them:

  • Deny on Read(./.env*) and Read(./*.key)
  • Deny on Bash(rm -rf /)
  • Deny on Bash(git push --force* main) / master

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,851. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.