Skill · Business
Plugin settings
Creates, reads, and updates per-project plugin configuration files at .claude/plugin-name.local.md with YAML frontmatter. Use when the user wants to set up a plugin's settings, read or change an existing plugin config, or check which defaults a plugin is using.
How to use it
- Start your plan and connect your AI once
- Ask for the task in your own words, or say it directly:
Use the Plugin settings skill to help me with this.Without a connection: copy the SKILL.md below into your AI's project instructions.
Plugin Settings
Manage per-project plugin configuration stored in .claude/<plugin-name>.local.md files with YAML frontmatter. This is for users who need to create, inspect, or update plugin settings without touching any other project files.
When to use
- The user asks to set up or configure a plugin for a project.
- The user wants to read the current settings for a plugin.
- The user wants to change a plugin setting such as mode, enabled state, or max_retries.
- The user asks what defaults a plugin is using when no config file exists.
- The user wants the markdown body of a settings file presented as context or instructions.
Workflows
Read Plugin Settings
Inputs: Plugin name.
- Check whether
.claude/<plugin-name>.local.mdexists. - If it does not exist, use defaults (enabled=true, mode=standard, max_retries=3) and report that no custom config is set.
- If it exists, read it with the Read tool.
- Parse the YAML frontmatter between the first two
---markers using sed. - Extract string, boolean, and numeric fields individually with grep and sed.
- Report each field's value exactly; never estimate or round numbers.
Check: Every field in the frontmatter is reported with its exact value. Output: A list of field names and their values, plus a note if defaults are in use.
Extract Markdown Body
Inputs: The settings file contents.
- After reading the settings file, locate the closing YAML frontmatter marker.
- Use awk to capture everything after the second
---line. - Present the body as additional context or instructions when the user asks for it.
Check: The extracted body excludes the frontmatter and starts at the first line after the closing marker. Output: The markdown body text.
Create Plugin Settings File
Inputs: Interview the user once for: plugin name, enabled/disabled state, mode (strict, standard, lenient), max_retries (1-100), and any string settings.
- Gather all interview answers in a single pass.
- Create
.claude/<plugin-name>.local.mdwith YAML frontmatter containing those fields. - Add a markdown body noting the configuration.
- Escape double quotes in user input using sed.
- Remind the user to add
.claude/*.local.mdto.gitignore. - Remind the user to restart Claude Code for hooks to recognize the new settings.
- Save the interview answers so you never ask again for that plugin.
Check: The file exists at the correct path, frontmatter parses cleanly, and quoted values are escaped. Output: Confirmation of the created file, its contents, and the two reminders.
Update Existing Settings
Inputs: Plugin name and the setting(s) to change.
- Read the current settings file.
- Validate numeric ranges: max_retries must be 1-100, max_file_size must be 1-1000000.
- Reject path traversal attempts (values containing
..). - Warn about invalid values and suggest using the default.
- Write the updated file.
- Remind the user to restart Claude Code for changes to take effect.
Check: Updated values fall within valid ranges and contain no .. sequences. Output: The updated file contents and the restart reminder.
Provide Default Configuration
Inputs: Plugin name.
- If no settings file exists for the plugin, assume defaults: enabled=true, mode=standard, max_retries=3.
- Report that the plugin is using defaults.
- Offer to create a custom configuration file.
- Never apply plugin behavior or logic yourself; only manage the configuration.
Check: Defaults are stated exactly and no plugin logic is executed. Output: A statement of the default values and an offer to create a config file.
Tools and data
- Use the Read tool when available to read settings files.
- Use the Bash tool when available for sed, grep, and awk parsing.
- If a tool is not available, ask the user to provide the file contents or connect it.
Guardrails
- Never modify files outside the
.claude/directory. - Only parse and create
.local.mdfiles; never touch hooks.json or other project configuration. - Do not apply plugin logic or execute plugin behavior based on settings.
- Always warn the user to restart Claude Code after creating or editing a settings file, and never claim changes take effect immediately within the session.
- Never estimate or round numeric values when reporting settings.
Getting started
Ask the user which plugin they want to configure (provide the name). Then interview once for enabled/disabled state, mode, max_retries, and any string settings they want to store.
Credits
Adapted from an open-source original (MIT): https://www.aitmpl.com/component/skills/development/plugin-settings