[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71874Q6RFEAW3GGYXJEB5KS":3,"skill-same:01M71874Q6RFEAW3GGYXJEB5KS":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M71874Q6RFEAW3GGYXJEB5KS","claude-settings-audit",null,"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.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fclaude-settings-audit\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"audit","settings","claude settings audit","up","new","when","unknown","which","project","structure","community","settings.json","generate","only","monorepo","analyze","stack","Bash","permissions","code","2026-11-10 10:12:30",false,"---\nname: claude-settings-audit\ndescription: 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.\nrisk: unknown\nsource: community\n---\n\n# Claude Settings Audit\n\nAnalyze this repository and generate recommended Claude Code `settings.json` permissions for read-only commands.\n\n## When to Use\n\n- You are setting up or auditing Claude Code `settings.json` permissions for a repository.\n- You need to infer a safe read-only allow list from the repo's tech stack, tooling, and monorepo structure.\n- You want to review or replace an existing Claude permissions baseline with something evidence-based.\n\n## Phase 1: Detect Tech Stack\n\nRun these commands to detect the repository structure:\n\n```bash\nls -la\nfind . -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>\u002Fdev\u002Fnull | head -50\n```\n\nCheck for these indicator files:\n\n| Category     | Files to Check                                                                        |\n| ------------ | ------------------------------------------------------------------------------------- |\n| **Python**   | `pyproject.toml`, `setup.py`, `requirements.txt`, `Pipfile`, `poetry.lock`, `uv.lock` |\n| **Node.js**  | `package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`                    |\n| **Go**       | `go.mod`, `go.sum`                                                                    |\n| **Rust**     | `Cargo.toml`, `Cargo.lock`                                                            |\n| **Ruby**     | `Gemfile`, `Gemfile.lock`                                                             |\n| **Java**     | `pom.xml`, `build.gradle`, `build.gradle.kts`                                         |\n| **Build**    | `Makefile`, `Dockerfile`, `docker-compose.yml`                                        |\n| **Infra**    | `*.tf` files, `kubernetes\u002F`, `helm\u002F`                                                  |\n| **Monorepo** | `lerna.json`, `nx.json`, `turbo.json`, `pnpm-workspace.yaml`                          |\n\n## Phase 2: Detect Services\n\nCheck for service integrations:\n\n| Service    | Detection                                                                       |\n| ---------- | ------------------------------------------------------------------------------- |\n| **Sentry** | `sentry-sdk` in deps, `@sentry\u002F*` packages, `.sentryclirc`, `sentry.properties` |\n| **Linear** | Linear config files, `.linear\u002F` directory                                       |\n\nRead dependency files to identify frameworks:\n\n- `package.json` → check `dependencies` and `devDependencies`\n- `pyproject.toml` → check `[project.dependencies]` or `[tool.poetry.dependencies]`\n- `Gemfile` → check gem names\n- `Cargo.toml` → check `[dependencies]`\n\n## Phase 3: Check Existing Settings\n\n```bash\ncat .claude\u002Fsettings.json 2>\u002Fdev\u002Fnull || echo \"No existing settings\"\n```\n\n## Phase 4: Generate Recommendations\n\nBuild the allow list by combining:\n\n### Baseline Commands (Always Include)\n\n```json\n[\n  \"Bash(ls:*)\",\n  \"Bash(pwd:*)\",\n  \"Bash(find:*)\",\n  \"Bash(file:*)\",\n  \"Bash(stat:*)\",\n  \"Bash(wc:*)\",\n  \"Bash(head:*)\",\n  \"Bash(tail:*)\",\n  \"Bash(cat:*)\",\n  \"Bash(tree:*)\",\n  \"Bash(git status:*)\",\n  \"Bash(git log:*)\",\n  \"Bash(git diff:*)\",\n  \"Bash(git show:*)\",\n  \"Bash(git branch:*)\",\n  \"Bash(git remote:*)\",\n  \"Bash(git tag:*)\",\n  \"Bash(git stash list:*)\",\n  \"Bash(git rev-parse:*)\",\n  \"Bash(gh pr view:*)\",\n  \"Bash(gh pr list:*)\",\n  \"Bash(gh pr checks:*)\",\n  \"Bash(gh pr diff:*)\",\n  \"Bash(gh issue view:*)\",\n  \"Bash(gh issue list:*)\",\n  \"Bash(gh run view:*)\",\n  \"Bash(gh run list:*)\",\n  \"Bash(gh run logs:*)\",\n  \"Bash(gh repo view:*)\",\n  \"Bash(gh api:*)\"\n]\n```\n\n### Stack-Specific Commands\n\nOnly include commands for tools actually detected in the project.\n\n#### Python (if any Python files or config detected)\n\n| If Detected                        | Add These Commands                      |\n| ---------------------------------- | --------------------------------------- |\n| Any Python                         | `python --version`, `python3 --version` |\n| `poetry.lock`                      | `poetry show`, `poetry env info`        |\n| `uv.lock`                          | `uv pip list`, `uv tree`                |\n| `Pipfile.lock`                     | `pipenv graph`                          |\n| `requirements.txt` (no other lock) | `pip list`, `pip show`, `pip freeze`    |\n\n#### Node.js (if package.json detected)\n\n| If Detected                  | Add These Commands                     |\n| ---------------------------- | -------------------------------------- |\n| Any Node.js                  | `node --version`                       |\n| `pnpm-lock.yaml`             | `pnpm list`, `pnpm why`                |\n| `yarn.lock`                  | `yarn list`, `yarn info`, `yarn why`   |\n| `package-lock.json`          | `npm list`, `npm view`, `npm outdated` |\n| TypeScript (`tsconfig.json`) | `tsc --version`                        |\n\n#### Other Languages\n\n| If Detected    | Add These Commands                                                   |\n| -------------- | -------------------------------------------------------------------- |\n| `go.mod`       | `go version`, `go list`, `go mod graph`, `go env`                    |\n| `Cargo.toml`   | `rustc --version`, `cargo --version`, `cargo tree`, `cargo metadata` |\n| `Gemfile`      | `ruby --version`, `bundle list`, `bundle show`                       |\n| `pom.xml`      | `java --version`, `mvn --version`, `mvn dependency:tree`             |\n| `build.gradle` | `java --version`, `gradle --version`, `gradle dependencies`          |\n\n#### Build Tools\n\n| If Detected          | Add These Commands                                                   |\n| -------------------- | -------------------------------------------------------------------- |\n| `Dockerfile`         | `docker --version`, `docker ps`, `docker images`                     |\n| `docker-compose.yml` | `docker-compose ps`, `docker-compose config`                         |\n| `*.tf` files         | `terraform --version`, `terraform providers`, `terraform state list` |\n| `Makefile`           | `make --version`, `make -n`                                          |\n\n### Skills (for Sentry Projects)\n\nIf this is a Sentry project (or sentry-skills plugin is installed), include:\n\n```json\n[\n  \"Skill(sentry-skills:agents-md)\",\n  \"Skill(sentry-skills:blog-writing-guide)\",\n  \"Skill(sentry-skills:brand-guidelines)\",\n  \"Skill(sentry-skills:claude-settings-audit)\",\n  \"Skill(sentry-skills:code-review)\",\n  \"Skill(sentry-skills:code-simplifier)\",\n  \"Skill(sentry-skills:commit)\",\n  \"Skill(sentry-skills:create-branch)\",\n  \"Skill(sentry-skills:create-pr)\",\n  \"Skill(sentry-skills:django-access-review)\",\n  \"Skill(sentry-skills:django-perf-review)\",\n  \"Skill(sentry-skills:doc-coauthoring)\",\n  \"Skill(sentry-skills:find-bugs)\",\n  \"Skill(sentry-skills:gh-review-requests)\",\n  \"Skill(sentry-skills:gha-security-review)\",\n  \"Skill(sentry-skills:iterate-pr)\",\n  \"Skill(sentry-skills:pr-writer)\",\n  \"Skill(sentry-skills:security-review)\",\n  \"Skill(sentry-skills:skill-creator)\",\n  \"Skill(sentry-skills:skill-scanner)\",\n  \"Skill(sentry-skills:skill-writer)\",\n  \"Skill(sentry-skills:sred-project-organizer)\",\n  \"Skill(sentry-skills:sred-work-summary)\"\n]\n```\n\n### WebFetch Domains\n\n#### Always Include (Sentry Projects)\n\n```json\n[\n  \"WebFetch(domain:docs.sentry.io)\",\n  \"WebFetch(domain:develop.sentry.dev)\",\n  \"WebFetch(domain:docs.github.com)\",\n  \"WebFetch(domain:cli.github.com)\"\n]\n```\n\n#### Framework-Specific\n\n| If Detected    | Add Domains                                     |\n| -------------- | ----------------------------------------------- |\n| **Django**     | `docs.djangoproject.com`                        |\n| **Flask**      | `flask.palletsprojects.com`                     |\n| **FastAPI**    | `fastapi.tiangolo.com`                          |\n| **React**      | `react.dev`                                     |\n| **Next.js**    | `nextjs.org`                                    |\n| **Vue**        | `vuejs.org`                                     |\n| **Express**    | `expressjs.com`                                 |\n| **Rails**      | `guides.rubyonrails.org`, `api.rubyonrails.org` |\n| **Go**         | `pkg.go.dev`                                    |\n| **Rust**       | `docs.rs`, `doc.rust-lang.org`                  |\n| **Docker**     | `docs.docker.com`                               |\n| **Kubernetes** | `kubernetes.io`                                 |\n| **Terraform**  | `registry.terraform.io`                         |\n\n### MCP Server Suggestions\n\nMCP servers are configured in `.mcp.json` (not `settings.json`). Check for existing config:\n\n```bash\ncat .mcp.json 2>\u002Fdev\u002Fnull || echo \"No existing .mcp.json\"\n```\n\n#### Sentry MCP (if Sentry SDK detected)\n\nAdd to `.mcp.json` (replace `{org-slug}` and `{project-slug}` with your Sentry organization and project slugs):\n\n```json\n{\n  \"mcpServers\": {\n    \"sentry\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.sentry.dev\u002Fmcp\u002F{org-slug}\u002F{project-slug}\"\n    }\n  }\n}\n```\n\n#### Linear MCP (if Linear usage detected)\n\nAdd to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"linear\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@linear\u002Fmcp-server\"],\n      \"env\": {\n        \"LINEAR_API_KEY\": \"${LINEAR_API_KEY}\"\n      }\n    }\n  }\n}\n```\n\n**Note**: Never suggest GitHub MCP. Always use `gh` CLI commands for GitHub.\n\n## Output Format\n\nPresent your findings as:\n\n1. **Summary Table** - What was detected\n2. **Recommended settings.json** - Complete JSON ready to copy\n3. **MCP Suggestions** - If applicable\n4. **Merge Instructions** - If existing settings found\n\nExample output structure:\n\n```markdown\n## Detected Tech Stack\n\n| Category        | Found          |\n| --------------- | -------------- |\n| Languages       | Python 3.x     |\n| Package Manager | poetry         |\n| Frameworks      | Django, Celery |\n| Services        | Sentry         |\n| Build Tools     | Docker, Make   |\n\n## Recommended .claude\u002Fsettings.json\n\n\\`\\`\\`json\n{\n\"permissions\": {\n\"allow\": [\n\u002F\u002F ... grouped by category with comments\n],\n\"deny\": []\n}\n}\n\\`\\`\\`\n\n## Recommended .mcp.json (if applicable)\n\nIf you use Sentry or Linear, add the MCP config to `.mcp.json`...\n```\n\n## Important Rules\n\n### What to Include\n\n- Only READ-ONLY commands that cannot modify state\n- Only tools that are actually used by the project (detected via lock files)\n- Standard system commands (ls, cat, find, etc.)\n- The `:*` suffix allows any arguments to the base command\n\n### What to NEVER Include\n\n- **Absolute paths** - Never include user-specific paths like `\u002Fhome\u002Fuser\u002Fscripts\u002Ffoo` or `\u002FUsers\u002Fname\u002Fbin\u002Fbar`\n- **Custom scripts** - Never include project scripts that may have side effects (e.g., `.\u002Fscripts\u002Fdeploy.sh`)\n- **Alternative package managers** - If the project uses pnpm, do NOT include npm\u002Fyarn commands\n- **Commands that modify state** - No install, build, run, write, or delete commands\n\n### Package Manager Rules\n\nOnly include the package manager actually used by the project:\n\n| If Detected         | Include         | Do NOT Include                         |\n| ------------------- | --------------- | -------------------------------------- |\n| `pnpm-lock.yaml`    | pnpm commands   | npm, yarn                              |\n| `yarn.lock`         | yarn commands   | npm, pnpm                              |\n| `package-lock.json` | npm commands    | yarn, pnpm                             |\n| `poetry.lock`       | poetry commands | pip (unless also has requirements.txt) |\n| `uv.lock`           | uv commands     | pip, poetry                            |\n| `Pipfile.lock`      | pipenv commands | pip, poetry                            |\n\nIf multiple lock files exist, include only the commands for each detected manager.\n","# Claude Settings Audit\n\nAnalyze this repository and generate recommended Claude Code `settings.json` permissions for read-only commands.\n\n## When to Use\n\n- You are setting up or auditing Claude Code `settings.json` permissions for a repository.\n- You need to infer a safe read-only allow list from the repo's tech stack, tooling, and monorepo structure.\n- You want to review or replace an existing Claude permissions baseline with something evidence-based.\n\n## Phase 1: Detect Tech Stack\n\nRun these commands to detect the repository structure:\n\n```bash\nls -la\nfind . -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>\u002Fdev\u002Fnull | head -50\n```\n\nCheck for these indicator files:\n\n| Category     | Files to Check                                                                        |\n| ------------ | ------------------------------------------------------------------------------------- |\n| **Python**   | `pyproject.toml`, `setup.py`, `requirements.txt`, `Pipfile`, `poetry.lock`, `uv.lock` |\n| **Node.js**  | `package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`                    |\n| **Go**       | `go.mod`, `go.sum`                                                                    |\n| **Rust**     | `Cargo.toml`, `Cargo.lock`                                                            |\n| **Ruby**     | `Gemfile`, `Gemfile.lock`                                                             |\n| **Java**     | `pom.xml`, `build.gradle`, `build.gradle.kts`                                         |\n| **Build**    | `Makefile`, `Dockerfile`, `docker-compose.yml`                                        |\n| **Infra**    | `*.tf` files, `kubernetes\u002F`, `helm\u002F`                                                  |\n| **Monorepo** | `lerna.json`, `nx.json`, `turbo.json`, `pnpm-workspace.yaml`                          |\n\n## Phase 2: Detect Services\n\nCheck for service integrations:\n\n| Service    | Detection                                                                       |\n| ---------- | ------------------------------------------------------------------------------- |\n| **Sentry** | `sentry-sdk` in deps, `@sentry\u002F*` packages, `.sentryclirc`, `sentry.properties` |\n| **Linear** | Linear config files, `.linear\u002F` directory                                       |\n\nRead dependency files to identify frameworks:\n\n- `package.json` → check `dependencies` and `devDependencies`\n- `pyproject.toml` → check `[project.dependencies]` or `[tool.poetry.dependencies]`\n- `Gemfile` → check gem names\n- `Cargo.toml` → check `[dependencies]`\n\n## Phase 3: Check Existing Settings\n\n```bash\ncat .claude\u002Fsettings.json 2>\u002Fdev\u002Fnull || echo \"No existing settings\"\n```\n\n## Phase 4: Generate Recommendations\n\nBuild the allow list by combining:\n\n### Baseline Commands (Always Include)\n\n```json\n[\n  \"Bash(ls:*)\",\n  \"Bash(pwd:*)\",\n  \"Bash(find:*)\",\n  \"Bash(file:*)\",\n  \"Bash(stat:*)\",\n  \"Bash(wc:*)\",\n  \"Bash(head:*)\",\n  \"Bash(tail:*)\",\n  \"Bash(cat:*)\",\n  \"Bash(tree:*)\",\n  \"Bash(git status:*)\",\n  \"Bash(git log:*)\",\n  \"Bash(git diff:*)\",\n  \"Bash(git show:*)\",\n  \"Bash(git branch:*)\",\n  \"Bash(git remote:*)\",\n  \"Bash(git tag:*)\",\n  \"Bash(git stash list:*)\",\n  \"Bash(git rev-parse:*)\",\n  \"Bash(gh pr view:*)\",\n  \"Bash(gh pr list:*)\",\n  \"Bash(gh pr checks:*)\",\n  \"Bash(gh pr diff:*)\",\n  \"Bash(gh issue view:*)\",\n  \"Bash(gh issue list:*)\",\n  \"Bash(gh run view:*)\",\n  \"Bash(gh run list:*)\",\n  \"Bash(gh run logs:*)\",\n  \"Bash(gh repo view:*)\",\n  \"Bash(gh api:*)\"\n]\n```\n\n### Stack-Specific Commands\n\nOnly include commands for tools actually detected in the project.\n\n#### Python (if any Python files or config detected)\n\n| If Detected                        | Add These Commands                      |\n| ---------------------------------- | --------------------------------------- |\n| Any Python                         | `python --version`, `python3 --version` |\n| `poetry.lock`                      | `poetry show`, `poetry env info`        |\n| `uv.lock`                          | `uv pip list`, `uv tree`                |\n| `Pipfile.lock`                     | `pipenv graph`                          |\n| `requirements.txt` (no other lock) | `pip list`, `pip show`, `pip freeze`    |\n\n#### Node.js (if package.json detected)\n\n| If Detected                  | Add These Commands                     |\n| ---------------------------- | -------------------------------------- |\n| Any Node.js                  | `node --version`                       |\n| `pnpm-lock.yaml`             | `pnpm list`, `pnpm why`                |\n| `yarn.lock`                  | `yarn list`, `yarn info`, `yarn why`   |\n| `package-lock.json`          | `npm list`, `npm view`, `npm outdated` |\n| TypeScript (`tsconfig.json`) | `tsc --version`                        |\n\n#### Other Languages\n\n| If Detected    | Add These Commands                                                   |\n| -------------- | -------------------------------------------------------------------- |\n| `go.mod`       | `go version`, `go list`, `go mod graph`, `go env`                    |\n| `Cargo.toml`   | `rustc --version`, `cargo --version`, `cargo tree`, `cargo metadata` |\n| `Gemfile`      | `ruby --version`, `bundle list`, `bundle show`                       |\n| `pom.xml`      | `java --version`, `mvn --version`, `mvn dependency:tree`             |\n| `build.gradle` | `java --version`, `gradle --version`, `gradle dependencies`          |\n\n#### Build Tools\n\n| If Detected          | Add These Commands                                                   |\n| -------------------- | -------------------------------------------------------------------- |\n| `Dockerfile`         | `docker --version`, `docker ps`, `docker images`                     |\n| `docker-compose.yml` | `docker-compose ps`, `docker-compose config`                         |\n| `*.tf` files         | `terraform --version`, `terraform providers`, `terraform state list` |\n| `Makefile`           | `make --version`, `make -n`                                          |\n\n### Skills (for Sentry Projects)\n\nIf this is a Sentry project (or sentry-skills plugin is installed), include:\n\n```json\n[\n  \"Skill(sentry-skills:agents-md)\",\n  \"Skill(sentry-skills:blog-writing-guide)\",\n  \"Skill(sentry-skills:brand-guidelines)\",\n  \"Skill(sentry-skills:claude-settings-audit)\",\n  \"Skill(sentry-skills:code-review)\",\n  \"Skill(sentry-skills:code-simplifier)\",\n  \"Skill(sentry-skills:commit)\",\n  \"Skill(sentry-skills:create-branch)\",\n  \"Skill(sentry-skills:create-pr)\",\n  \"Skill(sentry-skills:django-access-review)\",\n  \"Skill(sentry-skills:django-perf-review)\",\n  \"Skill(sentry-skills:doc-coauthoring)\",\n  \"Skill(sentry-skills:find-bugs)\",\n  \"Skill(sentry-skills:gh-review-requests)\",\n  \"Skill(sentry-skills:gha-security-review)\",\n  \"Skill(sentry-skills:iterate-pr)\",\n  \"Skill(sentry-skills:pr-writer)\",\n  \"Skill(sentry-skills:security-review)\",\n  \"Skill(sentry-skills:skill-creator)\",\n  \"Skill(sentry-skills:skill-scanner)\",\n  \"Skill(sentry-skills:skill-writer)\",\n  \"Skill(sentry-skills:sred-project-organizer)\",\n  \"Skill(sentry-skills:sred-work-summary)\"\n]\n```\n\n### WebFetch Domains\n\n#### Always Include (Sentry Projects)\n\n```json\n[\n  \"WebFetch(domain:docs.sentry.io)\",\n  \"WebFetch(domain:develop.sentry.dev)\",\n  \"WebFetch(domain:docs.github.com)\",\n  \"WebFetch(domain:cli.github.com)\"\n]\n```\n\n#### Framework-Specific\n\n| If Detected    | Add Domains                                     |\n| -------------- | ----------------------------------------------- |\n| **Django**     | `docs.djangoproject.com`                        |\n| **Flask**      | `flask.palletsprojects.com`                     |\n| **FastAPI**    | `fastapi.tiangolo.com`                          |\n| **React**      | `react.dev`                                     |\n| **Next.js**    | `nextjs.org`                                    |\n| **Vue**        | `vuejs.org`                                     |\n| **Express**    | `expressjs.com`                                 |\n| **Rails**      | `guides.rubyonrails.org`, `api.rubyonrails.org` |\n| **Go**         | `pkg.go.dev`                                    |\n| **Rust**       | `docs.rs`, `doc.rust-lang.org`                  |\n| **Docker**     | `docs.docker.com`                               |\n| **Kubernetes** | `kubernetes.io`                                 |\n| **Terraform**  | `registry.terraform.io`                         |\n\n### MCP Server Suggestions\n\nMCP servers are configured in `.mcp.json` (not `settings.json`). Check for existing config:\n\n```bash\ncat .mcp.json 2>\u002Fdev\u002Fnull || echo \"No existing .mcp.json\"\n```\n\n#### Sentry MCP (if Sentry SDK detected)\n\nAdd to `.mcp.json` (replace `{org-slug}` and `{project-slug}` with your Sentry organization and project slugs):\n\n```json\n{\n  \"mcpServers\": {\n    \"sentry\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.sentry.dev\u002Fmcp\u002F{org-slug}\u002F{project-slug}\"\n    }\n  }\n}\n```\n\n#### Linear MCP (if Linear usage detected)\n\nAdd to `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"linear\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@linear\u002Fmcp-server\"],\n      \"env\": {\n        \"LINEAR_API_KEY\": \"${LINEAR_API_KEY}\"\n      }\n    }\n  }\n}\n```\n\n**Note**: Never suggest GitHub MCP. Always use `gh` CLI commands for GitHub.\n\n## Output Format\n\nPresent your findings as:\n\n1. **Summary Table** - What was detected\n2. **Recommended settings.json** - Complete JSON ready to copy\n3. **MCP Suggestions** - If applicable\n4. **Merge Instructions** - If existing settings found\n\nExample output structure:\n\n```markdown\n## Detected Tech Stack\n\n| Category        | Found          |\n| --------------- | -------------- |\n| Languages       | Python 3.x     |\n| Package Manager | poetry         |\n| Frameworks      | Django, Celery |\n| Services        | Sentry         |\n| Build Tools     | Docker, Make   |\n\n## Recommended .claude\u002Fsettings.json\n\n\\`\\`\\`json\n{\n\"permissions\": {\n\"allow\": [\n\u002F\u002F ... grouped by category with comments\n],\n\"deny\": []\n}\n}\n\\`\\`\\`\n\n## Recommended .mcp.json (if applicable)\n\nIf you use Sentry or Linear, add the MCP config to `.mcp.json`...\n```\n\n## Important Rules\n\n### What to Include\n\n- Only READ-ONLY commands that cannot modify state\n- Only tools that are actually used by the project (detected via lock files)\n- Standard system commands (ls, cat, find, etc.)\n- The `:*` suffix allows any arguments to the base command\n\n### What to NEVER Include\n\n- **Absolute paths** - Never include user-specific paths like `\u002Fhome\u002Fuser\u002Fscripts\u002Ffoo` or `\u002FUsers\u002Fname\u002Fbin\u002Fbar`\n- **Custom scripts** - Never include project scripts that may have side effects (e.g., `.\u002Fscripts\u002Fdeploy.sh`)\n- **Alternative package managers** - If the project uses pnpm, do NOT include npm\u002Fyarn commands\n- **Commands that modify state** - No install, build, run, write, or delete commands\n\n### Package Manager Rules\n\nOnly include the package manager actually used by the project:\n\n| If Detected         | Include         | Do NOT Include                         |\n| ------------------- | --------------- | -------------------------------------- |\n| `pnpm-lock.yaml`    | pnpm commands   | npm, yarn                              |\n| `yarn.lock`         | yarn commands   | npm, pnpm                              |\n| `package-lock.json` | npm commands    | yarn, pnpm                             |\n| `poetry.lock`       | poetry commands | pip (unless also has requirements.txt) |\n| `uv.lock`           | uv commands     | pip, poetry                            |\n| `Pipfile.lock`      | pipenv commands | pip, poetry                            |\n\nIf multiple lock files exist, include only the commands for each detected manager.\n",{"name":5,"risk":25,"source":29,"description":7},"main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fglobal\u002Fclaude-settings-audit","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill claude-settings-audit",{"tool":56,"command":57},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill claude-settings-audit",{"tool":59,"command":60},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill claude-settings-audit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fclaude-settings-audit\u002FSKILL.md",true,[],[65,89,113,123,136,155],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":39},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[77,78,79,80,81,82,83,84,85,86,87,88],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":39},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[96,97,98,99,36,100,79,101,102,103,104,24,105,106,107,108,109,110,111,112],"trend","trend tap","tap","api keys","time","trending","hacker","aggregator","do","brew","live","data","google","install","read","across","api",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":39},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[120,121,96,105,106,107,108,36,79,110,122,111,112,24,103,102,101,109,100,99],"trend radar","radar","pulse",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":39},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[130,131,132,133,134,135],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":147,"publishedAt":39},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":145,"taxonomyTypeDesc":146},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[138,85,148,149,150,88,105,151,152,153,98,154,109],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":39},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[157,162,163,164,109,165,152,166,167,168,169,170],"status","play","go","latest","github","discover","control","cmd","volume"]