Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计异常

claude-permissions-optimizerClaude permissions 优化器

Agent Skill

claude-permissions-optimizer 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,557

周安装

188

GitHub Stars

15,872

下载量

1,489
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:claude-permissions-optimizer(Claude permissions 优化器)
来源仓库:https://github.com/everyinc/compound-engineering-plugin
仓库路径:skills/claude-permissions-optimizer
安装命令:
npx skills add https://github.com/everyinc/compound-engineering-plugin --skill claude-permissions-optimizer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/everyinc/compound-engineering-plugin --skill claude-permissions-optimizer

简介

用于识别并自动允许安全的 Bash 命令以减少权限提示。

  • 基于实际会话历史推荐可安全允许的命令,不处理危险请求。
  • 通过 npx 从 GitHub 仓库安装,需确认环境类型和命令执行范围。
  • 建议核对 settings.json 变更,避免误允许可疑操作。
  • claude-permissions-optimizer 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Claude Permissions Optimizer

Find safe Bash commands that are causing unnecessary permission prompts and auto-allow them in settings.json -- evidence-based, not prescriptive.

This skill identifies commands safe to auto-allow based on actual session history. It does not handle requests to allowlist specific dangerous commands. If the user asks to allow something destructive (e.g., rm -rf, git push --force), explain that this skill optimizes for safe commands only, and that manual allowlist changes can be made directly in settings.json.

Pre-check: Confirm environment

Determine whether you are currently running inside Claude Code or a different coding agent (Codex, Gemini CLI, Cursor, etc.).

If running inside Claude Code: Proceed directly to Step 1.

If running in a different agent: Inform the user before proceeding:

"This skill analyzes Claude Code session history and writes to Claude Code's settings.json. You're currently in [agent name], but I can still optimize your Claude Code permissions from here -- the results will apply next time you use Claude Code."

Then proceed to Step 1 normally. The skill works from any environment as long as ~/.claude/ (or $CLAUDE_CONFIG_DIR) exists on the machine.

Step 1: Choose Analysis Scope

Ask the user how broadly to analyze using the platform's blocking question tool (AskUserQuestion in Claude Code, request_user_input in Codex, ask_user in Gemini). If no question tool is available, present the numbered options and wait for the user's reply.

  1. All projects (Recommended) -- sessions across every project
  2. This project only -- sessions for the current working directory
  3. Custom -- user specifies constraints (time window, session count, etc.)

Default to All projects unless the user explicitly asks for a single project. More data produces better recommendations.

Step 2: Run Extraction Script

Run the bundled script. It handles everything: loads the current allowlist, scans recent session transcripts (most recent 500 sessions or last 30 days, whichever is more restrictive), filters already-covered commands, applies a min-count threshold (5+), normalizes into Bash(pattern) rules, and pre-classifies each as safe/review/dangerous.

All projects:

node <skill-dir>/scripts/extract-commands.mjs

This project only -- pass the project slug (absolute path with every non-alphanumeric char replaced by -, e.g., /Users/tmchow/Code/my-project becomes -Users-tmchow-Code-my-project):

node <skill-dir>/scripts/extract-commands.mjs --project-slug <slug>

Optional: --days <N> to limit to the last N days. Omit to analyze all available sessions.

The output JSON has:

  • green: safe patterns to recommend {pattern, count, sessions, examples}
  • redExamples: top 5 blocked dangerous patterns {pattern, reason, count} (or empty)
  • yellowFootnote: one-line summary of frequently-used commands that aren't safe to auto-allow (or null)
  • stats: totalExtracted, alreadyCovered, belowThreshold, patternsReturned, greenRawCount, etc.

The model's job is to present the script's output, not re-classify.

If the script returns empty results, tell the user their allowlist is already well-optimized or they don't have enough session history yet -- suggest re-running after a few more working sessions.

Step 3: Present Results

Present in three parts. Keep the formatting clean and scannable.

Part 1: Analysis summary

Show the work done using the script's stats. Reaffirm the scope. Keep it to 4-5 lines.

Example:

## Analysis (compound-engineering-plugin)

Scanned **24 sessions** for this project.
Found **312 unique Bash commands** across those sessions.

- **245** already covered by your 43 existing allowlist rules (79%)
- **61** used fewer than 5 times (filtered as noise)
- **6 commands** remain that regularly trigger permission prompts

Part 2: Recommendations

Present green patterns as a numbered table. If yellowFootnote is not null, include it as a line after the table.

### Safe to auto-allow
| # | Pattern | Evidence |
|---|---------|----------|
| 1 | `Bash(bun test *)` | 23 uses across 8 sessions |
| 2 | `Bash(bun run *)` | 18 uses, covers dev/build/lint scripts |
| 3 | `Bash(node *)` | 12 uses across 5 sessions |

Also frequently used: bun install, mkdir (not classified as safe to auto-allow but may be worth reviewing)

If redExamples is non-empty, show a compact "Blocked" table after the recommendations. This builds confidence that the classifier is doing its job. Show up to 3 examples.

### Blocked from recommendations
| Pattern | Reason | Uses |
|---------|--------|------|
| `rm *` | Irreversible file deletion | 21 |
| `eval *` | Arbitrary code execution | 14 |
| `git reset --hard *` | Destroys uncommitted work | 5 |

Part 3: Bottom line

One sentence only. Frame the impact relative to current coverage using the script's stats. Nothing else -- no pattern names, no usage counts, no elaboration. The question tool UI that immediately follows will visually clip any trailing text, so this must fit on a single short line.

Adding 22 rules would bring your allowlist coverage from 65% to 93%.

Compute the percentages from stats:

  • Before: alreadyCovered / totalExtracted * 100
  • After: (alreadyCovered + greenRawCount) / totalExtracted * 100

Use greenRawCount (the number of unique raw commands the green patterns cover), not patternsReturned (which is just the number of normalized patterns).

Step 4: Get User Confirmation

The recommendations table is already displayed. Use the platform's blocking question tool to ask for the decision:

  1. Apply all to user settings (~/.claude/settings.json)
  2. Apply all to project settings (.claude/settings.json)
  3. Skip

If the user wants to exclude specific items, they can reply in free text (e.g., "all except 3 and 7 to user settings"). The numbered table is already visible for reference -- no need to re-list items in the question tool.

Step 5: Apply to Settings

For each target settings file:

  1. Read the current file (create {"permissions": {"allow": []}} if it doesn't exist)
  2. Append new patterns to permissions.allow, avoiding duplicates
  3. Sort the allow array alphabetically
  4. Write back with 2-space indentation
  5. Verify the write -- tell the user you're validating the JSON before running this command, e.g., "Verifying settings.json is valid JSON..." The command looks alarming without context: node -e "JSON.parse(require('fs').readFileSync('<path>','utf8'))" If this fails, the file is invalid JSON. Immediately restore from the content read in step 1 and report the error. Do not continue to other files.

After successful verification:

Applied N rules to ~/.claude/settings.json
Applied M rules to .claude/settings.json

These commands will no longer trigger permission prompts.

If .claude/settings.json was modified and is tracked by git, mention that committing it would benefit teammates.

Edge Cases

  • No project context (running outside a project): Only offer user-level settings as write target.
  • Settings file doesn't exist: Create it with {"permissions": {"allow": []}}. For .claude/settings.json, also create the .claude/ directory if needed.
  • Deny rules: If a deny rule already blocks a command, warn rather than adding an allow rule (deny takes precedence in Claude Code).

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.94%
按下载量换算520

Claude

27.74%
按下载量换算413

Cursor

19.04%
按下载量换算284

Gemini CLI

8.59%
按下载量换算128

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills