audit-memory
Audit Claude's saved memories for claims that no longer hold true — verify each against current code, PRs and tickets, then…
Vet a Claude Code permission allowlist against a GREEN/YELLOW/RED safety model and reduce permission prompts. Runs on top of the built-in /fewer-permission-prompts scan (and permission auto mode): filters proposed auto-allow commands through a GREEN/YELLOW/RED safety model —
$ npx -y skills add intercom/2x-skills --skill permissions-analyzer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/permissions-analyzerContext preview
The summary Claude sees to decide when to auto-load this skill.
Vet a Claude Code permission allowlist against a GREEN/YELLOW/RED safety model and reduce permission prompts. Runs on top of the built-in /fewer-permission-prompts scan (and permission auto mode): filters proposed auto-allow commands through a GREEN/YELLOW/RED safety model —
name: permissions-analyzer
description: |
Vet a Claude Code permission allowlist against a GREEN/YELLOW/RED safety model and reduce permission
prompts. Runs on top of the built-in /fewer-permission-prompts scan (and permission auto mode):
filters proposed auto-allow commands through a GREEN/YELLOW/RED safety model — never auto-allowing
interpreters or package-manager executors — before merging the safe ones into ~/.claude/settings.json.
Also turns the proactive "reduce your prompts" suggestions off or on (disable/enable).
disable-model-invocation: true
metadata:
keywords:
- settings
- approvals
- security
user-invocable: true
allowed-tools: Bash Read Write AskUserQuestionThe mechanical scan of session history for frequently-approved commands is a job for Claude Code's built-in `/fewer-permission-prompts` skill and permission auto mode (https://code.claude.com/docs/en/permissions). This skill adds the layer neither provides: an opinionated **safety filter** plus a guarded write into the user's global `~/.claude/settings.json`. The built-in scan does not apply the RED override below, so it can auto-allow commands this skill would reject — this skill applies the filter.
Pick the mode from the argument after `/permissions-analyzer`:
The marker only governs the proactive suggestions; the flow is always available by running `/permissions-analyzer` with no argument.
The goal: get safe, high-frequency commands onto the auto-allow list without letting anything that can execute arbitrary code slip through.
1. **Get candidate commands.** Prefer the built-in scan — point the user at `/fewer-permission-prompts`, which mines their session history and proposes an allowlist. Also accept a list the user pastes or the entries already in their `permissions.allow`. For users who want prompts gone entirely rather than command-by-command, mention permission **auto mode** as the broader option. With no candidates supplied and nothing to review, do not fabricate a classified list — route the user to `/fewer-permission-prompts` first, then vet what it returns. 2. **Audit what the built-in already wrote, and strip RED.** The built-in scan writes to the project `.claude/settings.json` allowlist without applying the RED override. When the user has already run it, read that allowlist (and the user's `~/.claude/settings.json`), identify any RED entries, and — on the same explicit confirmation the write path requires — remove them from the allowlist. Flagging alone is not enough: a RED rule the built-in auto-allowed stays active until it is removed. 3. **Classify each candidate** into GREEN / YELLOW / RED using `references/safety-tiers.md`. The RED override is the whole point of this skill — see below. 4. **Present grouped by tier** in a table before asking for confirmation. 5. **Merge the safe ones** into `~/.claude/settings.json` on explicit confirmation.
Classification rules and the permission syntax table live there. Two things matter most:
`references/security-rationale.md` covers the threat model (prompt injection, supply chain, side effects) — cite it when a user pushes back on a RED.
<!-- Maintainer note: the bullets below are declarative *constraints*, not a runbook — kept flat on purpose to avoid procedure smell. Do NOT drop the tier-grouped-table presentation or the "preserve other keys" merge rule: both are load-bearing operational facts. The get-candidates→classify→confirm→write order is derivable from these constraints; the guardrails are not. -->
**Constraints:**
A marketplace of Claude Code skills built by the Fin 2x team.
Audit Claude's saved memories for claims that no longer hold true — verify each against current code, PRs and tickets, then…
Analyze Claude Code usage costs from OpenTelemetry data — per-user spend, expensive sessions, context bloat, and model/token cost…
Scan recent Claude Code sessions for "command not found" errors and BSD/GNU incompatibilities on macOS, fix them via Homebrew,…
Run an extremely strict structural and architectural quality review on a diff, branch, or file set, hunting for "code judo" moves…
Upload local files (screenshots, screen recordings, images, videos) to GitHub as user-attachment assets and return markdown-ready…
Open or update a GitHub pull request for the current branch — use when asked to create a PR, open a pull request, push and PR, or…