Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add jakehower/agent-toolkit --skill "auto-approve"
Install specific skill from multi-skill repository
# Description
Manage auto-approve hook for Claude Code - reduces permission prompts using Haiku as security reviewer
# SKILL.md
name: auto-approve
description: Manage auto-approve hook for Claude Code - reduces permission prompts using Haiku as security reviewer
Auto-Approve Skill
Status: not installed
Actions
Show this menu and wait for the user to choose:
- Status - Show config, cache stats, recent decisions
- View config - Display current configuration (global + project)
- Add pattern - Add to Always Allow, Always Ask, Safe Tools, or Custom Rules
- View activity - Show recent decisions from audit log
- Suggest patterns - Find frequently approved patterns to add
- Clear cache - Remove cached decisions
- Continue-check status - Show if continue-check is enabled and recent activity
- Enable continue-check - Enable the Stop hook for this project
- Disable continue-check - Disable the Stop hook for this project
- Update - Check for and apply hook updates
- Uninstall - Remove the hook
Reference
Config Management
View config:
Read and display merged config from:
- Global: ~/.claude/auto-approve/config.md
- Project: .claude/auto-approve.md (if exists)
Add to Always Allow:
- Default to project level (.claude/auto-approve.md)
- Create file if needed
- Add pattern to ## Always Allow section
Add to Always Ask:
- Same as above, add to ## Always Ask section
Add Safe Tool:
- Add to ## Safe Tools section
Add Custom Rule:
- Add to ## Custom Rules section
Audit & Maintenance
View recent activity:
Read ~/.claude/auto-approve/audit.log, show recent decisions.
Suggest patterns:
Parse audit.log for frequently manually-approved patterns, suggest adding to config.
Clear cache:
rm -rf ~/.claude/auto-approve/cache/*
Show cache stats:
ls ~/.claude/auto-approve/cache/ | wc -l
Update Hook
Check for newer version:
1. Compare installed version: grep "^VERSION=" ~/.claude/auto-approve/auto-approve.sh
2. Compare to skill directory version: grep "^VERSION=" "$SKILL_DIR/auto-approve.sh"
3. If skill directory is newer, copy and replace
Uninstall
- Confirm with user
- Remove hook from ~/.claude/settings.json
- Optionally delete ~/.claude/auto-approve/ directory
- Change the Status line to
**Status: not installed**
Continue Check Management
View continue-check status:
- Check if enabled globally: grep -A2 "## Continue Check" ~/.claude/auto-approve/config.md
- Check if enabled for project: grep -A2 "## Continue Check" .claude/auto-approve.md 2>/dev/null
- Show recent activity: grep -E "CONTINUE|STOP" ~/.claude/auto-approve/audit.log | tail -20
Enable continue-check for project:
- Create/update .claude/auto-approve.md
- Add or update ## Continue Check section with - enabled: true
Disable continue-check for project:
- Create/update .claude/auto-approve.md
- Add or update ## Continue Check section with - enabled: false
Config File Locations
| Scope | File | When to use |
|---|---|---|
| Global | ~/.claude/auto-approve/config.md |
User-wide defaults |
| Project | .claude/auto-approve.md |
Project-specific rules |
Default to project level when adding patterns, unless:
- User says "global" or "for all projects"
- No .claude/ directory in project
FAQ
Q: Why did I have to approve that command?
A: Check audit.log for the decision reason. The command either:
- Wasn't in Safe Tools
- Didn't match any Always Allow pattern
- Haiku wasn't confident it was safe
Q: What's the difference between Safe Tools and Always Allow?
A: Safe Tools matches exact tool names (Read, Glob, etc.). Always Allow matches patterns in the full tool_name:tool_input string.
Q: How do I always approve npm commands?
A: Add npm to Always Allow section (matches any command containing "npm").
Q: How do I make Haiku more permissive for this project?
A: Add Custom Rules like "Always approve writes to src/ and test/"
Installation (only when Status is "not installed")
Run these steps only if the Status line above says "not installed":
- Create directories:
mkdir -p ~/.claude/auto-approve/cache
- Copy files from skill directory:
cp "$SKILL_DIR/auto-approve.sh" ~/.claude/auto-approve/auto-approve.sh
chmod +x ~/.claude/auto-approve/auto-approve.sh
cp "$SKILL_DIR/config.md" ~/.claude/auto-approve/config.md
- Add PermissionRequest hook to ~/.claude/settings.json:
Read existing settings and merge this hook config. Use the expanded absolute path (not ~):
{
"hooks": {
"PermissionRequest": [
{
"hooks": [
{
"type": "command",
"command": "/home/username/.claude/auto-approve/auto-approve.sh",
"timeout": 35000
}
]
}
]
}
}
Replace /home/username with the actual home directory path (use $HOME to determine it).
- Add Stop hook to ~/.claude/settings.json:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "/home/username/.claude/auto-approve/continue-check.sh",
"timeout": 35000
}
]
}
]
}
}
- Copy continue-check script:
cp "$SKILL_DIR/continue-check.sh" ~/.claude/auto-approve/continue-check.sh
chmod +x ~/.claude/auto-approve/continue-check.sh
-
Update this skill file: Change the Status line to
**Status: installed**so future invocations skip installation. -
Confirm installation complete.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.