Skills

Permission Tuner

Analyze permission prompts and auto mode denials, then generate permission rules and...

Install

npx skills add rohitg00/pro-workflow --skill permission-tuner -g -a claude-code -y
Repository
rohitg00/pro-workflow2.9k
Category
AI and agents
Updated
1mo ago
License
See repository
Context cost
Lightabout 1,119 tokens
Runs scripts
No, instructions only

What it does

Analyze permission prompts and auto mode denials, then generate permission rules and autoMode entries that cut prompt fatigue. Use when prompts keep interrupting, auto mode falls back to prompting, or after sessions with many denials.

Permission Tuner

Reduce permission prompts by fixing their causes, not by piling up rules.

Trigger

Use when:

  • Permission prompts interrupt flow repeatedly
  • Auto mode keeps blocking routine work or falls back to prompting everything
  • Starting a new project and want to configure permissions

How Prompts Happen

  • Rules resolve first: deny > ask > allow. A matching ask rule prompts even in auto mode, and a PreToolUse hook returning allow cannot override it.
  • In auto mode, anything no rule resolves goes to a classifier. After 3 blocks in a row or 20 in a session, auto mode pauses and prompts for everything until you approve one.
  • Auto mode drops broad allow rules: Bash(*), wildcarded interpreters like Bash(node *), package-manager run commands, Agent, and Monitor.
  • Hooks that exit 2 on harmless commands count as denials and push the session toward that fallback.

Workflow

Step 1: Gather data

Rules merge across scopes, so check every file that exists, not only the user file. /permissions shows the rules Claude Code actually loaded, and claude auto-mode config shows the effective autoMode (the classifier ignores autoMode in .claude/settings.local.json).

for f in ~/.claude/settings.json .claude/settings.json .claude/settings.local.json; do
  [ -f "$f" ] && jq --arg f "$f" '{file: $f, mode: .permissions.defaultMode, allow: (.permissions.allow|length), ask: (.permissions.ask|length), deny: (.permissions.deny|length), autoMode: (.autoMode != null)}' "$f"
done
claude auto-mode config
ls -t ~/.claude/projects/*/*.jsonl | head -20 | xargs grep -ho '"toolDenialKind":"[^"]*"' | sort | uniq -c | sort -rn

toolDenialKind values seen in transcripts (undocumented, may change): permission-rule (rule or hook), automode-blocked (classifier), automode-parsing-error and automode-unavailable (no verdict, not tunable), user-rejected (you said no).

Step 2: Pick the right fix

Read the whole SKILL.md on GitHub

More in AI and agents