agentleFS
CowboyLogicCowboyLogic/ai-dev/skills/client-config-claudecode/SKILL.md

client-config-claudecode

Skill4 starsChanged 11 days agoMITView on GitHub

Manage and maintain Claude Code configuration files and settings. Use this skill whenever the user wants to view, edit, add, remove, or understand any Claude Code settings — permissions, hooks, MCP servers, environment variables, model settings, sandbox, auto mode, or any other configuration field. Trigger on: "add permission", "allow tool", "deny tool", "configure hook", "add MCP server", "change model", "update settings", "show my settings", "what settings do I have", or "set default mode".

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run with: python scripts/<script>.py from the skill directory, or with absolute paths.

    line 95
  2. Distinctive:

    When the user asks you to update, refresh, or sync this skill with the latest Claude Code documentation, follow these steps:

    line 99
  3. Distinctive:

    Always read the file before editing

    line 131
  4. Distinctive:

    Never remove fields you don't recognize without asking

    line 132
  5. Distinctive:

    Keep a mental diff — tell the user exactly what changed

    line 133
  6. Very specific:

    If the file doesn't exist yet, create it with { "$schema": "https://json.schemastore.org/claude-code-settings.json" } as the base

    line 134

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Claude Code Configuration Manager

You help the user manage ~/.claude/settings.json — their user-level Claude Code configuration that applies across all projects.

Settings file locations (scope precedence: highest → lowest)

ScopeFileShared?
Managed (macOS)/Library/Application Support/ClaudeCode/managed-settings.json (+ managed-settings.d/*.json)IT-deployed
Managed (Linux/WSL)/etc/claude-code/managed-settings.json (+ managed-settings.d/*.json)IT-deployed
Managed (Windows)C:\Program Files\ClaudeCode\managed-settings.json (+ managed-settings.d\*.json)IT-deployed
Managed (other)MDM profile / HKLM registry, or server-managed settings from the claude.ai consoleIT-deployed
Command line--settings <file-or-json>, --model, --permission-mode, …One session
Local project.claude/settings.local.json (at the git repo root)No (gitignored)
Project.claude/settings.jsonYes (git)
User~/.claude/settings.json (or $CLAUDE_CONFIG_DIR/settings.json)No

Array settings such as permissions.allow merge across files; scalars take the highest-precedence value. Some keys are user or managed only (ignored in project/local files) — e.g. autoMode, modelPicker, vimInsertModeRemaps; permissions.defaultMode values auto and bypassPermissions are also ignored in project/local files. See references/settings-schema.md §Settings files and precedence.

This skill focuses on the User scope: ~/.claude/settings.json

Workflow

  1. Read current settings first — always read ~/.claude/settings.json before making changes
  2. Identify the task — use the task-to-reference map below to load only what you need
  3. Edit safely — use the Edit tool for targeted changes; validate JSON after editing
  4. Confirm — show the user the diff of what changed

Task → Reference map (load only what's needed)

TaskReference file to read
Add/remove allow, deny, ask rulesreferences/permissions.md
Configure hooks (PreToolUse, PostToolUse, PreModelSwitch, etc.)references/hooks.md
Add/configure MCP serversreferences/mcp.md
Model, effort (effortLevel/modelSettings/maxEffortLevel), thinking, output style, prompt cachereferences/settings-schema.md §Model
Sandbox filesystem/network isolationreferences/settings-schema.md §Sandbox
Auto mode classifierreferences/settings-schema.md §AutoMode
Status line, theme, time format, UI togglesreferences/settings-schema.md §UI
Memory, compaction, workflows, update channelreferences/settings-schema.md §Memory
Plugins & skills (enable/disable, marketplaces, sync)references/settings-schema.md §Plugins
Subagent files, cross-session messagingreferences/settings-schema.md §Subagents
Environment variables, auth helpers, notificationsreferences/settings-schema.md §Environment
Attribution, worktrees, enterprise/managed keysreferences/settings-schema.md §Attribution / §Worktree / §Misc
Deprecated or removed keysreferences/settings-schema.md §Deprecated
Unknown / full schema lookupreferences/settings-schema.md

Common quick edits (no reference needed)

// Auto-updates channel
{ "autoUpdatesChannel": "stable" }          // or "latest" (default)

// Default permission mode
{ "permissions": { "defaultMode": "acceptEdits" } }
// valid: "default" (alias "manual") | "acceptEdits" | "plan" | "auto" | "dontAsk" | "bypassPermissions"
// "auto" and "bypassPermissions" only take effect from user/managed/--settings, not project/local
// Unset: terminal and VS Code sessions start in "auto" from v2.1.283 (details: references/permissions.md)

// Response language
{ "language": "spanish" }

// Effort level — default for models with no saved level
{ "effortLevel": "high" }  // "low" | "medium" | "high" | "xhigh"
// /effort (v2.1.251+) saves per model instead; Opus 5.5+ ignore effortLevel in user settings:
{ "modelSettings": { "claude-sonnet-4-6": { "effortLevel": "high" } } }

// Show thinking summaries
{ "showThinkingSummaries": true }

// Voice dictation (voiceEnabled is deprecated); autoSubmit applies in "hold" mode only
{ "voice": { "enabled": true, "mode": "hold", "autoSubmit": true } }

// Disable all hooks (emergency)
{ "disableAllHooks": true }

// Make a policy hook fail closed: a hook that can't start, times out, or exits with a
// code other than 0 or 2 blocks the action (v2.1.295+; command and http hooks only)
{ "type": "command", "command": "node", "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/check.js"], "onFailure": "block" }

Scripts

For complex operations, use the helper scripts in scripts/:

  • scripts/show-settings.py [--json] [--settings PATH] — pretty-print current settings across scopes (read-only)
  • scripts/validate-settings.py [path] — validate JSON structure, flag bad values, unknown/deprecated keys, and user-or-managed keys and env variables Claude Code ignores placed in project files (read-only)
  • scripts/update-references.py — fetch latest upstream docs (used during self-update)

Run with: python scripts/<script>.py from the skill directory, or with absolute paths.

Self-update procedure

When the user asks you to update, refresh, or sync this skill with the latest Claude Code documentation, follow these steps:

  1. Fetch — run python scripts/update-references.py --all (requires network access). This fetches each configured reference URL (plus its additional_urls) in assets/sources.json and saves raw content to _fetched/. Also scan https://code.claude.com/docs/llms.txt for new pages that belong in sources.json.
  2. Confirm success — if the script exits nonzero, resolve the reported failures and rerun it. Do not use a partial _fetched/ set as source material.
  3. Diff — for each file in _fetched/, read it alongside the corresponding file in references/. Identify: new fields, removed fields, changed valid values, new examples, behavioral changes.
  4. Update — rewrite each references/*.md file to reflect what changed. Preserve the existing structure and token-efficient style; add/remove/correct only what differs from the source.
  5. Sync scripts — update the known keys, enums, hook events, and deprecated-key lists in scripts/validate-settings.py (and field notes in scripts/show-settings.py) to match, then run python scripts/validate-settings.py <sample-file> against a scratch sample, not the user's live settings.
  6. Clean up — delete the _fetched/ directory.
  7. Record the version — note the Claude Code release the refresh was checked against (claude --version, or npm view @anthropic-ai/claude-code version) in README.md and CHANGELOG.md, and label any claim that only a changelog entry supports, not the docs.
  8. Report — tell the user what changed (new keys added, deprecated fields, etc.).

Source URLs (for manual lookup)

See assets/sources.json for the full manifest. Key URLs:

Reference fileSource URL
references/settings-schema.mdhttps://code.claude.com/docs/en/settings-reference.md (+ settings.md, managed-settings.md, sub-agents.md)
references/permissions.mdhttps://code.claude.com/docs/en/permissions.md (+ permission-modes.md, skills.md)
references/hooks.mdhttps://code.claude.com/docs/en/hooks.md
references/mcp.mdhttps://code.claude.com/docs/en/mcp.md (+ managed-mcp.md)
Doc indexhttps://code.claude.com/docs/llms.txt

Safety rules

  • Always read the file before editing
  • Never remove fields you don't recognize without asking
  • Keep a mental diff — tell the user exactly what changed
  • If the file doesn't exist yet, create it with { "$schema": "https://json.schemastore.org/claude-code-settings.json" } as the base
  • Validate JSON is well-formed after any edit

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.