Plugin Settings

Parses YAML frontmatter and markdown body of .claude/*.local.md files for Claude Code plugin configuration.

1|Updated Mar 29, 2026
One-click install
npx skills add https://github.com/dmedina-dev/dev-forge --skill plugin-settings-dmedina-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Plugin Settings
Source: https://github.com/dmedina-dev/dev-forge/tree/main/plugins/forge-plugin-dev/skills/plugin-settings
Command: npx skills add https://github.com/dmedina-dev/dev-forge --skill plugin-settings-dmedina-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Provides a consistent, human-editable pattern for storing per-project plugin configuration and runtime state so hooks, commands, and agents can read and adapt behavior without committing secret or user-specific data to source control.

Core Features & Use Cases

  • File pattern: Uses .claude/plugin-name.local.md files with YAML frontmatter and a markdown body for prompts or notes.
  • Parsing & validation: Includes shell patterns and helper scripts to extract frontmatter fields, handle booleans/numbers/lists, and validate structure.
  • State & lifecycle: Supports enabled flags, atomic updates, iteration/state counters, agent coordination, and a restart-based reload workflow.
  • Use case: Enable or disable hooks, drive agent behavior with per-project state, and store task prompts or completion promises for looped agents.

Quick Start

Create or edit .claude/my-plugin.local.md with YAML frontmatter to set enabled: true and your desired fields, then restart Claude Code.

Frequently Asked Questions about Plugin Settings

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

FAQPage Schema
How do I store per-project configuration for Claude Code plugins without committing secrets to source control?

You can store per-project configuration in .claude/plugin-name.local.md files using YAML frontmatter and a markdown body. This pattern keeps user-specific settings and runtime state out of source control while remaining human-editable.

How do I parse YAML frontmatter and validate fields in local plugin configuration files?

Parsing YAML frontmatter uses included shell patterns and helper scripts to extract fields, handle booleans, numbers, and lists, and validate the file structure. This ensures hooks and agents read correct configuration values.

Can I manage runtime state and agent coordination using .claude local files?

Yes, .claude local configuration files support enabled flags, atomic updates, iteration counters, and agent coordination. You can store task prompts or completion promises to drive looped agent behavior within a project.

What is the best way to enable or disable Claude Code hooks for a specific project?

The best way to enable or disable hooks is to create or edit a .claude/plugin-name.local.md file, set the enabled field in the YAML frontmatter, and restart Claude Code. The plugin reads this state to adapt its behavior.

Does updating a .claude local configuration file require restarting Claude Code to apply changes?

Yes, the plugin settings system uses restart-based reload semantics. After modifying the YAML frontmatter or markdown body in your .claude local file, you must restart Claude Code for the changes to take effect.

What are the limitations of using .claude local markdown files for plugin configuration?

Limitations include the restart-based reload requirement preventing hot-reloading of settings, and the need for manual YAML frontmatter validation. Complex state management relies on atomic updates but lacks a built-in database for concurrent operations.