Skip to content

[Docs]: Add explanation for ${CLAUDE_PLUGIN_ROOT} in marketplace-structure skill #95

@sjnims

Description

@sjnims

Which documentation needs improvement?

Skill documentation

Specific Location

plugins/plugin-dev/skills/marketplace-structure/references/schema-reference.md - Component Configuration Fields section

What's unclear or missing?

The ${CLAUDE_PLUGIN_ROOT} environment variable is used in the hooks and mcpServers examples within the "Complete Plugin Entry Example" but isn't explicitly explained anywhere in the skill.

Current usage in example (lines ~95-115):

"hooks": {
  "PostToolUse": [
    {
      "matcher": "Write|Edit",
      "hooks": [
        {
          "type": "command",
          "command": "${CLAUDE_PLUGIN_ROOT}/scripts/validate.sh"
        }
      ]
    }
  ]
},
"mcpServers": {
  "enterprise-db": {
    "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
    "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"]
  }
}

Users unfamiliar with plugin development may not understand what this variable represents or when to use it.

Suggested Improvement

Add a brief note in the Component Configuration Fields section explaining the environment variable. For example:

### Environment Variables

When configuring hooks and MCP servers, use `${CLAUDE_PLUGIN_ROOT}` to reference files within the plugin directory. This variable resolves to the plugin's absolute installation path, ensuring portable paths regardless of where the plugin is installed.

Alternatively, add a note directly before the Complete Plugin Entry Example:

**Note:** `${CLAUDE_PLUGIN_ROOT}` in the example below resolves to the plugin's installation directory. Use this variable for portable paths in hooks and MCP server configurations.

Type of issue

  • Incorrect information
  • Missing information
  • Unclear explanation
  • Broken link
  • Typo or grammar
  • Outdated content
  • Other

Additional Context

Found during comprehensive skill review. The official plugins-reference.md documents this variable:

${CLAUDE_PLUGIN_ROOT}: Contains the absolute path to your plugin directory. Use this in hooks, MCP servers, and scripts to ensure correct paths regardless of installation location.

Priority: Very minor - the variable IS shown in context within examples, so experienced users would understand it. This is more of a "nice to have" for completeness and consistency with how the plugin-structure skill documents this variable.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions