plugin-settings

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

1|Updated Jul 6, 2015
One-click install
npx skills add https://github.com/ksolomon/dotfiles --skill plugin-settings-ksolomon
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: plugin-settings
Source: https://github.com/ksolomon/dotfiles/tree/main/AI/.claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings
Command: npx skills add https://github.com/ksolomon/dotfiles --skill plugin-settings-ksolomon

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, letting plugin developers store per-project configuration in YAML frontmatter plus markdown content that hooks, commands, and agents can read. ## Core Features & Use Cases - Settings File Pattern: Defines the .claude/plugin-name.local.md structure with YAML frontmatter for structured config and a markdown body for prompts or context. - Bash Parsing Techniques: Provides sed, grep, and awk recipes for extracting frontmatter fields and markdown bodies, including quote handling, defaults, and validation. - Real-World Examples: Analyzes how the multi-agent-swarm and ralph-loop plugins use settings files for agent coordination state and loop iteration control. - Use Case: You are building a validation hook plugin and want users to toggle strict mode per project. Create a .claude/my-plugin.local.md template, parse the enabled and strict_mode fields in your hook, and let users change behavior without editing hooks.json. ## Quick Start Ask the AI to add a configurable settings file to your plugin using the .claude/plugin-name.local.md pattern with an enabled flag and parsing logic in the hook.

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 holding settings and a markdown body for context. Hooks, commands, and agents parse the frontmatter with sed and grep to read fields like enabled or mode.

How to parse YAML frontmatter in a bash hook script?▼

Extract the frontmatter block with `sed -n '/^---$/,/^---$/{ /^---$/d; p; }' file`, then pull individual fields using grep and sed. Strip surrounding quotes and provide defaults for missing values to keep the hook robust.

Do plugin settings changes require restarting Claude Code?▼

Yes, changes to `.claude/plugin-name.local.md` require restarting Claude Code because hooks cannot be hot-swapped within a session. Document this in your plugin README so users know to exit and relaunch after editing settings.

Should plugin settings files be committed to git?▼

No, settings files are user-local and should be excluded via `.gitignore` entries like `.claude/*.local.md`. The `.local.md` suffix distinguishes them from documentation that belongs in version control.

What happens if the plugin settings file is missing or corrupt?▼

Hooks should use the quick-exit pattern: check file existence first and exit cleanly if absent, falling back to sensible defaults. Validate field values and handle empty or malformed frontmatter gracefully instead of crashing.