From forge-core
Audit and clean AI coding tool settings — permissions, plugins, hooks, cross-layer conflicts. USE WHEN review permissions, clean settings, audit config, plugin conflicts, hook audit, settings cruft.
npx claudepluginhub n4m3z/forge-coreThis skill uses the workspace's default tool permissions.
Audit and clean AI coding tool settings files. Covers permission entries, plugin configuration, hook wiring, and cross-layer conflicts.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Processes PDFs: extracts text/tables/images, merges/splits/rotates pages, adds watermarks, creates/fills forms, encrypts/decrypts, OCRs scans. Activates on PDF mentions or output requests.
Share bugs, ideas, or general feedback.
Audit and clean AI coding tool settings files. Covers permission entries, plugin configuration, hook wiring, and cross-layer conflicts.
AI coding tools layer settings across multiple files. Claude Code uses 4 files with inheritance:
| Layer | File | Committed | Scope |
|---|---|---|---|
| Global shared | ~/.claude/settings.json | No (personal) | All projects |
| Global local | ~/.claude/settings.local.json | No (personal) | All projects, overrides global shared |
| Project shared | .claude/settings.json | Yes (git) | This project, shared with collaborators |
| Project local | .claude/settings.local.json | No (gitignored) | This project, personal overrides |
Precedence (highest wins): project local > project shared > global local > global shared.
At the global level, both files are personal — the settings.json / settings.local.json split is redundant. The local file is designed for project-level use where settings.json is committed and settings.local.json holds personal overrides.
| Subskill | Trigger | Content |
|---|---|---|
| ClaudePermissions | "permissions", "allowed commands", "settings cruft" | @ClaudePermissions.md |
| ClaudePlugins | "plugins", "plugin conflicts", "disable plugins" | @ClaudePlugins.md |
| ClaudeHooks | "hooks", "hook config", "dispatch" | @ClaudeHooks.md |
| GeminiSettings | "gemini settings", "audit gemini" | @GeminiSettings.md |
| Full audit | "full audit", "review settings", "clean everything" | All of the above |
All subskills follow this 6-phase workflow:
jq . <file> > /dev/null for JSON validity. Count before/after entries. Spot-check that critical tools remain permitted.Run these regardless of which subskill is active:
| Check | What to look for |
|---|---|
| Env var duplication | Same key+value in both global and project settings.json — project inherits from global |
| Permission scattering | Same entry in both settings.json and settings.local.json at the same level |
| Plugin enable/disable conflict | Global disables a plugin but project re-enables it (or vice versa) |
| Redundant local file | At global level, settings.local.json entries that already exist in settings.json |