plugin-settings

Store per-project plugin configuration in .claude/*.local.md files with YAML frontmatter.

1.0k|91|Updated Jul 9, 2025
One-click install
npx skills add https://github.com/fcakyon/claude-codex-settings --skill plugin-settings
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: plugin-settings
Source: https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/plugin-dev/skills/plugin-settings
Command: npx skills add https://github.com/fcakyon/claude-codex-settings --skill plugin-settings

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Plugins often need user-configurable settings or to persist state on a per-project basis, but lack a standardized, user-friendly mechanism. This Skill provides a robust pattern for managing plugin settings, making your plugins more adaptable and reducing manual configuration effort.

Core Features & Use Cases

  • Project-Specific Configuration: Store settings and state in .claude/plugin-name.local.md files, keeping configurations isolated per project.
  • YAML Frontmatter & Markdown Body: Use structured YAML for settings and the Markdown body for prompts or additional context, offering flexibility.
  • Bash Parsing Techniques: Learn to efficiently read and extract configuration fields and content using standard bash tools.
  • Configuration-Driven Behavior: Implement logic in hooks, commands, and agents that dynamically adapts based on loaded settings.
  • Use Case: Enable/disable specific plugin features per project, set different validation levels for development vs. production, or manage the state of multi-agent workflows.

Quick Start

Explain how to create a .claude/my-plugin.local.md file to store a boolean 'enabled' setting for my plugin.

Frequently Asked Questions about plugin-settings

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

FAQPage Schema
How do I store project-specific plugin configuration without committing it to version control?

Store plugin settings in `.claude/plugin-name.local.md` files using YAML frontmatter for configuration fields and markdown body for additional context. These files persist per-project and can be added to `.gitignore` to keep them local.

Can I enable or disable plugin features on a per-project basis?

Yes. Define boolean, string, or list fields in the YAML frontmatter of your `.claude/*.local.md` file, then parse those fields in hooks, commands, or agents to conditionally apply behavior based on loaded settings.

What's the best way to parse YAML frontmatter and markdown content from configuration files using bash?

Extract frontmatter fields and markdown body using standard bash tools by reading the `.claude/*.local.md` file, splitting on the frontmatter delimiter, and parsing YAML key-value pairs and content separately for use in scripts.

How do I implement atomic updates and validation for plugin configuration files?

Write configuration atomically by reading current state, applying changes in memory, validating fields against expected types and constraints, then writing back to ensure consistency and prevent corruption of per-project settings.

Can I use different validation levels or settings across development and production environments in a single plugin?

Yes. Load project-specific settings from `.claude/plugin-name.local.md`, check environment or validation-level fields in frontmatter, and apply different logic flows in your hooks, commands, or agents based on those settings.

What file format and structure should I use for storing plugin state across multiple agent workflows?

Use `.claude/plugin-name.local.md` with structured YAML frontmatter to persist workflow state fields and markdown body to store prompts or context, allowing agents to read and update state consistently across multi-step processes.