Demo Plugins Marketplace
npx claudepluginhub kentanakae/claude-code-plugins-demoDemo Plugin1 Description
Share bugs, ideas, or general feedback.
Demo implementation of Claude Code plugin system
Demo repository showing implementation examples of Claude Code plugins
claude-code-plugins-demo/
├── .claude-plugin/
│ └── marketplace.json # Plugin marketplace configuration
├── plugins/ # Plugin definitions directory
│ ├── demo-plugin1/ # Demo plugin 1
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json # Plugin metadata
│ │ ├── agents/ # Sub-agent definitions
│ │ │ └── greeting-translation.md
│ │ ├── commands/ # Slash command definitions
│ │ │ ├── greeting.md
│ │ │ └── greeting-translation.md
│ │ ├── hooks/ # Hook definitions
│ │ │ ├── hooks.json
│ │ │ └── greeting.sh
│ │ ├── resources/ # Resource files
│ │ │ └── greeting.md
│ │ └── .mcp.json # MCP server configuration (within plugin)
│ └── demo-plugin2/ # Demo plugin 2
│ └── hooks/
│ ├── hooks.json
│ └── greeting.sh
├── plugin-client-demo/ # Demo project using plugins
│ ├── .mcp.json # MCP server configuration (project root)
│ └── .claude/
│ └── README.md
├── LICENSE
└── README.md # This file
Demo plugin implementing major Claude Code plugin features
Slash Commands
/greeting: Returns a simple greeting/greeting-translation: Translates time-based greetings into 4 random languagesSub-agents
greeting-translation: Multilingual greeting translation agent (with country/region info)Hooks
SessionStart: Displays greeting message at session startStop: Shows macOS notification at session stopResources
greeting.md: Greeting definitionSecond plugin implementation example
⚠️ Note: This plugin is not registered in .claude-plugin/marketplace.json
Hooks
SessionStart: Executes custom script (greeting.sh) at session startStop: Shows macOS notification at session stop (Plugin2 identifier)When using plugins from remote repositories, environment variables in .mcp.json within the plugin may not be resolved
Issue: Environment variables like ${GITHUB_PERSONAL_ACCESS_TOKEN} in plugin's .mcp.json may not be accessible
Solution: Place configuration files using environment variables (.mcp.json) at the project root
See plugin-client-demo/.claude/README.md for details
The following special variables are available within plugins
${CLAUDE_PLUGIN_ROOT}: Plugin root directory pathExample:
@${CLAUDE_PLUGIN_ROOT}/resources/greeting.md
Plugin implementing various features
Plugin implementing hook functionality
Implementation example of a project using plugins