Back to Skills

plugin-settings

This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.

20,213stars2,508forksUpdated 5/20/2026

Security Assessment

Safe(100/100)
Security Score100/100

About plugin-settings

The plugin-settings skill enables developers and users to manage per-project plugin configuration using a structured and user-friendly approach. By leveraging `.claude/plugin-name.local.md` files, this skill provides a standardized pattern for storing plugin settings and state, combining YAML frontmatter for structured data and markdown body for additional instructions, prompts, or notes. This approach simplifies managing plugin behavior on a per-project basis without affecting version control, as these files are intended to be user-managed and typically ignored by Git.

The skill supports reading settings through various mechanisms, including hooks, commands, and agents. Hooks can parse YAML frontmatter in bash scripts to conditionally enable or configure plugin behavior, while commands and agents can dynamically adapt their execution logic based on the extracted configuration. Key features include the ability to handle boolean, string, numeric, and list-based settings, structured organization of plugin metadata, and a consistent file pattern for all plugins within a project. Users can easily extend or modify the markdown body to include additional instructions or contextual information that supplements the YAML configuration.

Target users include developers building Claude code plugins, team leads coordinating plugin behavior across projects, and advanced users who need per-project customization of plugin features. Use cases involve enabling or disabling plugins, setting operational modes, defining limits such as retries, specifying notification levels, or providing detailed instructions for automated agents. This skill is particularly useful in scenarios where project-specific configurations must be isolated from global settings or version-controlled code, offering flexibility and clarity in plugin management.

FAQ

How do I create a plugin settings file?

Create a `.claude/plugin-name.local.md` file in your project root. Include YAML frontmatter for structured settings and optionally a markdown body for additional context or instructions.

Can hooks and scripts read these settings automatically?

Yes. Hooks and bash scripts can parse the YAML frontmatter from the settings file to conditionally configure plugin behavior, such as enabling strict mode or applying specific parameters.

Are these settings files included in version control?

No. These files are user-managed and should be added to `.gitignore` to prevent committing per-project configurations to Git.

What types of fields can I include in the YAML frontmatter?

You can include boolean, string, numeric, and list-based fields. For example, `enabled: true`, `max_retries: 3`, or `list_setting: ["item1", "item2"]`.

Can agents and commands use these settings?

Yes. Commands can read the configuration to adjust processing logic, and agents can reference the settings to adapt behavior according to the enabled state, mode, and additional fields.

All Files

8 files
SKILL.md11.8 KB
View
examples/example-settings.md2.9 KB
View
scripts/validate-settings.sh2.5 KB
View
references/real-world-examples.md9.3 KB
View
scripts/parse-frontmatter.sh1.2 KB
View
examples/create-settings-command.md2.1 KB
View
references/parsing-techniques.md11.2 KB
View
examples/read-settings-hook.sh2.2 KB
View

Install plugin-settings

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill