‹ 首页

permissions

@oliver-kriska · 收录于 4 天前 · 上游提交 4 天前

Recommend safe Bash permissions for Elixir mix commands in settings.json. Use when permission prompts slow workflow, "fix permissions", "reduce prompts", "auto-allow mix".

适合你,如果经常被 Elixir mix 命令的权限提示打断工作。

/ 通过 npx 安装 校验哈希
npx oh-my-skill add oliver-kriska/claude-elixir-phoenix/permissions
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- oliver-kriska/claude-elixir-phoenix/permissions
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify oliver-kriska/claude-elixir-phoenix/permissions
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
503GitHub stars
~1.1K最小装载
~1.1K含声明引用
~4.1K文本包总量
索引托管

怎么用

商店整理自技能原文 · 版本 88c1194 · 表述以原文为准
它做什么

Claude会扫描最近N天的会话记录,找出你已批准的Bash命令,与当前settings.json对比,推荐添加缺失的低风险命令(GREEN/YELLOW),并清理冗余或垃圾条目。

什么时候触发

使用“/phx:permissions”命令(可带--days和--dry-run参数),或当你说“fix permissions”“reduce prompts”“auto-allow mix”等时触发。

装好后可以这样说
Claude会分析会话并给出建议。
自动检查并清理冗余条目。
尝试推荐添加mix相关权限。
技能原文 SKILL.md作者撰写 · MIT · 88c1194

Permission Analyzer

Scan recent session transcripts to find Bash commands you keep approving, cross-reference with current settings.json, and recommend adding the missing ones.

Primary goal: Discover MISSING permissions from actual usage. Secondary goal: Clean up redundant/garbage entries.

Usage

/phx:permissions [--days=14] [--dry-run] — Scans session JSONL files, finds uncovered Bash commands, classifies risk, and recommends settings.json changes. Use --dry-run to preview without writing.

Arguments

$ARGUMENTS--days=N (default: 14), --dry-run (preview only).

Iron Laws
  1. NEVER auto-allow REDrm, sudo, kill, curl|sh, mix ecto.reset, git push --force, chmod 777
  2. Evidence-based only — Only recommend commands actually approved in sessions
  3. Show before writing — Present full diff, get explicit confirmation
  4. Preserve existing — Merge, never overwrite
Risk Classification

| Level | Examples | Action | |-------|----------|--------| | GREEN | ls, cat, grep, tail, which, mkdir, cd, mix test/compile/credo/format, git status/log/diff | Auto-recommend | | YELLOW | git add/commit/push, mix ecto.migrate, mix deps.get, npm install, docker build/run, source, mise exec | Recommend with note | | RED | rm -rf, sudo, kill, curl|sh,mix ecto.reset/drop,git push --force,git reset --hard | Never recommend |

Workflow
Step 1: Extract Bash Commands from Session JSONL Files

Run the extraction script from ${CLAUDE_SKILL_DIR}/references/extraction-script.md. This scans all project JSONL files from the last N days, checks each Bash command against current settings.json patterns, and reports uncovered commands with counts.

IMPORTANT: Run this FIRST. Do NOT skip to settings cleanup.

Step 2: Classify and Recommend

For each uncovered command from Step 1 output:

  1. Classify as GREEN / YELLOW / RED per table above
  2. Generate permission pattern: normalize to Bash(base_command *) format (use SPACE before *, NOT colon — :* is deprecated)
  3. mkdir -p (94x) → Bash(mkdir *)
  4. mise exec (39x) → Bash(mise *)
  5. tail -5 (20x) → Bash(tail *)
  6. Check for redundancy: skip if a broader existing pattern covers it
  7. Also scan for garbage in current settings: Bash(done), Bash(fi), Bash(__NEW_LINE_*), partial heredocs, entries covered by broader patterns
  8. Fix deprecated :* patterns — replace any Bash(name:*) with Bash(name *) (space before *). The :* suffix is deprecated and may not match reliably

Present a combined table:

## Permission Recommendations (last N days)

### ADD — Missing permissions (from session scan)
| Pattern to Add | Times Used | Risk | Example |
|...

### REMOVE — Redundant/garbage entries
| Entry | Reason |
|...

### RED — Require manual approval (not adding)
| Command | Count | Risk |
|...
Step 3: Interactive Triage (unless --dry-run)

Walk through findings interactively using AskUserQuestion. Present items in batches by risk level, starting with GREEN (safest):

Batch 1 — GREEN items (read-only, tests, safe tools): Use AskUserQuestion with options:

  • "Add all GREEN" — approve entire batch
  • "Pick individually" — show each one for yes/no
  • "Skip GREEN" — move to YELLOW

Batch 2 — YELLOW items (write ops, need caution): Always show individually — one AskUserQuestion per item with options:

  • "Add" — include in settings
  • "Skip" — keep requiring manual approval
  • "Customize" — let user edit the pattern before adding

Batch 3 — REMOVE candidates (garbage/redundant): Use AskUserQuestion with options:

  • "Remove all" — clean up entire batch
  • "Pick individually" — show each for yes/no
  • "Keep all" — skip cleanup

Track approved items in a list. After triage, show final summary of what will be added/removed and ask for confirmation.

Step 4: Apply

Merge approved additions into ~/.claude/settings.json under permissions.allow. Remove approved garbage entries. Report final counts.

Workflow-artifact permissions (always check)

The plugin's workflow writes to .claude/plans/, .claude/solutions/, and .claude/reviews/. If these aren't covered, /phx:compound and review agents get write-blocked mid-workflow. Recommend (GREEN): Write(.claude/plans/**), Write(.claude/solutions/**), Write(.claude/reviews/**).

References
  • ${CLAUDE_SKILL_DIR}/references/risk-classification.md — Full classification rules
  • ${CLAUDE_SKILL_DIR}/references/settings-format.md — Permission pattern format
Related

Long mix output flooding context? /phx:mix-compression installs rtk filters that compress mix test/credo/dialyzer/compile output before it reaches the transcript (5-15% token savings on mix-heavy sessions).

按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。