claude-hooks-settingslisted
Install: claude install-skill Xopoko/plug-n-skills
# Claude Hooks And Settings
Bundled commands use `$PLUGIN_ROOT` (`$env:PLUGIN_ROOT` in PowerShell; same path suffix) for the plugin root. Set it once: use the host's plugin-root variable when defined (Claude Code: `PLUGIN_ROOT="$CLAUDE_PLUGIN_ROOT"`), otherwise the absolute path of this plugin's root directory.
Use this skill for Claude Code settings and customization work: settings JSON,
hooks, CLAUDE.md or rules loading, custom agents, tool allow/deny rules, output
styles, workflows, setting sources, plugin-provided customizations, safe-mode
comparisons, and bare-mode explicit context.
Read `$PLUGIN_ROOT/references/hooks-settings.md`
for hook lifecycle, setting-source boundaries, and safety details.
## First Move
Inspect the target files and scope before editing:
- user settings: machine-wide, do not commit;
- project settings: shareable only when the repo intentionally wants them;
- local project settings: machine-local, normally ignored;
- plugin settings: bundled with a plugin and active only when enabled;
- managed policy settings: admin-controlled and may override local changes.
Use CLI evidence when behavior differs from expectation:
```bash
python3 "$PLUGIN_ROOT/scripts/claude_code_inspector.py" --commands auto-mode --json
claude auto-mode config
claude auto-mode defaults
```
## Hook Design
Use hooks only when deterministic lifecycle automation is needed. Prefer narrow
events and matchers:
- tool gating or audit: `PreToolUse`, `PermissionRequest`, `Permiss