Plugin Settings

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

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/valeratrades/plugin-dev --skill plugin-settings-valeratrades
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Plugin Settings
Source: https://github.com/valeratrades/plugin-dev/tree/main/skills/plugin-settings
Command: npx skills add https://github.com/valeratrades/plugin-dev --skill plugin-settings-valeratrades

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 plugins can store per-project configuration and state in a structured, gitignored file. ## Core Features & Use Cases - Settings File Pattern: Defines the .claude/plugin-name.local.md format combining YAML frontmatter for structured config 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. - Real-World Examples: Analyzes production implementations from multi-agent-swarm (agent coordination state) and ralph-wiggum (loop iteration state) plugins. - Use Case: A plugin author wants users to toggle strict validation mode per project. They create a settings template, parse the enabled and mode fields in a PreToolUse hook, and document that changes require a Claude Code restart. ## Quick Start Ask the AI to add a configurable settings file to your plugin using the .claude/plugin-name.local.md pattern with frontmatter parsing in your hook.

Frequently Asked Questions about Plugin Settings

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

FAQPage Schema
How do I store plugin settings in Claude Code?▼

Create a .claude/plugin-name.local.md file in the project root with YAML frontmatter for structured fields and a markdown body for context. Hooks, commands, and agents read this file to adapt behavior per project.

How to parse YAML frontmatter in bash scripts?▼

Extract the frontmatter block with sed -n '/^---$/,/^---$/{ /^---$/d; p; }', then pull individual fields using grep and sed. For complex YAML structures like nested lists, use yq instead of sed and grep.

Do plugin settings changes require a Claude Code restart?▼

Yes, settings changes require restarting Claude Code because hooks cannot be hot-swapped within a session. Document this requirement in your plugin README so users know to exit and restart after editing the file.

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 your project .gitignore, and document this in the plugin README.

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

Use atomic updates: write the modified content to a temp file with sed, then replace the original with mv. This prevents corruption if the process is interrupted mid-write, unlike in-place sed -i edits.