Plugin Settings

Implements per-project plugin configuration using .claude/plugin-name.local.md files with YAML frontmatter.

Updated Mar 22, 2026
One-click install
npx skills add https://github.com/ace8991/agentos --skill plugin-settings-ace8991
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Plugin Settings
Source: https://github.com/ace8991/agentos/tree/main/.tmp_claude_code/claude-code-main/plugins/plugin-dev/skills/plugin-settings
Command: npx skills add https://github.com/ace8991/agentos --skill plugin-settings-ace8991

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Claude Code plugins often need user-configurable behavior and persistent state, but there is no built-in settings mechanism. This Skill documents the .claude/plugin-name.local.md pattern so plugin authors can store per-project configuration and state in a structured, gitignored file. ## Core Features & Use Cases - Settings File Pattern: Defines a standard file structure combining YAML frontmatter for structured fields with a markdown body for prompts and context. - Bash Parsing Techniques: Provides sed, grep, and awk patterns for extracting frontmatter fields and markdown bodies from hooks, commands, and agents. - Validation & Utility Scripts: Includes validate-settings.sh and parse-frontmatter.sh scripts plus real-world examples from the multi-agent-swarm and ralph-wiggum plugins. - Use Case: A plugin author building a validation hook can let users toggle strict mode, file size limits, and enable/disable flags by editing .claude/my-plugin.local.md instead of modifying hook code. ## Quick Start Ask the AI to add a configurable settings file to your plugin using the .claude/plugin-name.local.md pattern with YAML frontmatter and hook parsing logic.

Frequently Asked Questions about Plugin Settings

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make a Claude Code plugin configurable per project?▼

Create a `.claude/plugin-name.local.md` file in the project root with YAML frontmatter for settings and a markdown body for context. Hooks and commands parse the frontmatter with sed and grep to read fields like enabled, mode, and max_file_size.

How do I parse YAML frontmatter in a bash hook script?▼

Extract the frontmatter with `sed -n '/^---$/,/^---$/{ /^---$/d; p; }'` on the file, then pull individual fields using grep and sed. For the markdown body, use `awk '/^---$/{i++; next} i>=2'` to capture everything after the second marker.

Should plugin settings files be committed to git?▼

No, settings files are user-local and should be gitignored. Add `.claude/*.local.md` and `.claude/*.local.json` to the project .gitignore, and document this requirement in the plugin README.

Do plugin settings changes take effect immediately in Claude Code?▼

No, changes to settings files require restarting Claude Code because hooks cannot be hot-swapped within a session. Users must save the file, exit, and restart for new settings to load.

How do I update a settings file field without corrupting it?▼

Use atomic updates: write the modified content to a temporary file with sed, then move it over the original with mv. This prevents corruption if the process is interrupted mid-write.