/claude-settings-audit
Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.
$ npx -y skills add getsentry/sentry-skills --skill claude-settings-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/claude-settings-audit
Context preview
The summary Claude sees to decide when to auto-load this skill.
Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.
SKILL.md
claude-settings-audit.SKILL.mdname: claude-settings-audit
description: Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.
Claude Settings Audit
Analyze this repository and generate recommended Claude Code `settings.json` permissions for read-only commands.
Phase 1: Detect Tech Stack
Run these commands to detect the repository structure:
ls -la
find . -maxdepth 2 \( -name "*.toml" -o -name "*.json" -o -name "*.lock" -o -name "*.yaml" -o -name "*.yml" -o -name "Makefile" -o -name "Dockerfile" -o -name "*.tf" \) 2>/dev/null | head -50
Check for these indicator files:
| Category | Files to Check | | ------------ | ------------------------------------------------------------------------------------- | | **Python** | `pyproject.toml`, `setup.py`, `requirements.txt`, `Pipfile`, `poetry.lock`, `uv.lock` | | **Node.js** | `package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml` | | **Go** | `go.mod`, `go.sum` | | **Rust** | `Cargo.toml`, `Cargo.lock` | | **Ruby** | `Gemfile`, `Gemfile.lock` | | **Java** | `pom.xml`, `build.gradle`, `build.gradle.kts` | | **Build** | `Makefile`, `Dockerfile`, `docker-compose.yml` | | **Infra** | `*.tf` files, `kubernetes/`, `helm/` | | **Monorepo** | `lerna.json`, `nx.json`, `turbo.json`, `pnpm-workspace.yaml` |
Phase 2: Detect Services
Check for service integrations:
| Service | Detection | | ---------- | ------------------------------------------------------------------------------- | | **Sentry** | `sentry-sdk` in deps, `@sentry/*` packages, `.sentryclirc`, `sentry.properties` | | **Linear** | Linear config files, `.linear/` directory |
Read dependency files to identify frameworks:
- `package.json` → check `dependencies` and `devDependencies`
- `pyproject.toml` → check `[project.dependencies]` or `[tool.poetry.dependencies]`
- `Gemfile` → check gem names
- `Cargo.toml` → check `[dependencies]`
Phase 3: Check Existing Settings
cat .claude/settings.json 2>/dev/null || echo "No existing settings"
Phase 4: Generate Recommendations
Build the allow list by combining:
Baseline Commands (Always Include)
[
"Bash(ls:*)",
"Bash(pwd:*)",
"Bash(find:*)",
"Bash(file:*)",
"Bash(stat:*)",
"Bash(wc:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(cat:*)",
"Bash(tree:*)",
"Bash(git status:*)",
"Bash(git log:*)",
"Bash(git diff:*)",
"Bash(git show:*)",
"Bash(git branch:*)",
"Bash(git remote:*)",
"Bash(git tag:*)",
"Bash(git stash list:*)",
"Bash(git rev-parse:*)",
"Bash(gh pr view:*)",
"Bash(gh pr list:*)",
"Bash(gh pr checks:*)",
"Bash(gh pr diff:*)",
"Bash(gh issue view:*)",
"Bash(gh issue list:*)",
"Bash(gh run view:*)",
"Bash(gh run list:*)",
"Bash(gh run logs:*)",
"Bash(gh repo view:*)",
"Bash(gh api:*)"
]
Stack-Specific Commands
Only include commands for tools actually detected in the project.
Python (if any Python files or config detected)
| If Detected | Add These Commands | | ---------------------------------- | --------------------------------------- | | Any Python | `python --version`, `python3 --version` | | `poetry.lock` | `poetry show`, `poetry env info` | | `uv.lock` | `uv pip list`, `uv tree` | | `Pipfile.lock` | `pipenv graph` | | `requirements.txt` (no other lock) | `pip list`, `pip show`, `pip freeze` |
Node.js (if package.json detected)
| If Detected | Add These Commands | | ---------------------------- | -------------------------------------- | | Any Node.js | `node --version` | | `pnpm-lock.yaml` | `pnpm list`, `pnpm why` | | `yarn.lock` | `yarn list`, `yarn info`, `yarn why` | | `package-lock.json` | `npm list`, `npm view`, `npm outdated` | | TypeScript (`tsconfig.json`) | `tsc --version` |
Other Languages
| If Detected | Add These Commands | | -------------- | -------------------------------------------------------------------- | | `go.mod` | `go version`, `go list`, `go mod graph`, `go env` | | `Cargo.toml` | `rustc --version`, `cargo --version`, `cargo tree`, `cargo metadata` | | `Gemfile` | `ruby --version`, `bundle list`, `bundle show` | | `pom.xml` | `java --version`, `mvn --version`, `mvn dependency:tree` | | `build.gradle` | `java --version`, `gradle --version`, `gradle dependencies` |
Build Tools
| If Detected | Add These Commands | | -------------------- | -------------------------------------------------------------------- | | `Dockerfile` | `docker --version`, `docker ps`, `docker images` | | `docker-compose.yml` | `docker-compose ps`, `docker-compose config` | | `*.tf` files | `terraform --version`, `terraform providers`, `terraform state list` | | `Makefil
Read more
name: claude-settings-audit description: Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.
Claude Settings Audit
Analyze this repository and generate recommended Claude Code `settings.json` permissions for read-only commands.
Phase 1: Detect Tech Stack
Run these commands to detect the repository structure:
ls -la find . -maxdepth 2 \( -name "*.toml" -o -name "*.json" -o -name "*.lock" -o -name "*.yaml" -o -name "*.yml" -o -name "Makefile" -o -name "Dockerfile" -o -name "*.tf" \) 2>/dev/null | head -50
Check for these indicator files:
| Category | Files to Check | | ------------ | ------------------------------------------------------------------------------------- | | **Python** | `pyproject.toml`, `setup.py`, `requirements.txt`, `Pipfile`, `poetry.lock`, `uv.lock` | | **Node.js** | `package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml` | | **Go** | `go.mod`, `go.sum` | | **Rust** | `Cargo.toml`, `Cargo.lock` | | **Ruby** | `Gemfile`, `Gemfile.lock` | | **Java** | `pom.xml`, `build.gradle`, `build.gradle.kts` | | **Build** | `Makefile`, `Dockerfile`, `docker-compose.yml` | | **Infra** | `*.tf` files, `kubernetes/`, `helm/` | | **Monorepo** | `lerna.json`, `nx.json`, `turbo.json`, `pnpm-workspace.yaml` |
Phase 2: Detect Services
Check for service integrations:
| Service | Detection | | ---------- | ------------------------------------------------------------------------------- | | **Sentry** | `sentry-sdk` in deps, `@sentry/*` packages, `.sentryclirc`, `sentry.properties` | | **Linear** | Linear config files, `.linear/` directory |
Read dependency files to identify frameworks:
- `package.json` → check `dependencies` and `devDependencies`
- `pyproject.toml` → check `[project.dependencies]` or `[tool.poetry.dependencies]`
- `Gemfile` → check gem names
- `Cargo.toml` → check `[dependencies]`
Phase 3: Check Existing Settings
cat .claude/settings.json 2>/dev/null || echo "No existing settings"
Phase 4: Generate Recommendations
Build the allow list by combining:
Baseline Commands (Always Include)
[ "Bash(ls:*)", "Bash(pwd:*)", "Bash(find:*)", "Bash(file:*)", "Bash(stat:*)", "Bash(wc:*)", "Bash(head:*)", "Bash(tail:*)", "Bash(cat:*)", "Bash(tree:*)", "Bash(git status:*)", "Bash(git log:*)", "Bash(git diff:*)", "Bash(git show:*)", "Bash(git branch:*)", "Bash(git remote:*)", "Bash(git tag:*)", "Bash(git stash list:*)", "Bash(git rev-parse:*)", "Bash(gh pr view:*)", "Bash(gh pr list:*)", "Bash(gh pr checks:*)", "Bash(gh pr diff:*)", "Bash(gh issue view:*)", "Bash(gh issue list:*)", "Bash(gh run view:*)", "Bash(gh run list:*)", "Bash(gh run logs:*)", "Bash(gh repo view:*)", "Bash(gh api:*)" ]
Stack-Specific Commands
Only include commands for tools actually detected in the project.
Python (if any Python files or config detected)
| If Detected | Add These Commands | | ---------------------------------- | --------------------------------------- | | Any Python | `python --version`, `python3 --version` | | `poetry.lock` | `poetry show`, `poetry env info` | | `uv.lock` | `uv pip list`, `uv tree` | | `Pipfile.lock` | `pipenv graph` | | `requirements.txt` (no other lock) | `pip list`, `pip show`, `pip freeze` |
Node.js (if package.json detected)
| If Detected | Add These Commands | | ---------------------------- | -------------------------------------- | | Any Node.js | `node --version` | | `pnpm-lock.yaml` | `pnpm list`, `pnpm why` | | `yarn.lock` | `yarn list`, `yarn info`, `yarn why` | | `package-lock.json` | `npm list`, `npm view`, `npm outdated` | | TypeScript (`tsconfig.json`) | `tsc --version` |
Other Languages
| If Detected | Add These Commands | | -------------- | -------------------------------------------------------------------- | | `go.mod` | `go version`, `go list`, `go mod graph`, `go env` | | `Cargo.toml` | `rustc --version`, `cargo --version`, `cargo tree`, `cargo metadata` | | `Gemfile` | `ruby --version`, `bundle list`, `bundle show` | | `pom.xml` | `java --version`, `mvn --version`, `mvn dependency:tree` | | `build.gradle` | `java --version`, `gradle --version`, `gradle dependencies` |
Build Tools
| If Detected | Add These Commands | | -------------------- | -------------------------------------------------------------------- | | `Dockerfile` | `docker --version`, `docker ps`, `docker images` | | `docker-compose.yml` | `docker-compose ps`, `docker-compose config` | | `*.tf` files | `terraform --version`, `terraform providers`, `terraform state list` | | `Makefil
For skills to help set up Sentry in your project or debug production issues, see Agent skills for Sentry employees, following the Agent Skills open format.
Repo: getsentry/sentry-skills
Other skills on sentry-skills.
- /agents-md
Creates and maintains concise AGENTS.md and CLAUDE.md project instruction files. Use when asked to create AGENTS.md, update AGENTS.md, maintain agent docs, set up CLAUDE.md, document repository agent conventions, or keep coding-agent instructions minimal and reference-backed.
Open skill - /blog-writing-guide
Write, review, and improve blog posts for the Sentry engineering blog following Sentry's specific writing standards, voice, and quality bar. Use this skill whenever someone asks to write a blog post, draft a technical article, review blog content, improve a draft, write a
Open skill - /brand-guidelines
Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.
Open skill - /code-review
Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.
Open skill - /code-simplifier
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to "simplify code", "clean up code", "refactor for clarity", "improve readability", or review recently modified code for elegance. Focuses on
Open skill - /commit
Use for every request to commit changes or draft a commit message. Creates Sentry-style conventional commits with issue references.
Open skill

