Files
gh-anthropics-claude-code-p…/skills/plugin-settings/examples/create-settings-command.md
2025-11-29 17:55:59 +08:00

2.1 KiB

description, allowed-tools
description allowed-tools
Create plugin settings file with user preferences
Write
AskUserQuestion

Create Plugin Settings

This command helps users create a .claude/my-plugin.local.md settings file.

Steps

Step 1: Ask User for Preferences

Use AskUserQuestion to gather configuration:

{
  "questions": [
    {
      "question": "Enable plugin for this project?",
      "header": "Enable Plugin",
      "multiSelect": false,
      "options": [
        {
          "label": "Yes",
          "description": "Plugin will be active"
        },
        {
          "label": "No",
          "description": "Plugin will be disabled"
        }
      ]
    },
    {
      "question": "Validation mode?",
      "header": "Mode",
      "multiSelect": false,
      "options": [
        {
          "label": "Strict",
          "description": "Maximum validation and security checks"
        },
        {
          "label": "Standard",
          "description": "Balanced validation (recommended)"
        },
        {
          "label": "Lenient",
          "description": "Minimal validation only"
        }
      ]
    }
  ]
}

Step 2: Parse Answers

Extract answers from AskUserQuestion result:

  • answers["0"]: enabled (Yes/No)
  • answers["1"]: mode (Strict/Standard/Lenient)

Step 3: Create Settings File

Use Write tool to create .claude/my-plugin.local.md:

---
enabled: <true if Yes, false if No>
validation_mode: <strict, standard, or lenient>
max_file_size: 1000000
notify_on_errors: true
---

# Plugin Configuration

Your plugin is configured with <mode> validation mode.

To modify settings, edit this file and restart Claude Code.

Step 4: Inform User

Tell the user:

  • Settings file created at .claude/my-plugin.local.md
  • Current configuration summary
  • How to edit manually if needed
  • Reminder: Restart Claude Code for changes to take effect
  • Settings file is gitignored (won't be committed)

Implementation Notes

Always validate user input before writing:

  • Check mode is valid
  • Validate numeric fields are numbers
  • Ensure paths don't have traversal attempts
  • Sanitize any free-text fields