Pro-workflow permission-tuner
Analyze permission denial patterns and generate optimized alwaysAllow and alwaysDeny rules. Use when permission prompts are slowing you down or after sessions with many denials.
install
source · Clone the upstream repo
git clone https://github.com/rohitg00/pro-workflow
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/rohitg00/pro-workflow "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/permission-tuner" ~/.claude/skills/rohitg00-pro-workflow-permission-tuner && rm -rf "$T"
manifest:
skills/permission-tuner/SKILL.mdsource content
Permission Tuner
Reduce permission prompt fatigue by analyzing denial patterns and suggesting targeted rules.
Trigger
Use when:
- Permission prompts interrupt flow repeatedly
- Starting a new project and want to configure permissions
- After a session with many manual approvals
Workflow
- Scan recent session data for permission patterns
- Identify frequently-approved tools and patterns
- Generate safe
rulesalwaysAllow - Present rules for approval before applying
Analysis
Step 1: Gather Permission Data
Check current permission rules:
cat .claude/settings.json 2>/dev/null | grep -A 20 "permissions" cat ~/.claude/settings.json 2>/dev/null | grep -A 20 "permissions"
Step 2: Identify Safe Patterns
Auto-approve candidates (low risk):
— all file reads (read-only, no side effects)Read
— file pattern matching (read-only)Glob
— content search (read-only)Grep
— read-only git commandsBash(git status)
— read-only git commandsBash(git diff*)
— read-only git commandsBash(git log*)
— test executionBash(npm test*)
— lintingBash(npm run lint*)
— type checkingBash(npm run typecheck*)
Ask candidates (medium risk — auto-approve only if user confirms):
— file modificationsEdit
— new file creationWrite
— staging changesBash(git add*)
— creating commitsBash(git commit*)
— dependency changesBash(npm install*)
Never auto-approve (high risk):
— affects remoteBash(git push*)
— destructiveBash(git reset --hard*)
— destructiveBash(rm -rf*)
— external API callsBash(curl*POST*)- Any command with
or--force--no-verify
Step 3: Generate Rules
{ "permissions": { "allow": [ "Read", "Glob", "Grep", "Bash(git status)", "Bash(git diff*)", "Bash(git log*)", "Bash(npm test*)", "Bash(npm run lint*)", "Bash(npm run typecheck*)" ], "deny": [ "Bash(rm -rf *)", "Bash(git push --force*)", "Bash(git reset --hard*)" ] } }
Output
PERMISSION TUNER REPORT Current rules: [X] allow, [Y] deny, [Z] ask Recommendations: Auto-approve (safe, read-only): + Read, Glob, Grep + Bash(git status), Bash(git diff*), Bash(git log*) Auto-approve (medium risk, frequently used): + Edit (approved X times this session) + Bash(npm test*) (approved X times) Keep asking: ~ Bash(git commit*) — verify commit messages ~ Write — verify new file creation Auto-deny (dangerous): - Bash(rm -rf *) - Bash(git push --force*) Estimated prompts saved per session: ~[N]
Rules
- Never auto-approve destructive operations
- Always present rules for user approval before applying
- Group rules by risk level (safe/medium/dangerous)
- Include estimated prompt savings