claude-settings-audit
Навык claude-settings-audit из репозитория Sentry анализирует проект и предлагает read-only разрешения для Claude Code в settings.json. Он рассчитан на первичную настройку проекта, аудит уже существующих разрешений и определение того, какие безопасные команды нужны для чтения структуры и инструментов. Результат является рекомендацией по конфигурации: он не запускает сборку, не меняет проект и не доказывает, что выбранные команды безопасны для любой конкретной среды без проверки владельцем репозитория. Сначала навык обнаруживает технический стек. Он просматривает корень проекта и файлы конфигурации, включая toml, json, lock-файлы, YAML, Makefile, Dockerfile и Terraform. Затем проверяет индикаторы Python, Node.js, Go, Rust, Ruby и Java, а также признаки monorepo. Содержимое package.json, pyproject.toml, Gemfile и Cargo.toml используется для определения фактически применяемых зависимостей. Отдельный этап обнаруживает сервисы по реальным признакам: например, Sentry SDK и конфигурация Sentry или Linear-файлы. После этого читается существующий .claude/settings.json, если он есть, чтобы предложение учитывало текущие настройки, а не создавало список вслепую. В базовый allow list входят стандартные команды чтения и навигации вроде ls, pwd, find, file, stat, wc, head, tail и cat, а также read-only команды git status, log, diff, show, branch, remote, tag, stash list и rev-parse. GitHub CLI-команды gh pr view/list/checks/diff, gh issue view/list, gh run view/list/logs, gh repo view и gh api добавляются как просмотр действий и состояния, когда они нужны рабочему процессу. Для обнаруженного Node.js учитываются node и команды фактически используемого менеджера пакетов; при наличии yarn.lock источник предлагает yarn list, info и why, а не бездумно добавляет команды альтернативных менеджеров. Аналогично, stack-specific команды выбираются только при обнаружении соответствующих файлов. Для Sentry-проектов навык перечисляет связанные Sentry skills и WebFetch-домены, а для Next.js, React, Docker, Kubernetes, Terraform и других обнаруженных технологий может предложить официальные домены документации. MCP-конфигурация рассматривается отдельно от settings.json: сначала проверяется .mcp.json, а Sentry или Linear MCP предлагаются только при наличии признаков использования соответствующего сервиса. Формат результата должен содержать обнаруженный стек, обоснование команд, рекомендуемый settings.json и, если применимо, рекомендуемый .mcp.json. Главное ограничение — принцип минимального read-only списка. Нельзя добавлять абсолютные пользовательские пути, самодельные scripts с возможными side effects, команды install, build, run, write или delete. Нельзя добавлять npm/yarn/pnpm одновременно без основания: альтернативный package manager не должен появляться только ради полноты списка. Команда с суффиксом :* получает произвольные аргументы, поэтому её следует разрешать лишь для действительно не изменяющих состояние инструментов. Наличие Sentry или фреймворка не означает, что все связанные skills и домены нужно включать автоматически: сначала подтверждаются зависимости и файлы проекта. Таким образом, навык полезен как узкий аудит разрешений, а окончательное решение должно оставаться за владельцем репозитория и учитывать локальные политики, секреты и реальный риск каждой команды.
Для чего подходит
- Подготовка settings.json для проекта
- Анализ стеков и build-инструментов
- Определение безопасных read-only разрешений
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/getsentry/skills/tree/main/skills/claude-settings-audit